今天要來講一下主要設定檔httpd.conf裡面的幾個重要、平常常用的的選項。
每一行都是一個設定,當前面有一個#
的時候,就是被註解掉了。
接下來就可以進入細部囉!
ServerRoot ["/usr/local"]
這個應該往下拉一點就會看到了。
他表示的是伺服器的目錄,基本上留預設就好,不用動他。
Listen 80
Listen 443
這個是開啟的port,他有listen的就是開瀏覽器可以連的port,如果沒有開而且又不是特殊的port(像ssh、ftp之類的),瀏覽器就會告訴你回應時間過長
或拒絕連線
之類的。通常開80(http)跟443(https)就夠了,不要開太多。
LoadModule [module name] [module path]
接下來繼續往下拉就會看到一堆LoadModule
,他們是用來引入套件的,通常都已經寫好只是被註解起來,當需要用的時候就把它取消註解就好了。建議不要做除了註解掉跟取消註解之外的事。
然後你會發現它的路徑是相對路徑,就是以ServerRoot
為準。
ServerAdmin [you@example.com]
路過一堆LoadModule
之後就會看到他。
它是用來設定一個管理員的電子郵件信箱,當伺服器出了甚麼事的時候就可以把信寄給管理員。如果要設的話強烈建議不要用自己工作用或是平常會用的,因為很有可能被塞爆。
ServerName www.example.com:80
這是你的伺服器名稱,就把它設成你的網址吧,不然至少用localhost
替代掉。
以後講virtual hosts會用到它。
DocumentRoot "/usr/local/www/apache24/data"
還有印象昨天有說網站要放在這個資料夾嗎。如果不想要這麼長的目錄可以自己改,像是/home/www
之類的。
所以要是腦袋不小心當掉不知道網頁放哪的話,就來httpd.conf
找一下,然後就會知道了。
然後在下一行會是<Directory "/usr/local/www/apache24/data">
,裡面就是你網頁的設定,這邊講幾個可能會用到的:Options Indexes FollowSymLinks
Indexes跟FollowSymLinks是兩個分開的設定,前者指的是在沒有預設的檔案(index.html或index.php之類的,等等會說)的時候,就顯示出目錄全部的檔案給你選,顯然應該要把它刪掉比較好;而後者是讓你的網頁可以用超連結。AllowOverride All
可以讓.htaccess
(之後會講到)去覆寫,我通常是會留下原來的All
,但安全性就不一定好了。Require all granted
在apache2.2的時候應該會是:
Order allow,deny
Allow from all
不過現在改掉了,它會讓全部來訪的都通過,如果網站是要公開的就留下,如果需要一點隱私性可以用下面這幾個:Require all denied
:全部封鎖。Require ip [ip]
:特定IP可以通過。也可以用指定網段的方式,如:199.9.9.0/255.255.255.0
或是201.13.54.0/8
之類的。Require host test.cnmc.tw
:允許特定主機。
通過了很長的DocumentRoot
之後,就會看到他了。DirectoryIndex index.html
他就是剛剛說Options
的預設檔案,可以接很多個,會以最左邊那個為優先,如果指定的都沒有的話就會看看Options
有沒有Indexes
了。
通常會是DirectoryIndexes index.php index.html
,相反的話就會先找HTML而不是PHP,通常應該都會用PHP(吧)。
ErrorLog "/var/log/httpd-error.log"
他會指定apache的訊息跟錯誤等等要寫到哪一個檔案,當系統突然不理你的時候就可以去看看,然後通常都是幾千幾萬行之類的如果有累積。
LogLevel warn
錯誤訊息是會分等級的,他就是用來指定哪個等級以上的訊息要寫到log檔裡面去,至於等級的分類我們來看看apache官方的說法:
他有說建議級別要設在crit之上,我自己是留著warn啦,反正多點訊息總是好的(?)。
往下大概到490行左右會看到很多。Include [path]
它是用來包含一些在extra/
的設定檔進來的,都有一行說明文字再加上一行的Include
,之後會常常用到(好像就是明天XD)。他們都是被註解而已,所以會需要取消註解。
今天把httpd.conf
的東西大部分看完了,但是以後會常常回來改,像是取消註解Include
之類的。然後改過之後要記得service apache24 restart
或service apache24 reload
,這樣才會生效。
明天就會開始改extra/
裡面的設定檔了,真是令人緊張。
話說明天段考,然後我顯然是要讀不完了QQ
算了沒關係還有兩次(X)