安裝 Apache on FreeBSD 筆記
# 用 ports 安裝 apache 1.3
# 也可以裝 apache22 或更新版本,目錄不同而已。
cd /usr/ports/www/apache13/
make all install clean
# 編輯 /etc/rc.conf 加入 apache_enable="YES"
echo 'apache_enable="YES"' >> /etc/rc.conf
# 啟動
/usr/local/etc/rc.d/apache.sh start
* 一般設定
# 編輯 /usr/local/etc/apache/httpd.conf
[httpd.conf]
# 管理者帳號 ServerAdmin you@your-host.com # 網站名稱 ServerName www.your-host.com # 網站根目錄 DocumentRoot "/usr/local/www/data" # 根目錄細部設定 <Directory "/usr/local/www/data"> # 常見設定: # Options 後面可以接的關鍵字除了 None 和 All 之外也可以是其他關鍵字的合併: # None => 什麼也沒有 # All => 除了 MultiViews 之外通通都有 # ExecCGI => 可以執行 CGI # FollowSymLinks => 使用系統的 symbol link 存取目錄 # Indexes => 沒有索引檔時顯示目錄 # Includes => 可以使用 Apache 的 SSI (Server-Side Include)功能 # IncludesNOEXEC => 可以使用 SSI 但不能執行 CGI Options Indexes FollowSymLinks MultiViews # 可以使用 .htaccess AllowOverride All # allow 與 deny 順序 Order allow,deny # 所有人都可以看 Allow from all </Directory>[/httpd.conf]
* 虛擬主機設定 (v1.3)
[httpd.conf]
# 虛擬主機的 DNS NameVirtualHost [本機IP] # 設定含入檔 include /usr/local/etc/apache/vhosts/ # 預設伺服器, 當 client 輸入的位址查不到時會連到這 <VirtualHost _default_:80> Options ExecCGI ServerAdmin root@[本機IP] DocumentRoot /usr/local/www/data ServerName [本機IP] ErrorLog logs/default-error_log CustomLog logs/default-access_log combined </VirtualHost> # 當 client 使用 ip 連線時會連到這 <VirtualHost [本機IP]> Options ExecCGI ServerAdmin root@[本機IP] DocumentRoot /usr/local/www/data ServerName [本機IP] ErrorLog logs/default-error_log CustomLog logs/default-access_log combined </VirtualHost>[/httpd.conf]
# 這種設法是把每個虛擬主機設定存一個檔案,要新增或刪除主機時在含入目錄中增刪檔案即可。
[虛擬主機設定檔範例: alpha]
alias /alpha /usr/local/www/vhosts/alpha <VirtualHost *:80> ServerAdmin [you]@[domain] DocumentRoot /usr/local/www/vhosts/alpha ServerName alpha.[domain] ErrorLog /var/log/alpha.[domain]-error_log CustomLog /var/log/alpha.[domain]-access_log combined <Directory "/usr/local/www/vhosts/alpha"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>[/虛擬主機設定檔範例: alpha]
* 虛擬主機設定 (v2.2)
# 與 1.3 設定類似,相關設定會放在 /usr/local/etc/apache22/extra/httpd-vhosts.conf
# 在 /usr/local/etc/apache22/httpd.conf 中把上面檔案引入,並修改為自己想要的如下:
[httpd.conf]
Include /usr/local/etc/apache22/extra/httpd-vhosts.conf[/httpd.conf]
* 錯誤記錄存放處:
cat /var/log/httpd-error.log
* apache 防盜連設法
# 參考官網範例: http://httpd.apache.org/docs/2.0/env.html#examples
[httpd.conf]
#允許存取的主機位置 SetEnvIf Referer "^http://www.your-host.com/" local_referal SetEnvIf Referer "^http://192.168.1.100/" local_referal #允許用戶不送 referer (從"我的最愛"/"書籤"開啟時) #SetEnvIf Referer "^$" local_referal #要保護的目錄 <Directory /usr/local/www/data/mrtg/> Order Deny,Allow Deny from all Allow from env=local_referal </Directory>[/httpd.conf]
沒有留言:
張貼留言