自建IT资产管理系统-GLPI 10

GLPI可以提供功能全面的IT资源管理接口,你可以用它来建立数据库全面管理IT的电脑,显示器,服务器,打印机,网络设备,电话,甚至硒鼓和墨盒等。提供Helpdesk用户支持平台;联系人,合同,合作商,以及文档的管理;提供资源预定,知识库的管理等功能。 法国等欧洲国家和地区应用广泛的开源IT资产管理软件
Github:https://github.com/glpi-project/glpi/release

本文全流程超详细!

系统部署

  1. 环境 Alma Linux 9.1

  2. 删除系统自带的MariaDB数据库及配置文件 # Alma Linux 9.1最小安装不自带MariaDB

[root@localhost ~] find -H /etc/ | grep my.c   #查看默认数据库配置文件
/etc/pki/tls/certs/make-dummy-cert
/etc/pki/tls/certs/renew-dummy-cert
/etc/my.cnf
/etc/my.cnf.d
/etc/my.cnf.d/mysql-clients.cnf
[root@localhost ~] rm -rf /etc/my.cnf /etc/my.cnf.d/   #删除默认数据库配置文件
[root@localhost ~] find -H /etc/ | grep my.c   #再次查看默认数据库配置文件
/etc/pki/tls/certs/make-dummy-cert
/etc/pki/tls/certs/renew-dummy-cert
[root@localhost ~] 
[root@localhost ~] rpm -qa|grep mariadb-libs   #卸载系统自带mariadb-libs
mariadb-libs-5.5.65-1.el7.x86_64
[root@localhost ~] yum remove mariadb-libs.x86_64 -y   #卸载软件包,自动解决其依赖关系
  1. 添加MariaDB yum源
    MariaDB官方源:https://mariadb.org/download/?t=repo-config
[root@localhost ~] tee /etc/yum.repos.d/MariaDB.repo<<EOF
# MariaDB 10.11 RedHatEnterpriseLinux repository list - created 2023-02-22 01:51 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.11/rhel/9.1/x86_64/
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
  1. 安装MariaDB
[root@localhost ~] dnf clean all   #清除dnf源缓存
[root@localhost ~] dnf makecache   #更新dnf源缓存
[root@localhost ~] dnf --enablerepo=mariadb install -y mariadb-server mariadb   #指定源安装服务端 客户端
  1. 开启MariaDB,并创建GLPI数据库
[root@localhost ~] systemctl start mariadb.service   #开启服务
[root@localhost ~] systemctl enable mariadb.service   #设置为开机自启动服务
[root@localhost ~] mysql -u root -p   #登录数据库
Enter password:   #输入密码

#创建GLPI_SQL数据库
MariaDB [(none)]> CREATE DATABASE GLPI_SQL;
#创建数据库角色GLPI,密码为GLPI@1234,并赋予GLPI_SQL本地权限
MariaDB [(none)]> GRANT ALL PRIVILEGES ON GLPI_SQL.* TO 'GLPI'@'localhost' IDENTIFIED BY 'GLPI@1234';
#刷新权限表
MariaDB [(none)]> FLUSH PRIVILEGES;

[root@localhost ~] vi /etc/my.cnf.d/server.cnf #指定MariaDB监听的IP地址
[mysqld]
bind-address = 0.0.0.0
[root@localhost ~] systemctl restart mariadb #重新启动MariaDB服务
  1. 设置MariaDB字符集为utf-8
[root@localhost ~] vi /etc/my.cnf
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
#按i编辑,按esc后输入:wq!保存退出
[root@localhost ~] 
[root@localhost ~] vi /etc/my.cnf.d/mysql-clients.cnf
[mysql]
default-character-set=utf8
#按i编辑,按esc后输入:wq!保存退出
[root@localhost ~] 
[root@localhost ~] systemctl restart mariadb   #重启服务
[root@localhost ~] mysql -u root -p   #进入数据库
Enter password:   #输入密码
MariaDB [(none)]> show variables like 'character_set_%';   #查看默认字符集
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb3                    |
| character_set_connection | utf8mb3                    |
| character_set_database   | utf8mb3                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb3                    |
| character_set_server     | utf8mb3                    |
| character_set_system     | utf8mb3                    |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
  1. dnf安装PHP8.1
[root@localhost ~] dnf install -y epel-release   #安装EPEL仓库
[root@localhost ~] dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm   #安装Remi仓库
[root@localhost ~] dnf module -y reset php   #将php模块重置为默认状态
[root@localhost ~] dnf module -y enable php:remi-8.1   #启用Remi存储库提供的PHP8.1模块,也告诉dnf从Remi中安装PHP8.1版本
[root@localhost ~] dnf install -y php   #安装php
[root@localhost ~] php -v   #检查php版本
[root@localhost ~] dnf install -y php-mysqli php-gd php-ldap php-intl php-zip php-bz2    #安装更多php模块
  1. 配置PHP8.1
