开源IT服务管理工具iTOP安装实践

Posted 土豆Hero

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开源IT服务管理工具iTOP安装实践相关的知识,希望对你有一定的参考价值。

一、背景

在itop中文网(http://www.itop.net.cn/)对iTOP的说明为“基于WEB的遵循ITIL的开源IT运维管理软件“,其具有免费开源、支持中文、支持基于WEB的访问、基于ITIL最佳实践、安装配置简单、使用简单的特点,而其主要的功能包括服务管理、变更管理、问题管理、服务台、配置管理、事件管理等。因此对于一般公司而言这是一个非常不错的选择,笔者计划在CENTOS7.6上安装iTOP软件,测试无问题后将虚拟机导出为OVF格式,再导入到其他的环境中使用,本文主要分享笔者在安装iTOP的过程及在虚拟机导出导入的过程中遇到的相关问题。

 

二、准备工作及相关说明

1、 操作系统,我选用的是CENTOS7.6 64位,最小安装即可;

2、 Apache httpd的版本使用2.4;

3、 数据库,iTOP对数据库的版本要求为5.6-5.7或者10.1-10.4,不能低于5.6.0,建议使用Mariadb,而CENTOS源提供的是5.5.68版本的Mariadb,因此需要重新下载Mariadb,具体参见后面操作步骤;

4、 php,iTOP对PHP版本的版本要求为5.6-7.4,CENTOS7的YUM源提供的是php5.4,我们计划采用72w,因此需要重新安装符合我们需求的PHP版本,具体参见后面的操作步骤;

5、 iTOP软件,从sourceforge下载最新版本 iTOP,我下载的版本为:iTop-2.7.5-1-7770,地址 :

​https://sourceforge.net/projects/itop/​

6、 软硬件关系参考iTop Hub网站说明:

​https://www.itophub.io/wiki/page?id=3_0_0%3Ainstall%3Arequirements​

开源IT服务管理工具iTOP安装实践_centos7

三、基础环境准备

1、为了便于后续安装,先关闭firewalld防火墙以及selinux,在后续可以根据实际情况开启防火墙的特定端口即可。

开源IT服务管理工具iTOP安装实践_itop_02

2、安装基础组件

 [root@localhost ~]# yum install -y unzipgraphviz unzip mod_ssl

四、安装LAMP

(一)  安装Apache 服务

1、查看YUM源提供的httpd的版本:

[root@localhost~]# yum list all httpd

……

Available Packages

httpd.x86_64        2.4.6-97.el7.centos.2                          updates

       是我们需要的版本

2、直接使用YUM安装,安装后启动httpd服务

[root@localhost~]# yum install -y httpd

[root@localhost~]# systemctl start httpd

3、检查httpd服务是否正常

[root@localhosthtml]# systemctl status httpd

使用浏览器直接访问IP地址,显示如下信息表示安装成功:

开源IT服务管理工具iTOP安装实践_itop_03

(二)  安装数据库服务

1、查看CENTOS7默认YUM源提供的Mariadb版本:

[root@localhost~]# yum list all mariadb

……

Available Packages

mariadb.x86_64           1:5.5.68-1.el7                              base

这不是我们需要的版本,安装新的YUM源。

2、找到Mariadb官网,根据我们的需求选择版本,然后网站会生成相应的YUM源,我们只需要将该YUM源配置在/etc/yum.repos.d/目录下即可:

Mriadb官网:

​https://mariadb.org/download/?t=repo-config&d=CentOS+7+%28x86_64%29&v=10.3&r_m=bkns​

开源IT服务管理工具iTOP安装实践_itop_04

如下:

开源IT服务管理工具iTOP安装实践_itop_05

3、安装我们需要的MariaDB-server

[root@localhost ~]# yum install -y MariaDB-server.x86_64 

4、启动数据库及进行初始化配置

[root@localhost~]# systemctl start mariadb

[root@localhost~]# mysql_secure_installation        //初始化数据库,设置root账户及Password root123

[root@localhost~]# mysql -uroot -proot123

MariaDB[(none)]> create database itop DEFAULT CHARACTER SET utf8;

Query OK, 1 rowaffected (0.001 sec)

MariaDB[(none)]> create user itop@localhost identified by itop;

Query OK, 0 rowsaffected (0.000 sec)

MariaDB[(none)]> grant all privileges on *.* to itop@localhost identified by itop;

Query OK, 0 rowsaffected (0.000 sec)

MariaDB [(none)]>flush privileges;

Query OK, 0 rowsaffected (0.000 sec)

MariaDB[(none)]>

MariaDB[(none)]> exit

Bye

 

(三)安装PHP

1、查看CENTOS默认YUM源提供的PHP版本:

[root@localhost~]# yum list all php

Available Packages

php.x86_64              5.4.16-48.el7                                 base

不是我们需要的版本

2、增加PHP7的YUM源:

yum -y installepel-release

rpm -Uvh ​https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

3、安装PHP及相关的组件

[root@localhost~]# yum -y install php72w php72w-gd php72w-mysqlnd php72w-imap php72w-soap php72w-ldap php72w-mbstring php72w-pecl-zendopcache php72w-xml php72w-cli

注意:需要的组件可以在​​https://www.itophub.io​​查看,如果组件安装不全,在安装iTOP的时候会进行提示。

4、检查PHP安装结果

       查看PHP的版本信息:

开源IT服务管理工具iTOP安装实践_ITIL_06

       在apache的根目录/var/www/html目录中创建PHP测试文件:

开源IT服务管理工具iTOP安装实践_lamp_07

浏览器访问测试文件,如下表示正常:

 开源IT服务管理工具iTOP安装实践_lamp_08

 

五、安装iTOP

1、 在apache的根目录/var/www/html目录中创建itop目录

2、 将准备好的iTOP安装包解压后放到itop目录中,赋予apache用户及用户组的权限

[root@localhosthtml]# chown -R apache:apache itop/*

开源IT服务管理工具iTOP安装实践_ITIL_09

3、 浏览器访问:​​http://192.168.238.135/itop/web/setup​​,进入安装配置页面:

这一步会对所有的环境信息进行检查,如果前面安装的组件不正确,这里也会给出提示信息:

 开源IT服务管理工具iTOP安装实践_centos7_10

 开源IT服务管理工具iTOP安装实践_ITIL_11

 开源IT服务管理工具iTOP安装实践_php7_12

这里配置的数据库连接信息:

开源IT服务管理工具iTOP安装实践_itop_13

这里配置iTOP管理员账户:

 开源IT服务管理工具iTOP安装实践_centos7_14

注意看这里应用访问的URL,这里固定了IP地址:

开源IT服务管理工具iTOP安装实践_ITIL_15开源IT服务管理工具iTOP安装实践_centos7_16开源IT服务管理工具iTOP安装实践_ITIL_17开源IT服务管理工具iTOP安装实践_ITIL_18开源IT服务管理工具iTOP安装实践_centos7_19开源IT服务管理工具iTOP安装实践_itop_20开源IT服务管理工具iTOP安装实践_itop_21开源IT服务管理工具iTOP安装实践_php7_22开源IT服务管理工具iTOP安装实践_php7_23开源IT服务管理工具iTOP安装实践_php7_24

4、 其他说明

(1)直到这里可以进入到iTOP的页面表示整个安装过程结束,这里看一下相关日志文件的目录有助于故障排除:

开源IT服务管理工具iTOP安装实践_itop_25

(2)配置HTTPD、Mariadb自动启动,开启防火墙,通过配置文件关闭selinux配置

[root@localhost html]# systemctl enable httpd

Created symlink from/etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

[root@localhost html]# systemctl enable mariadb

Created symlink from /etc/systemd/system/mysql.service to /usr/lib/systemd/system/mariadb.service.       

[root@localhost html]# vi /etc/selinux/config

开源IT服务管理工具iTOP安装实践_php7_26

[root@localhost html]# systemctl start firewalld

[root@localhost html]# firewall-cmd --permanent --add-port=80/tcp

success

[root@localhost html]# firewall-cmd --reload

success

六、遇到的问题

1、 安装之前对版本的依赖关系没有搞清楚,安装过程中遇到Mariadb版本不正确、PHP版本不正确的相关问题,卸载后再重新安装又遇到版本依赖性问题,整个过程比较麻烦;

2、 安装过程遵循Linux-Apache-MariaDB-PHP-iTOP的思路,每安装完成一步就验证一步,避免安装过程中出现问题后不知道是哪里的问题。第一遍安装的时候比较混乱,解压iTOP安装包后,通过浏览器访问发现浏览器只展示文件目录,不解析PHP文件,其中遇到selinux未关闭、Mariadb、PHP扩展版本不正确的问题;

3、 在本地虚拟机安装后,打包成OVF文件,然后迁移至另外的VMWARE环境,浏览器访问时发现报错,提示iTOP服务出现问题,浏览器报错具体信息未记录,观察日志中的信息提示[Mon Nov22 06:52:50.972193 2021] [php7:error] [pid 7230] [client 192.168.238.1:62779] PHP Fatal error:  Uncaught Error: Call to undefined function mysqli_report() in /var/www/html/itop/web/core/cmdbsource.class.inc.php:250\\nStacktrace:\\n#0/var/www/html/itop/web/core/cmdbsource.class.inc.php(223):CMDBSource::GetMysqliInstance(localhost, itop, itop, itop, false, NULL, true)\\n#1 /var/www/html/itop/web/core/cmdbsource.class.inc.php(195):CMDBSource::Init(localhost, itop, itop, itop, false, NULL)\\n#2 /var/www/html/itop/web/core/metamodel.class.php(6486):CMDBSource::InitFromConfig(Object(Config))\\n#3/var/www/html/itop/web/core/metamodel.class.php(6292): MetaModel::LoadConfig(Object(Config), true)\\n#4 /var/www/html/itop/web/application/startup.inc.php(98): MetaModel::Startup(/var/www/html/i..., false, true, false, production)\\n#5 /var/www/html/itop/web/pages/UI.php(343): require_once(/var/www/html/i...)\\n#6 {main}\\n  thrown in /var/www/html/itop/web/core/cmdbsource.class.inc.php on line 250。分析日志感觉是iTOP连接不上数据库了,但是检查数据库端口、服务均正常。通过百度搜索有的说法是PHP72w中使用mysqli替代mysql,有的说是要修改php.ini中的extension、有的说是要修改nd_mysql文件等等,均未解决问题。最后多处搜索资料,仔细查看日志,日志中提示“undefined function”,结合前面说的nd_mysql,我想是不是这个文件有异常了,于是使用rpm -qa 查看这个包,一直查询不到,重新安装这个包后,再次刷新页面不再报错。

开源IT服务管理工具iTOP安装实践_itop_27

为什么打包虚拟机OVF文件前是正常的,可能是因为第一次安装的时候遇到各种问题,安装了各种版本,然后有的时候冲突又卸载了,但是未重启,所以应用是正常的,打包虚拟机会关机再次重新启动,因此就报错了。

4、 解决了上一个问题后,发现在访问URL的时候非常的慢,几乎展示不出来页面,或者展示出来的页面中是完全混乱的,而且点击子页面会卡死,查看日志中又没有错误提示,在偶然测试中发现将迁移前的虚拟机也同时打开时,如果访问迁移后的URL会非常的流畅。经过对前端浏览器的请求分析,发现访问迁移后的虚拟机会自动的重定向到迁移前的虚拟机,向迁移前的地址发起请求,猜测是在安装的过程中Application URL那里已经将原来的URL或者IP地址写入到了安装配置文件,虚拟机迁移后,并没有改变配置文件,因此存在此问题。解决方法为删除/var/www/html/下的itop目录,重新进行安装即可。


以上是关于开源IT服务管理工具iTOP安装实践的主要内容,如果未能解决你的问题,请参考以下文章

itop开源IT运维工具百问百答,史上最全

IT运维管理包含哪些内容

1.基于ITIL的IT服务管理基础篇 --- 引言

ITSM | 如何通过设计提升工单处理效率

[数据知识]Microsoft IT 微软数据管理能力成熟度

开源IT资产管理软件(GIPI)