さくら VPS Ubuntu PHP

phpMyAdmin へのアクセス準備

ここまでで、phpMyAdmin のインスト-ルが完了しました。
引き続き、phpMyAdmin へアクセスしていきます。
まずは、SSL 通信のみに限定します。
SSL通信のみに限定する
を参考にします。
https://~ から始まる SSL 通信に対応したサイト限定の対策です。
SSL 通信ができるのですから phpMyAdmin のログインも、 https://~ のアドレスでアクセスしたほうが安全です。
/etc/phpmyadmin/apache.conf の 8行目あたりに
#SSL接続に限定追加
SSLRequireSSL
を追記します。
そして、phpMyAdmin へのアクセス名はみなさん phpmyadmin と知っていますので これを変更 yamadaadmin にします。
/etc/phpmyadmin/apache.conf の3行目を変更します。
例として、エイリアスを yamadaadmin とした場合です。
コメントアウト
# Alias /phpmyadmin /usr/share/phpmyadmin
追加
Alias /yamadaadmin /usr/share/phpmyadmin
とします。
シリアルコンソ-ル(β版)を開き、

   
  yamada@********:~$ 
   sudo nano /etc/phpmyadmin/apache.conf
  # phpMyAdmin default Apache configuration
  # Alias /phpmyadmin /usr/share/phpmyadmin
  Alias /yamadaadmin /usr/share/phpmyadmin
  
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All
  # SSL接続に限定追加
    SSLRequireSSL
    ・・・・・・

と書き換え
^o
Enter
^x
として保存、nano エディタを終了します。
apache2 を再起動して有効にします。
$ sudo /etc/init.d/apache2 restart

phpMyAdmin へのアクセス

ここまでのところ Web phpMyAdmin 表示は SSL 化され、アクセス制限は、パスワ-ドのみです。
IP 接続では
http://100.101.102.103/phpmyadmin/
https://100.101.102.103/phpmyadmin/
の様な URL 設定では接続できません。
基本は
https://70vps.net/yamadaadmin/
のみになります。
https://70vps.net/phpmyadmin/
ではアクセスできません。
ただし
http://70vps.net/yamadadmin/
はリダイレクトが発生し接続可能です。
あとは、ログイン画面に
ユ-ザ名に root
パスワ-ドに phpMyAdmin インスト-ルで設定したアプリケ-ションパスワ-ド
aB_012345678
を入力し実行すれば、phpMyAdmin に入ることができます。
VirtualBox Ubuntu の時はこれで十分よかったのですが、 さくら VPS ともなるとグロ-バルに見えることになりますので 保護をさらに強化します。

べ-シック認証の追加

コンテンツにアクセスできるユ-ザを制限したい場合、
極端に言えば今回のように管理者のみがアクセスできればよいような場合、
ユ-ザ-認証の設定を施せばよいはずです。
Web サ-バ-におけるユ-ザ-認証の実現には、さまざまな方法がありますが、 ここでは、基本的で最も手軽なべ-シック認証を使用してみます。
「ユ-ザ-名」と「パスワ-ド」
を使ってアクセスを制限します。
ubntu18-04ltsにphpmyadminをインストールして保護するMySQL インスト-ル
を開きスクロ-ルして、
「phpMyAdminインスタンスを保護する」
を参考にします。

.htaccess ファイルを有効にする

Apache の組込みの .htaccess 認証・認可機能を利用して不正アクセスを防ぎます。
/etc/apache2/conf-available/phpmyadmin.conf ファイルを編集し、
AllowOverride All
を 1行追加します。
シリアルコンソ-ル(β版)を開き、

   
  yamada@********:~$
   sudo nano /etc/apache2/conf-available/phpmyadmin.conf
  
    Options FollowSymLinks
    DirectoryIndex index.php
    AllowOverride All
  # .htaccess で設定可能なものは全て有効・・1行追加
    . . .

