2016年3月24日 星期四

自行架設 Wiki 引擎(一)補充:手動以 HTTPS 安裝 Foswiki

之前文章「自行架設 Wiki 引擎(一)補充:手動安裝 Foswiki」中
主要是描述以手動安裝的方式,將 Foswiki 整套安裝起來
其中會這麼做,主要是因為 Foswiki 的 Debian 套件很久沒人更新了。
不過在文章中,是以舊的 Ubuntu 12.04 與 Apache 2.2 作為例子
同時是以 HTTP 提供 Foswiki 的服務。
這次要一口氣全部升級,以 Ubuntu 14.04 + Apache 2.4 + HTTPS 來安裝。

其實安裝本身的過程大同小異,主要只有差在使用 Foswiki 官方的 Apache 設定產生器 [1] 時
要改成選 Apache 2.4,亦即會產生不同的 Apache 設定檔,以及要準備好 SSL 憑證
另外要多啟用幾個 Apache 的模組罷了。
因此以下就單純提不同的地方,其他步驟請參考原文了。

首先,在沒有 SSL 憑證的情況下,可以用 openssl 自行產生一個自我簽章的憑證
詳細方法請參考 [2],這裡就不再贅述了。
如果依照 [2] 的步驟去下指令,會產生以下的兩個檔案
  1. /etc/apache2/ssl/apache.crt
  2. /etc/apache2/ssl/apache.key
對應到 Foswiki 官方的 Apache 設定產生器 [1] 中,首先要先勾選 Enable SSL (https)
接著在多出來的欄位中,欄位分別填入:
  1. Location of the SSL Certificate file 填入 /etc/apache2/ssl/apache.crt
  2. Location of the SSL Certificate Private key file 填入 /etc/apache2/ssl/apache.key
這時可能會注意到,中間有個欄位  Location of the SSL Certificate CA Chain file 沒填到
這個欄位是有 CA 簽證中心提供服務時才能填的,自我簽章的憑證就免填了。

另外需要注意的是, 在 Apache 設定產生器中一定要給 VirtualHost 的名字
否則產生出來的設定檔格式會有問題,Apache 會一直回報說 SSLEngine on 必須放在 VirtualHost 裡。
如果不知道要給什麼名字,可以給 _default_ 作為名稱,這是表示預設的 VirtualHost 的意思。

啟用模組的部份,可以執行以下的指令,將幾個 SSL 相關的模組啟用。
ln -s /etc/apache2/mods-available/ssl.* /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/cache_socache.* /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/cache.* /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/socache_shmcb.* /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/cgid.* /etc/apache2/mods-enabled


參考資料:
  1. Apache Config Generator
  2. How To Create a SSL Certificate on Apache for Ubuntu 14.04

沒有留言: