基于 LAMP 环境部署 iTop
一、搭建 LAMP 环境
注:操作系统为 CentOS 7.9
-
安装 Apache HTTP Server
sudo yum -y install httpd
-
安装 MySQL 5.7
# 第一步:配置MySQL Yum源(注:CentOS 7.9使用Mariadb替代MySQL,需另外配置Yum源安装MySQL)sudo yum -y install https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm# 第二步:变更Yum源的GPG签名校验(若直接运行第三步能正常安装软件包,则跳过此步骤)sed -i 's/gpgcheck=1/gpgcheck=0/g' mysql-community.reposed -i 's/gpgcheck=1/gpgcheck=0/g' mysql-community-source.repo# 第三步:安装MySQL软件包sudo yum -y install mysql mysql-server
-
安装 PHP
# 第一步:配置PHP Yum源(注:CentOS7.9 Yum源的PHP版本和预期不符,需额外安装)sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm# 第二步:安装PHP软件包(iTop官方下载命令php-zip模块被我替换成php-pecl-zip,下载php-zip后模块列表中没有zip)sudo yum --enablerepo=remi-php74 -y install php php-mysql php-xml php-cli php-soap php-ldap php-gd php-pecl-zip php-json php-mbstring graphviz
二、初始化配置LDAP环境
- MySQL 5.7 初始化配置
# 启动MySQL 5.7并设置开机自启systemctl enable --now mysqld# 注:MySQL5.7 root用户默认密码可在启动日志中查找# grep 'temporary password' /var/log/mysqld.log
创建业务账号,iTop 链接数据库使用
# 输入如下命令,回车键入上述查找出来的密码mysql -uroot -p# 修改密码root用户密码,不修改密码无法执行SQL语句Alter user 'root'@'localhost' IDENTIFIED BY 'lich@123SD4';# 创建业务账号供iTop链接使用GRANT ALL PRIVILEGES ON *.* TO 'iTop'@'%' IDENTIFIED BY 'lich@12KKK34$$';FLUSH PRIVILEGES;
-
部署 iTop
# 下载安装包wget https://udomain.dl.sourceforge.net/project/itop/itop/3.0.2-1/iTop-3.0.2-1-9957.zip# 解压到Apache发布目录unzip -d /var/www/html/ iTop-3.0.2-1-9957.zip# 因apache httpd服务是使用apache用户运行的,需要给到对应权限chown -R apache:apache /var/www/html/web/# 启动httpd并设置开机启动systemctl enable --now httpd
三、安装iTop
安装地址:http://ip:port/web/setup/index.php
访问地址:http://ip:port/web/
因截图较为麻烦,这里不一一罗列。根据自身需求按照操作指引一步步往下操作即可。
具体可参考官方教程:https://www.itophub.io/wiki/page?id=latest:install:install_wizard
容器化部署 iTop
一、基于官方的 httpd 镜像制作 LAMP 镜像
iTop 和 LAMP 版本关系可参考:https://www.itophub.io/wiki/page?id=latest:install:requirements
注:若无特殊说明,所有操作都以家目录为工作目录,切换到家目录: cd ~
;
制作属于自己的 LAMP 镜像(MySQL除外)
配置文件:Dockerfile
FROM httpd:latest# 基础镜像# 安装PHP环境RUN apt-get update && apt-get -y install mariadb-serverRUN apt-get update && apt-get -y install php php-mysql php-ldap php-cli php-soap php-json graphvizRUN apt-get update && apt-get -y php-xml php-gd php-zip libapache2-mod-php php-mbstring mysql mysql-server# 删除默认主页COPY httpd.conf /usr/local/apache2/conf/httpd.confEXPOSE 80# 启动CMD ["/usr/local/apache2/bin/httpd","-D","FOREGROUND"]
执行构建,制作 LAMP 镜像。(有点久,耐心等)
docker build -t gnacoh/lamp:1.0 .
注:httpd.conf 自定义参数如下:
# 增加LoadModule php7_module /usr/lib/apache2/modules/libphp7.4.so> AddType application/x-httpd-php .php ># 将index.html变更为index.php> DirectoryIndex index.php ># 取消注释LoadModule mpm_prefork_module modules/mod_mpm_prefork.so# 增加注释LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
二、 docker compose 管理 MySQL 和 LAMP 容器
配置文件:docker-compose.yml
version: "3.9"services: gnacoh-itop: image: "gnacoh/lamp:1.0" ports: - "80:80" # 挂载iTOP站点到LAMP容器里 volumes: - /opt/gnacoh/itop/web:/usr/local/apache2/htdocs gnacoh-mysql: image: "mysql:latest" environment: MYSQL_ROOT_PASSWORD: lich@123SD4 ports: - "3306:3306" volumes: - /opt/gnacoh/itop/mysql:/var/lib/mysql
下载解压 iTop 安装包
# 下载安装包wget https://udomain.dl.sourceforge.net/project/itop/itop/3.0.2-1/iTop-3.0.2-1-9957.zip# 解压到当前目录unzip -d /opt/gnacoh/itop/ iTop-3.0.2-1-9957.zip
管理容器
# 启动docker compose up -d# 停止docker compose down
遗留问题:httpd没有权限创建目录,需要进入容器执行!(执行一次即可,后续无需执行)
chown -R www-data:www-data /usr/local/apache2/htdocs
附录:
官方 httpd 镜像操作指引:https://hub.docker.com/_/httpd
官方 mysql 镜像操作指引:https://hub.docker.com/_/mysql
iTop 官方安装指引:https://www.itophub.io/wiki/page?id=latest:install:start
来源地址:https://blog.csdn.net/zone_oesy/article/details/128069974