ServersMan@VPS 現行サーバの64bit化

ServersMan@VPS で運用している当サイトサーバの64bit化に伴う一連の作業でメインになる「現行サーバの64bit化」を行いました。

その記録をまとめておきたいと思います。
範囲としては、「MyDTI」で契約しているServersMan@VPSの初期化を実施した後からです。

1.ssh ログイン

初期化後に root のパスワードがWeb画面に表示されますので、TeraTarm などのsshクライアントからパスワードログインします。

2.root のパスワード変更
[root /]# passwd
3.強制全削除防止策の実施
[root ~]# cd /
[root /]# touch -- -i
[root /]# cd /etc
[root etc]# touch -- -i
[root etc]# cd /opt
[root opt]# touch -- -i
[root opt]# cd /root
[root ~]# touch -- -i
[root ~]# cd /usr
[root usr]# touch -- -i
[root usr]# cd /var
[root var]# touch -- -i
4.言語設定の変更
[root sysconfig]# vim /etc/sysconfig/i18n
LANG="en_US.UTF-8"
LANG="ja_JP.UTF-8"
[root sysconfig]# source /etc/sysconfig/i18n
5..bash_history の設定変更
[root ~]# vim .bashrc
HISTSIZE=10000
export HISTSIZE
HISTFILESIZE=10000
export HISTFILESIZE
HISTCONTROL=ignoreboth
export HISTCONTROL
HISTIGNORE=ll
export HISTIGNORE
6.ssh用のRSAキーファイル配置
[root ~]# mkdir /root/.ssh

WinSCPなどの scp クライアントでパスワードログインして、/root/.ssh に下記RSAキーファイルをアップロードします。

    authorized_keys
    id_rsa
    id_rsa.pub
7.ssh でRSAキー認証ログイン

TeraTarmなどのssh クライアントで、RSAキー認証ログインが正常に行えることを確認します。現在のログインとは別の画面を開いて行うのが安全です。

8.ssh の設定変更
[root ~]# vim /etc/ssh/sshd_config
Port [使用可能な任意のポート番号]・・・初期ポートを変更する場合
PasswordAuthentication no ・・・パスワードログインの不許可設定
[root ~]# service sshd restart
sshd を停止中:                                             [  OK  ]
sshd を起動中:                                             [  OK  ]
9.ホスト名の変更
[root ~]# vim /etc/hosts
127.0.0.1 localhost.localdomain localhost [ホスト名]
::1 localhost6.localdomain6 localhost6 [ホスト名]
[root ~]# vim /etc/sysconfig/network
HOSTNAME=[ホスト名]
[root ~]# shutdown -r now
10.パッケージアップデート
[root ~]# yum update ・・・これで5.6にバージョンアップ
11.yum リポジトリの構築
[root ~]# yum install yum-priorities
[root ~]# vim /etc/yum.repos.d/CentOS-Base.repo

下記を追記します。

    priority=1
[root ~]# rpm -ivh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
[root ~]# rpm -ivh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
[root ~]# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
12.パッケージアップデート(再度)

念のため、下記を実行して、さらなるアップデートを探します。

[root ~]# yum --enablerepo=remi update
[root ~]# yum --enablerepo=remi-test update
13.不要サービスの停止
[root ~]# chkconfig --list
iscsi           0:off   1:off   2:off   3:on    4:on    5:on    6:off
iscsid          0:off   1:off   2:off   3:on    4:on    5:on    6:off
saslauthd      	0:off   1:off   2:off   3:on    4:off   5:off   6:off
xinetd          0:off   1:off   2:off   3:on    4:on    5:on    6:off
[root ~]# service saslauthd stop
saslauthd を停止中:                                        [  OK  ]
[root ~]# chkconfig saslauthd off
[root ~]# chkconfig iscsi off
[root ~]# chkconfig iscsid off
[root ~]# service xinetd stop
xinetd を停止中:                                           [  OK  ]
[root ~]# chkconfig xinetd off
14.syslog を rsyslog に変更
[root ~]# yum install rsyslog
[root ~]# vim /etc/sysconfig/rsyslog
#SYSLOGD_OPTIONS="-m 0"
SYSLOGD_OPTIONS="-c3"
[root ~]# chkconfig syslog off
[root ~]# chkconfig --level 2345 rsyslog on
[root ~]# service syslog stop
カーネルロガーを停止中:                                    [パス]
システムロガーを停止中:                                    [  OK  ]
[root ~]# service rsyslog start
システムロガーを起動中:                                    [  OK  ]
15.ホスト名の変更
[root ~]# vim /etc/hosts
127.0.0.1 localhost.localdomain localhost [ホスト名]
::1 localhost6.localdomain6 localhost6 [ホスト名]・・・IPv6用のこの行は入っていないので自分で挿入!
[root ~]# vim /etc/sysconfig/network
HOSTNAME=[ホスト名]
[root ~]# shutdown -r now
16.MySQL のインストール

作業時点で最新バージョンの MySQL 5.5.11 をインストールします。

[root ~]# wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/mysql-5.5.11-1.el5.remi.x86_64.rpm
[root ~]# wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/mysql-libs-5.5.11-1.el5.remi.x86_64.rpm
[root ~]# wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/mysql-server-5.5.11-1.el5.remi.x86_64.rpm
[root ~]# yum --enablerepo=remi install mysqlclient15
[root ~]# yum install mysql-5.5.11-1.el5.remi.x86_64.rpm mysql-libs-5.5.11-1.el5.remi.x86_64.rpm mysql-server-5.5.11-1.el5.remi.x86_64.rpm

