[內部部署]{class="badge informative" title="僅適用於Adobe Commerce內部部署專案。"}

安裝Apache以供內部部署使用 apache

本指南會逐步引導您安裝適用於Adobe Commerce內部部署的Apache,以及設定Commerce所需的Apache設定。 其中包含共用的Apache需求,以及Ubuntu和CentOS的作業系統特定程式。 Adobe建議遵循本指南中提供的設定指示,以保留Commerce應用程式的功能與安全性。

Adobe支援您的Adobe Commerce發行版本的系統需求中列出的Apache版本。 支援的版本因發行版本而異。 Apache還需要支援的PHP設定。 如需相關的PHP需求,請參閱PHP設定

從符合您環境的區段開始:

檢閱Apache需求

在託管Adobe Commerce的任何Apache伺服器上完成這些需求。

設定必要指示

在伺服器設定(全域)或虛擬主機設定中設定AllowEncodedSlashes,以避免解碼編碼斜線而導致URL發生問題。 例如,透過API在SKU中擷取斜線為的產品時,您不希望轉換斜線。 下列範例區塊尚未完成,需要其他指示。

<VirtualHost *:443>
  # Allow encoded slashes
  AllowEncodedSlashes NoDecode
</VirtualHost>

設定rewrites和.htaccess apache-rewrites-and-htaccess

使用此區段來啟用Apache重寫及設定分散式.htaccess檔案。 Adobe Commerce使用伺服器重寫和.htaccess為Apache提供目錄層級的指示。

IMPORTANT
無法啟用這些設定通常會導致您的店面或管理員上不顯示任何樣式。 它也能防止Apache套用.htaccess中定義的Adobe Commerce安全性保護。
  1. 啟用Apache重寫模組:

    code language-bash
    a2enmod rewrite
    
  2. 啟用應用程式以使用分散式.htaccess設定檔。

    1. 在Ubuntu上編輯/etc/apache2/sites-available/000-default.conf。 如需其他Apache配置或需要其他引數,請參閱Apache檔案Apache存取控制檔案

    2. 為您計畫安裝Adobe Commerce的目錄新增或更新AllowOverride指令。

    例如,如果您在預設docroot中安裝Adobe Commerce,請將下列區塊新增至000-default.conf

    code language-conf
    <Directory "/var/www/html">
      AllowOverride All
    </Directory>
    
    note note
    NOTE
    如果您從舊版Apache升級,請先在<Directory "/var/www/html">中尋找現有的<Directory "/var/www">000-default.conf區塊。 如果您在不同的docroot中安裝Adobe Commerce,請更新該路徑的相符<Directory>區塊。
  3. 重新啟動Apache以套用變更:

    code language-bash
    service apache2 restart
    

安裝必要模組

Adobe Commerce需要安裝下列Apache模組:

確認已安裝Apache

若要確認Apache已安裝並檢視目前版本,請輸入:

apache2 -v

結果會顯示類似下列的資訊:

Server version: Apache/<installed-version>
Server built: <build-date>

在Ubuntu上安裝或升級Apache installing-or-upgrading-apache-on-ubuntu

在Ubuntu上安裝和設定Apache的過程包含三個步驟:

  1. 安裝軟體。
  2. 啟用重寫。
  3. 指定.htaccess指令。

設定Apache伺服器重寫時,您必須指定可在.htaccess中使用的指令型別,應用程式會使用這些指令來指定重寫規則和安全保護。

在Ubuntu上安裝Apache

  1. 安裝Apache (如果尚未安裝):

    code language-bash
    apt-get -y install apache2
    
  2. 確認安裝:

    code language-bash
    apache2 -v
    

    類似下列的訊息會顯示以確認安裝成功:

    code language-text
    Server version: Apache/<installed-version>
    Server built: <build-date>
    
  3. 繼續下一節。

    note note
    NOTE
    即使Apache預設隨附於Ubuntu,請參閱下一節以設定它。

在Ubuntu上升級Apache

