qwikWeb をインストールして使ってみました。

2018年2月18日

この記事は最初の投稿日から18年経過しています。内容が古い可能性があります。

以前から気になっててインストールしてみたいなぁと思っていた qwikWeb を gentoo のサーバに入れてみました。

qwikWebはWikiWikiWebとメーリングリスト管理システムが統合されたグループ・コミュニケーション・システムです。

qwik.jp – qwikWeb

http サーバは外部に公開していない環境です。

必要なもの

  • Ruby 1.8.4以上

qwikWeb本体だけでインストールして使うことができます。全ての機能を使う場合には、下記ライブラリが必要になります。

  • Ruby OpenSSL
  • ruby-gd
  • ImageMagick

qwik.jp – qwikWeb

ということなので、とりあえず ImageMagick が未インストールだったため、emerge imagemagick でインストール。

コンパイルに時間はかかりますが、コマンド一発です。

ありがたや。

アーカイブの入手と動作確認

http://qwik.jp/qwikWeb.html に書いてあるとおりですが、

$ wget http://eto.com/2004/qwikWeb/qwik-0.8.2.tar.gz
$ tar zxvf qwik-0.8.2.tar.gz
$ cd qwik-0.8.2
$ make

としたあと、

http://127.0.0.1:9190/

としたらつながるはずですが、gentoo サーバには、127.0.0.1 につなぐことができるようなブラウザが入っていません。

とりあえずは、ssh でポートフォワードして PC のブラウザで確認。

おぉ。あっけなく動きます。

インストール

続けて、

$ su
# ruby setup.rb

起動のコントロールコマンドは、/usr/bin に入りました。

起動してみます。

$ qwik-service --web-start

ブラウザで先ほどの URL に接続してみると動いています。

Apache の設定

Apache からリバースプロキシで接続するように設定します。

うちでは Apache2 が動いていますので、

LoadModule proxy_module                  modules/mod_proxy.so
LoadModule proxy_http_module             modules/mod_proxy_http.so

を有効にし、

ProxyPass /q/ http://127.0.0.1:9190/
ProxyPassReverse /q/ http://127.0.0.1:9190/

を追加して基本的にはおしまいです。

これで、http://www.example.com/q/*1 にアクセスしてみると、先ほどの qwikWeb のページが表示されます。

Postfix の設定

main.cf に、

transport_maps = hash:/etc/postfix/transport

がなければ追加し、transport のファイルに、

q.example.com smtp:[127.0.0.1]:9195

と定義した後、postfix を上げなおします。

# postmap transport
# /etc/init.d/postfix restart

これで、q.example.com ドメイン宛に送られたメールが、qwikWeb の ML サーバ宛に送られるようになります。*2

設定ファイルの修正

/etc/qwik/config.txt の各値を適切な値に修正します。

public_url、ml_domain、ml_postmaster といったあたりです。

メーリングリストと Wiki の連携を確認

Wikiサーバと共に、ML サーバも起動するため、

# qwik-service --start

として、起動します。

test@q.example.com 宛にメールを送ってみると、User Unknown で帰ってきてしまいます。

Postfix の main.cf 内、

local_recipient_maps =

を上記のように修正して再度送ってみると、今度はメーリングリストが作成されてメールが帰ってきました。(後ほど修正しました。「追記」参照。)

ブラウザから http://www.example.com/q/test/ にアクセスすると、認証を行った後 wiki のページが無事表示されます。

OK そうです。

とりあえず以上

まずは、自分用に使っていた メールメモ書き送信先のメーリングリストを、qwikWeb に移行しました。

メールが Wiki に形を変えて残っていくのは初めて見るととても新鮮です。

追記

local_recipient_maps を空にしてしまうと、qwikWeb 宛でない時でも無条件に一度は受け付けてしまうため、今ひとつしっくりきません。

そこで、qwikWeb 用のドメインの時だけ、受け付けるようにしました。

qwikWeb 用に追加したサブドメインを記載した、local_recipients というファイルを作成します。

@q.example.com OK

右辺の OK という文字は何でも良いですが、必ずなにかを入れなければなりません。(ローカル受信者テーブルのフォーマット)

postmap コマンド使って btree 形式にします。

# postmap btree:/etc/postfix/local_recipients

これを、local_recipient_maps に追加します。

デフォルト値の後ろに追加します。

local_recipient_maps = proxy:unix:passwd.byname $alias_maps btree:/etc/postfix/local_recipients

これで、@q.example.com の時には未知のユーザでも受信しますが、@example.com の時には、未知のユーザは受信拒否するようになりました。

*1:もちろん www.example.com の部分は例示用で、実際には実在のホストにします。

*2:もちろん q.example.com の部分は例示用で、実際には実在のホストにします。

gentoo

Posted by toshyon