webサーバの更新

webサーバのHDD交換をしようとしたが、サーバのハードウェアが安く手に入ったので全体を更新することにした。
本体:HP ProLiant ML310e Gen8 v2 8GB HDD 1TBX2 Raid
OS:Freebsd 10.1

インストールは通常通りだが、今回はHDDを2個でRaidを組む。マザーボード標準のRaidはソフトウェアRaiidでFreebsdでは使えない。なのでZFSで組むことにした。
インストール終了後、ソフトウェアの構築。 基本的にapache,PHP,Mysql。 まずは、apacheからだが、今回はpkgを利用してみることにした。 インストール直後から順を追ってみる。
pkg update -f pkg自体を利用するためのデータベース更新
pkg install -y apache24
pkg install -y php56
pkg install -y mod_php56
pkg install -y php56-mbstring
pkg install -y php56-extensions
pkg install -y phpmyadmin
pkg install -y mysql56-server
以下は/etc/rc.confに追記
apache24_enable=”YES”
mysql-server_enable=”YES”

apacheの設定
cd /usr/local/etc/apache24/ httpd.confを編集してphp,userdir,mod_cgiのモジュールの有効化
ディレクトリインデックスにindex.htm,index.phpを追加
cd /usr/local/etc/apache24/extra
httpd-userdir.confを編集
cd /usr/local/etc/apache24/Inceludes
php5.conf,phpmyadmin.confを作成

最初に旧サーバの/etc/passwd,/etc/master.passwd,/etc/groupを作業ディレクトリにコピー
新サーバの/etc/passwd,/etc/master.passwd,/etc/groupに追記

旧サーバからユーザデータを移動
今までは旧サーバでtar.bz2にまとめてftp getしていたがデータが巨大になるのでnfsを利用する。
旧サーバはこのままでは利用できないのでカーネルを書き換えて再構築。
rc.confに追記

NFS

rpcbind_enable=”YES”
nfs_server_enable=”YES”
mountd_flags=”-r”
新サーバにのrc.confに以下を追記
nfs_client_enable=”YES”
/etc/exportsを作成 ディレクトリ名(スライス名) -alldirs サーバ名

新サーバでの作業
cd /home
mount -t nfs 192.168.16.1:ディレクトリ名
/mnt cp -Rp /mnt/* ./

うまくできた! この後、vipwして確認 ls -la ~ユーザ名で属性や内容を確認。

最後の難関(問題ないはずだったが大問題になった)
mysqlのデータコピー ホームページにCMSを使用しているのでphpmyadminを利用して旧サーバからダウンロード。
新サーバにアップロードして終了するはずだったのに、文字化けしてダメ(涙)
mysqlのエンコード変えても何してもダメ。 調査すると旧サーバのmysqlのchrセットがLatin1だった。
ググってみるとnkf使ったりsed使えば何とかなるみたいだったがダメ。
一時しのぎでCMSのデータベースサーバを旧サーバに変更して対応。
ダウンロードしたデータを秀丸で見たら文字化けしてた。情報収集したら秀丸ではこのファイルを一旦Latinで保存すると幸せになれるみたいだ。やってみた。OKだぁ!
このデータを新サーバにアップロード。 CMSの設定を新サーバに変更してみたら文字化けなく表示。 試しに書き込みしてみた。書き込みした投稿だけ文字化け。
旧サーバのCMSのデータベースを新サーバに変更、こっちは書き込みOK。
あー、なんだ? phpは5.5からdefault char設定がUTF-8に変更になっている。この関係か?
phpinfoを確認してみる。
mbstringに「Local Value」と「Master Value」がある。値も違う。この違いは何だ?
phpのサイトで確認してみると「Master Value」はphp.ini、「Local Value」は.htaccessで変更されてる値らしい。
新サーバの.htaccessを無効にしてみた。なおった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です