温馨提示×

ubuntu lamp怎么配ssl

小樊
45
2026-10-21 13:08:11
栏目: 云计算

在 Ubuntu 上搭建 LAMP(Linux + Apache + MySQL + PHP) 并配置 SSL(HTTPS),通常有两种常见方式:


一、使用 Let’s Encrypt 免费 SSL(推荐)

1. 安装 LAMP(如已安装可跳过)

sudo apt update
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql -y

2. 安装 Certbot

sudo apt install certbot python3-certbot-apache -y

3. 配置 Apache 虚拟主机(示例)

编辑站点配置:

sudo nano /etc/apache2/sites-available/example.com.conf

示例内容:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com

    <Directory /var/www/example.com>
        AllowOverride All
    </Directory>
</VirtualHost>

启用站点:

sudo a2ensite example.com.conf
sudo systemctl reload apache2

4. 申请 SSL 证书

sudo certbot --apache -d example.com -d www.example.com

按提示操作,Certbot 会自动:

  • 配置 HTTPS
  • 设置 80 → 443 跳转
  • 配置自动续期

5. 测试自动续期

sudo certbot renew --dry-run

二、使用自签名 SSL(测试环境)

1. 生成证书

sudo openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout /etc/ssl/private/apache-selfsigned.key \
  -out /etc/ssl/certs/apache-selfsigned.crt

2. 配置 Apache SSL

sudo nano /etc/apache2/sites-available/default-ssl.conf

修改:

SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile   /etc/ssl/private/apache-selfsigned.key

启用 SSL 模块和站点:

sudo a2enmod ssl
sudo a2ensite default-ssl.conf
sudo systemctl restart apache2

访问:

https://你的服务器IP

(浏览器会提示不安全,属正常现象)


三、常见问题

防火墙放行 HTTPS

sudo ufw allow 443
sudo ufw allow 80

强制 HTTPS(Apache)

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / https://example.com/
</VirtualHost>

如果你愿意,可以告诉我:

  • Ubuntu 版本(20.04 / 22.04 / 24.04)
  • 是否已有域名
  • 是生产环境还是本地测试

我可以给你更精确的配置。

0 踩