如果已安裝Apache且您使用的版本早於2.4,請升級至Apache 2.4或您已部署的Adobe Commerce版本支援的最新版本。 請參閱系統需求

  1. 更新封裝資訊:

    code language-bash
    apt-get -y update
    
  2. 如果需要,新增為環境提供支援Apache版本的存放庫。

  3. 安裝或升級Apache:

    code language-bash
    apt-get install -y apache2
    
    note note
    NOTE
    如果apt-get install命令因未滿足的相依性而失敗,請查閱您的作業系統套件檔案或散發支援資源。
  4. 確認安裝:

    code language-bash
    apache2 -v
    
  5. 系統需求中,確認安裝的版本符合您的Adobe Commerce版本支援的版本。

  6. 啟用Ubuntu.htaccess重寫和

啟用Ubuntu的重寫和.htaccess

  1. 開啟/etc/apache2/sites-available/000-default.conf檔案進行編輯:

    code language-bash
    vim /etc/apache2/sites-available/000-default.conf
    
  2. 找出開頭為的區塊:

    code language-conf
    <Directory "/var/www/html">
    
  3. AllowOverride的值變更為All

    例如:

    code language-conf
    <Directory "/var/www/html">
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
    
  4. 儲存檔案並退出文字編輯器。

  5. 設定Apache以使用mod_rewrite模組:

    code language-bash
    cd /etc/apache2/mods-enabled
    
    code language-bash
    ln -s ../mods-available/rewrite.load
    
  6. 重新啟動Apache以套用變更:

    code language-bash
    service apache2 restart
    
IMPORTANT
無法啟用這些設定通常會導致您的店面或管理員上不顯示任何樣式。 它也能防止Apache套用.htaccess中定義的Adobe Commerce安全性保護。

在CentOS上安裝Apache installing-apache-on-centos

在CentOS上安裝和設定Apache的過程分為三個步驟:

  1. 安裝軟體
  2. 啟用重新寫入
  3. 指定.htaccess指令。

設定Apache伺服器重寫時,您必須指定可在.htaccess中使用的指令型別,應用程式會使用這些指令來指定重寫規則和安全保護。

安裝Apache

  1. 安裝Apache (如果尚未安裝)。

    code language-bash
    yum -y install httpd
    
  2. 確認安裝:

    code language-bash
    httpd -v
    

    類似下列的訊息會顯示以確認安裝成功:

    code language-text
    Server version: Apache/<installed-version>
    Server built: <build-date>
    
  3. 繼續下一節。

    note note
    NOTE
    即使Apache預設隨附於CentOS,請參閱下一節以設定它。

啟用CentOS的重寫和.htaccess

  1. 開啟/etc/httpd/conf/httpd.conf檔案進行編輯:

    code language-bash
    vim /etc/httpd/conf/httpd.conf
    
  2. 找出開頭為的區塊:

    code language-conf
    <Directory "/var/www/html">
    
  3. AllowOverride的值變更為All

    例如:

    code language-conf
    <Directory "/var/www/">
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
    
    note note
    NOTE
    Order的前述值可能並非在所有情況下都有效。 如需詳細資訊,請參閱Apache檔案
  4. 儲存檔案並退出文字編輯器。

  5. 若要套用Apache設定,請重新啟動Apache。

    code language-bash
    systemctl restart httpd
    
IMPORTANT
無法啟用這些設定通常會導致您的店面或管理員上不顯示任何樣式。 它也能防止Apache套用.htaccess中定義的Adobe Commerce安全性保護。

解決403 (禁止)錯誤

如果您在嘗試存取網站時遇到403禁止錯誤,您可以更新Apache設定或虛擬主機設定,以啟用網站的訪客:

解決Apache的403禁止錯誤

若要讓網站訪客能夠存取您的網站,請使用Require指示之一。

例如:

<Directory "/var/www/">
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Require all granted
</Directory>
NOTE
Order的前述值可能並非在所有情況下都有效。 如需詳細資訊,請參閱Apache檔案
recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995