CentOS7安装iTop
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 https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
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 https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
cd /etc/yum.repos.d/
#安装mysql
yum -y install mysql-server
安装提示的问题:
原因:MySQL GPG 密钥已过期
解决办法:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
3、配置MYSQL
1)修改mysql的root密码、创建用户
[root@XXX ~]# mysql -u root -p
#修改root用户密码
mysql > update mysql.user 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 mysql.user 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/my.conf
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 https://nchc.dl.sourceforge.net/project/itop/itop/2.6.1/iTop-2.6.1-4463.zip
#创建目录
mkdir -p /var/www/html/{conf,data,log,env-production}
#改变目录所有者和所属组
chown -R apache:apache /var/www/html
#解压缩到指定目录
unzip -d /var/www/html/ iTop-2.6.1-4463.zip
#进入/var/www/html
cd /var/www/html
#以下目录赋予读取、写入和执行的权限
chmod 777 web/
chmod 777 /web/log/
chmod 777 /web/data/
2)安装
打开网址:http://192.168.13.8/web/setup/
上图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 >