前提として、現在の私の環境では、USE フラグに threads を加えて
emerge --update --deep --newuse world
している。( glibc は、2.3.4 のままだけど )
# emerge apache
をすると、configure の途中で、↓のようなエラーが出て止まってしまった。
configure: error: the selected mpm -- -- is not supported
mpm っていうのは、これ↓のことらしい。
http://httpd.apache.org/docs-2.0/ja/mpm.html
# emerge -pv apache
をすると、 -mpm-xxxxxx というのが何種類か出た。
USE フラグに mpm-threadpool を加えて emerge -pv apache をもう一度実行してみると、
+mpm-threadpool となったので、この状態で
# emerge apache
を実行したら、無事コンパイルが終わった。
ビルドは完成したけど、なんかビルドの途中で、
「DSO をこれから追加するんだったら USE フラグに apache2 を加えといたほうがいいよ」
と出たような気がしたので、USE フラグに apache2 を加えておいた。(今回の作業には関係なし)
# rc-update add apache2 default
をすると、起動時に apache2 を起動してくれるようになる。
とりあえず、手動で開始するには
/etc/init.d/apache2 start
という感じ。
ところが、起動するときに、apache2 が「FQDN がわからん、FQDN を 127.0.0.1 に設定した(超訳)」
と言ってきた。
(以下、DNS に登録しないでごまかしたわたしのやり方)
/etc/conf.d/domainname に
DNSDOMAIN="nakagami.net"
という行を加えて、
# rc-update add domainname default
をしておくと、次の起動から /etc/resolv.conf に以下の行が加わる。
domain nakagami.net
リゾルバ・ライブラリ君は、これでごまかせるので、次は Gentoo 君のほかの部分を
ごまかすために、/etc/hosts に以下のような感じでホスト名を加える。
192.168.1.2 colinux.nakagami.net colinux
これで、Gentoo 君のほかのいろいろな部分も、colinux.nakagami.net が FQDN だと判断してくれる。
コンソールで、
$ hostname --fqdn colinux.nakagami.net
と出たらOK。
そういえば、boot 時に warning が出てて無視してたけど、Gentoo 的には
/etc/hostname じゃなくて、/etc/conf.d/hostname にホスト名を書くらしい
この状態で、apache2 を起動して、サイトルートにアクセスすると、Apache のテストページが出る。
デフォルトの状態で、設定ファイルは /etc/apache2/httpd.conf に、
コンテンツ、CGI は /var/www/localhost にある。ログは、/var/log/apache2 に出力される。
/var/www/localhost のファイルのパーミッションをいじったり、ファイルの内容を
変えたりして、オリジナルがどんな状態かわからなくなってきた。
# emerge --unmerge gentoo-webroot-default # emerge gentoo-webroot-default
と実行すると、/var/www/localhost の状態が元に戻るみたい。
インストールした直後の状態で、/cgi-bin/ の CGI が動かなかった。
安全のために、suEXEC っていうので、制限しているらしい。
http://www.toshikazu.org/archives/000009.html
かなり試行錯誤したが、結局 suEXEC で CGI を動かすのは挫折した。
/etc/apache2/httpd.conf の
LoadModule suexec_module modules/mod_suexec.so
の行をコメントアウトして、
CGI スクリプトの owner:group を apache にして、実行権限を付加した(下記の行参照)
# chown apache:apache /var/www/localhost/cgi-bin/* # chmod u+x /var/www/localhost/cgi-bin/*
この状態で、
http://colinux.nakagami.net/cgi-bin/test-cgi
http://colinux.nakagami.net/cgi-bin/printenv
みたいな感じで、/cgi-bin/ に入っている CGI が実行できた。
この記事へのコメント
Auststeend
Kelaffoks
LesOwnems
Kelaffoks
LesOwnems
Kelaffoks
Ellemossy
Kelaffoks
Auststeend
LesOwnems
Ellemossy
Kelaffoks