0软件说明
phpipam是一个开源Web IP地址管理应用程序(IPAM)phpipam官网:https://www.phpipam.net/
1安装环境
操作系统:Rocky Linux9.5x86_64phpipam版本: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
- 永久关闭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-mysqlnd2.4apache配置
修改apache中的/var/www/html的目录设置,允许mod_rewrite对url的重写,同时设置ServerName2.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进行安全配置向导- 为root用户设置密码
- 删除匿名账号
- 取消root用户远程登录
- 删除test库和对test库的访问权限
- 刷新授权表使修改生效
第一次使用,没有设置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配置文件中查看
那么我们在进行字体上的修改就有两重方式吗
- 将配置文件中的字体修改位黑体名字(这个可能需要修改多处)
- 将字体名字修改位原来的字体名字,原来的字体名字可以重新命名(推荐使用这种方式)
[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]#
此时在刷新页面,中文名正常,乱码解决,不需要重启服务