【Ubuntu 20.04 LTS Server】phpMyAdminをインストール

スポンサーリンク

以前の記事で、MySQLサーバをインストールしたが、WebブラウザからMySQLを操作できるツール「phpMyAdmin」を使えるようにする。

【Ubuntu 20.04 LTS Server】MySQLサーバを動かす
以前の記事で「Ubuntu 20.04 LTS Server」をインストールした。 続いて、WordPressなどを動かす準備として、MySQLサーバを動かすようにしたので備忘録を残す。 準備 MySQLサーバとクライアントツールのインスト...

尚、MySQLApache2とPHP は事前にインストールしておく必要があるので関連記事を参照。

前置き

aptからのphpmyadminインストールで、パッケージのウィザード設定で、何故か下記画面エラーとなりインストールが完了できない。これは、パスワードポリシーに合わないパスワードというもの。MySQLサーバ側の設定を変更してパスワードポリシーのレベルを下げたり、パスワードを複雑にしたり、色々と試行錯誤してみたが、どうにも解決できない。

画像01

仕方ないので、このウィザードでの設定は使わずインストール完了させて、手動でphpmyadminユーザを設定する手順とする。

phpmyadminのインストール

phpMyAdminパッケージのインストール。

$ sudo apt install phpmyadmin

Webサーバの種類を聞かれるので「apache2」をスペースキーで選択して [了解] する。(項目の移動は、TABキー)

画像02

dbconfig-commonで設定しますか?と聞かれるので「いいえ」を選択する。

画像03

phpmyadminユーザの設定は、以下、手動で設定する。

phpmyadminユーザの設定

mysqlのコマンドで、phpmyadminユーザ作成する。

$ sudo mysql -u root -p
mysql> CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'yourpassowrd';
mysql> GRANT ALL ON *.* TO 'phpmyadmin'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit

設定ファイルの変更

/etc/phpmyadmin/config-db.phpファイルの変更&確認。

$dbuser='phpmyadmin';
$dbpass='yourpassword';

/etc/dbconfig-common/phpmyadmin.confファイルの変更&確認。

dbc_dbtype='mysql'
dbc_dbuser='phpmyadmin'
dbc_dbpass='yourpassowrd'
phpMyAdminのパスワードの変更手順
前記事でphpMyAdminをインストールしたが、ログインパスワードを変更する必要があったので、要領について備忘録を残す。 1.mysqlでphpmyadminユーザのパスワードを変更 $ sudo mysql -u root -p mys...

apache2サーバの設定

下記の/etc/apache2/conf-available/phpmyadmin.confのシンボリックリンクが自動設定されているので、特に設定する必要ない。

画像05

念のため、Apacheの再起動。

$ sudo service apache2 restart

WebブラウザからphpMyAdminにアクセス

http://<サーバIP>/phpmyadmin/

下記のログイン画面が表示される。

画面10

登録したユーザ名「phpmyadmin」と「パスワード」を入力。下記画面が表示される。

画面12

起動したが、「拡張機能が無効になっています。」となっているので [こちら] を押す。

画像12

データベースを [作成] を押す。管理データベースが作成される。
再度起動ログインする。

画像13

無事に起動した。

phpMyAdminへのアクセスを保護する

phpMyAdminは、直接Webアクセスできて便利ではあるが、セキュリティーに配慮して以下の対策をする。
/etc/phpmyadmin/apache.conf ファイルを設定変更する。

$ sudo nano /etc/phpmyadmin/apache.conf

アクセスURLの変更

デフォルトのままでは、アクセスURLがすぐに想像できるので、下記設定変更する。

#Alias /phpmyadmin /usr/share/phpmyadmin
Alias /任意の名前 /usr/share/phpmyadmin

Webブラウザからは、下記URLでアクセスする。

http://<サーバIP>/任意の名前/

Apacheによる認証を追加

ログイン画面の前に、Apacheによるパスワード認証を行う。
尚、外部からのアクセスはパスワード認証し、ローカルネットワークからは認証なしでアクセス出来るようにする。

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    #Limited to SSL connection
    #SSLRequireSSL        # <== SSLに限定する場合はコメントはずし有効にする

    # ↓↓↓以下の内容を追加↓↓↓
    # Basic authorization
    AuthType Basic
    AuthName "Please Enter Your ID and pass"
    AuthUserFile /etc/apache2/.htpasswd
    require valid-user

    # Pass local LAN authorization
    Satisfy Any
    Order Allow,Deny
    Allow from 192.168.
  • IPv6アドレスも許可する場合は、「Allow form 240b:aaaa:bbbb:cccc::/64」等の行を追加。
  • パスワード入力が盗聴されないよう、SSL通信(https://)にしておいた方が安心。

尚、パスワードファイルの生成手順は、下記記事参照。

【DokuWiki】ApacheのBASIC認証を使いローカルネットワークからは認証なしとする
以前記事で、Ubuntu ServerにDokuWikiをインストールした。 そこで、外部からのアクセスはパスワード認証し、ローカルネットワークからは認証なしでアクセス出来るようにしたので備忘録を残す。 パスワードファイルの作成 まずは、認...

Apacheの再起動

上記設定を変更したら、Apacheサービスを再起動して設定を反映させる。

$ sudo service apache2 restart

補足

  • Linux + Apache + MySQL + PHPの 環境を、頭文字をとって「LAMP」と呼ぶらしい。

関連記事

【Ubuntu 20.04 LTS Server】新規にインストールする
Ubuntu 20.04 LTS が、2020年4月24日にリリースされた。 先日の記事では Ubuntu 18.04 LTS Server からのアップグレードだったが、新規に「Ubuntu 20.04 LTS Server」をインストー...
【Ubuntu 20.04 LTS Server】Apache2とPHPを動かす
以前の記事で「Ubuntu 20.04 LTS Server」をインストールした。 続いて、WordPressやDokuWikiを動かす準備として、Apache2とPHPを動かすようにしたので備忘録を残す。 Apache2のインストール $...
【Ubuntu 20.04 LTS Server】MySQLサーバを動かす
以前の記事で「Ubuntu 20.04 LTS Server」をインストールした。 続いて、WordPressなどを動かす準備として、MySQLサーバを動かすようにしたので備忘録を残す。 準備 MySQLサーバとクライアントツールのインスト...
【Ubuntu 16.04 LTS Server】ApacheでSSL通信(https)する(公式SSL証明書:CoreSSLを取得)
前の記事では、Ubuntu ServerのサンプルSSL証明書を使ったApacheのSSL通信を試してみた。今度は実際の運用ができるように、公式のSSL証明書(CoreSSL)を取得し、正規にSSL通信できるようにしたので備忘録を残す。 国...

参考

  1. phpMyAdmin
  2. Ubuntu20.04にapache2とPHP7.4、phpmyadminをインストールする
  3. phpMyAdminのセキュリティ対策を3種類実施(エイリアス変更/アクセス制限/SSL通信)
  4. Ubuntu LinuxへのPhpMyAdminのインストール
  5. phpMyAdminのセキュリティ対策
  6. phpMyAdminの設定
  7. 実践! 初めてのIPv6 ~サーバ編~

コメント

タイトルとURLをコピーしました