さくらインターネット上でTokyo Promenadeを設置する手順

独自ドメインを取得して、Movable TypeWordPressなどをインストールしたはものの、しっくり来なくてこともあって放置していました。でもさすがに半年以上も放置ってのは、ダメだなということで、たまたま思い出したTokyo Promenadeを使ってみることにしました。

さくらインターネットだと、設置するための手順が若干分かりにくいので、メモとして残しておきます。

注意事項

  • ソフトウェアを、$HOME/local以下へインストールしていますが、各環境に置き換えて読んで下さい。
  • makeでなく、gmakeを使って下さい。

Tokyo Cabinetをインストールする

Tokyo Promenadeは、Tokyo Cabinetを使っているので、まずはTokyo Cabinetをインストールしておきます。

さくらインターネットでは、/usr/local/以下にインストールできませんので、prefixを変更しておきます。

$ tar zxvf tokyocabinet-1.4.32.tar.gz
$ cd tokyocabinet-1.4.32/
$ ./configure --prefix=$HOME/local
$ gmake
$ gmake install

makeでなく、gmakeを使うことに注意して下さい。makeだとコンパイルに失敗します。

Tokyo Promenadeをインストールする

http://blog.broomie.net/index.cgi?id=2の記事によると、pkgconfigへのパスを通ってないとエラーがでるそうなので、パスを通しておきます。

自分の環境だと、Cシェルを使っているので、以下のコマンドを実行します。*1

setenv PKG_CONFIG_PATH $HOME/local/lib/pkgconfig

次に、Tokyo Promenadeをインストールします。

先ほどと同様で、prefixを変更しておきます。また--with-tcオプションで、Tokyo Cabinetのインストール先を指定します。(あまり詳しくないので、上記で参考したサイトの通り--enable-staticオプションも付けておきます)

$ tar zxvf tokyopromenade-0.9.6.tar.gz
$ cd tokyopromenade-0.9.6
$ ./configure -prefix=$HOME/local --with-tc=$HOME/local --enable-static
$ gmake
$ gmake install

ここでも、makeでなく、gmakeを使うことに注意して下さい。

Tokyo Promenadeを設置する

Tokyo Promenadeのcgiスクリプト、設定ファイルを上記のディレクトリにコピーします。

promenade.cgiでなく、index.cgiでアクセスするようにしたいので、コピーと同時にリネームしています。あわせてpromenade.tmplとpromenade.cssを、それぞれindex.tmplとindex.cssにリネームします。

$ cd $HOME/www/blog.aknot.jp/
$ cp $HOME/local/libexec/promenade.cgi index.cgi
$ cp $HOME/local/share/tokyopromenade/promenade.tmpl index.tmpl
$ cp $HOME/local/share/tokyopromenade/promenade.css index.css

次に、管理ページへのログイン用の初期パスワードをコピーしておきます。

$ cd $HOME/local/tokyopromenade/blog.aknot.jp/
$ cp $HOME/local/share/tokyopromenade/passwd.txt .

最後に、データベースの作成、ヘルプファイルのコピー、ファイルアップロード用のディレクトリを作成します。

$ $HOME/local/bin/prommgr create promenade.tct
$ $HOME/local/bin/prommgr import promenade.tct $HOME/local/share/tokyopromenade/misc/help-*.tpw
$ mkdir upload
$ chmod 700 upload

また「/」で終わるURLが指定された場合、index.cgiを優先して探して欲しいので、DirectoryIndexディレクティブで設定しておきます。またテンプレートファイルに直接アクセスできないようにしておきます。

$ cd $HOME/www/blog.aknot.jp/
$ cat .htaccess
DirectoryIndex index.cgi
<Files ~ "\.tmpl$">
    deny from all 
</Files>
$ chmod 666 .htaccess

database, password, uploadのパス、上記の設定で変更したので、設定ファイル inde.tmpl を変更しておきます。

[% CONF database "../../local/tokyopromenade/blog.aknot.jp/promenade.tct" \%]
[% CONF password "../../local/tokyopromenade/blog.aknot.jp/passwd.txt" \%]
[% CONF upload "../../local/tokyopromenade/blog.aknot.jp/upload" \%]

追記1

シンプルなこともあって、かなり使い勝手はよいです。あとちょこちょこっとカスタマイズしていこうかなと思っています。

追記2

index.tmplに直接アクセスすることができてしまうので、 .htaccess にアクセス制限の設定を追記しました。

DirectoryIndex index.cgi
<Files ~ "\.tmpl$">
    deny from all 
</Files>

*1:~/.cshrcに追記、source ~/.cshrcでもOKです。