ウェブサイト検索

Rocky Linux に phpMyAdmin をインストールする方法


このページでは

  1. httpd と MariaDB のインストール
  2. Rocky Linux に PHP をインストールする
  3. MariaDB デプロイメントの保護
  4. phpMyAdmin ソースコードをダウンロード
  5. phpMyAdmin の設定
  6. phpMyAdmin 用の新しいデータベースの作成
  7. phpMyAdmin の Apache/Httpd 構成の追加
  8. phpMyAdmin のインストールを確認する
  9. 結論

phpMyAdmin は、Web ブラウザーから MySQL および MariaDB データベースを管理できる無料のオープンソース ツールです。 phpMyAdmin は、Web 上で MySQL/MariaDB の管理を処理することを主な目的として、PHP で書かれた完全に機能する Web アプリケーションです。データベース、テーブル、データベース ユーザー、基本的な crud 操作 (作成、読み取り、更新、削除) などを管理するための堅牢で使いやすいインターフェイスを提供します。

phpMyAdmin は、Windows、macOS、Linux、および BSD を含む任意のオペレーティング システムで実行できる PHP Web アプリケーションです。 phpMyAdmin をインストールする前にインストールする必要がある主なコンポーネントは、PHP パッケージと Web サーバーです。Apache、Nginx などを使用できます。

このガイドでは、Rocky Linux に LAMP スタックを使用して phpMyAdmin をインストールする方法を学習します。このガイドは、既存の LAMP スタックがインストールされているサーバー、または LAMP スタック パッケージのない新しいサーバーに適用できます。

前提条件

  • Rocky Linux システム。
  • root または sudo 権限を持つユーザー。このユーザーは、新しいパッケージのインストールとシステム全体の変更に使用されます。

httpd と MariaDB のインストール

最初に、Apache または httpd Web サーバーと MariaDB データベース サーバーをインストールします。これらのパッケージをすべてインストール済みの場合は、これらの段階をスキップできます。

sudo dnf install httpd mariadb mariadb-server

「y」と入力して「Enter」を押し、パッケージを確認してインストールします。

2. インストールが完了したら、次のコマンドを実行して、システムの起動中に httpd および mariadb サービスを自動的に実行できるようにします。

sudo systemctl enable mariadb
sudo systemctl enable httpd

3. 以下のコマンドを使用して、httpd および mariadb サービスを開始します。

sudo systemctl start mariadb
sudo systemctl start httpd

4. その後、次のコマンドを実行して httpd および mariadb サービスを確認します。

sudo systemctl status mariadb
sudo systemctl status httpd

mariadb サービスがアクティブで実行中の場合は、以下のような出力が表示されます。

httpd サービスがアクティブで実行中の場合、以下のような出力が表示されます。

PHP を Rocky Linux にインストールする

httpd および MariaDB パッケージをインストールした後、Rocky Linux に PHP パッケージをインストールします。このガイドでは、Remi リポジトリから PHP パッケージをインストールします。 PHP パッケージを既にインストールしている場合は、この段階をスキップできます。

1. 次のコマンドを実行して、Rocky Linux に EPEL リポジトリを追加します。

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

「y」と入力して「Enter」を押すと、EPEL リポジトリが追加されます。

2. その後、以下のコマンドを使用して、remi リポジトリを Rocky Linux システムに追加します。

sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

「y」と入力して「Enter」を押し、remi リポジトリを追加します。

3. PHP パッケージをインストールする前に、PHP モジュール リポジトリをリセットし、remi リポジトリから PHP モジュールを有効にする必要があります。

次のコマンドを実行して、php モジュールをリセットします。

sudo dnf module reset php

ここで、remi リポジトリの GPG キーを追加するよう求められます。 GPG 関連のすべての質問に対して「y」と入力し、「Enter」を押します。

これで、次のコマンドを使用して PHP remi リポジトリを有効にできます。

sudo dnf module enable php:remi-7.4

特に PHP バージョン 7.4 の場合は、「y」と入力して「Enter」を押して、PHP Remi リポジトリを有効にします。

