So-net無料ブログ作成
検索選択

Gentoo に Apache をインストール [coLinux/Gentoo]

前提として、現在の私の環境では、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 が実行できた。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この記事のトラックバックURL:
※言及リンクのないトラックバックは受信されません。