2012/05/04

啟動 Apache + SSL = HTTPS

記錄一下如何在 Linux 中,啟動 HTTPs 服務 (使用 apache + Ubuntu v12.04)

(此 memo 不含 apache 其它細部的設定,請自行參閱其它文件)


1. 安裝 openssl, apache

    % sudo apt-get install openssl

    % sudo apt-get install apache


2. 啟用 Apache 2 的 SSL 模組

    % sudo a2enmod ssl

3. 啟用 Apache 2 的 SSL 網站

    % cd /etc/apache2
    % a2ensite default-ssl

4. 建立放憑證的資料夾,在下一個步驟會用到。


    % sudo mkdir /etc/apache2/ssl

5. 建立自己認證

請用下面的指令來產生憑證,-days 後面的參數365是憑證的有效日期,可以依需要自行調整,-out 和 –keyout 是憑證和金鑰產出後要存放的路徑。

    % sudo openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.key

   執行上面的指令之後,會出現一堆問題,這些是會寫到憑證裡的資訊,但不一定要全都填的。

6. 修改虛擬主機的設定

    % vi /etc/apache2/sites-available/default-ssl

<VirtualHost _default_:443>
       SSLEngine On
       SSLCertificateFile /etc/apache2/ssl/apache.pem
       SSLCertificateKeyFile /etc/apache2/ssl/apache.key

      ...

7. 重新啟動 apache

    %  /etc/init.d/apache2 restart
 * Restarting web server apache2                                                apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 ... waiting .apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName                                                 [ OK ]

    雖然有錯誤訊息,不用理它,此時 https 已啟動成功。

沒有留言:

張貼留言