読み込み中...

UbuntuでNginxとPHPをセットアップする5つの簡単なステップ

UbuntuでNginxとPHPをセットアップするイラスト PHP
この記事は約7分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

本記事のサンプルコードを活用して機能追加、目的を達成できるように作ってありますので、是非ご活用ください。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を満たす現役のプログラマチームによって監修されています。

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

UbuntuでNginxとPHPをセットアップする方法を学びたいと思いますか?

それなら、あなたは正しい場所にいます。

この記事では、UbuntuでNginxとPHPをセットアップするための詳細な手順とサンプルコードを初心者向けに解説します。

これを読めば、あなたも自分のUbuntuシステムでNginxとPHPを動かすことができるようになります。

●UbuntuにNginxとPHPをインストールする

まず最初に、UbuntuシステムにNginxとPHPをインストールする必要があります。

それぞれのインストール手順を紹介します。

○Nginxのインストール

Nginxは、高性能で信頼性の高いHTTPサーバーであり、リバースプロキシサーバーとしても広く使用されています。

下記のコマンドを使用して、UbuntuにNginxをインストールします。

sudo apt update
sudo apt install nginx

これらのコマンドは、まずUbuntuのパッケージリストを更新し、次にNginxをインストールします。

○PHPのインストール

次に、PHPをインストールします。

PHPは、ウェブ開発に広く使用されるスクリプト言語で、HTMLと組み合わせて使用することができます。

下記のコマンドを使用して、UbuntuにPHPをインストールします。

sudo apt install php-fpm

このコマンドは、PHPとPHP-FPM(FastCGI Process Manager)をインストールします。

PHP-FPMは、PHPの高速な実行を可能にするツールです。

これで、UbuntuシステムにNginxとPHPがインストールされました。

次に、これらを設定する方法を見ていきましょう。

●NginxとPHPを設定する

NginxとPHPがインストールされたら、次はこれらを設定する必要があります。

それぞれの設定手順を紹介します。

○Nginxの設定

Nginxの設定は、主にNginxの設定ファイルを編集することで行います。

この設定ファイルは、通常、/etc/nginx/sites-available/defaultの場所にあります。

下記のコマンドを使用して、この設定ファイルを編集します。

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

このコマンドは、nanoエディタを使用してNginxの設定ファイルを開きます。

ここで、次のように設定を変更します。

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

   server_name _;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    }

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

この設定では、NginxがHTTPリクエストを受け取るポートを80に設定し、ウェブサイトのルートディレクトリを/var/www/htmlに設定しています。

また、indexディレクティブを使用して、Nginxがデフォルトで提供するインデックスファイルを指定しています。

○PHPの設定

次に、PHPを設定します。

PHPの設定は、主にphp.iniファイルを編集することで行います。

このファイルは、PHPの動作を制御するための設定を含んでいます。

下記のコマンドを使用して、php.iniファイルを編集します。

sudo nano /etc/php/7.2/fpm/php.ini

このコマンドは、nanoエディタを使用してphp.iniファイルを開きます。

ここで、cgi.fix_pathinfoパラメータを0に設定します。

cgi.fix_pathinfo=0

これで、NginxとPHPの設定が完了しました。

次に、これらの設定が正しく動作するかをテストする方法を見ていきましょう。

●NginxとPHPのテスト

NginxとPHPの設定が完了したら、次はこれらが正しく動作するかをテストする必要があります。

次に、それぞれのテスト手順を紹介します。

○Nginxのテスト

Nginxの設定が正しく行われたかを確認するために、下記のコマンドを使用します。

sudo nginx -t

このコマンドは、Nginxの設定ファイルに構文エラーがないかをチェックします。

エラーがなければ、Nginxの設定は正しく行われています。

○PHPのテスト

次に、PHPが正しく動作するかを確認します。

これを行うために、PHPの情報を表示する簡単なPHPスクリプトを作成します。

下記のコマンドを使用して、このスクリプトを作成します。

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

このコマンドは、phpinfo関数を呼び出すPHPスクリプトを作成し、それを/var/www/html/info.phpに保存します。

このスクリプトをウェブブラウザからアクセスすると、PHPの情報が表示されます。

これで、NginxとPHPのテストが完了しました。

次に、注意点と対処法について見ていきましょう。

●注意点と対処法

NginxとPHPをUbuntuにセットアップする際には、いくつかの注意点があります。

次に、主な注意点とそれに対する対処法を紹介します。

1.Nginxの設定ファイルの編集

Nginxの設定ファイルは、システムの安全性とパフォーマンスに大きな影響を与えます。

したがって、設定ファイルを編集する際には、何をしているかを理解してから行うことが重要です。

また、設定ファイルを編集した後は、必ずNginxの設定テストを行い、構文エラーがないことを確認してください。

2.PHPの設定

PHPの設定もまた、ウェブアプリケーションの安全性とパフォーマンスに大きな影響を与えます。

したがって、php.iniファイルを編集する際には、何をしているかを理解してから行うことが重要です。

また、設定を変更した後は、必ずPHPの動作をテストしてください。

3.セキュリティ

NginxとPHPをセットアップする際には、セキュリティを常に考慮することが重要です。

例えば、不要なサービスは無効化し、最新のセキュリティパッチを適用し、強力なパスワードを使用するなどの対策を行ってください。

●カスタマイズ方法

NginxとPHPの基本的なセットアップが完了したら、次はこれらを自分のニーズに合わせてカスタマイズすることができます。

例えば、Nginxの設定ファイルを編集して、特定のウェブサイトのためのサーバーブロックを追加したり、PHPの設定を変更して、特定のPHP拡張機能を有効化したりすることができます。

また、NginxとPHPのパフォーマンスを向上させるためのさまざまなオプションもあります。

例えば、Nginxのキャッシュ機能を使用したり、PHP-FPMのプロセス数を調整したりすることができます。

まとめ

この記事では、UbuntuでNginxとPHPをセットアップするための詳細な手順とサンプルコードを初心者向けに解説しました。

これらの手順を順に追っていけば、あなたも自分のUbuntuシステムでNginxとPHPを動かすことができるようになるでしょう。

また、注意点と対処法、カスタマイズ方法についても説明しました。

しかし、これらの情報はあくまで基本的なものであり、実際の環境によってはさらなる設定や調整が必要な場合もあります。

そのため、常に最新の情報をチェックし、自分の環境に最適な設定を行うことが重要です。

また、NginxとPHPのセットアップは、ウェブ開発の一部に過ぎません。

ウェブ開発を学ぶには、HTML、CSS、JavaScriptなどのフロントエンド技術、データベース技術、バージョン管理システムなど、他の多くの技術を理解することも必要です。

それでも、この記事があなたのウェブ開発の旅の一助となれば幸いです。

あなたの成功を祈っています。