如何安装部署GLPI?

Linux基础

1 基础知识

1.1 GLPI的简介

– GLPI是一款ITSM软件工具,用于规划和管理IT需求变更(解决出现的问题以及控制公司的IT预算和费用)

1.2 GLPI的功能

– 提供符合ITIL v2标准的服务台
– 提供资产管理和自动库存
– 提供数据质量控制
– 提供IT资产的管理和财务管理
– 提供软件库存和许可证的管理
– 提供知识库和答疑功能
– 提供统计和报表
– 提供其他更深层次的整理功能
– 提供应用程序部署功能(包括Windows、Linux、IOS、Android)

1.3 GLPI的的安装

1.3.1 网络服务器

– Linux发行版本
— Red Hat
— CentOS
— Fedora
— Ubuntu
— 其他发行版本
– Apache2以上版本
– Nginx
– Microsoft IIS

1.3.2 应用程序服务器

– PHP 5.6或更高版本(9.2版本开始)
– 强制扩展
— curl,用于CAS身份验证、GLPI版本检查、遥测等
— fileinfo,获取文件的额外信息
— gd,生成图像
— json,获取对JSON数据格式的支持
— mbstring,管理多字节字符
— mysqli,链接和查询数据库
— session,获取用户回话支持
— zlib,获取备份数据和恢复数据功能
— simplexml
— xml
– 可选扩展
— cli,从命令行使用PHP(脚本、自动操作等)
— domxml,用于CAS身份验证
— imap,用于邮件收集器ou用户的身份验证
— ldap,使用LDAP目录进行身份验证
— openssl,安全通讯
— xmlrpc,用于XMLRPC API
— APCu,用于缓存等
– PHP配置要求

memory_limit = 64M ;        // max memory limit
file_uploads = on ;
max_execution_time = 600 ;  // not mandatory but recommended
register_globals = off ;    // not mandatory but recommended
magic_quotes_sybase = off ;
session.auto_start = off ;
session.use_trans_sid = 0 ; // not mandatory but recommended

1.3.3 数据库

– MySQL(包含5.6在内的以上版本)
– MariaDB(包含10.0在内的以上版本)

2 最佳实践

2.1 系统环境

2.1.1 环境信息

IP Address = 10.168.0.90
OS Type = CentOS 7.x-x86_64
Host Nmae = glpi.cmdschool.org

2.2 软件环境

2.2.1 部署PHP与Apache

请按如下链接部署PHP加Apache环境,
https://www.cmdschool.org/archives/3208

2.2.2 部署MariaDB

请按如下链接部署MySQL,
https://www.cmdschool.org/archives/7034

2.2 部署Clpi

2.2.1 下载软件包

cd ~
wget https://github.com/glpi-project/glpi/releases/download/9.3.4/glpi-9.3.4.tgz

注:其他的版本,请从如下链接下载,
https://github.com/glpi-project/glpi/releases

2.2.2 解压软件包

cd ~
tar -xf glpi-9.3.4.tgz

2.2.3 部署软件包

mv glpi /var/www/
chown apache:apache -R /var/www/glpi
chmod 775 -R /var/www/glpi

2.2.4 创建虚拟服务器

vim /etc/httpd/conf.d/glpi.conf

加入如下配置,

<VirtualHost *:80>
DocumentRoot /var/www/glpi
ServerName glpi.cmdschool.org
</VirtualHost>

<Directory /var/www/glpi>
Require all granted
</Directory>

配置保存后,建议你使用如下命令检查配置的语法,

httpd -t

检查完毕后,你需要重启服务使配置生效,

systemctl restart httpd.service

2.2.5 配置名称解析

notepad \Windows\System32\drivers\etc\hosts

加入如下配置,

10.168.0.90 glpi.cmdschool.org

注:以上只能用于测试,生产环境中请配置DNS代替

2.3 配置glip

2.3.1 运行安装向导

请通过如下链接访问,
http://glip.cmdschool.org
可见如下界面,

如上图所示,
选择你所需要的语言,如“English”
单击【OK】

2.3.2 同意授权协议


