IMPOV::In My Point Of View

仕事、SEO、ウェブマーケティング、時事問題、健康、生き方などなど、書きたいことを勝手に書き倒しているブログです。とどのつまり「便所の落書き」

さくらのVPSを2台ローカル接続してphpMyAdminでMySQLに接続

「さくらのVPS」を1台追加し、スイッチを利用してローカルネットワークで接続してみた。

  • スイッチを作成しローカルネットワークで2台を接続
  • 2台目のMySQLに、1台目のphpMyAdminから接続
  • NFSでディレクトリをマウントし、1台目のMovableTypeから2台目の公開ディレクトリに静的HTMLを出力

なお、OSバージョンは、CentOS release 6.6 (Final) です。

スイッチの作製

VPSコントロールパネルにログインしてスイッチを作成。
以下の公式サイトの説明がわかりやすい。
スイッチの作成と削除|さくらインターネット公式サポートサイト

サーバーをスイッチに接続

サーバーを停止させないとスイッチに接続することができないので停止。

[root@sv-a ~]# shutdown -h now

スイッチの接続方法は以下の公式サイトの説明のとおり。
ローカルネットワーク接続|さくらインターネット公式サポートサイト

2台ともに eth1 にスイッチを接続。ドロップダウンリストから先ほど作成したスイッチを選ぶと、ほんの十数秒ほどで接続設定が完了する。

今回設定する内容

今回設定するサーバーの名前とローカルIPアドレスは以下のとおり。

  • sv-a : 192.168.1.1 (phpMyAdmin, MovableType がインストールされている既存サーバー)
  • sv-b : 192.168.1.2(今回増設した新サーバー)
ネットワーク設定

2台ともネットワークの設定を行いネットワークサービスを再起動する。また、ホスト名も登録しておく。
以下は、既存サーバーの方の設定。カッコ内は新サーバーの設定。

[root@sv-a ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE="eth1"
IPADDR="192.168.1.1"   (192.168.1.2)
NETMASK="255.255.255.0"
ONBOOT="yes"
TYPE="Ethernet"
IPV6INIT="no"
IPV6_ROUTER="no"


[root@sv-a ~]# vim /etc/hosts

192.168.1.1  sv-a.internal sv-a
192.168.1.2  sv-b.internal sv-b


[root@sv-a ~]# /etc/rc.d/init.d/network restart

pingで疎通確認。

[root@sv-a ~]#  ping -c 3 192.168.1.2
[root@sv-a ~]#  ping -c 3 sv-b

2台目のMySQLに1台目のphpMyAdminからアクセス

MySQLのアカウント作成

sv-b のMySQLに、sv-a からアクセスできるアカウントを作成する。

[root@sv-b ~]#  mysql -u root -p

mysql> grant all privileges on *.* to root@"192.168.1.1" identified by 'パスワード' with grant option;
iptablesの設定

2台目のサーバーのファイアーウォールで、eth1経由で192.168.1.1 からのアクセスのみ 3306(MySQL) ポートへ通すようにする。

[root@sv-b ~]# vim /etc/sysconfig/iptables
(以下の行を適切な場所に追加)
	-A RH-Firewall-1-INPUT -i eth1 -s 192.168.1.1 -p tcp --dport 3306 -j ACCEPT
[root@sv-b ~]# /etc/rc.d/init.d/iptables restart

RH-Firewall-1-INPUT の部分は、 INPUT など、現在使用している iptables の他のものに合わせて変更する。

1台目から接続確認
[root@sv-a ~]# mysql -u root -h 192.168.1.2 -p
phpMyAdminの設定

管理用DBとアカウントを作成するため、1台目からSQLをダウンロードして2台目にアップロード。

1台目からダウンロードするファイル
/usr/share/phpMyAdmin/examples/create_tables.sql

2台目のアップロード先
/root/tmp/create_tables.sql

管理用DBとアカウントを作成する。

[root@sv-b ~]# mysql -u root -p

mysql> source /root/tmp/create_tables.sql
mysql> show databases;
  → phpmyadmin というDB ができていれば成功

mysql> GRANT ALL PRIVILEGES ON phpmyadmin.* TO pma@'192.168.1.1' IDENTIFIED BY 'パスワード';
mysql> exit

1台目のphpMyAdminの設定を行う。設定ファイルの Servers configuration 部分の、First server パートをコピーして追加し、host と pma のパスワードを2台目の設定に変更すれば良い。

[root@sv-a ~]# vim /etc/phpMyAdmin/config.inc.php

/*
 * Servers configuration
 */
$i = 0;

/*
 * First server(1台目の設定部分)
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';

  ~中略~

$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
/* Contrib / Swekey authentication */
// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';

/*
 * Second server(コピーして追加した2台目の設定部分)
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '192.168.1.2'; (ホストを変更)

  ~中略~

$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'パスワード';(パスワードを変更)
$cfg['Servers'][$i]['user'] = 'pma';
$cfg['Servers'][$i]['password'] = 'パスワード';(パスワードを変更)

  ~中略~

/*
 * End of servers configuration
 */

設定を保存して、1台めのphpMyAdminのログイン画面に行くと、ドロップダウンで2台目のMySQLを選択できるようになっているはず。

ディレクトリをマウントして MovableType で静的HTMLを出力する方法は次回の記事に。