MySQLを起動します。ところが下記の通りエラーが発生します。

[root ~]# service mysqld start
touch: cannot touch `/var/log/mysql/mysqld_safe-error.log': No such file or directory
chown: cannot access `/var/log/mysql/mysqld_safe-error.log': No such file or directory
chmod: cannot access `/var/log/mysql/mysqld_safe-error.log': No such file or directory
Initializing MySQL database:  Installing MySQL system tables...
ERROR: 1049  Unknown database 'mysql'
110506 16:47:57 [ERROR] Aborting

110506 16:47:57 [Note] /usr/libexec/mysqld: Shutdown complete


Installation of system tables failed!  Examine the logs in
/var/lib/mysql for more information.

You can try to start the mysqld daemon with:

    shell> /usr/libexec/mysqld --skip-grant &

and use the command line tool /usr/bin/mysql
to connect to the mysql database and look at the grant tables:

    shell> /usr/bin/mysql -u root mysql
    mysql> show tables

Try 'mysqld --help' if you have problems with paths.  Using --log
gives you a log in /var/lib/mysql that may be helpful.

Please consult the MySQL manual section
'Problems running mysql_install_db', and the manual section that
describes problems on your OS.  Another information source are the
MySQL email archives available at http://lists.mysql.com/.

Please check all of the above before mailing us!  And remember, if
you do mail us, you MUST use the /usr/scripts/mysqlbug script!

                                                           [FAILED]

エラーの原因は、必要なディレクトリが存在しないということです。下記の通り、ディレクトリを作成します。

[root ~]# mkdir /var/log/mysql
[root ~]# chown mysql:mysql /var/log/mysql
[root ~]# mkdir /var/tmp/mysql
[root ~]# chown mysql:mysql /var/tmp/mysql

再度、MySQL を起動します。今度は成功します。

[root ~]# service mysqld start
mysqld を起動中:                                               [  OK  ]

起動後の確認を行います。

[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

★これは、現段階で解決課題です。
一旦、MySQL を停止します。

[root ~]# service mysqld stop
mysqld を停止中:                                               [  OK  ]

初期化前のサーバの MySQL データファイルアップロード
初期化前のサーバからバックアップしておいた /var/lib/mysql 以下をすべてアップロードします。
改めて、MySQL を起動します。

[root ~]# service mysqld start
mysqld を起動中:                                               [  OK  ]

起動後の確認を行います。

[root ~]# mysql -u root
~略~
mysql>
18.PHP のインストール

php の各種パッケージをインストールします。

[root ~]# wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/php-5.3.6-3.el5.remi.x86_64.rpm
[root ~]# wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/php-cli-5.3.6-3.el5.remi.x86_64.rpm
[root ~]# wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/php-common-5.3.6-3.el5.remi.x86_64.rpm
[root ~]# wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/php-devel-5.3.6-3.el5.remi.x86_64.rpm
[root ~]# wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/php-mbstring-5.3.6-3.el5.remi.x86_64.rpm
[root ~]# wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/php-mysql-5.3.6-3.el5.remi.x86_64.rpm
[root ~]# wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/php-pdo-5.3.6-3.el5.remi.x86_64.rpm
[root ~]# yum install php-5.3.6-3.el5.remi.x86_64.rpm php-cli-5.3.6-3.el5.remi.x86_64.rpm php-common-5.3.6-3.el5.remi.x86_64.rpm php-devel-5.3.6-3.el5.remi.x86_64.rpm php-mbstring-5.3.6-3.el5.remi.x86_64.rpm php-mysql-5.3.6-3.el5.remi.x86_64.rpm php-pdo-5.3.6-3.el5.remi.x86_64.rpm

php.ini の設定
追加・変更(コメントを外す)箇所は下記の通りです。

[root ~]# vim /etc/php.ini
[PHP]
extension=mysql.so
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = SJIS
19.php-eAccelerator のインストール

php のパフォーマンス向上を目的としたパッケージです。

[root ~]# yum install --enablerepo=remi --disablerepo=rpmforge php-eaccelerator
[root ~]# vim /etc/php.d/eaccelerator.ini
eaccelerator.shm_size = "30"
eaccelerator.allowed_admin_path = "/var/www/html/eaccelerator"
[root ~]# mkdir /opt/eaccelerator
[root ~]# chown httpd実行ユーザ:httpd実行グループ /opt/eaccelerator
[root ~]# cp -p /usr/share/doc/php-eaccelerator-0.9.6.1/control.php /opt/eaccelerator/.
[root ~]# ln -s /opt/eaccelerator /var/www/html/.
[root ~]# vim /opt/eaccelerator/control.php
$user = "admin";
$pw = "eAccelerator";任意のパスワードに変更
20.WordPress の移行

初期化前のサーバからバックアップしておいた /opt/wordpress 以下をアップロードします。

21.httpd の設定の移行

初期化前のサーバからバックアップしておいた /etc/httpd/conf および /etc/httpd/conf.d 以下をアップロードします。

22.httpd の再起動
[root ~]# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

これで、初期化前のサーバの最終状態(MySQL データファイル、WordPress をバックアップした時点の状態)のままのWordPressブログが立ち上がります。

Comments are closed.