UbuntuでNginxとPHPをセットアップする方法

1. 必要なパッケージをインストール

まず、NginxとPHPを動かすために必要なパッケージをインストールします。これにはNginx自体、PHPとその拡張機能、データベース用のMySQL(またはMariaDB)などが含まれます。

コマンド:

sudo apt update
sudo apt install nginx php-fpm php-mysql -y

2. Nginxを設定する

インストールが終わったら、NginxにPHPを使うよう設定を加えます。デフォルトの設定ファイルを変更して、PHPファイルを正しく処理できるようにします。

設定ファイルを編集:

sudo nano /etc/nginx/sites-available/default

以下のように設定を変更または追加します。

設定例:

server {
    listen 80;
    server_name localhost;

    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock; # PHPのバージョンに合わせて変更
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

3. 必要なディレクトリとファイルを作成

Nginxの設定が完了したら、ウェブサーバーのルートディレクトリにPHPのテストファイルを作成します。

コマンド:

sudo echo "<?php phpinfo();" > /var/www/html/index.php

4. サービスを再起動してテスト

設定を反映するためにNginxを再起動します。また、PHP-FPMも再起動しておきましょう。

コマンド:

sudo systemctl restart nginx
sudo systemctl restart php8.2-fpm # バージョンに合わせて変更

動作確認: ブラウザを開き、サーバーのIPアドレスまたはhttp://localhostにアクセスします。phpinfo()のページが表示されれば成功です。

5. ファイアウォールを設定する(オプション)

Ubuntuでファイアウォール(UFW)を有効にしている場合、Nginxの通信を許可する設定を行います。

コマンド:

sudo ufw allow 'Nginx HTTP'
sudo ufw enable
sudo ufw status

Nginx HTTPプロファイルを許可することで、HTTP通信を許可します。
必要に応じてHTTPS通信(SSL/TLS)も設定できます。

まとめ

以上の5つのステップを完了することで、Ubuntu上でNginxとPHPを組み合わせた基本的なウェブサーバー環境が構築できます。以下が今回のポイントです。

  1. 必要なパッケージをインストール。
  2. NginxをPHP対応に設定。
  3. テスト用PHPファイルを作成。
  4. サービスを再起動して動作確認。
  5. 必要に応じてファイアウォールを設定。

この環境をベースに、データベースとの連携やSSL/TLSの設定などを進めていくことで、本格的なウェブアプリケーションを作成できるようになります。