これまでずーっとCentOSを使っていたのですが、このほど、気の迷いを起こしてDebian(squeeze)に乗り換えました。これを機にウェブサーバもApacheからNginxに変えました。というか、Nginxに乗り換えるついでにDebianに乗り換えることにしたというのが正確なところです。
これでもう、CentOSの開発者が失踪しようが、Scientific Linuxの開発者がRedHatに電撃移籍しようが、あっしには関係のない話でござんす。でびあんかわいいよでびあん(*´д`*)ハァハァ
てなわけで、サーバを立てるにあたってやったことを一通りまとめておきたいと思います。
タイトルにもあるように、環境はさくらのVPSです。Debianを使うにはカスタムOSインストールを利用する必要がありますが、さくらインターネット公式サポートサイトに詳しいやり方がまとまっているので、初めてでも安心。
サーバの設定
Opensshは最初から入ってるので、すぐにsshが利用出来ます。さっそくsshの設定を始めたいところですが、その前に、sudoが入っていなかったので、sudoをインストール。
# apt-get install sudo
ついでに、サーバのレポートを作ってメールしてくれるlogwatchもインストール。
# apt-get install logwatch
SSH
両方インストールしたら、SSHの設定します(別に最初にやっても問題ないですけれども)。SSHの設定内容については以下を参考に。バージョンとかOSとか違いますが、やることはだいたい同じです。
iptables
iptablesも最初から入ってました。iptablesの設定はUbuntuの時とほとんど(というかまったく)同じです。
nginx等
つづいて、nginx、php、mysqlをインストールします。
Debian標準のパッケージにあるphpやnginxはちょっと古いので、dotdebというリポジトリを使いました。導入方法はこちら。
英語だと分からないので日本語でやり方をメモ。
まずはsources.listの最後にdebの設定を追記します。
# dotdeb.org
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
つづいてGunPGキーを追加。
$ wget http://www.dotdeb.org/dotdeb.gpg
$ cat dotdeb.gpg | sudo apt-key add -
完了したら apt-get update かーらーの、nginx、php、mysqlをインストール。
# apt-get update
# apt-get install nginx mysql-server php5 php5-fpm php5-mbstring php5-mysql php5-mcrypt php5-apc php5-curl php5-gd
nginxやらphp-fpmやらの設定はこの辺を参考に。
- icoro : Ubuntu server on VMware Fusion – MySQL、PHP、そしてNginxをインストールする
- Nginx – WordPress Codex 日本語版
- WordPress サイトに nginx を導入する : dogmap.jp
こうするとたぶんMySQL 5.5が入ると思うのですが、5.5ではデフォルトのデータベースエンジンが InnoDB になっています。これまで通りMyISAMに切り替えて使おうかとも思ったのですが、ググったら「InnoDBも悪くない」という話をちらほら目にしたので、これを機にInnoDB中心で運用することにしました。なんたって、デフォルト運用大好きなので。
ただ、WordPress で Yet Another Related Posts Plugin を使っている場合、post_title と post_content に FULLTEXT インデックスが張られてしまうため、wp_postsテーブルだけMyISAMのままになっています。
MySQL5.6ではFULLTEXTに対応するみたいなので、全部InnoDBでいけるようになるのも時間の問題かも。
InnoDBはまだ早い、使いたくないという方はこちらを参照。
Postfix
postfixを入れるのを忘れていたのでインストール。exim4というMTAが最初から入っているのですが、よくわからんので。postfixをインストールするとexim4は勝手にリムーブされるようです。
# apt-get install postfix
設定については以下のページを参考に。
という感じ
これで一通り設定完了です。CentOSとはお作法が違うところが多々ありますが、言っても同じLinuxなので、そんな「意味分からん!」と言うことはありませんでした。
それよりはNginxの設定に悩みました。半日くらい。Wordpressを動かすためにあーだこーだしたのですが、それについてはまたの機会にまとめたいと思います。