歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Administering Apache 讀書筆記

  modules -> Functions  安裝與配置apache  ###########################################################################################  獲取apache    從http://www.apache.org獲取apache 2.0.44    安裝apache  ------------------------------  使用APACI配置apache的安裝:  ./configura  常用選項:  --help #可以查看所有的可用選項  --prefix=<PATH> #指定安裝目錄  --enable-module = <xxxallmost> #xxx為名字為mod_xxx.c的模塊  --disable-module = xxx #xxx為名字為mod_xxx.c的模塊  --enable-shared = <xxxmax> #起用DSO(Dynamic Share Object),需要mod_so.c的支持    開始安裝  -------------------------------------------------------------------  make  make install  oks    與PHP 4.3.1 的集成  -------------------------------------------------------------------  ---/configure --with-apxs2=/usr/local/apache2/bin/apxs <假如想安裝mysql的話 --with-mysql=/usr/local/mysql >  make   make install     配置apache  -------------------------------------------------------------------  apache的主要配置文件:  httpd.conf  srm.conf  Access.conf  mime.types  magic    編輯httpd.conf  基本指令:  ServerType #為standalone或者是inetd  ServerRoot #apache的安裝目錄,默認為/usr/local/apache  LockFile #服務器串行模式的加鎖文件位置,一般不需要改動  PidFile #記錄服務器運行時的pid的文件路徑  ResourceConfig #資源文件所在,讓srm.conf為空,則httpd.conf的相關值生效  AccessConfig #訪問權限文件的所在路徑  LoadModule #加載模塊   AddModule #加載模塊的順序  Port #監聽端口,默認為80  ServerAdmin #管理員信箱  ServerName #服務器名稱  DocumentRoot #站點文件所在路徑    測試配置是否正確  -------------------------------------------------------------------  apachectl configtest     啟動apache  -------------------------------------------------------------------  apachectl start 或者 httpd -k start    重起apache  -------------------------------------------------------------------  apachectl graceful 或者 httpd -k graceful    停止apache  -------------------------------------------------------------------  apachectl stop 或者 httpd -k stop    創建web site  ###########################################################################################    apache默認的用戶和組為為apache  將站點的目錄和文件的權限賦予apache  find /usr/local/apache/ -exec chown apache {}find /usr/local/apache/ chgrp apache {}find /usr/local/apache/ -type -d chmod 755 {}find /usr/local/apache/ -type -f chmod 640 {} 給適當的文件適當的權限是一個管理員的責任所在。    內容處理  ###########################################################################################    目錄內容處理  -------------------------------------------------------------------  DirectoryIndex index.htm index.Html #默認文擋  當默認文檔不存在,且<Directory>Options中Indexes生效時:  HeaderName #頁面題頭文件  ReadmeName #頁面頁尾文件  IndexIgnore #隱藏文件規則  IndexOptions #控制目錄列表的外觀    目錄其他  -------------------------------------------------------------------  Alias /path/ "/<path>/" #別名定義    配置MIME(multipropuse internet mail extend protocol)  -------------------------------------------------------------------  因為不常會修改,只做浏覽  AddHandler  SetHandler send-as-is # 按原狀發送    配置CGI(comment gateway interface)  -------------------------------------------------------------------  <Directory>Options +ExecCGI #以允許使用CGI    SetHandler cgi-script #設定CGI腳本類型    配置SSI  -------------------------------------------------------------------  因為apache方面的性能專家Dean Gaudet不鼓勵使用SSI,所以我只是浏覽了一下,沒有詳細地記錄下來    使用日志  ###########################################################################################  -------------------------------------------------------------------  LogLevel <emergalertcritwarnnoticeinfodebug> 簡略-->詳細 嚴重-->輕微  ErrorLog <pathpipesyslog>  日志發送到文件:ErrorLog /var/www/log  日志發送到syslog:ErrorLog syslog:local <1-7> 默認為local 7  日志發送給管道:ErrorLog "/usr/local/apache/bin/errordb insert"    日志傳輸  -------------------------------------------------------------------  文檔傳送日志告訴你服務器在與誰交互,交互什麼,是什麼時候交互,同哪裡交互TransferLog用法類似ErrorLog    自定義日志格式  -------------------------------------------------------------------  LogFormat  %a client ip  %A server ip  %b 響應http標頭以外的字節數  %{eviron}e 以eviron命名的變量的值  %f 被請求文件的路徑  %h client hostname  %{reqheader}i 名字為reheader的標頭的值  %l client的系統環境,IdentifyCheck為On且內容協商成功  %{modnote}n 名字為 modnote的短信的值  %p server port  %P server PID  %r 請求的第一行,包括URLmodth  %s 原始響應信息  %>s 返回浏覽器的響應狀態  %t 請求的發生時間[18/Nov?1999:13:02:58-0600]  %{timefmt}t 定義時間的顯示格式,因為基本不需要修改,所以省略了...  %T 處理請求的秒數  %u 請求用戶的登陸名  %U 被請求的URL,不包括參數  %v server name  %V 根據UseCanonicalName得到服務器名稱    通用日志的默認格式等價於  LogFormat "%h %l %u %t \" %r \" %>s %b"    LogFormat "%401u" #記錄未認證的用戶名    apache 預先定義了四種日志的格式:<combinedcommonrefereragent>    CustomLog  -------------------------------------------------------------------  CoustomLog "/var/logs/httpd/access_logs" env = myCheck #否定為 env =! myCheck    SetEnvIf <Remote_AddrRemote_hostRemote_userRequest_MethodRequest_protocolRequest_URL> "condition" VarName    只要檢查屬性中符合Condition,就定義名字為VarName的變量    condition為unix中的正則表達式(Regular EXPression),可以查看man regex獲取詳細資料    LogFormat CustomLog 由mod_log_config.c提供<默認>    SentEnvIf mod_setenvif.c提供<默認>    CookieTracking CookieName CookieExpires  -------------------------------------------------------------------  由mod_usertrack.c提供<非默認>  <IfModule mod_usertrack>  CookieTracking <onoff>  CookieName myCookie  </IfModule>  CookieExpires 600 #也可以用 CookieExpires "3 weeks 2 days 4 hours 22 seconds"  注意CookieExpires不可以在<Directory>中,該選項為全局    AllowOverride  -------------------------------------------------------------------  All 允許.htaccess覆蓋httpd.conf中的所有目錄設置  Authconfig 允許覆蓋認證指令AuthName AuthType AuthUserFile AuthGroupFile 等  FileInfo 允許覆蓋目錄存取文件設置AddEncodeing AddLanguage AddType CookieTracking CookieName等  Indexes 允許覆蓋目錄索引設置  Limit 允許覆蓋allow deny order require  None 不允許覆蓋httpd.conf中的所有目錄設置  Options 允許覆蓋Options的設置    例子:用戶單擊流事件,引用記錄,代理記錄    虛擬主機  ###########################################################################################    基於IP的虛擬主機  -------------------------------------------------------------------  <VirtualHost 202.119.219.28>  ServerName www.njfu.edu.cn  ServerAdmin [email protected]  DocumentRoot /var/www/  ServerAlias njfu.edu.cn  </VirtualHost>    基於域名的




Copyright © Linux教程網 All Rights Reserved