centos7安装搭建部署iTop管理系统并集成一键shell脚本
2025-08-22 16:03:49,

一、系统准备阶段

1. 系统更新与基础工具

# 更新系统并安装必要工具
yum update -y
yum install -y epel-release wget curl unzip vim Git

2. 禁用SELinux(生产环境建议单独配置)

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/seLinux/config

二、LAMP环境部署

1. Apache安装

yum install -y httpd
systemctl start httpd
systemctl enable httpd

2. MariaDB安装

yum install -y mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb

3. PHP 7.4安装(需Remi仓库)

yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php74

yum install -y php php-MySQLnd php-gd php-ldap php-xml php-mbstring php-json php-cli php-soap php-zip

 

三、数据库配置

1. 安全加固MySQL

mysql_secure_installation <<EOF
y
YourRootPassword123!
YourRootPassword123!
y
y
y
y
EOF

2. 创建iTop数据库

mysql -u root -p'YourRootPassword123!' <<MYSQL_SCRIPT
CREATE DATABASE itop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'itop_admin'@'localhost' IDENTIFIED BY 'Itop@Password123';
GRANT ALL PRIVILEGES ON itop.* TO 'itop_admin'@'localhost';
FLUSH PRIVILEGES;
MYSQL_SCRIPT

四、iTop安装配置

1. 下载iTop

wget -P /var/www/HTML/itop/ https://onboardcloud.dl.sourceforge.net/project/itop/itop/3.2.0-2/iTop-3.2.0-2-14758.zip?viasf=1

unzip iTop-3.2.0-2-14758.zip?viasf=1 -d /var/www/html/itop

 

2. 文件权限设置

chown -R apache:apache /var/www/html/itop
chmod -R 755 /var/www/html/itop
find /var/www/html/itop -type d -exec chmod 775 {} \;
find /var/www/html/itop -type f -exec chmod 664 {} \;

3. PHP配置优化

sed -i 's/^memory_limit =.*/memory_limit = 512M/' /etc/php.ini
sed -i 's/^upload_max_filesize =.*/upload_max_filesize = 64M/' /etc/php.ini
sed -i 's/^post_max_size =.*/post_max_size = 68M/' /etc/php.ini
sed -i 's/^max_execution_time =.*/max_execution_time = 600/' /etc/php.ini

五、Apache虚拟主机配置

   

cat > /etc/httpd/conf.d/itop.conf <<EOF
<VirtualHost *:80>
ServerName itsm.yourcompany.com
DocumentRoot /var/www/html/itop
ErrorLog /var/log/httpd/itop_error.log
CustomLog /var/log/httpd/itop_access.log combined

<Directory /var/www/html/itop>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
EOF

六、防火墙与安全配置

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

setsebool -P httpd_can_network_connect_db 1
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/itop(/.*)?"
restorecon -Rv /var/www/html/itop

七、一键部署脚本

Shell脚本版本 (install_itop.sh)

#!/bin/bash
# iTop自动安装脚本 for CentOS 7

# 配置区
ITOP_VERSION="3.2.0-2-14758"
MYSQL_ROOT_PASS="YourRootPassword123!"
ITOP_DB_PASS="Itop@Password123"
WEB_ROOT="/var/www/html/itop"

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m'

# 检查root权限
check_root() {
if [ "$(id -u)" != "0" ]; then
echo -e "${RED}错误:此脚本必须以root用户运行${NC}" 1>&2
exit 1
fi
}

# 安装基础环境
install_base() {
echo -e "${GREEN}[1/7] 安装基础环境...${NC}"
yum update -y
yum install -y epel-release wget unzip
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php74
yum install -y httpd mariadb-server php php-mysqlnd php-gd php-ldap \
php-xml php-mbstring php-json php-cli php-soap
}

# 配置数据库
setup_mysql() {
echo -e "${GREEN}[2/7] 配置数据库...${NC}"
systemctl start mariadb
systemctl enable mariadb

mysql -e "CREATE DATABASE itop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -e "CREATE USER 'itop_admin'@'localhost' IDENTIFIED BY '${ITOP_DB_PASS}';"
mysql -e "GRANT ALL PRIVILEGES ON itop.* TO 'itop_admin'@'localhost';"
mysql -e "FLUSH PRIVILEGES;"
}

# 安装iTop
install_itop() {
echo -e "${GREEN}[3/7] 下载iTop...${NC}"
wget https://sourceforge.net/projects/itop/files/itop/${ITOP_VERSION}/iTop-${ITOP_VERSION}-noarch-web.tar.gz -O /tmp/itop.tar.gz
mkdir -p ${WEB_ROOT}
tar -xzf /tmp/itop.tar.gz -C ${WEB_ROOT} --strip-components=1
}

# 配置权限
set_permissions() {
echo -e "${GREEN}[4/7] 设置文件权限...${NC}"
chown -R apache:apache ${WEB_ROOT}
chmod -R 755 ${WEB_ROOT}
find ${WEB_ROOT} -type d -exec chmod 775 {} \;
find ${WEB_ROOT} -type f -exec chmod 664 {} \;
}

# 配置PHP
configure_php() {
echo -e "${GREEN}[5/7] 优化PHP配置...${NC}"
sed -i 's/^memory_limit =.*/memory_limit = 512M/' /etc/php.ini
sed -i 's/^upload_max_filesize =.*/upload_max_filesize = 64M/' /etc/php.ini
sed -i 's/^post_max_size =.*/post_max_size = 68M/' /etc/php.ini
}

# 配置Apache
configure_apache() {
echo -e "${GREEN}[6/7] 配置Apache...${NC}"
cat > /etc/httpd/conf.d/itop.conf <<EOF
<VirtualHost *:80>
ServerName $(hostname)
DocumentRoot ${WEB_ROOT}
<Directory ${WEB_ROOT}>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
EOF
}

# 完成安装
finalize() {
echo -e "${GREEN}[7/7] 完成安装...${NC}"
systemctl restart httpd mariadb
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

echo -e "\n${GREEN}安装完成!${NC}"
echo -e "访问地址: http://$(hostname -I | awk '{print $1}')/itop"
echo -e "数据库信息:"
echo -e " 主机: localhost"
echo -e " 数据库名: itop"
echo -e " 用户名: itop_admin"
echo -e " 密码: ${ITOP_DB_PASS}"
}

# 主执行流程
main() {
check_root
install_base
setup_mysql
install_itop
set_permissions
configure_php
configure_apache
finalize
}

main

八、使用说明

  1. 保存脚本并赋予执行权限:

     chmod +x install_itop.sh
  2.  执行自动化安装:  ./install_itop.sh
  3. 浏览器访问安装向导:

     http://服务器IP/itop/setup
  4. 按照向导完成配置:

  • 选择语言后进入系统检查

  • 输入数据库连接信息

  • 设置管理员账户

  • 完成安装

九、验证安装

 

# 检查服务状态
systemctl status httpd mariadb

# 检查端口监听
ss -tulnp | grep -E '80|3306'

# 查看安装日志
tail -f /var/log/httpd/error_log /var/log/mariadb/mariadb.log

十、常见问题处理

  1. 页面访问404错误

    # 检查Apache配置
    apachectl configtest
    systemctl restart httpd

  2.  数据库连接失败:  

    # 验证数据库权限
    mysql -u itop_admin -p'Itop@Password123' -e "SHOW DATABASES;"

    3.文件权限问题

     chcon -R -t httpd_sys_rw_content_t /var/www/html/itop   通过以上完整流程,大家就完成一个生产级可用的iTop ITSM系统,包含详细的审计日志和完整的服务管理功能。