首先,為您的專案建立目錄。例如,讓我們建立一個名為 php:
的目錄sudo mkdir /var/www/html/php
在專案目錄中建立一個index.php檔案:
echo "設定目錄權限
設定適當的權限,以便Apache可以存取該目錄:
sudo chown -R www-data:www-data /var/www/html/php sudo chmod -R 755 /var/www/html/php指令 sudo chown -R www-data:www-data /var/www/html/php 執行下列操作:
-R:此選項表示應該遞歸執行操作,即不僅對指定目錄執行操作,還對其所有子目錄和檔案執行操作。
www-data:www-data:指定將成為文件新所有者的使用者和群組都是 www-data。這是 Linux 系統上的常見使用者和群組,用作 Apache 和 Nginx 等 Web 伺服器的預設使用者。
/var/www/php:這是要更改屬性的目錄的路徑。
指令 sudo chmod -R 755 /var/www/html/php 執行下列操作:
755:這是一種權限模式:
第一個數字 (7) 賦予檔案(或目錄)的擁有者讀 (4)、寫 (2) 和執行 (1) 權限,總共 7 個。
第二個數字 (5) 為群組提供讀取 (4) 和執行 (1) 權限,但不提供寫入權限,總共 5 個。
第三個數字 (5) 也授予其他使用者讀取 (4) 和執行 (1) 權限,但不提供寫入權限,總共 5 個。
綜上所述,這個指令改變了/var/www/html/php內所有檔案和目錄的權限,讓擁有者擁有完全的控制權(讀取、寫入和執行),而群組和其他使用者只有讀取和執行權限。這在 Web 伺服器環境中很常見,以確保伺服器可以存取必要的檔案而不影響安全性。
建立虛擬主機設定檔
為您的虛擬主機建立一個新的設定檔。該檔案應與 php 專案同名:
sudo your_editor /etc/apache2/sites-available/php.conf新增虛擬主機配置
在文件中新增以下配置:
ServerAdmin webmaster@localhost ServerName php.info DocumentRoot /var/www/html/php AllowOverride All Require all granted ErrorLog ${APACHE_LOG_DIR}/php_error.log CustomLog ${APACHE_LOG_DIR}/php_access.log combined 我們來分析各部分代碼:
- 這是偵聽連接埠 80 的虛擬主機設定區塊的開始,該連接埠是 HTTP 的預設連接埠。星號 (*) 表示虛擬主機將接受來自任何 IP 位址的連線。
ServerAdmin webmaster@localhost
- 定義伺服器管理員的電子郵件地址。此電子郵件地址可用於錯誤訊息或使用者需要聯絡管理員時。
伺服器名稱 php.info
- 指定套用此設定的伺服器的名稱。在這種情況下,虛擬主機將回應 php.info 的請求。重要的是該名稱正確解析為伺服器的 IP(通常在 /etc/hosts 檔案或 DNS 中配置)。
文檔根目錄 /var/www/html/php
- 定義包含當有人存取 ServerName 時將提供服務的檔案的目錄(本例中為 php.info)。在此範例中,檔案位於 /var/www/html/php.
- 此區塊指定指定目錄的特定設定。此區塊中的設定會影響 Apache 針對該特定目錄的行為。
允許覆蓋全部
要求所有已授予的
指定此虛擬主機的 Apache 錯誤日誌檔案的路徑。 ${APACHE_LOG_DIR} 是一個變量,通常在 Apache 主設定檔中設置,指向儲存日誌的目錄。這裡,與該虛擬主機相關的錯誤將記錄在 php_error.log 檔案中。
CustomLog ${APACHE_LOG_DIR}/php_access.log 組合
定義此虛擬主機的 Apache 存取記錄檔的路徑。與 ErrorLog 一樣,這也使用 ${APACHE_LOG_DIR} 變數。組合格式記錄有關請求的訊息,包括用戶端的 IP 位址、請求的時間、HTTP 方法、請求的 URL、狀態代碼和使用者代理。
使用指令啟用新的虛擬主機:
sudo a2ensite php.conf
如果需要使用.htaccess或URL重寫,請啟動Apache重寫模組:
sudo a2enmod rewrite
若要使用您定義的伺服器名稱 (php.info) 存取您的項目,請在 /etc/hosts 檔案中新增一個項目:
sudo your_editor /etc/hosts
將以下行加入文件末尾:
127.0.0.1 php.info
重新啟動 Apache 以使變更生效:
sudo systemctl restart apache2
您現在可以透過輸入 http://php.info 在瀏覽器中存取您的專案。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3