GLPI安装总报错这份CentOS 7下的“保姆级”排错指南请收好附PHP模块、文件权限详解在CentOS 7上部署GLPI时即使按照教程一步步操作也常常会遇到各种坑。本文将带你深入排查这些常见问题从PHP模块缺失到文件权限配置手把手教你解决问题。1. 环境准备阶段的常见问题1.1 PHP模块安装问题很多人在安装PHP模块时会遇到依赖冲突或模块缺失的问题。以下是一个典型的错误场景yum -y install --enablereporemi --enablereporemi-php74 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-pecl-xdebug php-pecl-xhprof php-imap php-gd php-ldap php-intl php-simplexml php-zip php-apcu php-xmlrpc php-pear-CAS php-zip可能出现的错误包括错误1No match for argument: php-mcrypt原因从PHP 7.2开始mcrypt扩展已被移除解决方案改用php-pecl-mcrypt或使用其他加密方式错误2Error: php74-php-common conflicts with php-common原因系统中已安装不同版本的PHP解决方案先移除冲突的PHP包提示安装前建议执行yum list installed | grep php检查已安装的PHP组件1.2 数据库配置问题MariaDB安装后常见的连接问题ERROR 1045 (28000): Access denied for user glpilocalhost (using password: YES)可能的原因和解决方案错误原因检查方法解决方案密码错误SELECT User, Host FROM mysql.user重置密码SET PASSWORD FOR glpi% PASSWORD(newpassword)权限不足SHOW GRANTS FOR glpi%重新授权GRANT ALL PRIVILEGES ON glpi.* TO glpi%远程连接限制netstat -tulnpgrep 33062. 文件权限和SELinux问题2.1 目录权限配置GLPI对文件权限有严格要求常见的权限问题包括错误现象安装页面无法写入配置文件解决方案chown -R apache:apache /var/www/html/glpi find /var/www/html/glpi -type d -exec chmod 755 {} \; find /var/www/html/glpi -type f -exec chmod 644 {} \; chmod -R 775 /var/www/html/glpi/files chmod -R 775 /var/www/html/glpi/config2.2 SELinux导致的访问问题即使关闭了SELinux有时仍会遇到问题检查SELinux状态sestatus getenforce临时关闭setenforce 0永久关闭sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config如果必须开启SELinux可以设置正确的上下文chcon -R -t httpd_sys_rw_content_t /var/www/html/glpi/files chcon -R -t httpd_sys_rw_content_t /var/www/html/glpi/config3. Apache配置问题3.1 虚拟主机配置正确的虚拟主机配置可以避免很多问题VirtualHost *:80 ServerName glpi.example.com DocumentRoot /var/www/html/glpi Directory /var/www/html/glpi Options Indexes FollowSymLinks AllowOverride All Require all granted /Directory ErrorLog /var/log/httpd/glpi_error.log CustomLog /var/log/httpd/glpi_access.log combined /VirtualHost常见问题403 Forbidden检查Directory配置和文件权限500 Internal Server Error查看Apache错误日志/var/log/httpd/error_log3.2 PHP配置调整在/etc/php.ini中需要调整以下参数memory_limit 256M upload_max_filesize 64M post_max_size 64M max_execution_time 300 date.timezone Asia/Shanghai修改后重启Apachesystemctl restart httpd4. 安装后的常见问题4.1 无法发送邮件GLPI的邮件通知功能常因配置不当而失效检查邮件配置路径管理 系统 邮件服务器测试配置SMTP服务器地址和端口认证信息加密方式SSL/TLS4.2 计划任务不执行GLPI的后台任务需要正确配置cron*/2 * * * * /usr/bin/php /var/www/html/glpi/front/cron.php检查cron是否运行systemctl status crond tail -f /var/log/cron4.3 性能优化建议对于大型部署可以考虑以下优化启用OPcachezend_extensionopcache.so opcache.enable1 opcache.memory_consumption128 opcache.interned_strings_buffer8 opcache.max_accelerated_files4000 opcache.revalidate_freq60 opcache.fast_shutdown1数据库优化OPTIMIZE TABLE glpi_tickets; ANALYZE TABLE glpi_tickets;5. 高级排错技巧5.1 日志分析关键日志文件位置Apache错误日志/var/log/httpd/error_logPHP错误日志/var/log/php_errors.log需在php.ini中配置GLPI日志/var/www/html/glpi/files/_log/php-errors.log5.2 调试模式在GLPI配置文件中启用调试模式// config/config_db.php define(GLPI_DEBUG, true);5.3 数据库维护定期维护可以预防很多问题-- 检查表状态 CHECK TABLE glpi_tickets; -- 修复表 REPAIR TABLE glpi_tickets; -- 备份数据库 mysqldump -u glpi -p glpi glpi_backup.sql在实际部署中我发现最常出现的问题是文件权限和SELinux配置。特别是在升级GLPI后记得重新检查files和config目录的权限设置。另外定期检查/var/log/httpd/error_log可以帮助发现潜在问题。