Ubuntu20.04でPhpMyAdminを使用してLEMPスタックをインストールする方法


LEMPが何であるかを知らない人のために、これはソフトウェアパッケージの組み合わせです– Linux、Nginx(EngineXと発音)、MariaDB、PHP。

LEMPは、テスト目的または実際の本番環境の両方で使用して、LaravelやYiiなどのPHPフレームワーク、またはWordPress、Drupal、Joomlaなどのコンテンツ管理システムを使用してWebアプリケーションをデプロイできます。

LAMPとLEMPの違いは何だろうと思うかもしれません。唯一の違いは、含まれているWebサーバー(Apache(LAMP内)とNginx(LEMP内))です。どちらのWebサーバーも非常に優れており、Apacheが最も頻繁に使用されていますが、Nginxは決して後退しません。

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

Ubuntu 20.04のLAMPセットアップをお探しの場合は、Ubuntu20.04のLAMPセットアップガイドをお読みください。

  1. Ubuntu 20.04 Server Installation Guide

この記事では、Ubuntu20.04サーバーでPhpMyAdminを使用してLEMPスタックをインストールおよび構成する方法を学習します。

ステップ1:Ubuntu20.04にNginxをインストールする

1. Nginxは、サーバーリソースをあまり消費せずに、多数の同時接続をサーバー化するように設計された、高速で最新のWebサーバーです。これが、エンタープライズ環境でしばしば好まれる選択である理由です。

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

次のコマンドを実行して、Ubuntu20.04デスクトップまたはサーバーにNginxをインストールできます。

$ sudo apt update
$ sudo apt install nginx

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

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

$ sudo systemctl status nginx 
$ sudo systemctl is-enabled nginx

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

http://SERVER_IP

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

$ ip addr show

次のスクリーンショットに示すように、NGINXのデフォルトのWebページが読み込まれ、正しいインストールと操作が確認されます。

ステップ2:Ubuntu20.04にMariaDBデータベースをインストールする

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

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

$ sudo apt install mariadb-server mariadb-client

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

$ sudo systemctl status mariadb
$ sudo systemctl is-enabled mariadb

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

$ sudo mysql_secure_installation

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

  • Enter current password for root (enter for none): Enter
  • Set a root password? [Y/n] y
  • Remove anonymous users? [Y/n] y
  • Disallow root login remotely? [Y/n] y
  • Remove test database and access to it? [Y/n] y
  • Reload privilege tables now? [Y/n] y

7.データベース操作を作成、管理、および実行するには、データベースのユーザー名を指定する -u フラグと、ユーザーのパスワードを指定する -p を指定してmysqlshellコマンドを実行する必要があります。 。

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

$ mysql -u root -p
$ sudo mysql -u root

ステップ3:Ubuntu20.04にPHPをインストールする

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

NGINXは、FPM(FastCGI Process Manager)またはPHP-FPMを使用してPHPスクリプトを処理します。 PHP-FPMは、広く使用されている代替PHP FastCGI実装であり、多くの追加機能が付属しており、トラフィックの多いサイト/ Webアプリケーションに電力を供給するために使用されます。

PHPおよびPHP-FPMをインストールするには、次のコマンドを実行します。これにより、いくつかの必要な追加パッケージもインストールされます。

$ sudo apt install php php-mysql php-fpm

PHP7.4はUbuntu20.04のPHPのデフォルトバージョンであるため、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

ステップ4:PHP-FPMで動作するようにNginxを構成する

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

$ sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

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

$ sudo vi /etc/nginx/sites-available/default

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

12.次に、NGINX構成構文が正しいかどうかをテストします。問題がない場合は、Nginxサービスを再起動して新しい変更を適用します。

$ sudo nginx -t
$ sudo systemctl restart nginx

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

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

14.ブラウザで、次のアドレスを使用してナビゲートします。次のスクリーンショットに示すように、PHP構成ページが読み込まれます。

http://SERVER_IP/info.php

ステップ5:Ubuntu20.04にPhpMyAdminをインストールする

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

$ sudo apt install phpmyadmin

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

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

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

ステップ6:PhpMyAdminサイトにサービスを提供するようにNGINXを構成する

19.NGINXが/ usr/share/phpmyadminにある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ディレクティブにindex.phpが含まれていることを確認します。

21.次に、Nginxサービスをもう一度再起動して、上記の変更を適用します。

$ sudo systemctl restart nginx

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

http://SERVER_IP/phpmyadmin

ログインページで、PHPMyAdminのユーザー名とパスワードを使用して認証します。 MariaDBデータベースがインストールされているローカルホストでPHPMyAdminにアクセスしていない限り、リモートrootユーザーのログインは無効になっていることに注意してください。rootアクセスは機能しません。

最後になりましたが、ガイドを使用してPhpMyAdminのインストールを保護してください。PhpMyAdminWebインターフェイスを保護するための4つの便利なヒント。

結論

これでLEMPのセットアップが完了し、Webアプリケーションの構築を開始するか、インストールしたばかりのNginxおよびMariaDBサービスで遊ぶことができます。これらは広く使用されており、システム管理者には、これらについてより多くの知識を習得することを強くお勧めします。