Ubuntu 20.04にPhpMyAdmin付きのLEMPスタックをインストールする方法

LEMPとは、ソフトウェアパッケージの組み合わせであり、Linux、Nginx(エンジンエックスと発音)、MariaDB、PHPからなります。

LEMPは、WordPressDrupal、またはJoomlaなどのコンテンツ管理システム、あるいはLaravelやYiiなどのPHPフレームワークを使用してウェブアプリケーションを展開するために、テスト目的または実際のプロダクション環境で使用できます。

LAMPLEMPの違いは、含まれるウェブサーバーだけです。ApacheLAMP)とNginxLEMP)。両方のウェブサーバーは非常に優れていますが、Apacheは最も頻繁に使用されるものですが、Nginxも全く引けを取りません。

LEMPスタックと一緒に通常インストールされる広く使用されているアプリケーションには、PhpMyAdminがあります。これは、ウェブブラウザからMySQL/MariaDBデータベースサーバーを管理するためのPHPベースのツールです。

もし、Ubuntu 20.04用のLAMPセットアップをお探しであれば、当社のUbuntu 20.04でのLAMPセットアップガイドをご覧になるべきです。

前提条件:

  1. Ubuntu 20.04サーバーインストールガイド

この記事では、LEMPスタックとPhpMyAdminUbuntu 20.04サーバーにインストールして構成する方法を学びます。

ステップ1:Ubuntu 20.04にNginxをインストールする

1. Nginxは多くの同時接続を処理するために設計された高速な現代的なWebサーバーです。これは、企業環境ではよく選択される理由です。

NGINXはまた、ロードバランサーやWebコンテンツキャッシュとして一般的に使用されます。名前ベースとIPベースの仮想サーバー(Apacheの仮想ホストに類似)をサポートしています。

次のコマンドを実行して、Ubuntu 20.04のデスクトップやサーバーにNginxをインストールでき

$ sudo apt update
$ sudo apt install nginx
Install Nginx on Ubuntu 20.04

Nginx の設定ファイルは /etc/nginx ディレクトリに保存されており、そのメインの設定ファイルは /etc/nginx/nginx.conf です。重要なのは、Web ファイルを保存するためのデフォルトのドキュメントルートが /usr/share/nginx/html/ であることです。ただし、ウェブサイトやアプリケーションのサーバーブロック構成ファイルで構成されている /var/www/html を使用することもできます。

2. Ubuntu パッケージインストーラーは systemd をトリガーして Nginx サービスを起動し、サーバーが再起動されるたびに自動的に起動できるようにします。以下の systemctl コマンド を使用して、サービスが実行され、有効になっていることを確認します。

$ sudo systemctl status nginx 
$ sudo systemctl is-enabled nginx
Check Nginx Service Status

3. 今度は、ブラウザを使用してサーバーの IP アドレスを介して Nginx ページを呼び出して、Nginx のインストールが成功したかどうかを確認します。

http://SERVER_IP

サーバーの IP アドレスがわからない場合は、次に示すように IP コマンド を使用して取得できます。

$ ip addr show

NGINX のデフォルトの Web ページが正常に読み込まれ、正しいインストールと動作が確認されます。

Test Nginx Installation

Step 2: Installing MariaDB Database on Ubuntu 20.04

4. MariaDB は、Oracle の買収後にコミュニティのフォークとして設計された比較的新しいリレーショナルデータベース管理システムです。MySQL の。

MariaDBのインストールは簡単で、次のコマンドで開始できます:

$ sudo apt install mariadb-server mariadb-client
Install MariaDB on Ubuntu 20.04

5. MariaDBサービスは自動的に開始され、システムの起動時に常に開始されるように設定されます。これを次のコマンドを使用して確認できます。

$ sudo systemctl status mariadb
$ sudo systemctl is-enabled mariadb
Check MariaDB Service

6. もしMariaDBのセキュリティを向上させたい場合は、mysql_secure_installationコマンドを実行できます。これにより、いくつかの基本的で重要な設定オプションが提供されます。

$ sudo mysql_secure_installation

次に、データベースのルート(または管理者)ユーザーのパスワードを設定するオプションを選択し、プロンプトに従い、質問を注意深く読んでください。データベースサーバーをセキュリティで保護するために、スクリーンショットに示されているように質問に答えます。

  • ルートの現在のパスワードを入力(なしの場合はEnterを押します):
  • ルートのパスワードを設定しますか?[Y/n] y
  • 匿名ユーザーを削除しますか?[Y/n] y
  • リモートからのルートログインを禁止しますか?[Y/n] y
  • テストデータベースとそのアクセスを削除しますか?[Y/n] y
  • 特権テーブルを再読み込みしますか?[Y/n] y
Secure MariaDB Server

7. データベースの作成、管理、および操作を行うには、-uフラグを使用してデータベースのユーザー名を指定し、-pを使用してユーザーのパスワードを指定するmysqlシェルコマンドが必要です。

rootユーザーとして接続するには、sudoコマンドを使用します(-pフラグなしでも)。そうしないと、次のスクリーンショットで強調されているエラーが表示されます。

$ mysql -u root -p
$ sudo mysql -u root
Access MariaDB Shell

ステップ3:Ubuntu 20.04にPHPをインストール

8. PHPは、ウェブサイトやウェブアプリケーションを構築するための人気のあるオープンソースで柔軟で動的なスクリプト言語です。さまざまなプログラミング技術をサポートしています。重要なのは、PHPコミュニティが大規模で多様であり、数え切れないほどのライブラリ、フレームワーク、およびその他の便利なコンポーネントから構成されていることです。