4. これで、以下のコマンドを使用して PHP パッケージをインストールできます。

sudo dnf install -y php php-common php-mysqlnd php-curl php-gd php-bcmath php-mcrypt php-mbstring php-xml php-zip

5. インストールが完了したら、httpd サービスを再起動して新しい構成を適用します。

sudo systemctl restart httpd

MariaDB デプロイメントの保護

このインストールに新しいシステムを使用している場合は、mariadb の展開を保護するためにこの段階に従うことをお勧めします。ただし、現在のシステムに以前に mariadb がある場合は、この段階をスキップできます。

1. 次のコマンドを実行して、mariadb のルート パスワードを設定し、デプロイを保護します。

sudo mysql_secure_installation

ここで、mariadb ルート ユーザーの新しいパスワードを入力し、すべての質問に対して「Y」と入力します。これは、mariadb 展開の基本的なセキュリティに関連しています。

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password: TYPE NEW PASSWORD for mariadb root user
Re-enter new password:REPEAT
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

これで、次の段階に進むことができます。

phpMyAdmin ソースコードをダウンロード

1. 作業ディレクトリを「/var/www」に変更し、以下のように wget コマンドを使用して phpMyAdmin のソース コードをダウンロードします。

cd /var/www/
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip

2. phpMyAdmin ソース コードを抽出すると、新しいディレクトリ名が「phpMyAdmin-VERSION-NUMBER」として取得されます。以下のように、ディレクトリの名前を「phpmyadmin」に変更します。

unzip phpMyAdmin-5.1.1-all-languages.zip
mv phpMyAdmin-5.1.1-all-languages phpmyadmin

3. 次に、以下のように chown コマンドを使用して、「phpmyadmin」ディレクトリの所有者を「apache」ユーザーに変更します。

sudo chown -R apache:apache phpmyadmin

phpMyAdmin を設定するための次の段階に進みます。

phpMyAdmin の設定

この段階では、phpMyAdmin インストールを構成します。

1. 作業ディレクトリを「/var/www/phpmyadmin」ディレクトリに変更し、サンプル構成を「config.inc.php」にコピーしてから、構成ファイルの所有者をユーザー「apache」に変更します。

cd /var/www/phpmyadmin/

cp config.sample.inc.php config.inc.php
chown apache:apache config.inc.php

2. 次に、以下の openssl コマンドを使用して、ランダムなストロングと番号 (シークレット) を生成します。

openssl rand -hex 16

生成されたシークレットをメモにコピーします。

3. nano エディターを使用して、phpMyAdmin 構成「config.inc.php」を編集します。

nano config.inc.php

以下のように、「$cfg['blowfish_secret']='.....';」の値を、生成したシークレットを先頭に変更します。

$cfg['blowfish_secret'] = 'e5c4d8f3e2569dab102873a67481c8bb'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

「Ctrl+x」を押して「y」と入力し、「Enter」を押して構成を保存し、終了します。

phpMyAdmin 用の新しいデータベースの作成

この段階では、phpMyAdmin 用の新しいデータベースとユーザーを作成します。このデータベースは、phpMyAdmin 構成を保存するために使用されます。

1. 以下の mysql コマンドを使用して、mariadb シェルにログインします。

mysql -u root -p

mariadb ルート パスワードを入力し、Enter キーを押します。

2. 以下のクエリを使用して、新しいデータベース名「phpmyadmin」を作成します。

CREATE DATABASE phpmyadmin;

3. 次のクエリを使用して、暗号化されたパスワードを生成します。生のパスワード「mystrongpassword」を自分のパスワードに変更してください。

SELECT PASSWORD('mystrongpassword');

暗号化されたパスワードをメモにコピーします。

4. 次に、パスワードを暗号化した新しいユーザー名「pma」を作成します。次に、ユーザーにデータベース「phpmyadmin」へのアクセスを許可し、新しい変更を適用します。

CREATE USER 'pma'@'localhost' IDENTIFIED VIA mysql_native_password USING '*617DA9A67DC81CE28027875FA123071F038CC7CA';
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
FLUSH PRIVILEGES;

「quit」と入力して、mariadb シェルを終了します。