要するに.htaccess を有効にしました。
この行を追加したら、ファイルを保存して閉じ、Apacheを再起動します。
$ sudo systemctl restart apache2

.htaccess ファイル作成

/usr/share/phpmyadmin/.htaccess ファイルを新規作成します。
$ sudo nano /usr/share/phpmyadmin/.htaccess
内容を以下のようにします。
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

  1. AuthType Basic

    実装している認証タイプを指定します。
    パスワードファイルを使用したパスワード認証を実装します。

  2. AuthName

    認証ダイアログボックスのメッセージを設定します。
    ボックスが開いたとき
    「Restricted Files」
    専用ファイルが表示されます。
    具体的に言うとこ今回の場合は
    https://70vps.net/
    が表示されます。
    権限のないユーザーが何が保護されているかについての情報を 得ることができないようにします。

  3. AuthUserFile

    認証に使用するパスワードファイルの場所を設定します。
    提供されているディレクトリの外にある必要があります。

  4. Require valid-user

    認証されたユーザーだけにこのリソースへのアクセスを許可するように指定します。
    実際に許可されていないユーザーが入るのを阻止します。

.htaccess の作成が完了したら
^o
Enter
^x
の順で保存、nano を終了します。

ユ-ザ-名とパスワ-ドの登録

・ 新規登録をします。
パスワードファイル用に選択した場所は、"/etc/phpmyadmin/.htpasswd" でした。
htpasswd ユーティリティを使用して初期ユーザーを設定することができます。
[ユーザー名] user1    → yamada
[パスワ-ド] password1h → abcd1234
とすると
$ sudo htpasswd -b -c /etc/phpmyadmin/.htpasswd user1 password1
すなわち
$ sudo htpasswd -b -c /etc/phpmyadmin/.htpasswd yamada abcd1234
とすると、その後、入力したハッシュされたパスワードでファイルが作成されます。
・ 追加登録します。
追加登録 -c なし(新規登録ファイル作成なし)
$ sudo htpasswd -b /etc/phpmyadmin/.htpasswd user2 password2
とするとユ-ザ-が追加登録されます。
これで、phpMyAdmin サブディレクトリにアクセスすると、 今設定したアカウント名とパスワードを入力するよう求められます。

phpMyAdmin へのアクセス再確認

IP での phpMyAdmin へのアクセスはできません。
https://70vps.net/phpmyadmin/
でのアクセスもできません。
https://70vps.net/yamadaadmin/
または
http://70vps.net/yamadaadmin/
(リダイレクト発生)
でアクセス可能です。
ただし、アカウント名とパスワードを入力するよう求められます。


phpMyAdmin へのアクセス再確認

先程設定した
ユーザー名 yamada
パスワ-ド abcd1234
を入力します。
これで phpmyadmin のログイン画面に入れます。
ここで、
ユ-ザ名に root
パスワ-ドに phpMyAdmin インスト-ルで設定したアプリケ-ションパスワ-ド
aB_012345678
を入力し実行すれば、phpMyAdmin に入ることができます。
要するに二段階認証ログインが完成しました。
でもログインには手間隙がかかりますね。
困ったもんです。

これで、phpMyAdmin へのアクセスの説明は終わりです。
引き続き、CGI を使用する 方法について説明していきます。


  • さくら VPS Ubuntu CGI に進む
  • MySQL インスト-ル に戻る
  • PHP を動作させる に戻る
  • HTTPS によるアクセス最終準備 に戻る
  • Web サイトを SSL 化する に戻る
  • 仮想ホストの設定 に戻る
  • 新規ドメイン取得その2 に戻る
  • 新規ドメイン取得その1 に戻る
  • Web サービスを始める に戻る
  • さくら VPS に LAMP server をインスト-ル に戻る
  • さくら VPS Ubuntu 日本語環境 に戻る
  • さくら VPS を始める に戻る
  • 70VPS に戻る