]
トップ «前の日記(2008-12-24) 最新 次の日記(2008-12-27)» 編集

Yukiharu YABUKI の tDiary



このtDiaryを検索します。

2008-12-26 [長年日記]

_ Apache Portable Runtime(APR)

私が追っかけていないためだが、Apacheって、Portable Runtime Projectってのをやってて(http://apr.apache.org)で展開している。

今日時点の apache の安定版をコンパイルするのには、こいつが必要になっている。APRの中身については、前述のwebや、wikipediaなどでも概観できる。

Debian GNU/Linux Lenny の依存関係でチェックするとapache2をコンパイルするのに、下記のライブラリが必要だそうだ

$ sudo aptitude install libaprutil1-dev libapr1-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます      
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了        
以下の新規パッケージがインストールされます:
  libapr1-dev libaprutil1-dev libdb4.6-dev{a} libexpat1-dev{a} libpq-dev{a} 
更新: 0 個、新規インストール: 5 個、削除: 0 個、保留: 0 個。
2206kB のアーカイブを取得する必要があります。展開後に 9495kB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] 
  • libdb4.6 は、BerkleyDBのライブラリ
  • libexpat1は、XMLのパーサ。
  • libpq-devは、postgresqlのヘッダーなどの開発に必要なファイル

ということなんで、最小の構成でmakeするだけなら全部はいらない風味だ。で、debian/rulesを覗いてみる。

AP2_COMMON_CONFARGS = --enable-layout=Debian --enable-so \
                      --with-program-name=apache2  \
                      --with-ldap=yes --with-ldap-include=/usr/include \
                      --with-ldap-lib=/usr/lib \
                      --with-suexec-caller=www-data \
                      --with-suexec-bin=/usr/lib/apache2/suexec \
                      --with-suexec-docroot=/var/www \
                      --with-suexec-userdir=public_html \
                      --with-suexec-logfile=/var/log/apache2/suexec.log \
                      --with-suexec-uidmin=100 \
                      --enable-suexec=shared \
                      --enable-log-config=static --enable-logio=static \
                      --with-apr=/usr/bin/apr-1-config \
                      --with-apr-util=/usr/bin/apu-1-config \
                      --with-pcre=yes

が configure へオプションとして渡されているのを確認する。aprとapuのことも調べておく。

$ ls -la /usr/bin/apr-1-config  /usr/bin/apr-config 
-rwxr-xr-x 1 root root 6934 2008-10-08 07:15 /usr/bin/apr-1-config
lrwxrwxrwx 1 root root   12 2008-12-26 15:11 /usr/bin/apr-config -> apr-1-config
で、そのaprの中身は?
$ file /usr/bin/apr-1-config 
/usr/bin/apr-1-config: POSIX shell script text executable
ってことで、後学のために中身を眺めておく。次は、apuの方
yelona:~# ls -la /usr/bin/apu-*
-rwxr-xr-x 1 root root 5953 2008-08-21 05:39 /usr/bin/apu-1-config
lrwxrwxrwx 1 root root   12 2008-12-26 15:12 /usr/bin/apu-config -> apu-1-config
yelona:~# file /usr/bin/apu-1-config 
/usr/bin/apu-1-config: POSIX shell script text executable
これも後学のために中身を眺めておく。

_ NIC2枚差しで、両方のNICからDHCPの設定をもらって困ってしまったら。

netstat -rn を実行して、現状を確認して、おもむろに、route default gw xxx.xxx.xxx.xxx と打ち込んで、netstat -rn を実行する。まあ、これだけじゃダメです。DHCPでリゾルバが上書きされて切ない状態になっていることが多い。よって /etc/resolv.confを手で修正するか、GWにしたい側のdhcp clientを起動してresolv.confを上書きしてもらえ。最近のlinuxならケーブルを抜き差しするだけでいいんじゃないかな。

って、ケーブルを抜きさした方が、viなどのエディターで/etc/resolv.confを書き換える必要がないから、ついつい使ってしまう