在Ubuntu上为Apache安装SSL证书的步骤如下:
首先,确保你的系统是最新的,然后安装Apache2和SSL模块:
sudo apt update
sudo apt install apache2 libapache2-mod-ssl
你可以选择以下几种方式获取SSL证书:
使用Let’s Encrypt:
安装Certbot和Apache插件:
sudo apt install certbot python3-certbot-apache
获取并安装证书:
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
将 yourdomain.com
替换为你的实际域名。Certbot会自动验证你的域名,并生成SSL证书。
手动获取证书:
生成私钥和CSR:
openssl req -new -nodes -keyout server.key -out server.csr
提交CSR到证书颁发机构获取证书,并将证书文件(crt)和中间证书(ca-bundle)放入 /etc/ssl/certs/
目录下。
在 /etc/apache2/sites-available/
目录下,备份默认的虚拟主机配置文件:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.bak
使用文本编辑器(如nano或vim)打开默认的SSL配置文件:
sudo nano /etc/apache2/sites-available/000-default.conf
在配置文件中找到以下行,并替换为你的SSL证书文件路径:
SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/yourdomain.com/chain.pem
保存并关闭文件。
启用SSL模块:
sudo a2enmod ssl
启用新的站点配置:
sudo a2ensite 000-default.conf
重启Apache服务以使配置生效:
sudo systemctl restart apache2
在浏览器中访问你的网站,确保它通过HTTPS安全连接。如果一切正常,你应该会看到浏览器地址栏中的锁图标,表示SSL证书已正确安装。
Let’s Encrypt的证书有效期为90天,Certbot会自动处理续期。你也可以手动运行以下命令来测试续期:
sudo certbot renew --dry-run