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ブログが立ち上がります。