开源资产管理软件GLPI9.3.1部署感谢:
环境需求
系统: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
mysql下载后为什么不是一个安装包
TX packets 32  bytes 2592 (2.5 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
#摘抄⾃【wwwblogs/yunweis/p/8037622.html】的⼀段解释
⼀般买来的云服务器,只有⼀张⽹卡⼀个⽹⼝,这种情况下ifconfig会列出两个⽹⼝,⽐如这⾥是ens160和lo。lo是本地回路,是⽤于调试的,不是真正的⽹⼝。剩下的如果发现机器上除了lo⽹⼝,还是有多个⽹⼝,说明服务器上有多张⽹卡或多个⽹⼝。这时候要⾃⼰判断开操作哪个⽹⼝。
知道了要操作哪个⽹⼝。还需要了解下下firewalld中zone的概念:
firewalld将服务器⽹络环境划分为⼏个zone。就如同美国划分了很多个州,各个州都有各⾃的法律,⼀个⽣活在美国的⼈必须处在某⼀个洲(⽐如Ohio洲),⾏为受到同样的道理,⼀个⽹⼝必须处在某⼀个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 rpms.famillecollet/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 ncu 数据库安装
[root@server ~]# wget arch.rpm
[root@server ~]# rpm -arch.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 github/glpi-project/glpi/releases/download/9.3.1/glpi-9.
[root@server ~]# tar xvf glpi-9. -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 pecl.php/get/apcu-5.
tar zxvf apcu-5.
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 'wt' (13)
此处域名也可以使IP,我习惯⽤域名直接连接数据库,因为重新解析域名后,不⽤再修改数据库配置了。但是本地通过数据库管理⼯具如:Navicat for MySql却是能够⽹上查了很多⽂章,发现⼜是SELinux(Linux上的强制访问控制安全模块)惹得祸,很想关闭它,但是据说他是系统被攻破后的最后⼀道防线,那就暂时记录此类问题
此问题的原因是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';
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。