在Ubuntu服务器上为PHP启用SSL,您需要执行以下步骤:
- 安装Certbot:Certbot是一个自动化的SSL证书管理工具,可以帮助您为您的网站获取和安装SSL证书。在终端中运行以下命令以安装Certbot:
sudo apt updatesudo apt install certbot python3-certbot-apache
- 获取SSL证书:使用Certbot获取SSL证书。您需要为您的域名运行以下命令:
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
将yourdomain.com
替换为您的实际域名。Certbot将引导您完成整个过程,包括验证您的域名所有权。
- 配置Apache以使用SSL:Certbot将自动为您的Apache服务器创建一个新的SSL配置文件。这个文件通常位于
/etc/apache2/sites-available/yourdomain.com-le-ssl.conf
。确保此文件中的以下设置已启用:<VirtualHost *:443>...SSLEngine onSSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem...</VirtualHost>
将yourdomain.com
替换为您的实际域名。
- 启用SSL站点:运行以下命令以启用新的SSL站点配置:
sudo a2ensite yourdomain.com-le-ssl.conf
- 禁用HTTP(可选):如果您希望强制使用HTTPS,可以禁用HTTP站点。首先,找到HTTP站点的配置文件(通常位于
/etc/apache2/sites-available/000-default.conf
),然后注释掉或删除以下行:<VirtualHost *:80>...</VirtualHost>
- 重启Apache服务器:要使更改生效,请重启Apache服务器:
sudo systemctl restart apache2
- 更新PHP配置(可选):如果您使用的是PHP-FPM,您可能需要更新PHP配置以使用HTTPS。编辑
/etc/php/7.x/fpm/pool.d/www.conf
文件(将7.x
替换为您的PHP版本),并确保以下设置已启用:secure_mode = 0allow_url_fopen = On
然后重启PHP-FPM服务:
sudo systemctl restart php7.x-fpm
现在,您的Ubuntu服务器上的PHP应用程序应该已经启用了SSL。请注意,Certbot会自动续订您的SSL证书,但您需要确保在证书到期前重新加载它们。