さくらのVPSでCentOS7のサーバーを構築する その9

このブログでは以前にVMware上でCentOS7のサーバーを構築する手順を解説しましたが、今度はさくらのVPSを使ってサーバーを構築します。9回目となる今回は、phpMyAdminをインストールしてWordPressを稼働させる準備に入ります。

本編の目次

  • サーバーコントロールパネルへのログイン~サーバー起動まで(第1回)
  • サーバーへログイン~初回起動時に行う設定
  • SSHログインについて
  • SELinuxの有効化(第2回)
  • 一般ユーザーの作成
  • sudoの有効化
  • SSH経由でのrootログイン禁止設定(第3回)
  • 公開鍵認証の導入
  • ファイアウォール(Firewalld)の設定(第4回)
  • SSHのポート番号変更とSELinux
  • WEBサイト公開用ユーザーの作成とChrootの設定(第5回)
  • Apacheのインストールと設定
  • ユーザーのホームディレクトリ配下にあるpublic_htmlを公開する(第6回)
  • バーチャルホストの設定
  • PHPのインストールと設定(第7回)
  • PHPのCGIモード化
  • MySQLのインストールと設定(第8回)
  • phpMyAdminのインストールと設定(第9回)
  • WordPressを使うためのMySQLの設定(第10回)
  • WordPressのインストール

phpMyAdminのインストールと設定

「phpMyAdmin」は、PHPで作られているMySQLの管理ツールです。ブラウザ上でGUIを使ってMySQLの管理を行えるので大変便利です。まずはphpMyAdminを動かすために必要なパッケージをインストールします。 [VIM] sudo yum –enablerepo=remi,remi-php70 install php-mbstring php-mysqlnd php-pdo libzip-last php-pecl-zip [/VIM]

次に、phpMyAdmin – DownloadsにアクセスしてphpMyAdminのダウンロードリンクを取得します。


最新バージョンで「all-languages」の文字列が含まれ、拡張子が「.tar.gz」となっているリンクのURLを取得しましょう。

この後、取得したURLを使ってサーバーにSSHログインできるユーザーがphpMyAdminをダウンロードし、WEBサイト公開用ユーザー(chroot監獄、SFTPのみ使用可能とする設定済み)のユーザーディレクトリ配下にある「秘密の(管理用)WEBサイト用ディレクトリ」に展開して使える状態にします。具体的には以下のようなコマンドを打てばOKです。

なお、以下の解説においてWEBサイト公開用ユーザー名は「hoge」、「秘密の(管理用)WEBサイト用ディレクトリ」は/home/hoge/public_html/secretとします。秘密の(管理用)WEBサイト用ディレクトリ作成及びバーチャルホスト、PHPのCGIモード化の設定については本解説シリーズの「その6」「その7」を御覧ください。それでは、コマンド例を示します。

[VIM] #最新版がリリースされたらそれをダウンロードすること wget https://files.phpmyadmin.net/phpMyAdmin/4.6.6/phpMyAdmin-4.6.6-all-languages.tar.gz #WEBサイト公開ユーザーの「秘密の(管理用)WEBサイト用ディレクトリ」に展開 sudo tar zxvf phpMyAdmin-4.6.6-all-languages.tar.gz -C /home/hoge/public_html/secret #リネーム sudo mv /home/hoge/public_html/secret/phpMyAdmin-4.6.6-all-languages/ /home/hoge/public_html/secret/phpmyadmin #ディレクトリ所有者をWEBサイト公開ユーザーに sudo chown -R hoge:hoge /home/hoge/public_html/secret/phpmyadmin [/VIM]

また、他人(悪意ある第三者)がphpMyAdminなどにアクセスできるようでは困るので、「秘密の(管理用)WEBサイト用ディレクトリ」にはアクセス規制を敷くようにします。具体的には、自分のIPアドレスとローカル(サーバー自身)以外からのアクセスを拒否する設定を記述した「.htaccess」というファイルを秘密の(管理用)WEBサイト用ディレクトリに配置します。具体的には以下のような内容です。ちなみに、自分のグローバルアドレスは診断くんなどで調べることができます。 [VIM] Require ip (自分のIPアドレス) Require local [/VIM]

こんな感じの.htaccessを/home/hoge/public_html/secretなど、「秘密の(管理用)WEBサイト用ディレクトリ」に配置すれば不正アクセスをかなり防ぐことができます。なお、自分のグローバルIPアドレスが変更された場合は、その都度.htaccessを書き直してください。

ここまで終わったら、ブラウザでphpMyAdminを配置したディレクトリ(今回は /home/hoge/public_html/secret/phpmyadmin)にアクセスしてみましょう。


ユーザーは名「root」、パスワードはMySQLのrootアカウントに設定したものを入力し、「実行」ボタンを押してログインしましょう。


無事にログインはできましたが、色々とメッセージが表示されています。なので、また色々と設定していきます。

