RHEL8/CentOS8部署itop3.0详细实践教程
- 1 硬件环境
- 2 软件环境
- 3 关闭防火墙及selinux
- 4 更新yum源
- 5 安装Apache
- 6 安装PHP及依赖
- 7 安装Mariadb,创建iTop数据库
- 8 上传iTop安装包并配置权限
- 9 进入web端,安装GLPI系统
- 10 配置文件修改
- 10.1修改时区为上海
- 10.2修改中文乱码
- 11 iTop 后台任务 cron配
- 12 修改UI登录样式
- 13 修改文字内容
- 14 安装toolkit
- 15 LDAP配置
1 硬件环境
主机 | 虚拟服务器 |
CPU | Intel® Xeon® Gold 5118 CPU @ 2.30GHz 8核心 |
硬盘 | 剩余空间100G及以上 |
内存 | 16GB |
2 软件环境
序号 | 项目 | 描述 | 备注 |
---|---|---|---|
1 | 服务器操作系统 | RHEL8.6 | |
2 | Web服务器软件 | Apache2.4 | |
3 | PHP服务器软件 | PHP7.4 | |
4 | 数据库软件 | Mariadb10.3 |
3 关闭防火墙及selinux
安装操作系统后,需要关闭防火墙及selinux,后期可根据实际情况开放防火墙端口
systemctl stop firewalldsystemctl disable firewalldgetenforce #查看状态vi /etc/sysconfig/selinux #设置开机不启动SELINUX=disabled
4 更新yum源
yum -y install epel-releaseyum update -y
5 安装Apache
yum install -y httpd httpd-develservice httpd startsystemctl enable httpd
6 安装PHP及依赖
sudo dnf module reset -y phpsudo dnf module install -y php:7.4sudo dnf install php-{mysqlnd,gd,intl,ldap,apcu,xmlrpc,opcache,zip,xmlrpc,soap} graphviz
7 安装Mariadb,创建iTop数据库
#配置阿里云源vim /etc/yum.repos.d/mariadb.rep配置文件:[mariadb]name = MariaDBbaseurl = http://mirrors.aliyun.com/mariadb/yum/10.3/centos7-amd64/gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDBgpgcheck = 1
安装mariadb并配置开机启动
yum -y install MariaDB-server MariaDB-client # yum安装MariaDBsystemctl start mariadb.service #启动mariadbsystemctl enable mariadb.service #设置开机启动
创建itop数据库
mysql_secure_installation #创初始化数据库#创建数据库mysql -uroot -pmysql> use mysql;mysql> CREATE USER 'itop'@'%' IDENTIFIED BY 'itop'; #用户名 密码mysql> GRANT USAGE ON *.* TO 'itop'@'%' IDENTIFIED BY 'itop';mysql> create database itop character set utf8 collate utf8_bin;mysql>grant select,insert,update,delete,create,drop,alter,trigger on itop.* to 'itop'@'%';mysql>ALTER DATABASE itop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;FLUSH PRIVILEGES;mysql> quit
8 上传iTop安装包并配置权限
上传itop安装包到 /var/www/html目录
解压安装包并赋权
unzip iTop-3.0.2-1-9957.zipchown -R apache.apache /var/www/html/chmod 755 -R /var/www/html/itop
重启apache服务
systemctl restart httpd
9 进入web端,安装GLPI系统
浏览器输入:http://IP/itop/web,打开安装向导;
选择全新安装
接受许可协议
数据库配置
设置管理员密码:pwd
选择安装生产实例
配置管理选项
选择企业服务管理
工单管理选项
变更管理选项
]
额外的票证,FAQ
确认开始安装
10 配置文件修改
10.1修改时区为上海
vim /var/www/html/itop/web/conf/production/config-itop.php
时区修改为上海
//'timezone' => 'Europe/Paris',
// 修改为
'timezone' => 'Asia/Shanghai',
10.2修改中文乱码
//'csv_file_default_charset' => 'ISO-8859-1',
//修改为
'csv_file_default_charset' => 'UTF-8',
11 iTop 后台任务 cron配
itop后台定时任务默认关闭,需要手动启动
新建参数文件
vim /opt/iTop/params
auth_user = adminauth_pwd = xxhbLOCAL.email_asynchronous = 1cron_sleep = 10
创建计划任务 itop安装目录自己注意一下
crontab -e
*/10 * * * * /usr/bin/php /var/www/html/itop/web/webservices/cron.php --param_file=/opt/iTop/params --verbose=1 >> /var/log/itop-cron.log 2>&1
crontab -l #查看一下
crontab -l
/var/log/itop-cron.log是执行日志
下面命令可以看到itop后台任务具体情况
php /var/www/html/itop/web/webservices/cron.php --auth_user=admin --auth_pwd=xxhbLOCAL. --status_only=1
12 修改UI登录样式
编辑 itop\css\login.css
#login-title {width: 70%;margin-left: 15%;/* 修改红色与字体大小 */color: #d71345;
font-size: 1.4rem;
}
13 修改文字内容
编辑 itop\dictionaries\zh_cn.dictionary.itop.ui.php
根据需求修改
14 安装toolkit
上面修改需要通过lookit工具更新后才能生效
将压缩包解压,修改文件夹名为toolkit,放置到itop目录下
输入网址 http://ip/toolkit,点击iTop update
15 LDAP配置
- AD域同步分为两部分
person同步(联系人)
User同步(账户)
- 注意:
PHP版本需要7.3以上
同步账户需要rest角色 新建rest账户,角色分配REST Services User
上传Data collector for LDAP 1.2.7.zip到/opt/itop目录 - ldap-data-collector文件如下
- ldap-data-collector,需要编辑的文件如下:
/opt/itop/ldap-data-collector/collectors/params.distrib.xml
/opt/itop/ldap-data-collector/conf/params.distrib.xml
/opt/itop/ldap-data-collector/conf/params.local.xml - 其中conf/params.local.xml由conf/params.distrib.xml复制得到,当配置参数相同时,params.local.xml优先级高于params.distrib.xml
#解压ldap收集器
mkdir /opt/itop/ && cd /opt/itop/
unzip Data-collector-for-LDAP.zip
#复制配置文件
cd ldap-data-collector/conf
cp params.distrib.xml params.local.xml
- 配置单AD域同步:
编辑配置文件conf/params.local.xml
vim conf/params.local.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- conf/params.local.xml - 用于配置个性化参数 -->
<parameters><itop_url>http://localhost/itop/web/</itop_url><itop_login>rest</itop_login><itop_password>1234@Abcd</itop_password><contact_to_notify>123@abc.com</contact_to_notify><synchro_user>rest</synchro_user><!-- BUG1 <ldapuri>ldap://localhost:389</ldaphost> --><ldapuri>ldap://IP:389</ldapuri><ldapdn>OU=test_users,DC=TESTAD,DC=LOCAL</ldapdn><!-- BUG2 <ldaplogin>CN=ITOP-LDAP,DC=company,DC=com</ldaplogin> --><ldaplogin> TESTAD \admin</ldaplogin><ldappassword>1234@abcd</ldappassword><page_size>1000</page_size><prefix></prefix><json_placeholders><full_load_interval>604800</full_load_interval><!-- 7 days (in seconds): 7*24*60*60 --><users_target_class>UserLDAP</users_target_class><synchro_status>production</synchro_status></json_placeholders>
</parameters>
- 编辑配置文件collectors/params.distrib.xml
vim collectors/params.distrib.xml
<?xml version="1.0" encoding="UTF-8"?>
<parameters><!-- 填写LDAP信息账号信息 --><ldapuri>ldap://IP:389</ldapuri><ldapdn>OU=test_users,DC=TESTAD,DC=LOCAL</ldapdn><ldaplogin> TESTAD\admin</ldaplogin><ldappassword>1234@abcd</ldappassword><!-- Parameters for Person synchronization --><ldappersonfilter>(objectClass=person)</ldappersonfilter><itop_group_pattern>/^CN=itop-(.*),OU=.*/</itop_group_pattern><person_fields><!-- 重要: 映射LDAP用户与联系人 ,后续如果增加字段映射也在这里改 --><primary_key>samaccountname</primary_key><name>givenname</name><first_name>sn</first_name><email>mail</email><phone>telephonenumber</phone><mobile_phone>mobile</mobile_phone><function>title</function><employee_number>employeenumber</employee_number></person_fields><person_defaults><!-- 同步到iTop的组织名称,不是组织ID ,请完整填写--><org_id>Demo</org_id><status>active</status></person_defaults><!--重要 : 同步参数设置 --><collect_person_only>no</collect_person_only><ldapuserfilter>(&(objectClass=person)(samaccountname=*))</ldapuserfilter><synchronize_profiles>no</synchronize_profiles><user_fields><!-- 映射LDAP用户与联系人 --><primary_key>samaccountname</primary_key><login>samaccountname</login><!-- 重要:关联用户与联系人 默认是mail --><contactid>mail</contactid></user_fields><user_defaults><!-- 默认角色 语言 --><profile>Portal user</profile><language>ZH CN</language></user_defaults><!-- 此参数在多域或多OU环境同步时候才会用到 --><prefix></prefix><json_placeholders><!-- <prefix></prefix><persons_data_table>synchro_data_PersonAD</persons_data_table><users_data_table></users_data_table>--><prefix>$prefix$</prefix><persons_data_table>synchro_data_$prefix$ldap_persons</persons_data_table><users_target_class>UserLDAP</users_target_class><users_data_table>synchro_data_$prefix$ldap_users</users_data_table><full_load_interval>604800</full_load_interval><!-- 7 days (in seconds): 7*24*60*60 --><synchro_status>production</synchro_status><profile_list_update_policy>write_if_empty</profile_list_update_policy></json_placeholders>
</parameters>
- 测试iTop REST API连接
php toolkit/testconnection.php
成功后会提示如下界面,如果未出现,请检查以上配置文件
- 测试LDAP 同步用户
php collectors/bin/ldap-test.php
能返回如下信息则配置成功
测试正常,运行同步命令
php exec.php
- 配置定时同步任务
以上完成同步后,需要使用crontab配置定时任务
编写同步脚本
vim /opt/itop/cron/ldap-data-collector-cron.sh
#!/bin/bash
#用于ldap数据收集执行脚本
echo "开始进行LDAP数据同步"
php /opt/iTop/ldap-data-collector/exec.php --config_file='/opt/iTop/ldap-data-collector/conf/params.local.xml' >> /opt/itop/cron/params.local.xml.log 2>&1
echo "LDAP同步完成"
创建定时任务
crontab -e
#每天12点30 , 23点30进行LDAP同步
30 12,23 * * * /bin/bash /opt/iTop/cron/ldap-data-collector-cron.sh
- 开启ldap登录
修改itop配置文件
‘authent-ldap’ => array (
‘host’ => ‘10.2.44.3’,
‘port’ => 389,
‘default_user’ => ‘admin@testad.local’,
‘default_pwd’ => ‘1234@abcd’,
‘base_dn’ => ‘OU=test_users,DC=TESTAD,DC=LOCAL’,
‘user_query’ => ‘(SamAccountName=%1$s)’,
‘options’ => array (
17 => 3,
8 => 0,
),
‘start_tls’ => false,
‘debug’ => false,
‘servers’ => array (
),
),