SSL For Free 是一個可以申請免費 SSL 憑證的網站,只需要準備自己的網域名稱就可以申請為期三個月的免費 SSL 憑證,小小的缺點是憑證過期後需要重新申請憑證,並且更換伺服器的舊憑證。而 Certbot 是一個可以簡化申請流程,又可以在憑證過期之前自動更新憑證的超方便工具。
Read more “[Ubuntu] 使用 Certbot 自動更新 Let’s Encrypt 憑證”
Leave a commentSSL For Free 是一個可以申請免費 SSL 憑證的網站,只需要準備自己的網域名稱就可以申請為期三個月的免費 SSL 憑證,小小的缺點是憑證過期後需要重新申請憑證,並且更換伺服器的舊憑證。而 Certbot 是一個可以簡化申請流程,又可以在憑證過期之前自動更新憑證的超方便工具。
Read more “[Ubuntu] 使用 Certbot 自動更新 Let’s Encrypt 憑證”
Leave a commentApache Server 2.4 與 2.2 版有一些設定上的差異,若升級時設定檔沒有修正將無法啟動。Tsung Hao 大神的 這篇文章 有整理了一些,可直接參考。本文只記錄一些額外的東西。
這篇的狀況是做完升級後 Apache 服務沒有起來,啟動服務時出現這段訊息:
* Starting web server apache2
*
* The apache2 configtest failed.
Output of config test was:
AH00526: Syntax error on line 60 of /etc/apache2/sites-enabled/000-default.conf:
Either all Options must start with + or -, or no Option may.
Action 'configtest' failed.
The Apache error log may have more information.
意思就是說關於 Options
這行的設定後面接的每一個 option value 你要全部上 +
或是 -
,又或是全部都不加,不然在 config test 時就無法通過。解法就如同字面意思,要嘛全加,要嘛都不加。
<Directory /var/www/>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride FileInfo
Order allow, deny
allow from all
<Directory>
如果原設定檔的 option value 有點多,也可以把 value 獨立寫一行,像這樣
<Directory /var/www/>
Options FollowSymLinks MultiViews
# 需要 +- 號的 value 獨立出來
Options -Indexes
AllowOverride FileInfo
Order allow,deny
allow from all
<Directory>
而 apachectl configtest
只會偵測到一個錯誤點就停下,不會一次全部列出,所以要一步一步找出所有還沒修改到的地方,直到出現 Syntax OK
後,就可以啟動了。
apachectl configtest
Syntax OK
sudo service apache2 start
* Starting web server apache2 ... done.
One CommentUbuntu 與 FreeBSD 的 Apache Load Module 設定有點小小的不同,在 FreeBSD 上是直接在 httpd.conf
上把註解拿掉,重啟服務後 Module 就啟動了。不過在 Ubuntu 的設定檔都零零散散拆成很多檔案,Load Module 這部分的設定也是。
[email protected]:/etc/apache2$ ls
apache2.conf conf.d envvars httpd.conf magic mods-available mods-enabled ports.conf sites-available sites-enabled
mods-available
是所有模組存放目錄,但是服務載入的模組是存放在 mods-enabled
。
注意到 apache2.conf
的其中幾行:
# Include module configuration:
Include mods-enabled/*.load
Include mods-enabled/*.conf
服務啟動時,只載入 mods-enabled
裡面的模組,而部分模組在安裝時預設是不啟動的(意即該模組不會出現在 mods-enabled
)
若要載入指定模組,可使用 a2enmod
這個指令。例如要啟用 mod-rewrite
模組:
[email protected]:~$ sudo a2enmod rewrite
輸入 ls /etc/apache2/mod-enabled
,可以看到指定的 module 已經被放進 mods-enabled
裡了。
要停用模組可用 a2dismod
:
[email protected]:~$ sudo a2dismod rewrite
這時候 mod-rewrite
就從 mods-enabled
消失了,模組異動完後記得重啟服務才會生效:
[email protected]:~$ sudo service apache2 restart
※PS:a2enmod
實際上也只是把 mods-available
的模組用一個 Symbol Link 指過去 mods-enabled
而已,所以直接用 ln -s
指過去也不是不行 XD。
今天發現自己的apache根目錄會顯示出來
基於安全的問題所以在根目錄丟一個.htaccess去檔顯示目錄
Options -Indexes
丟進去後
卻發現目錄依然會顯示
檢查一下http.conf
原來是AllowOverride的設定是None
改成 AllowOverride All 重新啟動Apache即可
<Directory "/usr/local/www"> Options Indexes FollowSymLinks # 這裡改成All AllowOverride None Order allow,deny Allow from all </Directory>Leave a comment