CentOS 7
MYSQL 5.7.41
Apache 2.4.6
PHP 7.2.34
iTop 2.6.1
1、安装LAMP组件
yum -y install epel-release rpm -Uvh yum -y install httpd graphviz unzip mod_ssl php72w php72w-gd php72w-mysql php72w-imap php72w-Soap php72w-ldap php72w-mbstring php72w-pecl-zendopcache php72w-xml php72w-cli
2、单独安装mysql
#安装wget yum -y install wget #下载mysql wget rpm -ivh my cd /etc #安装mysql yum -y install mysql-server
安装提示的问题:
原因:MySQL GPG 密钥已过期
解决办法:
rpm --import
3、配置MYSQL
1)修改mysql的root密码、创建用户
[root@XXX ~]# mysql -u root -p #修改root用户密码 mysql > update my set authentication_string=password('Abc^&*123De_4') where user='root' and host='localhost'; mysql > use mysql #创建用户 mysql > create user itop@localhost identified by 'itop'; #更新配置 mysql > flush privileges; mysql > exit;
问题:创建mysql用户itop错误
ERROR 3009 (HY000): Column count of my is wrong. Expected 45, found 42. Created with MySQL 50568, now running 50741. Please use mysql_upgrade to fix this error.
解决方法:
mysql_upgrade -uroot -p
2)设置允许上传包的最大值
[root@XXX ~]# vi /etc max_allowed_packet=1048576
4、配置防火墙
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
5、关闭SELINUX
#编辑配置文件 [root@XXX ~]#vi /etc/selinux/config #修改为disabled,重启后生效 SELINUX=disabled
6、创建PHP会话目录,配置目录权限:
mkdir -p /var/lib/php/session chown apache:apache -R /var/lib/php/session/
7、启动服务
systemctl start httpd #设置开机启动 systemctl enable httpd
8、安装iTop
1)下载和配置
#下载文件 wget #创建目录 mkdir -p /var/www/html/{conf,data,log,env-production} #改变目录所有者和所属组 chown -R apache:apache /var/www/html #解压缩到指定目录 unzip -d /var/www/html/ iTo #进入/var/www/html cd /var/www/html #以下目录赋予读取、写入和执行的权限 chmod 777 web/ chmod 777 /web/log/ chmod 777 /web/data/
2)安装
打开网址:
上图use the existing database选择itop,是因为我在配置mysql时创建了itop数据库,但是仍然出现了错误四(下文),所以,按照本步骤安装选择Create a new database,并填写itop。
安装成功
进入门户
3)安装过程的错误
错误一:
解决方法:检查SELinux是否关闭,777权限。
错误二:
解决方法:在/var/www/html/web/下创建env-production-build目录,赋予777权限,缺什么目录就创建什么目录。
错误三:
#不完整,后面文件路径部分被我省略了。 Warning: mysqli::__construct(): headers and client library minor version mismatch. Headers:50565 Library:50651
解决方法:
#检查PHP Client信息 [root@XXX ~]# php -i|grep Client IMAP c-Client Version => 2007f Client API library version => 5.6.51 Client API header version => 5.5.65-MariaDB Client API version => 5.6.51 Soap Client => enabled #Client API header版本低 #停止php-fpm进程 [root@XXX ~]# service php-fpm stop #替换PHP扩展 [root@XXX ~]# yum remove -y php72w-mysql [root@XXX ~]# yum install -y php72w-mysqlnd #启动php-fpm进程 service php-fpm start
错误四:
Error: found iTop tables into the database 'itop'. Please, try selecting another database instance or specify a prefix to prevent conflicting table names.
解决:iTop安装前手欠创建了一个名叫“itop”的数据库,删除后解决了。
[root@XXX ~]# mysql -u root -p mysql > use mysql #删除数据库itop mysql > drop database itop; #更新配置 mysql > flush privileges; mysql >