[內部部署]{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,請從檢閱Apache需求開始。
- 如果您需要在Ubuntu上安裝或升級Apache,請移至在Ubuntu上安裝或升級Apache。
- 如果您需要在CentOS上安裝Apache,請移至在CentOS上安裝Apache。
檢閱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提供目錄層級的指示。
.htaccess中定義的Adobe Commerce安全性保護。-
啟用Apache重寫模組:
code language-bash a2enmod rewrite -
啟用應用程式以使用分散式
.htaccess設定檔。-
在Ubuntu上編輯
/etc/apache2/sites-available/000-default.conf。 如需其他Apache配置或需要其他引數,請參閱Apache檔案和Apache存取控制檔案。 -
為您計畫安裝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>區塊。 -
-
重新啟動Apache以套用變更:
code language-bash service apache2 restart
安裝必要模組
Adobe Commerce需要安裝下列Apache模組:
確認已安裝Apache
若要確認Apache已安裝並檢視目前版本,請輸入:
apache2 -v
結果會顯示類似下列的資訊:
Server version: Apache/<installed-version>
Server built: <build-date>
-
如果Apache 未安裝,請參閱:
在Ubuntu上安裝或升級Apache installing-or-upgrading-apache-on-ubuntu
在Ubuntu上安裝和設定Apache的過程包含三個步驟:
- 安裝軟體。
- 啟用重寫。
- 指定
.htaccess指令。
設定Apache伺服器重寫時,您必須指定可在.htaccess中使用的指令型別,應用程式會使用這些指令來指定重寫規則和安全保護。
在Ubuntu上安裝Apache
-
安裝Apache (如果尚未安裝):
code language-bash apt-get -y install apache2 -
確認安裝:
code language-bash apache2 -v類似下列的訊息會顯示以確認安裝成功:
code language-text Server version: Apache/<installed-version> Server built: <build-date> -
繼續下一節。
note note NOTE 即使Apache預設隨附於Ubuntu,請參閱下一節以設定它。
在Ubuntu上升級Apache
如果已安裝Apache且您使用的版本早於2.4,請升級至Apache 2.4或您已部署的Adobe Commerce版本支援的最新版本。 請參閱系統需求。
-
更新封裝資訊:
code language-bash apt-get -y update -
如果需要,新增為環境提供支援Apache版本的存放庫。
-
安裝或升級Apache:
code language-bash apt-get install -y apache2note note NOTE 如果 apt-get install命令因未滿足的相依性而失敗,請查閱您的作業系統套件檔案或散發支援資源。 -
確認安裝:
code language-bash apache2 -v -
在系統需求中,確認安裝的版本符合您的Adobe Commerce版本支援的版本。
-
啟用Ubuntu的
.htaccess重寫和。
啟用Ubuntu的重寫和.htaccess
-
開啟
/etc/apache2/sites-available/000-default.conf檔案進行編輯:code language-bash vim /etc/apache2/sites-available/000-default.conf -
找出開頭為的區塊:
code language-conf <Directory "/var/www/html"> -
將
AllowOverride的值變更為All。例如:
code language-conf <Directory "/var/www/html"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> -
儲存檔案並退出文字編輯器。
-
設定Apache以使用
mod_rewrite模組:code language-bash cd /etc/apache2/mods-enabledcode language-bash ln -s ../mods-available/rewrite.load -
重新啟動Apache以套用變更:
code language-bash service apache2 restart
.htaccess中定義的Adobe Commerce安全性保護。在CentOS上安裝Apache installing-apache-on-centos
在CentOS上安裝和設定Apache的過程分為三個步驟:
- 安裝軟體
- 啟用重新寫入
- 指定
.htaccess指令。
設定Apache伺服器重寫時,您必須指定可在.htaccess中使用的指令型別,應用程式會使用這些指令來指定重寫規則和安全保護。
安裝Apache
-
安裝Apache (如果尚未安裝)。
code language-bash yum -y install httpd -
確認安裝:
code language-bash httpd -v類似下列的訊息會顯示以確認安裝成功:
code language-text Server version: Apache/<installed-version> Server built: <build-date> -
繼續下一節。
note note NOTE 即使Apache預設隨附於CentOS,請參閱下一節以設定它。
啟用CentOS的重寫和.htaccess
-
開啟
/etc/httpd/conf/httpd.conf檔案進行編輯:code language-bash vim /etc/httpd/conf/httpd.conf -
找出開頭為的區塊:
code language-conf <Directory "/var/www/html"> -
將
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檔案。 -
儲存檔案並退出文字編輯器。
-
若要套用Apache設定,請重新啟動Apache。
code language-bash systemctl restart httpd
.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>
Order的前述值可能並非在所有情況下都有效。 如需詳細資訊,請參閱Apache檔案。