開源資產管理軟件 GLPI 9.3.1 部署

感謝:https://blog.51cto.com/11954248/2358108

https://mp.weixin.qq.com/s?__biz=MzU5NDg5MzM5NQ==&mid=2247483959&idx=1&sn=f1c132a3f3ef3c2cf53166d92bbb1c81&chksm=fe7b0d0bc90c841d865c6ada6ad1b1747636b2ca719906ce5faf36a4775b595fb83cdcbd7988&scene=21#wechat_redirect

 

環境需求

系統:CentOS 7
IP:192.168.8.23
關閉selinux和防火牆

[root@server ~]#  systemctl stop firewalld
[root@server ~]#  systemctl disable firewalld
[root@server ~]#  setenforce 0
[root@server ~]# cat /etc/sysconfig/selinux 
                   SELINUX=disabled

注:注意 selinux 配置檢測會用到請注意關閉,不關閉防火牆的話請執行以下命令

#首先需要知道防火牆當前狀態
[root@server ~]# firewall-cmd --state
running
#輸出running就說明運行着,否則需要開啓:
[root@server ~]# service firewalld start
#服務器上可能會有多張網卡,每張網卡可能有多個網口。firewalld 最細可以控制每個網口的進出流量。
#所以配置前需要知道要控制的網口的名字,用ifconfig命令獲取:
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.9.102  netmask 255.255.0.0  broadcast 192.168.255.255
        inet6 fe80::9b62:c9e0:265a:ec82  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:45:35:fd  txqueuelen 1000  (Ethernet)
        RX packets 25760  bytes 10431929 (9.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5221  bytes 481462 (470.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 32  bytes 2592 (2.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 32  bytes 2592 (2.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
#摘抄自【https://www.cnblogs.com/yunweis/p/8037622.html】的一段解釋
一般買來的雲服務器,只有一張網卡一個網口,這種情況下ifconfig會列出兩個網口,比如這裏是ens160和lo。lo是本地迴路,是用於調試的,不是真正的網口。剩下的ens160就是真實網口的名字。
如果發現機器上除了lo網口,還是有多個網口,說明服務器上有多張網卡或多個網口。這時候要自己判斷開操作哪個網口。
知道了要操作哪個網口。還需要了解下下firewalld中zone的概念:
firewalld將服務器網絡環境劃分爲幾個zone。就如同美國劃分了很多個州,各個州都有各自的法律,一個生活在美國的人必須處在某一個洲(比如Ohio洲),行爲受到該洲的限制,如果把此人從Ohio洲移動到Texas洲,那麼他收到的法律限制就會發生變化。
同樣的道理,一個網口必須處在某一個zone之內,zone有一套流量進出的規則,網口的進出流量就得遵循這套規則。如果把網口從一個zone移動到另一個zone後,該網口的流量進出規則就會改變。
根據這樣的解釋可以知道,防火牆的流量規則都是配置在zone上的,而不是直接配置在網口上的。所以先給public這個zone添加規則:允許80端口的流量通過:
[root@server ~]# firewall-cmd --zone=public --add-port=80/tcp
success
[root@server ~]# firewall-cmd --zone=public --add-port=443/tcp
success
#返回success即代表成功。然後把網口ens160添加到public這個zone裏面:
[root@server ~]# firewall-cmd --zone=public --add-interface=ens160
The interface is under control of NetworkManager, setting zone to 'public'.
success
最後用瀏覽器訪問服務器,可以發現就能正常訪問HTML內容了。80端口成功開啓!

 

源環境

 

[root@server ~]# yum install epel-release
[root@server ~]# wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm    # PHP 7.1的源
[root@server ~]# rpm -Uvh remi-release-7.rpm

下載編譯環境及PHP環境

 

[root@server ~]# yum -y install --enablerepo=remi --enablerepo=remi-php71 gcc gcc-c++ glibc-devel glibc-headers autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel openssl-devel libXpm libX11 libxml2-devel gettext-devel pcre-devel php php-fpm php-devel php-gd php-pecl-zip php-mysql php-devel php-pear php-imap php-ldap php-odbc php-xml php-xmlrpc php-imap php-ldap php-soap perl mod_perl perl-XML-Simple perl-Compress-Zlib perl-DBI perl-DBD-MySQL perl-Net-IP perl-Apache-DBI perl-SOAP-Lite perl-XML-Entities perl-ModPerl-MM perl-Apache2-SOAP httpd php71-php-mbstring 

數據庫安裝

[root@server ~]# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
[root@server ~]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm
[root@server ~]# yum install mysql-server -y
[root@server ~]# systemctl start mysqld
[root@server ~]# systemctl enable mysqld
[root@server ~]# grep passw /var/log/mysqld.log  # mysql 初始密碼用來改密
[root@server ~]# ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';		#重置初始密碼,要不然不讓操作

 配置MySql

create database glpi;                 # 創建庫
create user 'glpi'@'%' identified by '123456';    # 專屬用戶
grant all privileges on glpi.* to 'glpi'@'%' identified by "123456";  # 授權

下載GLPI安裝包並啓動Apache

[root@server ~]# wget https://github.com/glpi-project/glpi/releases/download/9.3.1/glpi-9.3.1.tgz
[root@server ~]# tar xvf glpi-9.3.1.tgz -C /var/www/html
[root@server ~]# chown -R apache:apache /var/www/html
[root@server ~]# chkconfig --level 2345 httpd on   # 設置httpd在運行級別爲2、3、4、5的情況下都是on(開啓)的狀態
[root@server ~]# systemctl start httpd	#啓動後可以瀏覽器訪問ip測試下頁面。
[root@server ~]# systemctl enable httpd

GlPI配置

  1. 將存儲GLPI配置/etc/glpi,只需將config目錄複製到此位置即可。
  2. 將GLPI數據存儲在其中/var/lib/glpi,只需將files內容目錄複製到此處即可。
  3. GLPI日誌文件將被存儲/var/log/glpi,這裏沒有什麼可複製的,只需創建目錄即可。
[root@server ~]# mkdir /etc/glpi      # 配置文件的路徑
[root@server ~]# mkdir /var/lib/glpi    # 數據存儲文件的路徑。
[root@server ~]# mkdir /var/log/glpi   # 日誌文件的路徑。
[root@server ~]# cd /var/www/html/glpi/
[root@server glpi]# cp -r config/ /etc/glpi/
[root@server glpi]# cp -r files/* /var/lib/glpi/

更改所創建目錄的所屬主,組 。否則會有權限問題

chown -R apache:apache /etc/glpi
chown -R apache:apache /var/lib/glpi/
chown -R apache:apache /var/log/glpi/

 PHP配置

[root@server ~]# vim /etc/php.ini
 extension=/opt/remi/php71/root/usr/lib64/php/modules/mbstring.so    # 可在末尾添加

GLPI-PHP配置,此處可以先略過,看看啓動之後的glpi自檢頁面,缺什麼再裝什麼

安裝glpi所需的依賴,記得重啓PHP和Apache

yum --enablerepo=epel,remi-php71 install php-opcache
yum install php-pear-CAS
wget http://pecl.php.net/get/apcu-5.1.16.tgz
tar zxvf apcu-5.1.16.tgz 
cd apcu-5.1.16
phpize 
find / -name php-config
./configure --with-php-config=/usr/bin/php-config 
make 
make install
ls /usr/lib64/php/modules/
vim /etc/php.ini 
extension=/usr/lib64/php/modules/apcu.so

[root@server ~]# systemctl restart php-fpm
[root@server ~]# systemctl restart httpd
setsebool httpd_can_sendmail on

檢查網絡訪問的配置

getsebool -a | grep httpd_can_network_connect

如結果如下

httpd_can_network_connect --> off

則執行如下命令打開:
#SELinux命令,臨時配置,重啓後失效

setsebool httpd_can_network_connect=1

寫入配置文件的命令,重啓後保留

setsebool -P httpd_can_network_connect 1

SELinux學習(1):Can't connect to MySQL server on 'ip' (13) 的解決方案
出現的問題:一個裝有CentOs的VPS不知道爲什麼重啓之後,出現網站無法連接數據庫的現象:
Can't connect to MySQL server on 'www.zzgwt.com' (13)
此處域名也可以使IP,我習慣用域名直接連接數據庫,因爲重新解析域名後,不用再修改數據庫配置了。但是本地通過數據庫管理工具如:Navicat for MySql卻是能夠正常連接!
網上查了很多文章,發現又是SELinux(Linux上的強制訪問控制安全模塊)惹得禍,很想關閉它,但是據說他是系統被攻破後的最後一道防線,那就暫時記錄此類問題的解決方案,以後有時間的話,好好研究一下這個SELinux!

此問題的原因是SELinux阻止httpd進程--httpd_can_network_connect_db 連接數據庫--不管是哪種類型的數據庫。

使用getsebool 查看此選項的狀態

# /usr/sbin/getsebool httpd_can_network_connect_db

httpd_can_network_connect_db --> off

使用setsebool命令改變該布爾變量的狀態,從而使得httpd進程能夠訪問數據庫服務器:

#/usr/sbin/setsebool httpd_can_network_connect_db on

改變成功後,可以繼續使用getsebool命令進行查看:

#/usr/sbin/getsebool httpd_can_network_connect_db

上述狀態改變只是暫時性的,一旦系統重啓,該變量狀態將改變回初始狀態,因此,可以使用如下命令永久性改變狀態:

#/usr/sbin/setsebool -P httpd_can_network_connect_db on

如需關閉SELinux則可以執行以下操作
修改/etc/selinux/config SELINUX=enforcing 爲 SELINUX=disabled

 創建文件並添加以下內容

[root@server ~]# vim  /var/www/html/glpi/inc/downstream.php    # 創建文件並添加以下內容
<?php 
define('GLPI_CONFIG_DIR', '/etc/glpi/');
 
if (file_exists(GLPI_CONFIG_DIR . '/local_define.php')) {
   require_once GLPI_CONFIG_DIR . '/local_define.php';
}
[root@server ~]# vim /etc/glpi/local_define.php   # 創建文件並添加以下內容
<?php
define('GLPI_VAR_DIR', '/var/lib/glpi');
define('GLPI_DOC_DIR',        GLPI_VAR_DIR);
define('GLPI_CRON_DIR',       GLPI_VAR_DIR . '/_cron');
define('GLPI_DUMP_DIR',       GLPI_VAR_DIR . '/_dumps');
define('GLPI_GRAPH_DIR',      GLPI_VAR_DIR . '/_graphs');
define('GLPI_LOCK_DIR',       GLPI_VAR_DIR . '/_lock');
define('GLPI_PICTURE_DIR',    GLPI_VAR_DIR . '/_pictures');
define('GLPI_PLUGIN_DOC_DIR', GLPI_VAR_DIR . '/_plugins');
define('GLPI_RSS_DIR',        GLPI_VAR_DIR . '/_rss');
define('GLPI_SESSION_DIR',    GLPI_VAR_DIR . '/_sessions');
define('GLPI_TMP_DIR',        GLPI_VAR_DIR . '/_tmp');
define('GLPI_UPLOAD_DIR',     GLPI_VAR_DIR . '/_uploads');
define('GLPI_CACHE_DIR',      GLPI_VAR_DIR . '/_cache');
 
define('GLPI_LOG_DIR', '/var/log/glpi');
[root@server ~]# vim /etc/httpd/conf/httpd.conf     #  放寬訪問權限的目錄級別  None 改成 ALL
<Directory "/var/www">
    AllowOverride ALL
    # Allow open access:
    Require all granted
</Directory>

重啓HTTPD,瀏覽器訪問

[root@server ~]# systemctl restart httpd

 

進行ip 訪問 http://192.168.8.23/glpi/ 就會看到安裝UI界面 安裝指示安裝就可以

默認 登錄名/密碼是:

    管理員帳號是 glpi/glpi
    技術員帳號是 tech/tech
    普通帳號是 normal/normal
    只能發佈的帳號是 post-only/postonly

您可以刪除或修改這些帳號和初始數據。

 好了,因爲後邊的頁面配置忘記截圖了,所以大家可以看看這個鏈接【https://blog.51cto.com/11954248/2358108】從3.2開始看

關鍵字【瀏覽器中輸入IP/glpi】

配置完服務端之後,接着來↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

 安裝客戶端

 

下載和glpi對應版本的fusioninventory

wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.3%2B1.2/fusioninventory-9.3+1.2.tar.gz
tar -zxvf fusioninventory-9.3+1.2.tar.gz -C /var/www/html/glpi/plugins

進入插件頁面-安裝並啓用

 

安裝客戶端

windows的安裝包,附件裏的Fusion.rar ,解壓並修改ip地址,然後雙擊執行安裝。

修改這個地方的ip地址爲服務端,有端口的加上端口,例如【192.168.8.23:9000】

Linux版的客戶端

目前只測試了Centos 7的

 

yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum install -y fusioninventory-agent fusioninventory-agent-task-inventory
vim /etc/fusioninventory/agent.cfg
	server = http://192.168.8.23/glpi/plugins/fusioninventory 		##添加一條記錄
systemctl start fusioninventory-agent
systemctl enable fusioninventory-agent
fusioninventory-agent

發佈了16 篇原創文章 · 獲贊 9 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章