Rocky Linux9.5环境下phpipam1.7的LAMP部署实战
1. 环境准备与系统配置
在Rocky Linux 9.5上部署phpipam 1.7之前,我们需要先做好基础环境准备。我遇到过不少因为系统环境没配好导致后续安装失败的案例,这里把关键步骤和避坑要点都列出来。
首先确认操作系统版本。Rocky Linux 9.5作为RHEL的替代发行版,默认软件仓库已经比较完善。建议先执行dnf update更新系统,避免因为软件包版本过旧导致兼容性问题。实测在最小化安装的系统上,我们需要额外安装约300MB的依赖包。
网络配置方面有个容易忽略的点:如果你的服务器位于内网环境,记得检查DNS解析是否正常。phpipam在安装过程中会尝试连接GitHub获取资源,我遇到过因为DNS没配好导致源码下载失败的案例。可以用dig github.com测试连通性,如果解析失败,建议修改/etc/resolv.conf添加可靠的DNS服务器。
关于防火墙,新手常犯的错误是只关闭了firewalld但忘了处理SELinux。建议按照以下步骤操作:
# 关闭并禁用防火墙 systemctl stop firewalld && systemctl disable firewalld # 永久关闭SELinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config这里有个细节要注意:修改SELinux配置后必须重启系统才能生效。我见过有人改了配置不重启,结果后面安装时各种权限问题,排查半天才发现是SELinux还在生效。
2. LAMP环境部署实战
2.1 Apache与PHP安装
安装Apache和PHP时,版本匹配特别重要。phpipam 1.7官方要求PHP版本在7.4-8.1之间,Rocky Linux 9.5默认仓库的PHP 8.0正好满足要求。执行以下命令安装基础组件:
dnf install -y httpd php php-cli php-gd php-mysqlnd \ php-mbstring php-ldap php-pdo php-xml php-gmp这里有个坑要注意:官方文档可能还推荐安装php-mcrypt,但这个扩展从PHP 7.2开始就已经废弃了。如果看到类似建议直接忽略,安装后会报错找不到包。
安装完成后需要调整PHP配置:
- 修改
/etc/php.ini中的时区设置:date.timezone = Asia/Shanghai - 增加内存限制(处理大型网络时可能需要):
memory_limit = 256M
2.2 MariaDB数据库配置
Rocky Linux 9.5默认提供MariaDB 10.5,完全兼容phpipam的需求。安装后建议立即运行安全配置向导:
mysql_secure_installation在向导中,这几个选项需要特别注意:
- 设置root密码时建议使用强密码
- 移除匿名用户选择Y
- 允许root远程登录根据实际需求选择(生产环境建议N)
- 移除test数据库选择Y
我曾经遇到过因为没移除test数据库导致的安全扫描不通过问题,建议严格按照生产环境标准配置。
3. phpipam部署与调优
3.1 源码获取与部署
由于网络环境差异,我推荐两种源码获取方式:
- 官方Git仓库(适合网络通畅环境):
cd /var/www/html git clone https://github.com/phpipam/phpipam.git . - 离线安装包方式:
- 下载release包后解压到web目录
- 注意保持文件权限:
chown -R apache:apache /var/www/html
关键配置步骤:
# 复制配置文件 cp config.dist.php config.php # 设置目录权限 chmod -R 755 /var/www/html3.2 Web安装向导
通过浏览器访问服务器IP后,安装向导会引导完成后续操作。这几个界面需要特别注意:
数据库自动安装界面:
- 提前在MariaDB中创建好空数据库和专用用户
- 建议不要使用root账户,而是创建单独的phpipam用户
管理员账户设置:
- 默认Admin/ipamadmin一定要修改
- 建议开启双因素认证提升安全性
安装后必做操作:
# 禁用安装脚本防止被恶意利用 sed -i "s/\$disable_installer = false;/\$disable_installer = true;/g" /var/www/html/config.php
4. 常见问题解决方案
4.1 中文支持优化
phpipam的官方中文支持有限,需要手动调整:
系统语言环境设置:
echo "LC_ALL=zh_CN.utf-8" >> /etc/environment echo "LANG=zh_CN.utf-8" >> /etc/environment字体乱码解决:
- 将Windows的黑体(SIMHEI.TTF)复制到
/var/www/html/css/fonts/ - 重命名替换原字体:
cd /var/www/html/css/fonts mv MesloLGS-Regular.ttf MesloLGS-Regular.ttf.bak mv SIMHEI.TTF MesloLGS-Regular.ttf
- 将Windows的黑体(SIMHEI.TTF)复制到
界面汉化: 修改
/var/www/html/app/login/login_form.php中的提示文本,建议先备份原文件。
4.2 性能调优建议
对于大型网络环境,这些调整可以显著提升性能:
PHP调整:
; /etc/php.ini opcache.enable=1 opcache.memory_consumption=128Apache优化:
# /etc/httpd/conf/httpd.conf KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5数据库索引优化: 定期在phpipam后台执行"Optimize database"操作
5. 日常维护技巧
部署完成后,这些经验可能会帮到你:
备份策略:
# 数据库备份 mysqldump -u phpipam -p phpipam > phpipam_backup.sql # 配置文件备份 tar czf phpipam_config.tar.gz /var/www/html/config.php /var/www/html/css/fonts/日志监控:
- Apache错误日志:
tail -f /var/log/httpd/error_log - PHP错误日志:
tail -f /var/log/php.log
- Apache错误日志:
版本升级: 升级前务必:
- 完整备份数据库和代码
- 在测试环境验证升级过程
- 查看官方升级文档的特殊说明
这套环境我在多个生产网络部署过,最久的一个已经稳定运行3年多。关键是要做好定期维护,特别是数据库优化和日志监控。遇到问题时,phpipam的GitHub issue区通常能找到解决方案。