如上图所示,
单击【I have read and ACCEPT the terms of the license written above.】
单击【Contnue】

2.3.3 开始安装


如上图所示,
单击【Install】

2.3.4 检查缺失的模块


如上图所示,我们需要根据向导安装缺失的模块

2.3.4.1 模块编译前的准备

首先,我们根据如下教程准备模块的安装环境和熟悉模块的安装方法,
https://www.cmdschool.org/archives/3166

2.3.4.2 编译安装模块mysqli

cd ~/php-7.2.11/ext/mysqli/
phpize
./configure
make
make install

如果遇到以下错误,

/root/php-7.2.11/ext/mysqli/php_mysqli_structs.h:42:33: fatal error: ext/mysqlnd/mysqlnd.h: No such file or directory
 #include "ext/mysqlnd/mysqlnd.h"
                                 ^

你可能需要安装如下依赖的模块解决,

cd ~/php-7.2.11/ext/mysqlnd
cp config9.m4 config.m4
phpize
export PHP_OPENSSL_DIR=yes
./configure
make
make install

注:参数“export PHP_OPENSSL_DIR=yes”的作用是防止出现“configure: error: Cannot find OpenSSL’s ”的错误提示
如果后面的操作以动态模块加载的方式有如下提示,

PHP Warning:  PHP Startup: Unable to load dynamic library 'mysqli.so' (tried: /usr/lib64/extensions/no-debug-zts-20170718/mysqli.so (/usr/lib64/extensions/no-debug-zts-20170718/mysqli.so: undefined symbol: mysqlnd_global_stats), /usr/lib64/extensions/no-debug-zts-20170718/mysqli.so.so (/usr/lib64/extensions/no-debug-zts-20170718/mysqli.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

可使用静态编译的方式编译,

cd ~/php-7.2.11
./configure --bindir=/usr/sbin/ \
            --sbindir=/usr/sbin/ \
            --sysconfdir=/etc/ \
            --libdir=/usr/lib64/  \
            --mandir=/usr/share/man/ \
            --includedir=/usr/include/ \
            --with-apxs2=/usr/sbin/apxs \
            --with-pdo-mysql \
            --with-mysqli=/usr/bin/mysql_config
make
make install

如果遇到如下错误,

mysql_config not found

你可能需要安装如下包解决依赖关系,

yum install -y mysql-community-devel

2.3.4.3 编译安装模块mbstring

cd ~/php-7.2.11/ext/mbstring/
phpize
./configure
make
make install

2.3.4.4 编译安装模块zlib

cd ~/php-7.2.11/ext/zlib/
cp config0.m4 config.m4
phpize
./configure
make
make install

2.3.4.5 编译安装模块curl

cd ~/php-7.2.11/ext/curl/
phpize
./configure
make
make install

如果遇到如下错误,

configure: error: cURL version 7.10.5 or later is required to compile php with cURL support

你需要安装如下包解决依赖关系,

yum install -y libcurl-devel

2.3.4.6 编译安装模块gd

cd ~/php-7.2.11/ext/gd/
phpize
./configure
make
make install

另外,如果收到如下错误提示,

configure: error: png.h not found.

你需要安装如下开发库后再继续编译安装,

yum install -y libpng-devel

2.3.4.7 编译安装模块ldap(可选)

cd ~/php-7.2.11/ext/ldap/
phpize
./configure
make
make install

另外,如果收到如下错误提示,

configure: error: Cannot find ldap.h

你需要安装如下开发库后再继续编译安装,

yum install -y openldap-devel

另外,如果收到如下错误提示,

configure: error: Cannot find ldap libraries in /usr/lib.

你需要创建如下软连接,

ln -s /usr/lib64/libldap.so /usr/lib/

2.3.4.8 编译安装模块imap(可选)

cd ~/php-7.2.11/ext/imap/
phpize
./configure
make
make install

以上方法只作参考,如果收到如下错误提示,

configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.

你需要根据以下方法编译安装C-Client的库和IMAP,
https://www.cmdschool.org/archives/3971

2.3.4.9 编译安装模块Zend OPcache(可选)

该包由于没有更新,所以与PHP7不兼容,包可选安装,且该包没有更新,所以不安装,详细请参阅官方链接,
https://github.com/zendtech/ZendOptimizerPlus/releases

2.3.4.10 编译安装模块APcu(可选)

cd ~
wget https://github.com/krakjoe/apcu/archive/v5.1.17.tar.gz -O apcu-5.1.17.tar.gz
tar -xf apcu-5.1.17.tar.gz
cd ~/apcu-5.1.17
phpize
./configure
make
make install

其他版本请从以下链接下载,
https://github.com/krakjoe/apcu/releases

2.3.4.11 编译安装模块xmlrpc(可选)

cd ~/php-7.2.11/ext/xmlrpc/
phpize
./configure
make
make install

2.3.4.12 编译安装模块CAS(可选,即domxml)

过期的扩展安装包,无法与PHP 7配合,详细参阅以下链接,
https://pecl.php.net/package/domxml

2.3.4.13 编译安装模块exif(可选)

cd ~/php-7.2.11/ext/exif/
phpize
./configure
make
make install

2.3.4.14 编译安装模块openssl(可选)

cd ~/php-7.2.11/ext/openssl/
cp config0.m4 config.m4
phpize
./configure
make
make install

2.3.4.15 修改模块加载配置

vim /etc/php.ini

加入如下配置,

extension=mysqli.so
extension=mbstring.so
extension=zlib.so
extension=curl.so
extension=gd.so
extension=ldap.so
extension=imap.so
extension=apcu.so
extension=xmlrpc.so
extension=exif.so
extension=openssl.so

2.3.4.16 重载服务使配置生效

systemctl reload httpd

2.3.5 确认模块就绪


如上图所示,
单击【Try again】后即通过模块检测
单击【Continue】进入下一步

2.3.6 配置数据库连接

2.3.6.1 创建数据库

echo 'create database glpi character set utf8;' | mysql -uroot -p
echo 'grant all privileges on glpi.* to "glpi"@"localhost" identified by "glpipwd";' | mysql -u root -p

注:以上创建用户名为“glpi”,密码为“glpipwd”,允许从本机连接。

2.3.6.2 配置数据库链接


如上图所示,
填入上一个步骤创建的数据库信息,单击【Continue】进入下一步

2.3.6.3 选择数据库


如上图所示,
填入之前步骤创建的数据库,单击【Continue】进入下一步

2.3.6.4 初始化数据库


如上图所示,
显示以上信息表明数据库初始化完成,单击【Continue】进入下一步

2.3.7 完成安装

2.3.7.1 使用状态配置


如上图所示,
根据你的实际情况选择,单击【Continue】进入下一步

2.3.7.2 捐献页面


如上图所示,
如果情况允许,请支持该项目的开发,处理完成后,单击【Continue】进入下一步

2.3.7.3 完成安装


如上图所示,
记录下以上默认的账号信息,单击【User GLPI】进入登录界面

2.3.7.4 登录界面


如上图所示,
填入上一个步骤提示的默认账号信息,单击【Post】即进入系统

2.4 优化GLPI

2.4.1 备份后清理安装向导页面

mkdir /backup
cd /backup
tar --remove-files -cvjf install.php.tar.bz2 /var/www/glpi/install/install.php

参阅文档
=================

GLPI的下载
————–
https://github.com/glpi-project/glpi/releases
https://glpi-project.org/downloads/

GLPI的安装
————
https://glpi-install.readthedocs.io/en/latest/

文档页面
————
https://glpi-project.org/resources/

官方首页
———–
https://glpi-project.org/

没有评论

发表回复

Linux基础
如何熟悉Linux的PAM模块

1 PAM的简介 1.1 PAM的概念 – PAM即Pluggable Authenti …

Linux基础
如何配置RHEL 8.x OpenSSH客户端登录自动过期?

1 前言 一个问题,一篇文章,一出故事。 基于服务器安全,笔者需要让OpenSSH客户端在10分钟内 …

Linux基础
如何安装部署SentinelOne EDR?

1 基础知识 1.1 软件公司介绍 SentinelOne,Inc.是一家在纽约证券交易所上市的美国 …