WordPressの重さに耐え切れず、スペックをアップさせたWeb鯖に載せ替えた時の記録。

使用OS:DebianLinux(lenny)

OSのインストールは最低限でデスクトップ環境のチェックは外して、標準システムのみ。
特筆するべき点はないので、普通にインストールする。

いらないサービスを削除する。
どんなポートが待機しているかは「netstat -lap」で確認する。
portmap関係とsmtpあたりが稼動していると思われる。
portmap関係は使わないし停止。
smptはexim4が稼動してると思うが、私はqmail派なので停止して後でqmailを入れ直す。

# apt-get remove portmap exim4-base

netstatで確認すると、しばらくsunrpcが見えているが時間が経つと消えているはず。
これで開いているポートは無くなるはずなので、必要な物を入れていく。
デフォルトのapt-getの設定だとqmailが入らないので、/etc/apt/sources.listの各行に「contrib non-free」を追加して以下のコマンドを打っておく。

# apt-get update

椅子に座って作業したいので、リモートログインのsshを入れる(笑)
これでディスプレイも取り外せます。

# apt-get install ssh

ftpでファイル転送する為にproftpdを入れる。
途中でstandaloneかinetdのどちらで起動するか訊かれるので、特に常時使うものじゃないのでinetdを選んどきましょう。

# apt-get install proftpd

インストール完了後に設定ファイル/etc/proftpd/proftpd.confをいじって、「ListOptions ”-la”」にしてドット付きのファイルを表示できるようにしておく。
そういえばセットアップしてる途中で気がついたんだが、debianのTCP Wrapperってデフォルトは何も書いてないんだな・・・。
適切に設定してあげてください。

データベースのMySQLをインストールする。
インストール中にMySQLのrootパスワードを訊かれるので、適宜入力しておく。

# apt-get install mysql-server

設定ファイルが/etc/mysql/my.cnfにあるので、接続時にDNSを見に行かないようにする「skip-name-resolve」を入れて、各種設定をいじって使用メモリを上げときます。
今回は旧鯖よりデータを保存されているファイルを直接コピー&ペーストで突っ込むので、メンテナンスユーザーのパスワードで引っかかるので、まずMySQLを停止して/etc/mysql/debian.cnfのパスワード部分を旧鯖のパスワードに書き換えた後に、/var/lib/mysql以下を旧鯖から持ってきて置き換えれば、移転完了である。
作業はMySQLをちゃんと止めて行う事。

ようやくApache2を入れる。
PHP5も一緒に入れて、WordPressも動くように準備しておく。

# apt-get install apache2 php5 php5-gd php5-mysql

何も訊かれずに全部入っていくので、インストール終了までやる事なし。
php5-gdを入れないと画像のサムネイルとか作れないので忘れずに入れておこう。
バーチャルホストの設定やらなんやらをやって、再起動。

コンタクトフォームとかコメント書かれた時にメールを飛ばしてくれるようにする為にMTAにqmailを入れる。
パッケージ化されていないのでソースを持ってきてビルドする事になる。
まあ、apt-getで持ってこれるからコマンドを一杯打つだけだ。

# apt-get install qmail-src ucspi-tcp-src
# build-ucspi-tcp
# build-qmail

build中に色々訊かれるが、エンターを押していけばちゃんと入ってくれる。
入れ終わったら、/etc/qmail内に設定を書いていけば終了。

これで稼動するはずです。
後はバックアップ体制を整えたりとかすればオッケーだ。

データベースMySQLでバックアップする方法。
いつものようにrootで作業。

ネットを調べると微妙に危ないコマンド打ってる場合があるらしい。

# mysqldump -u ユーザ名 -pパスワード データベース名 > バックアップのファイル名

こんな感じの「-pパスワード」な感じの書き方は、マニュアルによるとpsコマンドでパスワードが見れる瞬間があるとかないとか。
手動の場合は-pのみで、プロンプトを使ってパスワードを入力するのが一番安全らしい。

さて、今回の場合は自動でバックアップ取らせるのでパスワードを上記の方法以外でやらないといけない。
で、比較的安全な方法はオプションファイルを使用する方法らしい。
ファイル名とか置く位置はOSで違うので、Windowsでやる時はマニュアルでも見てください。

オプションファイル/root/.my.cnfを作成、さらにchmodで600にしてroot以外見れないようにする。
下記のように中身を書く。

[client]
password=パスワード

これにより-pを指定しない場合は、オプションファイルのパスワードを自動的に使ってくれる。

mysqldump -u ユーザ名 データベース名 > バックアップのファイル名

後はcronで自動起動すれば定期的にバックアップをしてくれる。
もしサーバが吹き飛んだ場合はデータベースを作ってリストアのコマンド。

mysql -u ユーザ名 データベース名 < バックアップのファイル名

これにrsync(http://www.maocat.net/?p=154)を合わせれば完璧だろう・・・多分。

カテゴリ/タグ:私の記憶領域 /  ,    
コメント (0)
  トップ