Alma Linux 8にphpMyAdminをインストールして保護する方法
phpMyAdmin は、MySQL および MariaDB 用の無料のオープンソース データベース管理アプリケーションです。 Web ベースのインターフェイスからデータベース関連のさまざまなタスクを管理、実行し、クエリを実行できます。 PHP で書かれており、Web ブラウザ経由でデータベースを管理するための堅牢で使いやすいインターフェイスを提供します。クロスプラットフォームであり、Windows、macOS、Linux、BSD などの多くのオペレーティング システムで実行できます。
このチュートリアルでは、Alma Linux 8にphpMyAdminをインストールする方法を学びます。
前提条件
- Alma Linux 8を実行しているサーバー。
- サーバー IP で指定された有効なドメイン名。
- root パスワードはサーバー上で構成されます。
LEMPサーバーのインストール
まず、次のコマンドを使用して、Nginx Web サーバーと MariaDB データベース サーバーをインストールします。
dnf install nginx mariadb -y次に、次のコマンドを使用して Remi PHP リポジトリをインストールします。
dnf -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm次に、次のコマンドを使用して、デフォルトの PHP モジュールを無効にし、Remi PHP モジュールを有効にします。
dnf module -y reset php
dnf module install php:remi-7.4 -y
次に、次のコマンドを使用して、他の必要な拡張機能とともに PHP をインストールします。
dnf install php php-cli php-common php-fpm php-curl php-gd php-mbstring php-process php-snmp php-xml php-zip php-memcached php-mysqlnd php-json php-mbstring php-pdo php-pdo-dblib php-xml unzip wget -yすべてのパッケージがインストールされたら、PHP-FPM 構成ファイルを編集します。
nano /etc/php-fpm.d/www.confユーザーとグループを Apache から Nginx に変更します。
user = nginx
group = nginx
ファイルを保存して閉じ、次のコマンドを使用して Nginx、MariaDB、および PHP-FPM サービスを開始して有効にします。
systemctl start nginx php-fpm mariadb
systemctl enable nginx php-fpm mariadbphpMyAdminのユーザーを作成する
次に、すべてのデータベース管理タスクを実行するために、phpMyAdmin 用に別のユーザーを作成することをお勧めします。まず、次のコマンドを実行して MariaDB を保護します。
mysql_secure_installationこのスクリプトは、次に示すように、root パスワードを設定し、匿名ユーザーを削除し、リモートでの root ログインを禁止し、テスト データベースを削除します。
Set root password? [Y/n] n
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
次に、次のコマンドを使用して MariaDB にログインします。
mysqlログインしたら、次のコマンドを使用してデータベースとユーザーを作成します。
MariaDB [(none)]> CREATE DATABASE phpmyadmin CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'password';次に、すべての権限を管理者ユーザーに付与します。
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'%';次に、次のコマンドを使用して権限をフラッシュし、MariaDB コンソールを終了します。
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Alma Linux 8にphpMyAdminをインストールする
次に、phpMyAdmin の最新バージョンを公式 Web サイトからダウンロードします。
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.3/phpMyAdmin-5.1.3-all-languages.zipダウンロードが完了したら、次のコマンドを使用してダウンロードしたファイルを解凍します。
unzip phpMyAdmin-5.1.3-all-languages.zip次に、抽出したディレクトリを Nginx Web ルート ディレクトリに移動します。
mv phpMyAdmin-5.1.3-all-languages /usr/share/nginx/phpmyadmin次に、次のコマンドを使用してサンプル構成ファイルをコピーします。
cp /usr/share/nginx/phpmyadmin/config{.sample,}.inc.php次に、次のコマンドを使用して構成ファイルを編集します。
nano /usr/share/nginx/phpmyadmin/config.inc.php以下に示すようにシークレットを定義します。
$cfg['blowfish_secret'] = 'securekey';
ファイルを保存して閉じてから、phpMyAdmin ディレクトリの所有権を変更します。
chown -R nginx:nginx /usr/share/nginx/phpmyadmin
chown -R nginx:nginx /var/lib/php/session/phpMyAdmin 用に Nginx を構成する
次に、phpMyAdmin 用の Nginx 仮想ホスト構成ファイルを作成する必要があります。次のコマンドで作成できます。
nano /etc/nginx/conf.d/phpmyadmin.conf次の行を追加します。
server {
listen 80;
server_name phpmyadmin.example.com;
root /usr/share/nginx/phpmyadmin;
access_log /var/log/nginx/phpmyadmin_access.log;
error_log /var/log/nginx/phpmyadmin_error.log;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_intercept_errors on;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php-fpm/www.sock;
}
}
ファイルを保存して閉じ、次のコマンドを使用して Nginx に構文構成エラーがないか確認します。
nginx -t
次の出力が得られます。
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
次に、Nginx サービスを再起動して変更を適用します。
systemctl restart nginx php-fpm次のコマンドを使用して、Nginx のステータスを確認できるようになりました。
systemctl status nginx次の出力が表示されるはずです。
? nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/nginx.service.d
??php-fpm.conf
Active: active (running) since Fri 2022-04-15 10:06:39 UTC; 3s ago
Process: 85445 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 85443 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 85442 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 85449 (nginx)
Tasks: 2 (limit: 11412)
Memory: 3.8M
CGroup: /system.slice/nginx.service
??85449 nginx: master process /usr/sbin/nginx
??85450 nginx: worker process
Apr 15 10:06:39 linux systemd[1]: nginx.service: Succeeded.
Apr 15 10:06:39 linux systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Apr 15 10:06:39 linux systemd[1]: Starting The nginx HTTP and reverse proxy server...
Apr 15 10:06:39 linux nginx[85443]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Apr 15 10:06:39 linux nginx[85443]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Apr 15 10:06:39 linux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Apr 15 10:06:39 linux systemd[1]: Started The nginx HTTP and reverse proxy server.
ファイアウォールの構成
次に、ファイアウォールを通過する HTTP サービスを許可する必要があります。次のコマンドを使用して許可できます。
firewall-cmd --permanent --zone public --add-service http次に、ファイアウォールをリロードして変更を適用します。
firewall-cmd --reloadphpMyAdmin Web UIにアクセスする
次に、Web ブラウザを開き、URL http://phpmyadmin.example.com を使用して phpMyAdmin にアクセスします。 phpMyAdmin ログイン ページが表示されるはずです。
管理者のユーザー名とパスワードを入力し、[実行] ボタンをクリックします。ログインすると、phpMyAdmin ダッシュボードが表示されます。
[データベース] ボタンをクリックします。次のページが表示されるはずです。
作成するデータベース名を入力し、[作成] ボタンをクリックします。
削除するデータベースを選択し、「ドロップ」ボタンをクリックしてデータベースを削除します。次のページが表示されるはずです。
[OK] ボタンをクリックして確認し、選択したデータベースを削除します。
結論
おめでとう! Alma Linux 8 に Nginx を使用して phpMyAdmin を正常にインストールしました。これで、Web ブラウザ経由で MySQL データベースと MariaDB データベースを管理できるようになりました。ご質問がございましたらお気軽にお問い合わせください。




