FlossDoc: 請協力 GPLv3 的中文翻譯工作。

架設 Apache HTTP 伺服器

FlossDoc,自由中文開源知識庫

Jump to: navigation, search

目录

安裝 Apache HTTP 伺服器

Debian/Ubuntu 管理員安裝套件 apache2:

apt-get install apache2

設定 Apache 伺服器

Apache 的設定檔案一般主要為 httpd.conf,為方便管理,Debian/Ubuntu 的 apache 2.x 把設定檔案分柝在 /etc/apache2 目錄中幾個檔案:

  • apache2.conf - 主要設定檔案,主要有一些通用性設定,例如指定伺服器設定檔案所在的目錄 (ServerRoot) 、啟動時預設開啟伺服器的數目 (StartServer) 和預設日誌紀錄檔案的格式 (LogFormat) 等。此檔案尾亦會有一些 Include 指令指示要載入以下其他設定檔。
  • httpd.conf - 一般為空檔案,主要用作兼容非 Debian/Ubuntu 的設定程式,讓它們可以不需辨別這是否 Debian/Ubuntu 系統而在此檔案加入設定。
  • envvars - 主要用作設定一些環境變數 (environment variables) 來微調 Apache 伺服器的運作。
  • ports.conf - 設定 Apache 伺服器聆聽 (提供服務) 的埠編號,預設一般為 80。
  • conf.d - 存放其他額外設定檔案的目錄。
  • mods-available - 存放個別 Apache 模組設定檔案的目錄。
  • mods-enable - 指示會啟用那個 Apache 模組的目錄,裡面的檔案一般為指向 /etc/apache2/mods-available 的軟連結 (symbolic link)。
  • sites-available - 存放個別網站設定檔案的目錄。
  • sites-enable - 指示會啟用那個網站的目錄,裡面的檔案一般為指向 /etc/apache2/sites-available 的軟連結 (symbolic link)。

其實主要有關網站的設定都集中在 /etc/apache2/sites-available/default:

<VirtualHost *:80>
       ServerAdmin webmaster@example.com

       DocumentRoot /var/www
       <Directory />
               Options FollowSymLinks
               AllowOverride None
       </Directory>
       <Directory /var/www/>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride None
               Order allow,deny
               allow from all
       </Directory>

       ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
       <Directory "/usr/lib/cgi-bin">
               AllowOverride None
               Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
               Order allow,deny
               Allow from all
       </Directory>
</VirtualHost>

Apache 的設定主要多個指令 (Directive) 組成。常用指令包括:

  • DocumentRoot - 指定經 Apache 可以存取的網頁的目錄。例如 DocumentRoot /var/www,當瀏覽器存取 URL http://example.com/welcome.html 時,Apache 會提供檔案 /var/www/welcome.html 的內容。存取 URL http://example.com/movie/news.html 會取得檔案 /var/www/movie/news.html
  • ServerAdmin - 設定網頁管理員的電郵地址,用作當網站發生問題時告知使用者可以向那個電郵地址匯報問題。
  • ServerName - 設定網站的名稱

重新啟動 Apache HTTP 伺服器

每次設定好後,可以打以下命令重新啟動 Apache 來激活新設定:

/etc/init.d/apache2 restart

重新啟動 Apache 會中斷正在連接的作業,令網站有最少幾秒間停止運作。您可以使用以下命令令 Apache 只是重新讀取新設定而不影響運作:

/etc/init.d/apache2 reload

請參看

Personal tools