- Appach的相關設定存儲於 /opt/httpd/conf/httpd.conf,若如果你要修改的話,或是廠商有修改的話可能在其他的地方如/etc/httpd/config下的httpd.conf
- 啟動apache
- /opt/apache/bin/apachectl start
- /sbin/service httpd restart
- 你的預設的www目錄可能在/var/www/html
- 注意:若是你有新增page到/var/www/html中的話,記得要修改一下權限
- chmod 755 /var/www/html/yourfile.html
- 在httpd.conf常設定的選項
- Listen : 是設定apache使用到的port
- Listen 80
- ServerRoot "/usr/local/apache" : 設定apache的伺服器所在的根目錄
- <IfModule !mpm_netware.c>
- PidFile logs/httpd.pid :執行http這個服務的程序號碼
- </ifModule>
- Timeout 300 :在傳陝五與接收之前的逾時的秒數
- KeepAlive On :是否保持連線
- MaxKeepAliveRequest 100 : 建立連線時所允許的最大回應數,而0表不限
- KeepAliveTimeout 15 :在相同的client,相同的連線中,等待下一個請求的秒數,起過即算逾時。
- <IfModule prefork.c>
- StartServers 5 :server啟動時的程予數目
- MinSpareServers 5 :server備援程序的最小直
- MaxSpareServers 5 : 上行的最大值
- MaxClient 150 : client端的最大連線數
- MaxRequestsPerChild 0 : 一個server程式最大回應的子程序數目;0表不限
- </IfModule>
- ExtendedStatus On :這個控制是否紀錄完整的狀態(on),或是基本的資訊(off),default是關閉的。
- User Apache
- Group Apache 以上2行是定義執行httpd的使用者與群組,預設是apache
- ServerAdmin admin@test.com 當系統出現問題的時侯所出現的聯絡email
- ServerName new.host.name:80 是否認證自已的domain name
- UseCanonicalName off 是否使用別名
- DocumentRoot "/usr/local/apache/htdocs" 網頁根目錄所放的路徑
- 對於apache而言,每一個目錄都可以設相關的權限,以下的default值使用嚴格的限制
- <Directory>
- Options FollowSymLinks
- AllowOverride None
- </Directory>
- DirectoryIndex index.html index.htm 頁設開啟的檔案
- AccessFileName .htaccess 每個目錄錄中權限控管的檔案
- 以下是設定避免.htaccess以及.htpasswd被web client看到
- <Files ~"^\.ht">
- Order allow , deny
- Deny from all
- </Files>
- HostnameLookups Off 紀錄檔中的ip address是否要做反查
- EnableMMAP off 記憶體對應的控制
- ErrorLog logs/error_log 錯誤檔案的紀錄位置
- LogLevel warm 紀錄檔的等級
- CustomLog logs/access_log common 全部的紀錄都到一個紀錄檔中
- ServerSignature On 在一些網頁中是否要出現Admin 的email的連結
- Alias /haha "/usr/local/apache/manual" 建立別名
- LanguagePriority tw en da ...語言的優先順序
- 設定apache的認證登入
- 新增一個Apache所認的id,supermain,以及密碼為abc123,並將密碼檔置於/opt/passwords。要注意…這一個密碼檔必須要能夠被apache帳號讀取到,並且最好放在瀏覽器無法存取到的位置。
- htpasswd -c /opt/passwords superman
- new password:abc123
- re-type ......
- 首外將/opt/passwords給予一孺使用者閱讀的權限,否則認正的功能將無法啟動。由於apache除了port 80 的程序由root執行之外,其他的程序由apache這個使用者執行,所以必須開放根目錄可閱讀的權限
- chmod 644 /opt/passwords
- chmod 755 /home/newrpm
- 在httpd.conf加入以下四行
- <Directory /home/*/www>
- AuthType Basic
- AuthName "Restricted Files"
- AuthUserFile /opt/passwords
- require user supermain
- ...
- apache的虛擬主機:一台pc多個domain name
- 假設pc a 的ip 為10.1.1.1 而有2個domain name,分別是www.one.com以及www.two.com,我們希望client端在browser輸入不同的domain name,則會連到不同的目錄。
- 修改httpd.conf
- NameVirtualHost 10.1.1.1
- <VirtualHost www.one.com>
- DocumentRoot /home/one/www
- ServerName www.one.com
- ErrorLog logs/error_one_log
- CustomLog logs/access_log1 common
- </VirtualHost>
- <VirtualHost www.two.com>
- DocumentRoot /home/two/www
- ServerName www.tow.com
- ErrorLog logs/error_tow_log
- CustomLog logs/access_log2 common
- </VirtualHost>
- appache的分散流量
- 實做方法有2個;1為在DNS server設定,將同一個domain name對應到多個Ip Address,另一個為iptables的設定。
- httpd指令說明
- -d serverroot : 設定server root的起始目錄
- -f config :使用特定的設定檔案,預設值是conf/httpd.conf
- -t :執行httpd.conf的語法測試,
- -v :顯示apache的版本
- -V:顯示apache的版本以及httpd用的參數
- htpasswd指令
- -c:新增密碼檔案,如果此檔案已經存在,會被覆蓋
- -d:不使用交談方式,直接將密碼置於指令之後
- htpasswd /usr/local/etc/apache/.htpasswd-users tom
- 新增或是更改tom的密碼
- htpasswd -c /home/doe/mywwww/.htpasswd jane
- 新增一個帳號並記錄它
- htpasswd -mb /usr/web/.htpasswd-all john HappyDays
- HappyDays是密碼哦
- apachectl指令
- start:啟動apache server
- Stop:停止apache server
- Restart:重新啟動
- Fullstatus:顯示完整的狀態
- Status:顯示簡單的狀態
- Configtest:執行語法測試
- Help:help 這就不用說了吧…
沒有留言:
張貼留言