改めてサーバーにコンソールかSSHでログインし、以下のコマンドを打ちます。phpMyAdminを配置したディレクトリについては各自で差し替えてください。 [VIM] #MySQLにrootでログイン mysql -u root -p #MySQLのrootアカウントのパスワードを入力する Enter password: #phpMyAdminを配置したディレクトリについては各自で差し替える mysql> source /home/hoge/public_html/secret/phpmyadmin/sql/create_tables.sql [/VIM] このコマンドを無事に完了できれば、「phpMyAdmin環境保管領域」の作成は完了です。終わったら「quit」と打ち込んでMySQLからログアウトしてください。

引き続きコンソールまたはSSHから設定を行います。今度は設定ファイルの作成です。 [VIM] sudo cp /home/hoge/public_html/secret/phpmyadmin/config.sample.inc.php /home/hoge/public_html/secret/phpmyadmin/config.inc.php sudo vim /home/hoge/public_html/secret/phpmyadmin/config.inc.php [/VIM]

設定ファイルを開いたら、以下の部分を書き換えます。 [VIM] #17行目辺り…任意のランダムかつ32文字以上の文字列をセット(覚えなくて良い) $cfg[‘blowfish_secret’] = ‘hogefugapiyo’; #43~44行目で環境保管領域にアクセスするユーザーの設定 /* User used to manipulate with storage */ #ここはコメントアウトを外さなくてOK // $cfg[‘Servers’][$i][‘controlhost’] = ”; // $cfg[‘Servers’][$i][‘controlport’] = ”; #ユーザー名(pma)とパスワード(pmapass)は各自任意の値をセットすること $cfg[‘Servers’][$i][‘controluser’] = ‘pma’; $cfg[‘Servers’][$i][‘controlpass’] = ‘pmapass’; #47~66行目辺り…先頭の//(コメントアウト)を外す /* Storage database and tables */ $cfg[‘Servers’][$i][‘pmadb’] = ‘phpmyadmin’; $cfg[‘Servers’][$i][‘bookmarktable’] = ‘pma__bookmark’; $cfg[‘Servers’][$i][‘relation’] = ‘pma__relation’; $cfg[‘Servers’][$i][‘table_info’] = ‘pma__table_info’; $cfg[‘Servers’][$i][‘table_coords’] = ‘pma__table_coords’; $cfg[‘Servers’][$i][‘pdf_pages’] = ‘pma__pdf_pages’; $cfg[‘Servers’][$i][‘column_info’] = ‘pma__column_info’; $cfg[‘Servers’][$i][‘history’] = ‘pma__history’; $cfg[‘Servers’][$i][‘table_uiprefs’] = ‘pma__table_uiprefs’; $cfg[‘Servers’][$i][‘tracking’] = ‘pma__tracking’; $cfg[‘Servers’][$i][‘userconfig’] = ‘pma__userconfig’; $cfg[‘Servers’][$i][‘recent’] = ‘pma__recent’; $cfg[‘Servers’][$i][‘favorite’] = ‘pma__favorite’; $cfg[‘Servers’][$i][‘users’] = ‘pma__users’; $cfg[‘Servers’][$i][‘usergroups’] = ‘pma__usergroups’; $cfg[‘Servers’][$i][‘navigationhiding’] = ‘pma__navigationhiding’; $cfg[‘Servers’][$i][‘savedsearches’] = ‘pma__savedsearches’; $cfg[‘Servers’][$i][‘central_columns’] = ‘pma__central_columns’; $cfg[‘Servers’][$i][‘designer_settings’] = ‘pma__designer_settings’; $cfg[‘Servers’][$i][‘export_templates’] = ‘pma__export_templates’; #120行目辺りに追記 $cfg[‘DefaultLang’] = ‘ja’; [/VIM] 編集し終わったら、ファイル所有者を変更します。 [VIM] sudo chown hoge:hoge /home/hoge/public_html/secret/phpmyadmin/config.inc.php [/VIM]


設定ファイルのアップロードが完了したら、再びphpMyAdminにrootでログインし、「データベース」タブにアクセスし、「phpmyadmin」データベースの「Check privileges」と書かれているリンクにアクセスしてください。


「Add user account」を押します。


環境保管領域を管理するためのユーザーをここで作成します。

  • User name: config.inc.phpに記載したユーザー名を入力します。
  • Host name: 普通はローカル(localhost)でいいでしょう。
  • パスワード: config.inc.phpに記載したパスワードを入力します。
「Database for user account」の「データベース “phpmyadmin” への全ての特権を与える。」にチェックが入っていることを確認し、後はノータッチで画面下方にある「実行」を押してください。無事にユーザーが作成されたら、phpMyAdminに再ログインしてみてください。「phpMyAdmin環境保管領域」に関する警告が消えているはずです。

ここまで終われば、phpMyAdminの設定はとりあえず完了です。実際にMySQLを利用する場合は、必要な権限だけを持つユーザーを作成し、そちらを使うようにしましょう。常時rootを使うのは自殺行為です。また、通常のHTTP通信だとパスワードも含めて全て平文で送受信するので、phpMyAdminなどを使用しているサブドメインについてはSSLを導入するのも一つの手です(無料でできるSSL導入手順は番外編で解説します)。

このブログを応援する・寄付する

当ブログでは暗号通貨による寄付を募っております。

モナゲボタン モナゲボタン

Bitcoin:

Monacoin:

Litecoin: