phpipam1.7安装部署

0软件说明

phpipam是一个开源Web IP地址管理应用程序(IPAM)

phpipam官网:https://www.phpipam.net/

1安装环境

操作系统:Rocky Linux9.5x86_64

phpipam版本:1.7

php版本:8.0.30

数据库版本:MariaDB10.5.27

不通的phpipam版本对安装环境以及软件的版本要求不一样,有兼容性的问题,这个以实际的情况进行安装,官网文档中有参考

文档编写时间:2025年2月
作者:浅水鲤鱼qianshuiliyu

2安装部署

安装部署可以参考官网的安装文档进行部署,但是在实际的安装环境中,一些配置略有不同,这个需要根据自己的实际环境来实时的进行调整

官网安装文档地址:https://www.phpipam.net/news/phpipam-installation-on-centos-7/

本文档中的配置操作基本全部来自于官网

2.1安装之前的操作

1. 安装之前需要关闭防火墙以及selinux 2. 配置好能够访问的yum源地址(这个通常不需要配置,使用系统默认的就可以,如果访问的慢或者无法访问就需要配置一下,我这里可以正常访问,就不配置了)

说明:如果需要开启防护墙以及selinxu的设置的话,就必须设置对应的放行规则,我这里选择全部关闭,就不要在设置对应的放行规则了

放行规则在安装文档中也有说明,可以去参考官网以及实际的情况来进行设置

selinux关闭,下面的操作可以不设置

2.1.1关闭防火墙以及selinux

1. 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
  1. 永久关闭selinux

编辑/etc/selinux/config下的配置文件,将SELINUX=enforcing修改为SELINUX=disabled,编辑完毕后重启操作系统生效

vim /etc/selinux/config
#SELINUX=enforcing
SELINUX=disabled

# 设置完毕后,重启操作系统
reboot

2.1.2 yum源的配置

我这里的源访问正常,并且速度稳定,不需要配置,下面展示一下阿里云的配置方法

源相关的文件/etc/yum.repos.d/目录下,需要备份的话,可以先进行一下备份

[root@qianshuiliyu-phpipamHost ~]# ls /etc/yum.repos.d/
rocky-addons.repo  rocky-devel.repo  rocky-extras.repo  rocky.repo
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
    -i.bak \
    /etc/yum.repos.d/Rocky-*.repo

dnf makecache
#dnf与yum基本通用,那个命令都可以

2.2语言以及区域设置

这个设置并不是必须的,但是在使用的时候可能会出现一些问题,所以设置了没毛病

在某些情况下,如果系统或应用程序没有正确地识别或设置这些环境变量,可能导致显示乱码或者语言不匹配的问题。通过 /etc/environment 文件设置这些变量可以确保整个系统具有一致的环境配置

[root@qianshuiliyu-phpipamHost ~]# cat /etc/environment 
LC_ALL=zh_CN.utf-8
LANG=zh_CN.utf-8

2.3安装LAMP组件

2.3.1yum安装

Apache, MySQL(这里使用的是mariadb,使用与mysql基本一样), PHP (LAMP)

普通用户执行,请在命令的最前面添加sudo进行执行

当前系统中,dnf执行或者yum都可以,不要纠结这个问题

当然安装还有其他方式,源码安装,docker容器部署等等,只要正确安装了对应版本的Apache, MySQL, PHP 服务即可正确部署,不一定非得说是使用yum来安装,只是说不同的安装方式需要做的安装操作不一样,在使用的时候是看不出来的

yum -y install httpd mariadb-server php php-cli php-gd php-common php-ldap php-pdo php-pear php-snmp php-xml php-mysqlnd php-mbstring git

# API中使用加密方法还需要安装下面的包,建议安装
yum -y install epel-release
yum -y install php-mcrypt

2.3.2注意

注意:这个是在我当前Rocky Linux9.5系统中执行的命令,yum安装的时候寻找的是对应的源软件包进行安装,刚好源里面的各个软件包在phpipam1.7x的兼容范围内,才能够成功的安装,但是你不能说是在一个老的系统上如centos7执行了相关的命令后,出现各种问题然后找不到问题

每个phpipam系列的版本对应的php版本范围,不能乱安装,有兼容性的要求

2.3.3问题

这里安装有一个问题,官网中的命令目前没有修改,在PHP 7.4 及以上的版本中,MySQL 扩展已经变为为 php-mysqlnd 而不是 php-mysql,使用php-mysql会找不到对应的包,所以在安装的时候使用php-mysqlnd

2.4apache配置

