如何設定 Apache(可用網站與 httpd.conf)

如何設定 Apache(可用網站與 httpd.conf)

我一直在嘗試遵循一些基本教程,解釋如何啟動和運行 Apache(在 ubuntu 上,在 Amazon 上運行)。我大部分時間都是一片空白,因為所有教學都告訴我要配置 httpd.conf (添加 DocumentRoot 等)。

我現在偶然發現了一篇教程,它告訴我將網站配置新增至網站可用目錄(在 /etc/apache 下),然後從啟用網站的符號連結到它。這種方式配置似乎可行。

但現在我很困惑 - 我應該如何配置 Apache?大多數教程似乎仍然說我應該使用 httpd.conf。我應該使用哪一個?有什麼不同?為什麼所有教程都是「錯誤的」(如果有的話)?

答案1

sites-available方法通常被認為是“Debian 方式”:

  • “主要”配置/etc/apache2/apache2.conf
  • “用戶”配置/etc/apache2/httpd.conf
  • 文件中的虛擬主機/etc/apache2/sites-available(通常每個文件一個)
    • 您可能需要為它們編號,例如 00-domain.com、01-otherdomain.com
  • 連接埠(Listen指令)在/etc/apache2/ports.conf
  • 模組在/etc/apache2/mods-available

您可以使用符號連結或一系列a2命令來操作它們:

a2ensite/a2dissite <site_config_filename>
a2enmod/a2dismod <module_name>

根據個人喜好,您可以使用apachectl/etc/init.d/apache2 (start|stop|reload|restart)或重新啟動 Apacheservice apache2 (start|stop|reload|restart)

例如,您可以使用httpd.conf全域重新導向或重寫規則來取代虛擬主機項目。其他花絮—一般來說,您應該apache2.conf不用管,並確保為目錄中的虛擬主機設定一致的命名方案sites-available

答案2

設定檔的位置和組織是可設定的,並且可以在主要版本或發行版之間變更。

Apache Wiki 有一個方便的指導設定檔的名稱和位置。

由於設定檔可以包含include指令,因此部分配置可以分成更小的檔案。由於標準 Apache 設定檔包含許多註解和許多標準項目,因此將最有可能更改的部分分開是有意義的。

主配置檔案的名稱可以在編譯時更改,在最近的版本中,它已更改httpd.confapache2.conf

多年來,所包含的配置文件的組織也發生了一些變化。

例如,我在基於 Ubuntu 的系統上安裝了 Apache2,使用apt-get install apache2- 這是包含的文件

/etc/apache2$ ls
apache2.conf  envvars     mods-available  ports.conf       sites-enabled
conf.d        httpd.conf  mods-enabled    sites-available

/etc/apache2$ grep ^Include apache2.conf
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Include /etc/apache2/httpd.conf
Include /etc/apache2/ports.conf
Include /etc/apache2/conf.d/
Include /etc/apache2/sites-enabled/ 

/etc/apache2$ ls -l sites-enabled
total 0
lrwxrwxrwx 1 root root 26 Dec 26 12:30 000-default -> ../sites-available/default

因此,您可能最感興趣的幾個配置設定現在位於/etc/apache2/sites-available/default.

可以看到這個和Ubuntu是一致的Apache 的文檔我建議您先閱讀。如果您有舊版本 Apache(或其他發行版)的其他文檔,您可以調整該資訊以適應 Ubuntu 中的組織方式。

答案3

linux下的Apache可以透過兩種方式安裝。一種是透過apt-get 等下載tar 檔案並提取...因此,在apt-get 進程中,網站從/etc/apache2/sites-enabled 資料夾中提供,因為每個向外界提供服務的網站都是在這些資料夾中配置的.conf 檔案範例 000-default.conf 是一個用於顯示 apache 工作的預設網站。

因此,透過在啟用網站的情況下建立任何 .conf 檔案並將其定向到內容位置...從而為網站提供服務。

因此,為了新增的靜態站點,必須在啟用站點的資料夾中建立一個新的 .conf 文件,其名稱為 example example.conf 。並必須在其中添加以下行

ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log 組合

其中,*:80 表示“透過連接埠 80 向世界開放” DocumentRoot /var/www/html 表示“網站內容的路徑”

相關內容