この三日間ほど、サーバのOSの入れ替えを行っていた。
VineLinuxでサーバをたてたの記事でべた褒めしたVineLinuxだけど、正直CentOSと比べたらパッケージは新しいけど、そこまで新しいという訳でもない。最終的にソースからコンパイルして、自分でシンボリックリンクはったりなんだりとかしているうちに、あ、俺向いてないなこのディストリビューション。と思ったためである。VineLinuxが悪いわけじゃない。
そこで、パッケージ数も尋常じゃなく、ほぼ最新版がそろっているArchLinuxに入れ替えた。
ArchLinuxでは、デーモンの管理がほぼすべて、systemctlというコマンドから行えるようになっている。 例えば、CentOSやVineLinuxで行っていた、
$ sudo service httpd start $ sudo chkconfig httpd on
というコマンドは、ArchLinuxでは以下のように行える。
$ sudo systemctl start httpd $ sudo systemctl enable httpd
とてもわかりやすい。 しかも、デーモンのログも、
$ sudo systemctl status nginx * nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled) Active: active (running) since Sun 2014-07-06 01:49:23 JST; 13h ago Process: 23216 ExecStart=/usr/bin/nginx -g pid /run/nginx.pid; error_log stderr; (code=exited, status=0/SUCCESS) Main PID: 23217 (nginx) CGroup: /system.slice/nginx.service |-23217 nginx: master process /usr/bin/nginx -g pid /run/nginx.pid... `-23218 nginx: worker process Jul 06 12:18:15 devlion.net nginx[23216]: 2014/07/06 12:18:14 [error] 23218#..." Jul 06 14:48:30 devlion.net nginx[23216]: 2014/07/06 14:48:30 [error] 23218#...4 Jul 06 14:48:30 devlion.net nginx[23216]: PHP message: PHP Notice: Trying to... Jul 06 14:48:52 devlion.net nginx[23216]: 2014/07/06 14:48:52 [error] 23218#..." Jul 06 14:49:09 devlion.net nginx[23216]: 2014/07/06 14:49:09 [error] 23218#0... Jul 06 14:49:23 devlion.net nginx[23216]: 2014/07/06 14:49:23 [error] 23218#0... Jul 06 14:50:28 devlion.net nginx[23216]: 2014/07/06 14:50:28 [error] 23218#0... Jul 06 15:01:13 devlion.net nginx[23216]: 2014/07/06 15:01:13 [error] 23218#...4 Jul 06 15:01:13 devlion.net nginx[23216]: PHP message: PHP Notice: Trying to... Hint: Some lines were ellipsized, use -l to show in full.
こんな感じで確認することができる。いちいち、/var/logなどを見に行かなくても確認できるようになった。
この辺の便利さのおかげで、割と苦労せずにサーバを構築することができたと思う。
基本的には、Arch Linux でサーバ構築とComprehensive Server Guide - ArchLinuxWikiを参考に、以下のソフトウェアをインストールした。
やはり、一番時間がかかるのは、メールサーバの構築だった。今回はmysqlを使ってVirtualAccountの設定をしたのだが、参考としてみていたVirtual user mail system - ArchLinuxWikiの内容が一部間違っていたのである。
/etc/postfix/virtual_alias_maps.cf /etc/postfix/virtual_mailbox_domains.cf /etc/postfix/virtual_mailbox_maps.cf
の設定ファイルの内容が少し違っていて、正しくはこちらの記事の内容に置き換えたところ、正常に動作した。
今回、Dockerも導入しようかと思ったのだが、Dockerを使っていくつものサイトを運用しているイメージがわかないので、次回に延期した。本番サーバで使っている企業もあるようだが、いったいどういう構成になっているのだろうか。