Tokyo Promenade + nginx + Tokyo Cabinetのテスト環境を構築してみる 1
nginxはこんなところでいいはずですが、Tokyo Cabinetは結局再インストールとなりました(続編を見てください)。
Dell Inspiron mini 9 (Ubuntu 8.04 - Dellカスタマイズ版)の上に、以下からなるCMSの環境を構築してみます。
(あくまでもテスト環境ということで、セキュリティとか負荷対策はあまり考えないものとします。試行錯誤しつつ記事を書いていますので、間違えていたらごめんなさい)
・nginx
・Tokyo Cabinet
・Tokyo Promenade
まず、Dell Inspiron mini 9は(別OSを入れていたので)付属ディスクから再インストール、ネットワーク経由のアップデートを繰り返します。(当然、この時点でインターネットに接続できる環境が整っています。なお、今回は自宅内の別マシンからのアクセスが可能になるところぐらいまでをターゲットにしようかなあ、と思っています)
そして、Synapticパッケージマネージャを起動します。
検索すると、以下のパッケージが見つかりました。
・nginx 0.5.33-1
・tokyocabinet-bin 1.1.0-2
・tokyocabinet-doc 1.1.0-2
古いバージョンだとまずい、とかあるかも知れませんが、とりあえずは素直にSynaptic(apt)からこの三つをインストールすることにします。(libtokyocabinet1がtokyocabinet-binに依存していますので、こちらも入れます。計4パッケージですね)
nginxの設定から実施していきましょう。
まず、一応動くかどうかの確認として、以下を行います。
% sudo /etc/init.d/nginx start
そして、http://localhost/に接続してみます。
「Welcom to nginx!」と表示されればOKです。
nginxを一旦止めるために、以下を行います。
% sudo /etc/init.d/nginx stop
このままだとセキュリティ上、nginxが乗っ取られると危険なので、続いて、nginxのサービス(daemon)起動用のアカウントを以下のような形で作成します(shellなし、ホームディレクトリなし)。
% sudo groupadd www
% sudo useradd -r -g www -s /bin/false -d /nonexistent www
コンテンツを置くフォルダと、ついでにアクセス・エラーログ用のフォルダも作っておきます。
% mkdir /home/testuser/www
% mkdir /home/testuser/www_log
% sudo chown -R www:www /home/testuser/www_log
続いて、nginxのconf設定を行います。
% sudo vi /etc/nginx/nginx.conf
まず、user www-data; となっているところを#でコメントアウトして、以下のようにします。
#user www-data;
user www www;
この時点で一度保存し、先ほどと同じやり方でnginxを起動して、ps aux | grep nginxすればマスターのプロセスがrootで、ワーカープロセスが(1つ)wwwで起動していることが確認できます。(再び停止しておきます)
さらにnginxの設定を行います。
記入する内容は、まずworker_processesの調整です(デフォルトが1なので、サーバスペック等を考えて適当に増やします)。
そして、一番下にあるはずのhttp{}ブロック内に、以下を追記します。
server {
listen 80;
server_name ホスト名;
access_log /home/testuser/www_log/access.log;
error_log /home/testuser/www_log/error.log;
location / {
root /home/testuser/www/;
index promenade.cgi;
}
}
ここまで来たら、再びnginxを立ち上げます。エラーが出なければ、設定したホスト名宛にブラウザで接続してみて(http://ホスト名/)、403のエラーが返ってくることを確認します。そして、作成したログフォルダのアクセスログに403エラーが記録されていることが確認できれば、問題なしです。ここで、もう一度ngnixを止めます。(テスト環境なのでnginxはこれ以上設定しません。こことか、ここを参照したりすると、まだまだwebサーバとしてやるべき設定は色々ありそうだと分かりますが、とりあえず今回はそこまでは行いません)
続きは、Tokyo Promenadeのインストール・設定ということになりますが、これはまだaptにないので、Pacoでも使ってmake installしようと思います。まだまだ長引きそうなので、続きは次回、ということで。
[...] 前回の記事の続きです。 [...]