NGINXは、FPMFastCGI Process Manager)またはPHP-FPMを使用してPHPスクリプトを処理します。PHP-FPMは、多くの追加機能が含まれている広く使用されているPHP FastCGIの代替実装であり、高トラフィックのサイトやウェブアプリケーションの動力として使用されています。

PHPPHP-FPMをインストールするには、以下のコマンドを実行します。これにより、必要な追加パッケージもインストールされます。

$ sudo apt install php php-mysql php-fpm
Install PHP and PHP-FPM on Ubuntu 20.04

PHP 7.4Ubuntu 20.04のデフォルトバージョンであるため、PHP構成ファイルは/etc/php/7.4/にあり、PHP-FPMの構成ファイルは/etc/php/7.4/fpmに保存されています。

9.次に、php7.4-fpmサービスが稼働しており、有効になっているかどうかを確認するには、次のコマンドを使用します。

$ sudo systemctl status php7.4-fpm
$ sudo systemctl is-enabled php7.4-fpm
Check PHP-FPM Status

ステップ4:NginxをPHP-FPMと連携させる構成

10.次に、NGINXを構成して、クライアントのリクエストをPHP-FPMにプロキシする必要があります。デフォルトでは、UNIXソケットでリスンするように構成されています。これは、/etc/php/7.4/fpm/pool.d/www.confのデフォルトプール構成ファイルで定義されています。

$ sudo vi /etc/php/7.4/fpm/pool.d/www.conf 
Configure PHP-FPM Socket

11.デフォルトのサーバーブロック構成ファイル(/etc/nginx/sites-available/default)で、次のスクリーンショットに示すような PHP リクエストを処理するための場所の ディレクティブ をコメント解除します。

$ sudo vi /etc/nginx/sites-available/default
Configure Nginx Block to Use PHP-FPM Socket

ファイルを保存して終了します。

12.次に、NGINX 構成構文の正確性をテストします。OK であれば、新しい変更を適用するために Nginx サービスを再起動します。

$ sudo nginx -t
$ sudo systemctl restart nginx
Check Nginx Configuration

13.今度は、NGINX が PHP-FPM と連携して PHP リクエストを処理できるかどうかをテストします。ドキュメントルートディレクトリーの下にシンプルな info.php ページを作成します。

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

14.ブラウザで、次のアドレスを使用して移動します。PHP 構成ページが、次のスクリーンショットに示すように表示されるはずです。

http://SERVER_IP/info.php
Check PHP and PHP-FPM Info

Step 5: Ubuntu 20.04 に PhpMyAdmin をインストールする

15. PhpMyAdmin は、ウェブブラウザを介して MySQL/MariaDB データベースサーバーを管理するために特に作成された無料でオープンソースの Web ベースの PHP アプリケーションです。直感的なグラフィカルインターフェースを提供し、データベース管理タスクの一般的な機能を幅広くサポートしています。

$ sudo apt install phpmyadmin
Install PhpMyAdmin in Ubuntu 20.04

16.パッケージのインストール中に、PhpMyAdmin パッケージのいくつかの側面を設定するように求められます。最初に、実行するデフォルトのウェブサーバーを選択するように求められます。提供されたリストに NGINX がないため、Esc を押します。

Choose Web Server to Configure PHPMyAdmin

17. 次に、PhpMyAdminはデータベースが必要です。このパッケージの構成プロンプトで、dbconfig-common packageを使用してPhpMyAdmin用のデータベースを構成するにはYesを選択してください。

Configure Database for PhpMyAdmin

18.次のプロンプトでは、MariaDBデータベースに登録するためのPhpMyAdminのパスワードを入力する必要があります。安全なパスワードを入力してEnterをクリックしてください。

Create a Password for PhpMyAdmin

Step 6: PHPMyAdminサイトを提供するためにNGINXを構成する

19.NGINXがPhpMyAdminサイトを提供するようにするには、/usr/share/phpmyadminにあるこのディレクトリのシンボリックリンクを作成し、次のようにPHPMyAdminディレクトリの正しいパーミッションと所有権を設定します。

$ sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
$ sudo chmod 775 -R /usr/share/phpmyadmin/
$ sudo chown root:www-data -R /usr/share/phpmyadmin/

20.さらに、デフォルトのサーバーブロック構成(/etc/nginx/sites-available/default)ファイルでindex.phpが含まれていることを確認してください。次のスクリーンショットに示すように。

Configure Nginx Index Directive

21.次に、上記の変更を適用するためにNginxサービスを再起動します。

$ sudo systemctl restart nginx

22.次に、ブラウザから次のアドレスを使用してPhpMyAdminサイトにアクセスします。

http://SERVER_IP/phpmyadmin

ログインページで、PHPMyAdminのユーザー名とパスワードで認証してください。リモートルートユーザーログインは無効になっているため、MariaDBデータベースがインストールされているlocalhostでPHPMyAdminにアクセスしている場合を除き、ルートアクセスは機能しません。

PhpMyAdmin Login
PhpMyAdmin Dashboard

最後に、PhpMyAdminのインストールを安全に行うためのガイドを使用してください:PhpMyAdminウェブインターフェースをセキュリティで保護するための4つの有用なヒント

結論

あなたのLEMPセットアップが完了しましたので、ウェブアプリケーションを構築したり、単にインストールしたNginxMariaDBサービスを操作したりすることができます。これらは広く使用されており、システム管理者にとってこれらの知識をさらに深めることが強くお勧めされます。

Source:
https://www.tecmint.com/install-lemp-with-phpmyadmin-in-ubuntu-20-04/