感謝:https://blog.51cto.com/11954248/2358108
環境需求
系統: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配置
- 將存儲GLPI配置/etc/glpi,只需將config目錄複製到此位置即可。
- 將GLPI數據存儲在其中/var/lib/glpi,只需將files內容目錄複製到此處即可。
- 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