Max (2524) の日記
mod_frontpage ほげ *動作*
/var/log/httpd/fpexec_log を見ると、
user mismatch (fpapache instead of apache)
とある。ビルド時に指定されているか、もしくはハードコード(げ)されている
可能性があるので、ソースrpmをとってきて調べることにする。
# rpm --ivh mod_frontpage-1.5.1mdk-3.src.rpm
# cd /usr/src/RPM/SPECS
# rpm -ba mod_frontpage.spec | less
[snip]
Reading httpd.conf...
Apache user: apache, group: apache
[snip]
ぐは(嘔吐
ダメスギ。粗雑スギ。さらに/etc/httpd/conf/httpd.confを書き換えても、上記は変わらない。
どこを見ているのだろうと思ったら/etc/httpd/conf/commonhttpd.confを見ている。
/usr/src/RPM/BUILD/mod_frontpage-1.5.1mdk-1.3.19/DSO/Makefile.PLに、そういう
記述がある。
が、これを有効にするとFP2K SEをインストールするときに蹴られる。
結果として、使いもしないcommonhttpd.confも矛盾なく設定せねばならぬということになる。
手順を整理すると、
- uid/gid&>=100となるようなユーザを作成
ex) # adduser -M fpapache - /var/www/html以下のオーナをそのユーザにする
ex) # chown -R fpapache:fpapache /var/www/html
- /etc/httpd/conf/httpd.confおよび、/etc/httpd/conf/commonhttpc.confを目的の動作にあった形で設定
- mod_frontpageのソースrpmをダウンロードする
- rpm -ivh ほげほげ
- SPECディレクトリで rpm -ba ほげほげ
- できあがったrpmをインストールする
- httpd.confにcommonhttpd.confを併合する(以降commonhttpd.confは使わない)
- RTR社のサイトからFP2K SEを取り込んで/usr/local/frontpage以下に展開
- /usr/local/frontpage/version4.0/bin/fpsrvadm.exeでルートwebにFP2K SEをインストールする(unix user/group=fpapache/fpapache)
- apache再起動
- WindowsのFrontPageクライアントを起動し、ルートwebを開いてみる
これでうまくいけばOK
という実にヤヤコシイ手順となるのであった。
なお、BUILDディレクトリ以下に展開されるmod_frontpageのインストール説明書
では、
Notice: If you use RedHat Linux, your UNIX user "nobody" and UNIX group
"nobody" do have a UID/GID of "99". Therefore, you shoud use:--fpexec-uidmin=99
--fpexec-gidmin=99
という記述もある。ここをそれぞれ48にすれば、User/Group = apache/apacheで
動作すると思われるが、危なそうなので問題が出ない限り、apacheを実行するUser/Group
を変更することで対処することにする。
しかしだ。それにしてもだ・・・・(泣