
Apache 2でWebサーバーを構築したのに、.php拡張子のページを表示しようとすると、ローカルドライブに保存しようとしたり、ブラウザにPHPコードが表示されたりした経験は、何度ありますか?これは様々な意味で問題です。まず、ウェブサイトが正常に機能しなくなります。さらに悪いことに、誰かがコードを覗き見てしまう可能性があり、これはフラストレーションになるだけでなく、セキュリティ上の問題にもなりかねません。
これは簡単に修正できるため、PHP と Apache 2 の使用を避ける理由はありません。しかし、どのように修正すればよいのでしょうか? 説明しましょう。
注:このプロセスは、Ubuntu Desktop 23.04でApache 2とPHP 8.1の最新リリースを実行している環境で実行しています。このプロセスは、ほとんどの最近のLinuxディストリビューションで動作します。
ジャンプ先:
- Apache 2とPHP 8.1のインストール
- Apache 2の起動と有効化
- PHP 8.1のインストールの確認
- 次のステップ: Apache 2 と PHP のセットアップのセキュリティ保護
Apache 2とPHP 8.1のインストール
パッケージ管理により、Apache 2とPHP 8.1のインストールと設定が簡単になります。ターミナルで以下のコマンドを実行すると、Apache 2、PHP 8.1、PHP 8.1コマンドラインインタープリター、そしてApache 2とPHP 8.1を連携させるためのモジュールがインストールされます。
sudo apt-get install apache2 php8.1 php8.1-cli \
libapache2-mod-php8.1 -y
注:上記の行は、ページの余白の制限により分割されています。行末のバックスラッシュは意図的なものです。
参照: TechRepublic Premium のサーバーの管理とトラブルシューティングには、このチェックリストを活用してください。
Apache 2の起動と有効化
Apache 2 と PHP モジュールのインストールが完了したら、Apache 2 を起動して有効にする必要があります。Apache 2 を起動しても有効にしないと、システムを再起動しても Apache 2 は再起動しません。
sudo systemctl start apache2
sudo systemctl enable apache2
次のコマンドを使用して、Apache 2 のステータスを確認できます。
sudo systemctl status apache2
このコマンドは、Apache 2 が実行中かどうか、および有効になっているかどうかを知らせます。
PHP 8.1のインストールの確認
Apache 2をインストールし、PHP 8.1を設定したら、インストールが正常に動作していることを確認する必要があります。これは、/var/www/html
ディレクトリ内に簡単なPHPスクリプトを作成することで実行できます。
デフォルトでは、Apache 2 パッケージはディレクトリindex.html
内にファイルを作成します/var/www/html
。このファイルは次のコマンドで削除できます。
sudo rm /var/www/html/index.html
sudo
このファイルは root が所有しているため、このコマンドが必要です。
代わりに、新しいファイル を作成します/var/www/html/index.php
。
sudo nano /var/www/html/index.php
このファイルに次のコードを配置します。
<?php
phpinfo();
?>
サーバーにデスクトップ環境とWebブラウザがインストールされている場合は、URL http://localhost でインストール先を参照できます。そうでない場合は、インストールを実行したサーバーのIPアドレスを使用して、ネットワーク上の別のコンピューターからインストール先を参照できます。
以下のような画面が表示されたら、おめでとうございます!Apache 2 と PHP 8.1 が正常にインストールされました (図 A )。
図A

Apache 2 および PHP 8.1 のインストールが動作していることを確認したら、phpinfo()
特にこれを公開サーバー上で実行している場合は、必ず次のコマンドを入力してください。
<?php
//phpinfo();
?>
次のステップ: Apache 2 と PHP のセットアップのセキュリティ保護
通常、Apache 2とPHPの設定に関しては「これで完了!」と言えるでしょう。しかし、実際にはそうではありません。まず、Apache 2のデフォルト設定は非常に安全性が低いため、次に行うべきことは、適切なセキュリティ対策を講じることです。具体的な方法については、以下の記事をご覧ください。
- Apache 2 サーバーを 4 つのステップで保護する方法 (TechRepublic)
- ディレクトリフォルダを非表示にしてApacheのセキュリティを強化する方法(TechRepublic)
- 公開される情報を制限してApacheサーバーのセキュリティを向上させる方法(TechRepublic)