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 証明書の設定に関するガイドを読むことをおすすめします。
お時間をいただきありがとうございました!このガイドがお役に立てば幸いです。フィードバックやコメントをお待ちしております。