CentOS 8 安装 Apache 和 PHP

一,安装 Apache

sudo dnf install httpd
sudo dnf install mod_security mod_ssl


安装完成后,启用并启动Apache服务:

sudo systemctl enable httpd
sudo systemctl restart httpd


配置 Apache ModSecurity

# cd /etc/httpd
# git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
# mv owasp-modsecurity-crs modsecurity-crs
# cd modsecurity-crs
# cp crs-setup.conf.example crs-setup.conf


在 /etc/httpd/conf.d/mod_security.conf 添加

Include modsecurity-crs/crs-setup.conf
Include modsecurity-crs/rules/*.conf


Apache 安全配置可以参考,https://javascript.net.cn/article?id=517



二,安装 PHP

在CentOS 8上安装PHP 7.2、PHP 7.3、PHP 7.4

CentOS 8 默认安装 PHP 7.2,2019年11月起将不再有效维护,可从Remi存储库中获得更新的PHP版本。


1、启用Remi存储库

如果你要安装稳定的PHP 7.2版本,请跳过此步骤,否则,如果要安装PHP 7.3或7.4,请以root或具有sudo特权的用户身份运行以下命令来启用Remi存储库:

$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

上面的命令还将启用EPEL存储库。


安装完成后,请运行以下命令以获取所有可用PHP版本的列表:

$ sudo dnf module list php

输出将显示所有可用模块的列表,包括关联的流、版本和安装配置文件,如下图所示:

在CentOS 8上安装PHP 7.2、PHP 7.3、PHP 7.4的方法

默认的PHP模块设置为PHP 7.2,要安装较新的PHP版本,请启用适当的版本。


2、设置 PHP 7.3

$ sudo dnf module reset php

$ sudo dnf module enable php:remi-7.3


3、设置 PHP 7.4

$ sudo dnf module reset php

$ sudo dnf module enable php:remi-7.4

如果是阿里云的源 直接设置 sudo dnf module enable php:7.3 即可


4、安装 PHP

以下命令将安装PHP和一些最常见的PHP模块:

$ sudo dnf install php php-opcache php-gd php-curl php-mysqlnd php-mbstring php-json

PHP使用FPM作为依赖安装,并用作FastCGI服务器,启动FPM服务,并使它能够在启动时自动启动:

$ sudo systemctl enable --now php-fpm


5、FPM/FastCGI 虚拟主机 PHP 设置

默认安装完成以后,PHP 的 Server API 默认是 FPM/FastCGI,如果需要单独设置虚拟主机的 PHP 配置需要使用下面的方式。跟 Apache2handler 有点区别。

SetEnv PHP_VALUE "post_max_size = 8M"
SetEnv PHP_ADMIN_VALUE "post_max_size = 8M"


配置PHP以与Apache一起使用

如果你将Apache用作Web服务器,请使用以下命令重新启动httpd服务,可以使用:

systemctl restart httpd
systemctl restart php-fpm


CentOS 8 Apache 使用 ModSecurity 防止 DDOS

Apache 虚拟主机中设置 PHP 环境变量,open_basedir 相关

PHP 禁用危险函数参考

CentOS 8 安装 MySQL 5.7 或 MySQL 8

CentOS 安装 vsftpd,提供FTP功能


参考:

https://www.linuxidc.com/Linux/2020-03/162551.htm

https://stackoverflow.com/questions/35265082/equivalent-of-php-value-under-apache-php-fpm