歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 細述 Apache web server 的安裝與配置

細述 Apache web server 的安裝與配置

日期:2017/2/27 9:33:58   编辑:更多Linux
  一.、Apache web server 簡介  Apache web server是一款開放源碼的web服務器軟件,由apache software foundation 開發和維護的。它是目前世界上使用最為廣泛的web服務器軟件,支持各種unix平台和windows平台。本文將介紹它在Red hat Linux 9中最基本的安裝和配置。    二、軟件的相關資源  官方網站:http://httpd.apache.org/  源碼軟件包:Apache 是開源的軟件,可以去其官方網站http://httpd.apache.org/download.cgi下載。目前的最新穩定版本是httpd-2.0.53。  幫助文檔:http://httpd.apache.org/docs-project/ 有該軟件比較全面的幫助文檔。  FAQ:http://httpd.apache.org/docs/misc/FAQ.Html 回答了該軟件的常見問題。    三.軟件的安裝  1.安裝    由其官方網站中下載其源碼軟件包httpd-2.0.53.tar.gz。接下來我將對安裝過程的一些重要步驟,給出其解釋:    [root@localhost root]#tar xzvf httpd-2.0.53.tar.gz  [root@localhost root]#cd httpd-2.0.53  [root@localhost httpd-2.0.53]#./configure  [root@localhost httpd-2.0.53]#make  [root@localhost httpd-2.0.53]#make install    tar xzvf httpd-2.0.53.tar.gz 解壓縮軟件包。    ./configure 針對機器作安裝的檢查和設置,大部分的工作是由機器自動完成的,但是用戶可以通過一些參數來完成一定的設置,其常用選項有:    ./configure --help 察看參數設置幫助。    --prefix= 指定軟件安裝目錄(默認/usr/local/apache2)。    --enable-modules= 指定需要加載的模塊。    --enable-v4-mapped 支持ipv6的socket處理ipv4的連接。    可以設置的參數很多,可以通過 -help察看需要的,一般情況下,默認設置就可以了。    默認安裝建立了/usr/local/apache2目錄,下面介紹一下/usr/local/apache2的幾個常用組成部分:    /usr/local/apache2/bin 其中主要是有服務器的程序。常用的有deamon程序httpd,和控制腳本apachectl。    /usr/local/apache2/conf 其中主要是服務器相關的配置文件。最主要的配置文件是httpd.conf。    /usr/local/apache2/htdocs 默認的網站html文件根目錄。    /usr/local/apache2/cgi-bin 默認的cgi程序的存放目錄。    2.啟動:    [root@localhost root]# /usr/local/apache2/bin/apachectl start  [root@localhost root]# ps aux  [root@localhost root]# netstat -an    如果不出什麼問題,ps aux 應該可以查到httpd 的進程,或netstat -an 也可以看到80端口的服務已經起來了。如果要設置開機自啟動web server,只需在/etc/rc.d/rc.local中加入一行    /usr/local/apache2/bin/apachectl start    #!/bin/sh  #  # This script will be executed *after* all the other init scripts.  # You can put your own initialization stuff in here if you don't  # want to do the full Sys V style init stuff.  toUCh /var/lock/subsys/local    /usr/local/apache2/bin/apachectl start    四、軟件的配置。  /usr/local/apache2/conf/httpd.conf 默認安裝,所有的配置都有其默認值,接下來我介紹介紹一些常用的配置項:    # Listen: Allows you to bind Apache to specific IP addresses and/or  # ports, instead of the default. See also the   # directive.  #  # Change this to Listen on specific IP addresses as shown below to  # prevent Apache from glomming onto all bound IP addresses (0.0.0.0)  #  #Listen 12.34.56.78:80    Listen 80    設定apache 的偵聽地址和端口。    #  # ServerAdmin: Your address, where problems with the server should be  # e-mailed. This address appears on some server-generated pages, such  # as error documents. e.g. [email protected]  #  ServerAdmin [email protected]    設定apache 的管理員郵件地址。    #  # DocumentRoot: The Directory out of which you will serve your  # documents. By default, all requests are taken from this directory, but  # symbolic links and aliases may be used to point to other locations.  #  DocumentRoot "/usr/local/apache2/htdocs"    設定apache web server 的文檔根目錄,必須是絕對路徑。        #  # Possible values for the Options directive are "None", "All",  # or any combination of:  #  Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews  #  # Note that "MultiViews" must be named *eXPlicitly* --- "Options All"  # doesn't give it to you.  #  # The Options directive is both complicated and important. Please see  # http://httpd.apache.org/docs-2.0/mod/core.html#options  # for more information.  #  Options Indexes FollowSymLinks    #  # AllowOverride controls what directives may be placed in .htAccess files.  # It can be "All", "None", or any combination of the keyWords:  #  Options FileInfo AuthConfig Limit  #  AllowOverride None    #  # Controls who can get stuff from this server.  #  Order allow,deny  Allow from all        設定文檔根目錄的權限控制,必須和DocumentRoot "/usr/local/apache2/htdocs" 中指定的目錄一致。    #  # The index.html.var file (a type-map) is used to deliver content-  # negotiated documents. The MultiViews Option can be used for the  # same purpose, but it is much slower.  #  DirectoryIndex index.html    指定該目錄下的索引文檔,    ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"    映射cgi-bin的根目錄,必須是絕對路徑。      AllowOverride None  Options None  Order allow,deny  Allow from all      設定cgi-bin目錄的讀寫權限,該目錄項必須和上一條的設置一致。    五.安裝使用的一些經驗:  1.apache 進程的有效用戶id默認為nobody。    出於安全方面的考慮,apache 服務器進程的默認有效 id 被設置為nobody,這就意味著該進程只擁有nobody的權限,所以必須確保nobody對設置的DocumentRoot 有足夠權限。或者可以配置apache進程的有效id,但是推薦不要這樣做。    2.如果網站的訪問量不是很大可以考慮用xinetd超級進程來啟動apache    (1)打開/usr/local/apache2/conf/httpd.conf,修改    ServerType inetd    (2)創建/etc/xinetd.d/apache,內容:    # default: on  # description: The Apache HTTP connections.  service http  {  disable = no  socket_type = stream  wait = no  user = root  server = /usr/sbin/httpd  port = 80  # log_on_success += DURATION USERID  # log_on_failure += USERID  # nice = 10  }    (3)重新啟動xinetd:    #/etc/rc.d/init.d/xinetd restart    3.對IPV6的支持    隨著計算機網絡的不斷發展和擴大,IPV6已經越來越為人們所接受,apache自2.0之後的版本開始支持IPV6,下面我就簡單介紹一下apache針對ipv6的配置:    默認情況下,apache 使用映射到IPv4的IPv6地址,即安裝配置時,默認./configure -enable-v4-map ,並且在配置文件http.conf中將是:    Listen 80    要使apache 區別對待IPV4與IPV6的連接,安裝配置時,使用 ./configure -disable-v4-map , 對應配置文件中http.conf :    Listen [::]:80    這樣 apache 就可以區別對待 IPV4 與IPV6的連接了。




Copyright © Linux教程網 All Rights Reserved