まず、プロジェクトのディレクトリを作成します。たとえば、php:
というディレクトリを作成してみましょう。sudo mkdir /var/www/html/php
プロジェクト ディレクトリにindex.php ファイルを作成します:
echo "<?php phpinfo(); " | sudo tee /var/www/html/php/index.php
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 であることを指定します。これは、Apache や Nginx などの Web サーバーのデフォルト ユーザーとして機能する、Linux システム上の一般的なユーザーおよびグループです。
/var/www/php: これは、プロパティが変更されるディレクトリのパスです。
コマンド sudo chmod -R 755 /var/www/html/php は次のアクションを実行します。
755: これは許可モードです:
最初の数字 (7) は、ファイル (またはディレクトリ) の所有者に読み取り (4)、書き込み (2)、実行 (1) のアクセス許可を与え、合計 7 になります。
2 番目の数字 (5) は、グループに読み取り (4) 権限と実行 (1) 権限を与えますが、書き込み権限は与えず、合計 5 になります。
3 番目の数字 (5) は、他のユーザーに読み取り (4) 権限と実行 (1) 権限を与えますが、書き込み権限は与えず、合計 5 になります。
要約すると、このコマンドは /var/www/html/php 内のすべてのファイルとディレクトリの権限を変更し、所有者が完全な制御 (読み取り、書き込み、実行) を行えるようにしますが、グループと他のユーザーは読み取りのみを許可します。そして実行権限を与えます。これは、サーバーがセキュリティを損なうことなく必要なファイルにアクセスできるようにするために、Web サーバー環境で一般的です。
仮想ホストの新しい構成ファイルを作成します。ファイルは php プロジェクトと同じ名前にする必要があります:
sudo your_editor /etc/apache2/sites-available/php.conf
次の構成をファイルに追加します:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName php.info DocumentRoot /var/www/html/php <Directory /var/www/html/php/> AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/php_error.log CustomLog ${APACHE_LOG_DIR}/php_access.log combined </VirtualHost>
コードの各部分を分析してみましょう:
ServerAdmin webmaster@localhost
サーバー名 php.info
ドキュメントルート /var/www/html/php
<ディレクトリ /var/www/html/php/>
すべて上書きを許可
すべての許可が必要です
この仮想ホストの Apache エラー ログ ファイルへのパスを指定します。 ${APACHE_LOG_DIR} は通常、メインの Apache 構成ファイルに設定される変数で、ログが保存されるディレクトリを指します。ここで、この仮想ホストに関連するエラーは php_error.log ファイルに記録されます。
カスタムログ ${APACHE_LOG_DIR}/php_access.log の結合
Defines the path to the Apache access log file for this Virtual Host. Like ErrorLog, this also uses the ${APACHE_LOG_DIR} variable. The combined format records information about requests, including the client's IP address, the time of the request, the HTTP method, the URL requested, the status code and the user agent.
Enable the new Virtual Host with the command:
sudo a2ensite php.conf
If you need to use .htaccess or URL rewrites, activate the Apache rewrite module:
sudo a2enmod rewrite
To access your project using the server name you defined (php.info), add an entry in the /etc/hosts file:
sudo your_editor /etc/hosts
Add the following line to the end of the file:
<p>127.0.0.1 php.info</p>
Restart Apache for the changes to take effect:
<p>sudo systemctl restart apache2</p>
You can now access your project in the browser by typing http://php.info.
以上が仮想ホストを使用した PHP Apache プロジェクトの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。