#PHP 配置文件 (/etc/php.ini) 调整如下
[root@localhost ~] vi /etc/php.ini
memory_limit = 128M     #设置PHP脚本可用的最大内存
file_uploads = on       #指定是否允许通过HTTP上传文件
max_execution_time = 60    #指定PHP脚本执行的最大时间(以秒为单位)。如果脚本执行时间超过了这个限制,PHP会自动终止脚本执行。
session.auto_start = off    #指定是否自动启动Session,如果设置为on,则Session会在每次请求时自动启动。
session.use_trans_sid = off   #指定是否允许使用基于URL的Session ID。如果设置为on,则可以通过URL参数传递Session ID,这可能会带来一些安全风险。
session.cookie_httponly = on    #指定是否将Session ID作为HTTP cookie发送给客户端。如果设置为on,则Session ID只能通过HTTP传输,不能通过JavaScript访问,这可以提高Session的安全性。
  1. 安装apache
[root@localhost ~] dnf install -y httpd httpd-devel   #安装httpd服务器和开发包
[root@localhost ~] systemctl start httpd.service   #启动httpd服务器
[root@localhost ~] systemctl enable httpd.service   #设置httpd服务器开机自启
  1. 修改httpd.conf文件
[root@localhost ~] vi /etc/httpd/conf/httpd.conf

#在AddType application......后面加如下一行
AddType application/x-httpd-php .php .html

#在DirectoryIndex index.html加上index.php
DirectoryIndex index.php index.html

#将AllowOverride None都改成AllowOverride All

#在Include conf.modules.d/*.conf后面加如下一行
LoadModule rewrite_module modules/mod_rewrite.so
  1. 下载glpi系统并解压至/var/www/html/目录下 并设置apache用户权限
[root@localhost ~] dnf install -y wget   #安装wget工具
[root@localhost ~] wget (下载直连) -O (文件名)
#github:https://github.com/glpi-project/glpi/releases
[root@localhost ~] tar -xf (文件名) -C /var/www/html/
[root@localhost ~] chown -R apache:apache /var/www/html/
[root@localhost ~] chmod -R 775 /var/www/html/glpi
  1. 关闭防火墙
[root@localhost ~] systemctl stop firewalld.service
[root@localhost ~] systemctl disable firewalld.service
  1. 配置SELinux
[root@localhost ~] chcon -R -t httpd_sys_content_t /var/www/html/glpi/
[root@localhost ~] chcon -R -t httpd_sys_rw_content_t /var/www/html/glpi/
[root@localhost ~] setsebool -P httpd_can_network_connect=1
[root@localhost ~] setsebool -P httpd_can_network_connect_db=1
[root@localhost ~] setsebool -P httpd_can_sendmail=1
[root@localhost ~] sudo setenforce 1
  1. 重启服务
[root@localhost ~] systemctl restart httpd.service mariadb.service php-fpm.service
  1. 访问GLPI:/glpi
    同意协议后会自检环境是否正常,按照上面的设置,自检界面如下图
    image

使用

  • 默认管理员帐号是 glpi/glpi
  • 默认群组
    • Super-Admin: 拥有所有的权限。注意如果super-admin profile被删除或者它的"配置界面"选择了简单界面,会无法进入GLPI的设置。
    • Admin: 拥有对GLPI的全部设置权限。在规则(rules)、实体和其他可能影响GLPI运行的配置上有所限制。
    • Supervisor: 包含了Technician的权限,增加了管理的权限(如修改工单属性) ,但授权能力是有限的(例如只能为用户授予Technician、Hotliner、Self-Service和Supervisor四种权限)。操作范围是所属实体,授权时递归可以看到子实体。
    • Technician: 此配置文件用于运维技术人员。可以处理工单,可以读写数据和用户配置,但授权能力是有限的(例如只能为用户授予Self-Service和Technician两种权限)。操作范围是所属实体,授权时递归可以看到子实体。
    • Hotliner: 适用于热线部门。可以创建和追踪工单,但不能像technician一样处理工单。操作范围是所属实体,授权时递归可以看到子实体。
    • Observer: 对所有资产和管理数据(资产、工单、文档、project、用户、群组等)有阅读权限。可以创建工单,但不能管理和处理工单(分配工单等)。操作范围是所属实体,授权时递归可以看到子实体。
    • Self-Service: 是默认配置文件。是权限最小的配置文件。只有Self-Service使用了简单界面而不是标准界面。可以创建和追踪工单、预定设备、查阅知识库。 操作范围是与自己相关的工单。
posted @ 2023-02-27 15:43  kjifds  阅读(701)  评论(0编辑  收藏  举报