[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:16182] qwik と quickml 連動について



えとーです。
毎度ハマっております。。

qwik というアプリケーションがありまして、
これを deb化する際に幾つか悩ましい部分がありましたので
ご相談です。

qwikは既存のものを組み合せていたりしまして、
その内で外部のパッケージに頼れるところは頼りたいと
思って作業しています。

主に問題となっているのはquickmlパッケージとの連携部分です。
作業中のメモから抜粋、、
   qwikのquickmlはオリジナルのquickmlと違う点がある。
   1、   文字コードがオリジナルはeuc-jpだがqwikのほうはsjisである。
   2、   /usr/sbin/quickml において、qwikではqwik/quickml というのを
         requireしている。
   3、   Debian版のquickmlのownerはlistだが、qwikオリジナルでのquickml
         ではqwikである。

1の問題は今のところちゃんと検証できていませんが、文字化け等が考えられます。
問題発生時にはquickmlとdiversionsなどで置き換えまくらないと
いけないかもしれません。もしくは、全部euc-jpに書き直す。くらいでしょうか。
いちをタイトルの文字化けは確認しました。。

2の問題はdivertionsなどを使って置き換えるという手段もあるんですが、
それをしていいのかがいまいち理解できませんでした。。

3はqwikのwikiライクな部分はwebrickを使ってhttpサーバとして動いているので、
データなどの配置ディレクトリの所有者をwww-dataにしているため、
書き込めなかったりしています。

quickmlにmemoというMLを作る。
http://hoge/qwik/memo/ にqwikのmemo@hogeというquickmlと対応した
ページが作成されますので、アクセスすると

Internal Server Error
Permission denied - /var/www/qwik/memo/.attach
qwikWeb/0.3.4+20041104 at 127.0.0.1:9190

と、表示されます。
実際に確認すると、

$ ls -ld /var/www/qwik/
drwxrwxr-x  4 www-data www-data 4096 Dec 24 04:34 /var/www/qwik/

$ ls -l /var/www/qwik/
total 8
drwxr-xr-x  3 list     list     4096 Dec 24 04:34 memo
drwxrwxr-x  3 www-data www-data 4096 Dec 24 05:33 www

$ ls -al /var/www/qwik/memo/
total 32
-rw-rw-rw-  1 list     list       12 Dec 24 04:34 ,charset
-rw-r--r--  1 list     list      146 Dec 25 23:33 ,config
-rw-rw-rw-  1 list     list        2 Dec 24 04:34 ,count
-rw-r--r--  1 list     list       15 Dec 24 04:34 ,members
drwxr-xr-x  3 list     list     4096 Dec 24 04:34 .
drwxrwxr-x  4 www-data www-data 4096 Dec 24 04:34 ..
drwxrwxrwx  2 list     list     4096 Dec 24 04:34 .backup
-rw-rw-rw-  1 list     list       54 Dec 24 04:34 1.txt
-rw-rw-rw-  1 list     list        0 Dec 24 04:34 _PageTitle.txt

と、なっています。

原因は quickml から ML 作成やメールを受け取った段階で
qwik の quickml に対応したページが作成されるので、
作成されたページの実体のディレクトリやファイルは quickml 
が稼動している list ユーザで作成されます。
しかし、qwik (www-dataユーザ)で書き込みも行なう必要があるため、
エラーとなっています。

対応策としては、
list ユーザが www-data グループに参加、 www-data ユーザが 
list グループに参加。
とかが思い付いたのですが、いまいちしっくりこなくて
Debian的に正しいのかが不明でした。
ご教示くだされば嬉しいです。