一、目标

centos7下Apache和PHP运行环境的安装,将php程序运行起来

二、平台

[root@xserver ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)
5.5.60-MariaDB MariaDB Server

三、解析

1.做本实验前mariadb已经安装完毕,而且mariadb相关设置已设置完毕,这里不再做mariadb相关介绍。

四、Apache服务的安装

1.安装Apache及相关软件

[root@xserver ~]# yum install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql -y

2.启动Apache服务,并设置其开机自启

[root@xserver ~]# systemctl start httpd.service 
[root@xserver ~]# systemctl enable httpd.service

3.防火墙放行http对外服务,并重启防火墙让配置生效

[root@xserver ~]# firewall-cmd --permanent --add-service=http
success
[root@xserver ~]# firewall-cmd --reload
success
[root@xserver ~]#

3-1.看防火墙都开放了哪些服务,如果已经开放了http了,那么我们就无需再次操作http放行策略了

[root@xserver html]# firewall-cmd --list-all

centos7安装httpd最新_mysql

4.此时,apache其实已经能被访问了,你可以去客户端上访问http://服务器地址。此时apache仅仅支持静态web,是不支持php的。

centos7安装httpd最新_html_02

五、安装队php的支持环境

1.安装php和php-devel两个重要环境支持(其余是可选)

[root@xserver ~]# yum install php php-devel php-mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-fpm -y

2.建一个php测试页,看看php是否被centos完美运行了。

[root@xserver ~]# cd /var/www/html/
[root@xserver html]# vim kahn.php

在kahn.php中写上如下内容:

<?php
	echo '<title>hello kahn</title>';
	phpinfo();
?>

3.重启apache服务,让apache支持运行php

[root@xserver html]# systemctl restart httpd

4.激动人心的时刻到了,打开浏览器输入http://10.100.100.210/kahn.php

centos7安装httpd最新_centos7安装httpd最新_03


到此,Linux+Apache+PHP就安装完成了。

六、本篇博客的扩展,安装部署DiscuZ_php论坛。

1.去官网https://www.discuz.net/下载DiscuZ,我们本次用的版本是Discuz_X3.3_SC_UTF8.zip

[root@xserver Downloads]# wget http://download.comsenz.com/DiscuzX/3.3/Discuz_X3.3_SC_UTF8.zip

2.解压论坛程序压缩包到php默认的www根目录下的bbs文件夹去

[root@xserver Downloads]# mkdir /var/www/html/bbs
[root@xserver Downloads]# unzip Discuz_X3.3_SC_UTF8.zip -d /var/www/html/bbs

3.在浏览器输入http://服务器ip/bbs/upload/  回车。

http://10.100.100.210/bbs/upload/install/   点我同意

centos7安装httpd最新_centos7安装httpd最新_04

4.此时看到有一大坨文件夹不支持写权限,还有最后一个貌似我们没有安装php连接mysql的驱动

centos7安装httpd最新_mysql_05

5.上图中的所有目录都是不可写的解决办法
进/var/www/html/bbs/upload/目录下,把不写的目录都加上写权限,如:chmod o+w -R config/ data/ uc*/
如果还不行,那么就是selinux搞的鬼,setenforce 0执行一下。

6.上图中我截图的还报错mysqli_connect()不支持的问题,我搜了网上好多帖子说是什么php.ini的【extension_dir = "/usr/lib64/php/modules"】,我反正这么做是没能解决的。最终原因是没有安装php-mysql驱动,安装一下[root@xserver upload]# yum install php-mysql -y  然后重启aphache就解决了。

7.没能截图。让填写数据库用户名密码,我们就创建个叫Discuz的数据库,再创建个用户给它。

MariaDB [(none)]> CREATE DATABASE Discuz DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.02 sec)

MariaDB [(none)]> GRANT ALL ON Discuz.* to 'kahnbbs'@'localhost' IDENTIFIED BY "sql123pwd";

剩下的就没啥了,没啥难度。

kahn 2019年9月16日22:12:27