修改apache中的/var/www/html的目录设置,允许mod_rewrite对url的重写,同时设置ServerName

2.4.1修改/var/www/html目录设置

<Directory "/var/www/html">
   	Options FollowSymLinks
	AllowOverride all
	Order allow,deny
	Allow from all
</Directory>

2.4.2设置ServerName

ServerName 192.168.2.100:80

2.4.3时区设置

root@qianshuiliyu-phpipamHost ~]# cat -n /etc/php.ini |grep date.timezone
   931	; http://php.net/date.timezone
   932	;date.timezone =
   933	date.timezone = Asia/Shanghai
[root@qianshuiliyu-phpipamHost ~]# 

2.4.4启动apache服务

启动apache服务并设置为开机自启
systemctl start httpd && systemctl enable httpd

2.5数据库配置

2.5.1启动数据库

启动数据库并设置开机自启
systemctl start mariadb && systemctl enable mariadb

2.5.2数据库初始设置

通过mysql_secure_installation进行安全配置向导
  1. 为root用户设置密码
  2. 删除匿名账号
  3. 取消root用户远程登录
  4. 删除test库和对test库的访问权限
  5. 刷新授权表使修改生效

第一次使用,没有设置root用户的密码(这里的root是数据库的账号root,不是操作系统的),直接回车,