5. データベースとユーザーを作成したら、phpMyAdmin のデータベース スキーマをインポートする必要があります。

作業ディレクトリを「/var/www/phpmyadmin/sql」に変更します。

cd /var/www/phpmyadmin/sql

次のコマンドを実行して、データベース スキームをデータベース 'phpmyadmin' にインポートします。

mysql -u root -p phpmyadmin < create_tables.sql

データベースのルート パスワードを入力し、[Enter] を押します。

phpMyAdmin の Apache/Httpd 構成の追加

この段階では、phpMyAdmin 用の新しい Apache/httpd 構成を作成します。また、phpMyAdmin のセキュリティを強化するために Apache 基本認証を構成します。

1. 作業ディレクトリを「/etc/httpd/conf.d」に変更し、nano エディターを使用して新しい構成「phpmyadmin.conf」を作成します。

cd /etc/httpd/conf.d/
nano phpmyadmin.conf

次の構成をコピーして貼り付けます。

# Alias for accessing phpmyadmin
Alias /phpmyadmin /var/www/phpmyadmin

# document root phpmyadmin
<Directory /var/www/phpmyadmin>

# Enable Basic authentication
    AuthType Basic
    AuthName "Please Enter Your Password"
    AuthUserFile /var/www/phpmyadmin/.htpasswd
    Require valid-user

#    If you're paranoid - use this and allow a specific IP address
#    Order deny,allow
#    Deny from all
#    Allow from 127.0.0.1
#    Allow from ::1

</Directory>

「Ctrl+x」を押して「y」と入力し、「Enter」を押して保存して終了します。

2. 次のコマンドを実行して、新しい apache 基本認証パスワードを作成します。ユーザー「johndoe」を自分のユーザー名に変更します。

htpasswd -c /var/www/phpmyadmin/.htpasswd johndoe

ユーザーのパスワードを入力して繰り返します。

3. 次に、作業ディレクトリを「/var/www/phpmyadmin」に変更し、nano エディターを使用して新しい構成「.htaccess」を作成します。

cd /var/www/phpmyadmin/
nano .htaccess

次の構成をコピーして貼り付けます。

AuthUserFile /var/www/phpmyadmin/.htpasswd
AuthGroupFile /dev/null
AuthName "Secret"
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
    deny from all
</Files>

「Ctrl+x」を押して「y」と入力し、「Enter」を押して保存して終了します。

4. 次に、次のコマンドを使用して、構成ファイル '.htaccess' および '.htpasswd' (htpasswd コマンドで生成された) の所有権を 'apache' に変更します。

chown apache:apache .htaccess .htpasswd

5. httpd の設定を確認し、エラーがないことを確認してから、httpd サービスを再起動して新しい変更を適用する必要があります。

sudo apachectl configtest
sudo systemctl restart httpd

phpMyAdmin のインストールを確認する

1. Web ブラウザを開き、ディレクトリ パス '/phpmyadmin' の後にサーバーの IP アドレスを入力します。

http://SERVER-IP/phpmyadmin/

Apache/httpd 基本認証からのユーザーとパスワードを入力します。

ユーザーとパスワードが正しければ、phpMyAdmin ログイン ページが表示されます。そうしないと、同じページにリダイレクトされるか、'401 Unautorhized' アクセスのページが表示されます。

2. phpMyAdmin ログイン ページで、データベース ユーザー「root」とパスワードを入力し、[Go] をクリックして phpMyAdmin にログインします。

これで、以下のように phpMyAdmin ダッシュボードが表示されます。

上のスクリーンショットには、MariaDB データベース サーバーの詳細が表示されます。また、「Web サーバー」セクションの下に LAMP スタックの詳細が表示されます。

結論

おめでとう!これで、Rocky Linux に phpMyAdmin が正常にインストールされました。次の段階では、phpMyAdmin を使用してデータベースを簡単に管理できます。既存のデータベースをインポートするか、Web アプリケーション用に新しいデータベースを作成するか、phpMyAdmin SQL クエリを介して MySQL クエリを使用して一部のデータを更新することができます。