FreeBSD   Apache

.逸晨


安裝
設置

目前於 ports/www/ 中,計有︰
apache-contrib
apache-jserv
apache13
apache13+ipv6
apache13-fp
apache13-modssl
apache13-ssl
apache2

雖然有蠻多選擇的,但都是以 Apache 為基底再搭配上額外功能的組合。在此將介紹最基本的安裝套件︰apache13

在開始進行安裝前,記得先更新 ports-tree 喲!!
cd /usr/ports/www/apache13
make install clean

    於此 ports 中,計有如下選項︰
  1. WITHOUT_APACHE_EXPAT
  2. WITH_APACHE_SUEXEC
  3. APACHE_SUEXEC_UMASK
  4. APACHE_HARD_SERVER_LIMIT
除 APACHE_HARD_SERVER_LIMIT 選項是需指定數值之外(預設值︰512),其餘的如要使用時只需加上 =yes 即可,如下︰
make install clean WITHOUT_APACHE_EXPAT=yes\
APACHE_HARD_SERVER_LIMIT=256

雖然 httpd.conf 中的設置選項滿多的,但基本上都會同時附上說明 -- 雖然不一定看得懂啦 ^_^
因此逸晨將僅就常用及網路上常被問及的選項來做一簡略說明。

  1. ServerType standalone | inetd
    設定 Apache 要以常駐模式 (daemon) 或呼叫模式 (inetd -> 僅支援 un*x 系統) 來執行。一般來說保留預設值即可。
  2. ServerRoot "/usr/local"
    指定 Apache 的設置檔、日誌檔等等的所存放目錄的根目錄,Apache 會自動於各相對路徑前端加上此設定值。保留預設值即可。
  3. PidFile /var/run/httpd.pid
    指定 Apache 執行序編號的記錄檔及其完整路徑。保留預設值即可。
  4. Timeout 300
    設定連線逾時時間,單位︰秒。
  5. KeepAlive On | off
    設定當該次連線要求服務完成後是否繼續保留該留線,可避免 Apache 將資源浪費在處理連線要求上。建議設為 on。
  6. MaxKeepAliveRequests 100
    設定保留連線的最大值;當設為零時表示所有連線皆要保留。請勿將此值設的過大,以免造成 Apache 的執行效率大打折扣。如果不清楚該設何值的話,保留預設值即可。
  7. KeepAliveTimeout 15
    設定保留連線的時間,單位︰秒。當每個連線停止任何動作時,會再保留此設定數值的秒數,超過此秒數後,Apache 即中止該連線。
  8. MinSpareServers 5
    MaxSpareServers 10
    指定最小與最大的連線待命程序。當連線待命程序小於最小設定值時,會自動新增些許連線待命程序;當連線待命程序大於最大設定值時,會予以刪除。此預設值已適用於大部份網站,建議保留預設值即可。
  9. StartServers 5
    指定啟動 Apache 時要先啟用多少連線待命程序。此值需介於 MinSpareServers & MaxSpareServers 之間,如不在此範圍的值,將會自動刪除或增加。
  10. MaxClients 150
    指定最大連線(待命程序)數。保留預設值即可。
  11. Port 80
    指定 Apache 所要監聽的埠號。除非必要,保留預設值即可。
  12. User www
    Group www
    指定 Apache 的執行者身份及其群組。系統帳號中需有此使用者名稱及此群組名稱。
  13. ServerAdmin webmaster@your.domain.here
    指定 Server 管理者的聯絡信箱。當 Server 出現問題時,會顯示此信箱位址以供連絡通知。
  14. ServerName new.host.name
    指定該 Web Server 的網域名稱。需確實擁有該網域名稱才行喲,不然是會連結不上的 ^_^
  15. DocumentRoot "/usr/local/www/data"
    指定網頁存放所在目錄的絕對路徑。此目錄路徑即為網址的根目錄,如︰/usr/local/www/data/index.html => http://your.domain.here/index.html
  16. <IfModule mod_userdir.c>
    UserDir www
    </IfModule>
    指定 user 存放網頁的目錄名稱;需有 mod_userdir 模組支援。如果要讓該主機中擁有系統帳號及家目錄的 user 也能擁有網站功能時,需啟用此設定,同時該 user 需於家目錄中建立一 www (視設定值) 的子目錄,所有的網站內容皆放於 www 目錄下;而該 user 的網站位址為︰
    http://your.domain.here/~username。
    如︰/home/username/www/index.html => http://your.domain.here/~username/index.html
  17. DirectoryIndex index.php index.html index.cgi
    指定網站各目錄中的預設瀏灠檔案,各設定值以空白來間隔。此設定的做用在於當訪客於網址列僅打上網址但未包含任何檔名時,Apache 會自動搜尋網址路徑目錄下是否有此設定中的檔案,如果有則送出,如果沒有則會顯示錯誤訊息或該目錄的檔案列表(視該目錄的設定值而定)。
  18. AccessFileName .htaccess
    指定各目錄存取設定的設置檔。此功能需要開放才有作用,當有開放此功能時,可針對任一目錄來做額外設定,而這些額外設定是存放於該目錄下的 $AccessFileName 中的,一般取名為 .htaccess。
    要開放此功能,需於如下區段中,加入此設定值 -> AllowOverride All
    如︰
    <Directory /home/*/$UserDir>
      AllowOverride All
    </Directory>
    然而 $AccessFileName 的內容屬於敏感性質,建議同時加入如下設定以作保護︰
    <Files ~ "^\.ht">
      Order allow,deny
      Deny from all
      Satisfy All
    </Files>
  19. ErrorLog /var/log/httpd-error.log
    CustomLog /var/log/httpd-access.log combined
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

    指定 Web Server 的存取及錯誤訊息日誌檔與日誌檔格式及該格式的名稱。
    LogFormat -> 為設置 http-access.log 日誌檔的內容格式。
    combined -> 為該設置檔格式的名稱,以供 CustomLog 取用。
    CustomLog -> 指定對網站存取的日誌檔及使用的內容格式;每一網站僅能指定一次。
    ErrorLog -> 指定對網站存取時的錯誤訊息日誌檔;每一網站僅能指定一次。
  20. ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/"
    指定網址路徑 /cgi-bin/ 於主機中所對映的真實路徑。當網站中會用上 cgi 時才需指定。
  21. AddHandler cgi-script .cgi .pl
    指定 cgi-script 的副檔名。各設定值以空白間隔。
  22. AddType application/x-httpd-php3 .php3
    AddType application/x-httpd-php3-source .php3s
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    加入 php 的支援。如果要讓網站能跑 php 的話,除需安裝 php 之外,還需加入這些設定值才能讓 Apache 認得 php-script。其中 php3 為 php3 版本使用;php 為 php4 版本使用。
先這樣吧,不足處日後找機會補上。

上一篇返回首頁目錄索引章節目錄回上一頁Page UP下一篇

最佳瀏灠環境︰Mozilla & 1024x768