[root@qianshuiliyu-phpipamHost ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
#第一次使用,没有设置数据库root用户的密码(这里的root是数据库的账号root,不是操作系统的),直接回车即可,再次登录就需要密码了
# 如果未设置密码或通过操作系统凭据登录(如启用 unix_socket 认证),则可能不需要输入密码
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.
# root用户启用unix_socket认证
Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.
# 设置root用户的密码
Change the root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

# 移除匿名用户
Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
# 输入n允许root远程登录,y拒绝root远程登录
Disallow root login remotely? [Y/n] n
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
# 移除测试的数据库
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
# 刷新权限
Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

2.5.3说明

这里不需要进入到数据库中去创建对应的phpipam用户以及数据库。在后面部署的时候会自动创建,设置完安全配置向导就完毕了

2.6源码下载部署

2.6.1说明

github上的源码地址:https://github.com/phpipam/phpipam.git

源码地址在github上,不一定能够访问,没有关系,使用国内的平台git也可以访问,一般都有克隆地址

我的蓝奏云地址:https://wwrp.lanzout.com/idA0m2nlo9je

蓝奏云地址的说明:蓝奏云上存储的是1.7,当前部署的这个版本,这个直接将压缩包中的内容解压到/var/www/html目录即可,相当于是通过git下载了源码,如果是通过git直接下载的源码,可以参考官网进行相应的部署

说明:

部署访问的方式有两种,第一种是http://ip直接访问,第二种是http://ip/phpipam/方式访问

这两种方式,

第一种是源码里面的内容直接放在/var/www/html文件中,没有使用phpipam目录

第二种则是在/var/www/html目录下创建了一个phpipam目录,部署在这个目录中,如果是这种部署方式,那么就需要修改config.php文件,第一种方式则不需要,我这里使用的是第一种部署方式

2.6.2源码上传到/var/www/html目录

将phpipam1.7的源码信息上传到/var/www/html目录中,上传步骤这里省略

如果是通过git可以直接下载到/var/www/html目录中,官网文档中有说明

2.6.3解压压缩包

[root@qianshuiliyu-phpipamHost html]# unzip phpipam-1.7.zi

2.6.4源码信息复制到/var/www/html

源码信息复制到/var/www/html,不使用下面的phpipam的目录
[root@qianshuiliyu-phpipamHost html]# ls
phpipam-1.7  phpipam-1.7.zip
[root@qianshuiliyu-phpipamHost html]# cd phpipam-1.7/
[root@qianshuiliyu-phpipamHost phpipam-1.7]# mv * ../
[root@qianshuiliyu-phpipamHost phpipam-1.7]# cd ..
[root@qianshuiliyu-phpipamHost html]# ls
api  config.dist.php    css  doc        index.php  INSTALL.txt  misc         phpipam-1.7.zip  robots.txt   UPDATE
app  config.docker.php  db   functions  install    js           phpipam-1.7  README.md        SECURITY.md  upgrade

2.6.5数据库配置文件设置

这里直接重新命名一下就可以了
[root@qianshuiliyu-phpipamHost html]# cp config.dist.php config.php

如果使用http://ip/phpipam/访问的,不仅要重新命名,还需要修改config.php配置文件,我这里不需要修改

2.7phpipam的web配置

剩下的部署通过web完成,直接输入对应的ip访问

http://192.168.2.100

2.7.1问题-缺少gmp扩展,

在访问的时候出现提示缺少gmp的扩展,安装对应的扩展解决

[root@qianshuiliyu-phpipamHost html]# yum -y install php-gmp

安装完毕后再次访问:

2.7.2新的phpipam安装

2.7.3自动安装数据库

2.7.4数据库配置

到这里就已经结束了,可以直接访问了,输入http://192.168.2.100,

默认用户/密码:Admin/ipamadmin

但是下面你还有一个连接数据库让你进行一些设置,这个设置不设置都可以,不设置后续也能通过设置来进行调整,这个不重要

如果设置,选择连接

Admin用户的密码设置,这里设置,默认的密码则会失效

设置完毕后选择登录,或者直接在地址栏中重新输入ip进行访问

2.8访问

输入地址:http://192.168.2.100

输入用户以及密码进行访问

默认用户/密码:Admin/ipamadmin,如果没设置密码使用此密码访问

到这里安装结束

3设置相关

3.1禁用安装脚本

安装完毕后,在访问的时候会弹出下面的提示

将$disable_installer = falus;修改为$disable_installer = ture;即可解决

[root@qianshuiliyu-phpipamHost html]# cat -n config.php|grep disable_installer
     6	$disable_installer = ture;

3.2中文设置

登录之后,选择Administrator–Users

注销用户后,重新登录

没有变化重新关开浏览器或者清空缓存再次尝试

3.3机柜中文乱码问题

机柜中文乱码是因为phpipam的源码中没有中文字体,上传中文字体道对应的目录即可解决

我这里将windows中的字体复制进去

windows的字体控制面板中,在控制面板–>所有控制面板项–>字体

找到黑体字体进行上传

字体目录:

[root@qianshuiliyu-phpipamHost fonts]# pwd
/var/www/html/css/fonts
[root@qianshuiliyu-phpipamHost fonts]# ls
fa-brands-400.eot   fa-brands-400.woff2  fa-regular-400.woff   fa-solid-900.ttf    fontawesome-webfont.eot   fontawesome-webfont.woff2
fa-brands-400.svg   fa-regular-400.eot   fa-regular-400.woff2  fa-solid-900.woff   fontawesome-webfont.svg   MesloLGS-Regular.ttf
fa-brands-400.ttf   fa-regular-400.svg   fa-solid-900.eot      fa-solid-900.woff2  fontawesome-webfont.ttf   source_sans_pro
fa-brands-400.woff  fa-regular-400.ttf   fa-solid-900.svg      FontAwesome.otf     fontawesome-webfont.woff

phpipam的默认字体是MesloLGS-Regular.ttf字体,这个在下面配置文件中可以查看到

var/www/html/functions/classes/class.Rackspace.php配置文件中查看

那么我们在进行字体上的修改就有两重方式吗

  1. 将配置文件中的字体修改位黑体名字(这个可能需要修改多处)
  2. 将字体名字修改位原来的字体名字,原来的字体名字可以重新命名(推荐使用这种方式)
[root@qianshuiliyu-phpipamHost html]# cd css/fonts/
[root@qianshuiliyu-phpipamHost fonts]# ls
fa-brands-400.eot   fa-brands-400.woff2  fa-regular-400.woff   fa-solid-900.ttf    fontawesome-webfont.eot   fontawesome-webfont.woff2
fa-brands-400.svg   fa-regular-400.eot   fa-regular-400.woff2  fa-solid-900.woff   fontawesome-webfont.svg   MesloLGS-Regular.ttf
fa-brands-400.ttf   fa-regular-400.svg   fa-solid-900.eot      fa-solid-900.woff2  fontawesome-webfont.ttf   SIMHEI.TTF
fa-brands-400.woff  fa-regular-400.ttf   fa-solid-900.svg      FontAwesome.otf     fontawesome-webfont.woff  source_sans_pro
[root@qianshuiliyu-phpipamHost fonts]# mv MesloLGS-Regular.ttf MesloLGS-Regular.ttf.bak 
[root@qianshuiliyu-phpipamHost fonts]# mv SIMHEI.TTF MesloLGS-Regular.ttf
[root@qianshuiliyu-phpipamHost fonts]# ls
fa-brands-400.eot   fa-brands-400.woff2  fa-regular-400.woff   fa-solid-900.ttf    fontawesome-webfont.eot   fontawesome-webfont.woff2
fa-brands-400.svg   fa-regular-400.eot   fa-regular-400.woff2  fa-solid-900.woff   fontawesome-webfont.svg   MesloLGS-Regular.ttf
fa-brands-400.ttf   fa-regular-400.svg   fa-solid-900.eot      fa-solid-900.woff2  fontawesome-webfont.ttf   MesloLGS-Regular.ttf.bak
fa-brands-400.woff  fa-regular-400.ttf   fa-solid-900.svg      FontAwesome.otf     fontawesome-webfont.woff  source_sans_pro
[root@qianshuiliyu-phpipamHost fonts]# 

此时在刷新页面,中文名正常,乱码解决,不需要重启服务

3.4html中文语言修改

默认的网页语言是英文的

在站点目录的index.php中进行配置

3.5登录界面的中文修改

设置完语言之后,发现登录界面并没有变为中文,这个需要手动修改一下源码文件中对应的内容

修改源码文件你得需要明白是什么意思,知道在哪里修改,如果不会的话不要轻易修改

在/var/www/html/app/login目录中的login_form.php进行设置,将里面原有的英文提示修改为中文

修改完之后刷新页面进行查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/969953.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】C语言 好声音比赛管理系统(含源码+数据文件)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;专__注&#x1f448;&#xff1a;专注主流机器人、人工智能等相关领域的开发、测试技术。 【C语言】C语言 好声音比赛管理系统&#xff08;含…

WPF进阶 | 深入 WPF 依赖项属性:理解其强大功能与应用场景

WPF进阶 | 深入 WPF 依赖项属性&#xff1a;理解其强大功能与应用场景 前言一、依赖项属性基础概念1.1 什么是依赖项属性1.2 依赖项属性与 CLR 属性的区别1.3 依赖项属性的定义与注册 二、依赖项属性的原理深入剖析2.1 依赖项属性系统的工作机制2.2 元数据&#xff08;Metadata…

QML使用ChartView绘制饼状图

一、工程配置 首先修改CMakeLists.txt&#xff0c;按下图修改&#xff1a; find_package(Qt6 6.4 REQUIRED COMPONENTS Quick Widgets) PRIVATEtarget_link_libraries(appuntitledPRIVATE Qt6::QuickPRIVATE Qt6::Widgets )其次修改main.cpp&#xff0c;按下图修改&#xff…

单片机上SPI和IIC的区别

SPI&#xff08;Serial Peripheral Interface&#xff09;和IC&#xff08;Inter-Integrated Circuit&#xff09;是两种常用的嵌入式外设通信协议&#xff0c;它们各有优缺点&#xff0c;适用于不同的场景。以下是它们的详细对比&#xff1a; — 1. 基本概念 SPI&#xff0…

2025年02月12日Github流行趋势

项目名称&#xff1a;data-formulator 项目地址url&#xff1a;https://github.com/microsoft/data-formulator 项目语言&#xff1a;TypeScript 历史star数&#xff1a;4427 今日star数&#xff1a;729 项目维护者&#xff1a;danmarshall, Chenglong-MS, apps/dependabot, mi…

LeetCode《算法通关手册》 1.2 数组排序

Python强推&#xff1a;算法通关手册&#xff08;LeetCode&#xff09; | 算法通关手册&#xff08;LeetCode&#xff09; (itcharge.cn) 目录 文章目录 1.2 数组排序1.2.1 选择排序1.2.2 冒泡排序[283. 移动零 - 力扣&#xff08;LeetCode&#xff09;](https://leetcode.cn/p…

DeepSeek R1打造本地化RAG知识库

本文将详细介绍如何使用Ollama、Deepseek R1大语音模型、Nomic-Embed-Text向量模型和AnythingLLM共同搭建一个本地的私有RAG知识库。 一. 准备工作 什么是RAG&#xff1f; RAG是一种结合了信息检索和大模型&#xff08;LLM&#xff09;的技术&#xff0c;在对抗大模型幻觉、…

网页版贪吃蛇小游戏开发HTML实现附源码!

项目背景 贪吃蛇是一款经典的休闲小游戏&#xff0c;因其简单易玩的机制和丰富的变形而深受玩家喜爱。本次开发目标是实现一款网页版贪吃蛇小游戏&#xff0c;并通过前端与后端结合的方式&#xff0c;提供一个流畅的在线体验。 实现过程 游戏逻辑设计 蛇的移动&#xff1a;…

简易 Shell 实现指南

目录 前言&#xff1a; 一、代码中的核心功能 1. 环境变量获取 2. 当前路径处理 3. 用户输入处理 4. 命令解析 5. 内建命令处理 6. 外部命令执行 7. 错误处理 二、代码中涉及的关键知识点 1. 系统调用 2. 环境变量 3. 字符串处理 4. 文件操作 5. 进程管理 三、…

快速排序

目录 什么是快速排序&#xff1a; 图解&#xff1a; 递归法&#xff1a; 方法一&#xff08;Hoare法&#xff09;&#xff1a; 代码实现&#xff1a; 思路分析&#xff1a; 方法二&#xff08;挖坑法&#xff09;&#xff1a; 代码实现&#xff1a; 思路分析&#xff1a; 非递…

网络安全尹毅 《网络安全》

一 网络安全基本概念 1.网络安全定义 安全在字典中的定义是为了防范间谍活动或蓄意破坏、犯罪、攻击而采取的措施。网络安全就是为了防范计算机网络硬件、软件、数据被偶然或蓄意破坏、篡改、窃听、假冒、泄露、非法访问以及保护网络系统持续有效工作的措施总和。网络安全保护…

6.appender

文章目录 一、前言二、源码解析AppenderUnsynchronizedAppenderBaseOutputStreamAppenderConsoleAppenderFileAppenderRollingFileAppenderFileNamePattern 三、总结 一、前言 前一篇文章介绍了appender、conversionRule、root和logger节点的解析, 为的是为本篇详细介绍它们的…

P9584 「MXOI Round 1」城市

题目描述 小 C 是 F 国的总统&#xff0c;尽管这个国家仅存在于网络游戏中&#xff0c;但他确实是这个国家的总统。 F 国由 n 个城市构成&#xff0c;这 n 个城市之间由 n−1 条双向道路互相连接。保证从任意一个城市出发&#xff0c;都能通过这 n−1 条双向道路&#xff0c;…

什么是Docker多架构容器镜像

什么是Docker多架构容器镜像 在 Docker 中&#xff0c;同一个 Docker 镜像可以在不同的平台上运行&#xff0c;例如在 x86、ARM、PowerPC 等不同的 CPU 架构上。 为了支持这种多平台的镜像构建和管理&#xff0c;Docker 在 17.06 版本时引入了 Manifest 的概念&#xff0c;在…

Baklib知识中台构建企业智能运营核心架构

内容概要 在数字化转型的浪潮中&#xff0c;企业对于知识的系统化管理需求日益迫切。Baklib作为新一代的知识中台&#xff0c;通过构建智能运营核心架构&#xff0c;为企业提供了一套从知识汇聚到场景化落地的完整解决方案。其核心价值在于将分散的知识资源整合为统一的资产池…

深度学习机器学习:常用激活函数(activation function)详解

目录 Sigmoid Function ReLU&#xff08;Rectified Linear Unit&#xff09; LeakyReLU&#xff08;Leaky Rectified Linear Unit&#xff09; ClippedReLU&#xff08;Clipped Rectified Linear Unit&#xff09; PRelu&#xff08;Parametric ReLU&#xff09; Tanh&am…

【面试】网络安全常问150道面试题

1&#xff0c;拿到一个待测网站&#xff0c;你觉得应该先做什么&#xff1f; 信息收集&#xff1a; 服务器相关---&#xff1a;## 系统版本&#xff0c;真实IP&#xff0c;开放端口&#xff0c;使用的中间件 指纹信息---## 有无cdn加速&#xff0c;dns解析记录&#xff0c;是不…

【Linux】--- 基础开发工具之yum/apt、vim、gcc/g++的使用

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏&#xff1a; Linux网络编程 本篇博客我们来认识一下Linux中的一些基础开发工具 --- yum,vim,gcc/g。 &#x1f3e0; yum &#x1f3b8; 什么是yum 当用户想下载软…

物联网平台-分布式的设备接入与管理系统

乐吾乐物联网平台是由乐吾乐自主研发的一款分布式的设备接入与管理系统&#xff0c;专为满足不断增长的设备接入和数据处理需求而设计。平台集数据采集、分析、监控、告警和通知等功能于一体&#xff0c;并融合了乐吾乐大屏可视化和乐吾乐3D数字孪生技术&#xff0c;帮助用户快…

Day65_20250213图论part9_dijkstra(堆优化版)|Bellman_ford算法精讲

Day65_20250213图论part9_dijkstra(堆优化版)|Bellman_ford算法精讲 dijkstra(堆优化版) 题目 https://www.programmercarl.com/kamacoder/0047.%E5%8F%82%E4%BC%9Adijkstra%E5%A0%86.html 小明参加科学大会 思路 思路 朴素版的dijkstra&#xff0c;时间复杂度为O(n^2)&am…