> 技术文档 > openEuler 安装apache、php、并支持ssl_openeuler安装php

openEuler 安装apache、php、并支持ssl_openeuler安装php

本次采用dnf安装

openEuler版本为 25.0.3

apache版本2.4.58php版本 8.3.19

一、apache安装

安装dnf install httpd -y

启动服务systemctl start httpd && systemctl enable httpd

防火墙放通systemctl firewall-cmd --permanent --add-service=http --add-service=https

systemctl irewall-cmd --reload

主配置文件/usr/local/apache2/conf/httpd.conf(源码安装)或 /etc/httpd/conf/httpd.conf(包管理器安装)

二、php安装

1、dnf安装php

dnf install php -y

dnf install php-cli php-fpm php-mysqlnd php-gd php-mbstring php-curl php-xml php-zip -

vim /etc/php.ini

memory_limit = 256Mupload_max_filesize = 64Mpost_max_size = 64M

启动php-fpm服务(若使用web服务)

systecmctl start php-fpm

systemctl enable php-fpm

三、配置 Apache 支持 PHP

PHP模块配置确保 Apache 配置中包含以下内容(推荐在 /etc/httpd/conf.d/php.conf 中):

  • 关键检查点

    • SetHandler 中的路径 /run/php-fpm/www.sock 必须与 php-fpm.conf 中的 listen 参数一致。

    • 确保启用了 proxy_fcgi 和 proxy 模块(见下一步)

 启用 Apache 代理模块
vim /etc/httpd/conf.modules.d/00-proxy.conf
LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so检查配置语法并重启 Apache apachectl configtestsystemctl restart httpd

四、配置 Apache 支持 ssl

1、安装mod_ssl模块
dnf install  mod_ssl -y  # 安装 mod_ssl 模块
2、生成ssl证书(自签名)mkdir -p /root/ssl/

1)、自签名CA证书
openssl req -newkey rsa:4096 -nodes -sha256 -x509 -days 3650 \\
-subj \"/C=CN/ST=Guangdong/L=guangzhou/O=person/OU=Personal/CN=ittest.ca\" \\
-keyout ca1.key \\
-out ca.crt
-`req`: 创建证书请求
- `-newkey rsa:4096`: 生成4096位RSA密钥
- `-nodes`: 不加密私钥
- `-sha256`: 使用SHA-256哈希算法
- `-x509`: 生成自签名证书
- `-days 3650`: 有效期10年
- `-subj`: 证书主题信息(国家/省/市/组织/部门/域名)
- `-keyout ca.key`: 输出CA私钥文件
- `-out ca.crt`: 输出CA证书文件
2). 生成服务器证书请求
openssl req -newkey rsa:4096 -nodes -sha256 \\
-subj \"/C=CN/ST=Guangdong/L=guangzhou/O=person/OU=Personal/CN=www.ittest.com\" \\
-keyout www.ittest.com.key \\
-out www.ittest.com.csr
 生成服务器私钥(`www.ittest.com.key`)和证书签名请求(`www.ittest.com.csr`)
- CN(Common Name)设置为域名`www.ittest.com`
3). 用CA签发服务器证书
openssl x509 -req -days 3650 \\
-CA ca.crt -CAkey ca.key -CAcreateserial \\
-in www.ittest.com.csr \\
-out www.ittest.com.crt
- `x509`: 证书处理命令
- `-req`: 输入是CSR文件
- `-CA`: 指定CA证书
- `-CAkey`: 指定CA私钥
- `-CAcreateserial`: 创建序列号文件
- 输出已签名的服务器证书(`www.ittest.com.crt`)
4). 验证证书内容
openssl x509 -in www.ittest.com.crt -noout -text
3、配置 Apache SSL 虚拟主机 vim /etc/httpd/conf.d/ssl.conf

 ServerName www.ittest.com # 替换为你的域名 DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /root/ssl/www.ittest.com.crt SSLCertificateKeyFile /root/ssl/www.ittest.com.key # 可选:强化 SSL 配置(推荐) SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLHonorCipherOrder on Header always set Strict-Transport-Security \"max-age=63072000; includeSubdomains; preload\"

4、配置放火墙放行apache https

 firewall-cmd --permanent --add-service=https # 永久允许 HTTPSsudo firewall-cmd --reload # 重载防火墙规则

5、处理selinux策略(如启用)若系统启用 SELinux,需允许 Apache 访问证书文件:

chcon -R -t httpd_sys_content_t /root/ssl/

6、重启apache并验证

systemctl restart httpd # 重启服务

systemctl status httpd