ウェブサイト検索

Ubuntu 22.04 LTS に Nginx、MariaDB、および PHP (LEMP) をインストールする方法


このガイドでは、Ubuntu 22.04 LTS に LEMP スタック (Nginx、MariaDB、および PHP) をインストールする手順を段階的に説明します。

LEMP は、Web アプリケーションを提供するためによく使用される、無料のオープンソース ソフトウェアのグループの頭字語です。これは、Linux オペレーティング システム上の Nginx Web サーバー、MySQL/MariaDB データベース、および PHP スクリプト言語の構成を表します。

PHP ベースのアプリケーションを作成する場合、または WordPress や Joomla などの CMS システムを使用する場合は、LEMP スタックを使用することになるでしょう。

このガイドでは、Ubuntu 22.04 LTS (Jammy Jellyfish) に LEMP スタック (Nginx、MariaDB、PHP) をインストールする方法を説明します。 ただし、Ubuntu 24.04 LTS(Noble Numbat)用のものをお探しの場合は、ここで見つけることができます。

ステップ 1: ソフトウェア リポジトリを更新する

まず、APT コマンドを使用して、システムの利用可能なパッケージのリストを更新します。 これにより、Ubuntu 22.04 LTS システムへの LEMP スタックのインストール全体にわたってパッケージの最新バージョンのみが使用されるようになり、問題が回避されます。

sudo apt update
sudo apt upgrade

システムが完全に更新されていることを確認してください。パッケージを更新する必要がある場合は、続行する前にパッケージを適用することをお勧めします。

ステップ 2: Ubuntu 22.04 LTS に Nginx Web サーバーをインストールする

ウェブサーバーを使用すると、ウェブページなどの訪問者のコンテンツを提供できます。この手順では、LEMP スタックの 2 番目の要件である Nginx Web サーバーを処理します。 

次のコマンドを使用して、最新の Nginx バージョンを Ubuntu 22.04 システムにインストールします。プロンプトが表示されたら、「Y」と入力して、インストールすることを確認します。

sudo apt install nginx

インストールが完了すると、Nginx Web サーバーが Ubuntu 22.04 サーバー上で実行されます。まずは、期待どおりに動作するかどうかを確認してみましょう。

システムで Web ブラウザを開き、アドレス バーにサーバーの IP アドレスを入力します。

デフォルトの Nginx ページが表示されます。

ステップ 3: Ubuntu 22.04 LTS に MariaDB サーバーをインストールする

Web サーバーが動作するようになったので、Web サイトのデータを保存および管理するデータベース システムをインストールする必要があります。このチュートリアルでは、MySQL の代わりに MariaDB をインストールします。

MariaDB は、下位互換性があり、MySQL のバイナリ ドロップイン代替となるオープンソースの RDBMS (リレーショナル データベース管理システム) です。 MySQL と比較して、MariaDB はより高速なレプリケーション速度、より厳格なセキュリティ対策、追加のストレージ エンジンによりパフォーマンスが向上しています。

MariaDB データベースをインストールするには、以下のコマンドを実行し、プロンプトが表示されたら「Y」と入力して「Enter」を押してインストールを確認します。

sudo apt install mariadb-server

ステップ 3.1: MariaDB サーバーの保護

次に、「mariadb-server」パッケージで提供されるスクリプト(mysql_secure_installation)を使用して、サーバーへのアクセスを制限し、未使用のアカウントを削除します。デフォルト設定では、 MariaDB のインストールは安全ではありません。

sudo mysql_secure_installation

上記のコマンドを実行すると、MariaDB の root パスワードを入力するように求められます。 root パスワードを空のままにして Enter キーを押します。残りの部分については、「Y」と入力して「Enter」を押します。

素晴らしい! Ubuntu 22.04 LTS 上の LEMP スタックで MariaDB サーバーを保護しました。

MariaDB root アカウントに対して上記で指定したパスワードはリモート ユーザーのみに使用されることを明確にします。インストールしたホストからログインする場合、パスワードを入力する必要はなく、パスワードを求められることもありません。

ステップ 3.2: MariaDB インストールのテスト

ログインして簡単なクエリを実行して、データベース サーバーが正常に機能しているかどうかを確認してみましょう。

以下に示すコマンドを入力します。

sudo mysql

サーバーコンソールが起動するはずです。次に、簡単なクエリを実行します。

select version();

クエリに応答して、MariaDB サーバーはそのバージョンを返す必要があります。最後に、quit コマンドを使用して MariaDB シェルを終了し、システム ターミナルに戻ります。

ステップ 4: Ubuntu 22.04 LTS に PHP をインストールする

完全な LEMP スタックを Ubuntu 22.04 LTS システムにインストールするための最後のステップは、PHP をインストールすることです。 Nginx に PHP サポートを追加するには、PHP-FPM をインストールして使用し、PHP ファイルを実行する必要があります。

したがって、PHP-FPM と最も広く使用されているいくつかの PHP モジュールをインストールするには、以下のコマンドを入力し、プロンプトが表示されたら「Y」と入力してインストールすることを確認します。

sudo apt install php-fpm php-mysql php-gd php-cli php-curl php-mbstring php-zip php-opcache

上記のコマンドは、Ubuntu 22.04 システムに PHP 8.1 の最新バージョンをインストールします。

ステップ 5: PHP ファイルを実行するように Nginx を構成する

すべての LEMP コンポーネントを Ubuntu 22.04 システムにインストールしたので、デフォルトの Nginx 仮想ホスト構成ファイルを編集する必要があります。

sudo vim /etc/nginx/sites-enabled/default

次の行をデフォルトの server ブロックに追加して、Nginx が PHP ファイルを処理できるようにします。

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

次のコマンドを入力して、変更した Nginx 構成ファイルに構文エラーがないかテストします。

sudo nginx -t

上記の結果が得られれば、すべてがうまくいっているので、残っているのは最後のステップだけです。ただし、エラーが報告された場合は、続行する前にファイルを再確認してください。

準備ができたら、Nginx を再起動して変更を有効にします。

sudo systemctl restart nginx

仮想ホストの Nginx サーバー ブロックを作成および編集する方法を学びたい場合は、「Nginx 仮想ホストの作成方法 (サーバー ブロック)」に関する優れたガイドをお勧めします。

ステップ 6: Ubuntu 22.04 LEMP インストールをテストする

Ubuntu 22.04 への Nginx、MariaDB、および PHP のインストールが完了したため、LEMP スタックは完全に動作できるようになりました。

最後に、テスト PHP ファイルを作成して、PHP-FPM が動作し、Nginx と統合されていることを確認しましょう。上記のデフォルトのサーバー ブロックでは、サイトは /var/www/html から提供されているため、そこにテスト ファイルを作成します。

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

これで、サイトのドメインまたはサーバーの IP アドレスに続いて「/test.php」を使用することで、ウェブブラウザから「test.php」にアクセスできるようになります。 PHP のインストールに関する完全な情報を含むページが表示されます。

おめでとう! LEMP スタックは正常にインストールされ、完全に機能します。

結論

このガイドでは、LEMP スタック (Nginx、MariaDB、および PHP) を Ubuntu 22.04 LTS にインストールする方法を説明しました。 PHP ベースの Web アプリをサーバー上で実行できるようになりました。

ここからいくつかの次のステップに進むことができます。たとえば、ウェブサイトが安全な SSL (HTTPS) 接続経由でコンテンツを提供できるように、Nginx サーバーでの SSL 証明書の設定に関するガイドを読むことをおすすめします。

お時間をいただきありがとうございました!このガイドがお役に立てば幸いです。フィードバックやコメントをお待ちしております。

関連記事: