Zi 字媒體
2017-07-25T20:27:27+00:00
Ubuntu 與 FreeBSD 的 Apache Load Module 設定有點小小的不同,在 FreeBSD 上是直接在 httpd.conf 上把註解拿掉,重啟服務後 Module 就啟動了。不過在 Ubuntu 的設定檔都零零散散拆成很多檔案,Load Module 這部分的設定也是。
calos@ubuntu:/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 模組:
calos@ubuntu:~$ sudo a2enmod rewrite
輸入 ls /etc/apache2/mod-enabled,可以看到指定的 module 已經被放進 mods-enabled 裡了。
要停用模組可用 a2dismod:
calos@ubuntu:~$ sudo a2dismod rewrite
這時候 mod-rewrite 就從 mods-enabled 消失了,模組異動完後記得重啟服務才會生效:
calos@ubuntu:~$ sudo service apache2 restart
※PS:a2enmod 實際上也只是把 mods-available 的模組用一個 Symbol Link 指過去 mods-enabled 而已,所以直接用 ln -s 指過去也不是不行 XD。
寫了
5860316篇文章,獲得
23313次喜歡