在Ubuntu系统中为Apache 2安装和配置SSL证书的步骤如下:
环境准备
- 操作系统:Ubuntu 20.04或更高版本。
- Web服务器:Apache 2。
- 前提条件:已从SSL证书控制台下载Apache服务器证书,并已安装Open SSL。
安装Apache
- 更新软件源:
sudo apt update
- 安装Apache:
sudo apt install apache2
- 验证服务状态:
sudo systemctl status apache2
- 开启HTTP和HTTPS端口:
sudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw enable
设置虚拟主机
- 创建虚拟主机目录:
sudo mkdir /var/www/example.com/public_html
- 更改目录权限:
sudo chown -R www-data:www-data /var/www/example.com/public_htmlsudo chmod -R 755 /var/www/example.com
配置SSL证书
- 创建ssl目录:
sudo mkdir /etc/apache2/ssl
- 上传证书文件:将从SSL证书控制台下载的证书文件复制到ssl目录中:
sudo cp YourDomainName_public.crt /etc/apache2/ssl/sudo cp YourDomainName_chain.crt /etc/apache2/ssl/sudo cp YourDomainName.key /etc/apache2/ssl/
- 启用SSL模块:
sudo a2enmod ssl
- 配置虚拟主机文件:编辑Apache配置文件以启用SSL,备份默认配置文件:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/default.conf.bak
- 编辑配置文件:使用文本编辑器打开虚拟主机配置文件,并添加以下内容:
ServerAdmin webmaster@yourdomain.com DocumentRoot /var/www/example.com/public_html ServerName example.com SSLEngine on SSLCertificateFile /etc/apache2/ssl/YourDomainName.crt SSLCertificateKeyFile /etc/apache2/ssl/YourDomainName.key SSLCertificateChainFile /etc/apache2/ssl/YourDomainName_chain.crt Options Indexes FollowSymLinks AllowOverride All Require all granted
- 启用站点配置:
sudo a2ensite example.com.conf
- 重启Apache服务:
sudo systemctl restart apache2
效果验证
在浏览器中访问你的域名,确保它通过HTTPS安全连接,如果一切正常,你应该会看到浏览器地址栏中的锁图标,表示SSL证书已正确安装。
请注意,上述步骤中的“YourDomainName”应替换为你的实际域名。如果你使用的是Let’s Encrypt免费证书,可以参考Certbot的官方文档进行操作。