YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

WebDAVの設定

# su -
# a2enmod dav
# a2enmod dav_fs

あら、どちらもすでに動いていました。
mod_encodingを設定。encoding.confはなかったんで書きました。

# apt-get install libapache2-mod-encoding
# emacs /etc/apache2/mods-available/encoding.conf
==
<IfModule mod_encoding.c>
        EncodingEngine    on
        NormalizeUsername on
        SetServerEncoding     UTF-8
        DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
        AddClientEncoding "cadaver/" EUC-JP
</IfModule>
==

encodingの有効化

# a2enmod encoding
Module encoding installed; run /etc/init.d/apache2 force-reload to enable.

ディレクトリの設定。バーチャルホスト設定に追加。

# emacs /etc/apache2/sites-available/default
==
Alias /dav "/share/dav"
<Location /dav>
    DAV on
    Options Indexes  <--- これでファイルリストを表示してくれる。
</Location>
==

ディレクトリの作成

# mkdir /share/dav
# chown www-data.www-data /share/dav

これでhttp://ADDRESS/davをブラウザから見れば見られる。

aptとtarball

今回立てたサーバに対する思想の一つとして「Debianの思想にのっとる」というのがあります。と書いてみると大仰ですが、単にaptやdpkgでパッケージを管理したいということです。*1
で、今回やりたかったのはRubyPostgreSQLをつなぐruby-postgresというモジュールのインストールだったんですが、いくら検索してみてもtarballからPostgreSQLを入れた場合しか載っていない。

# ruby extconf.rb

をやってもうまくいかないので、--with-pgsql-include-dirや--with-pgsql-lib-dirをいじってみたけどよく分からない。「そもそもインクルードファイルはどこにあるのだ?」と考え、また調べてみたところ、どうやらpostgresql-devというパッケージを入れていなかったみたい。確かに開発者でもないのに勝手にデベロッパー用のファイル入れられたら困りますね。で、改めてextconf.rbを実行したら無事Makefile作成完了。
だが今度はmakeが通らない。エラーメッセージを見てみるとlibpq-fe.hがそもそも読み込めていない。どうやらライブラリディレクトリが間違っていた模様。いろいろ調べて*2無事makeとmake install完了。

しかし、今回初めてLinuxのディレクトリ構成に関心を持って意味を知ることができました。

*1:tarballを極力使わない

*2:別記事