[設定]
まず、公開するファイルの置き場を決めましょう。
publicfileインストールに関するページによれば、
publicfile では 新しいディレクトリ階層(普通は/publicとします)
の内側の公開ファイル領域に読み出せるファイルを置きます。
の記述がありますが、qmailとあわせるために/var/publicfile以下に公開することにしました。
((注)ディレクトリは以下のconfigureコマンドで作成されますので
mkdir等を実行する必要はないようです。
逆にディレクトリがあるとconfigureでエラーが出ます。)
publicfileではサーバー用とログ用にシステムアカウントを二つ使います。
publicfileインストールに関するページによれば、
publicfile は システムアカウントを二つ使います。 httpd と ftpd
は (chrootされて) ひとつのアカウント、通常はftpのもとで動きます。ロギングプログラムはもうひとつのアカウント、通常はftplogのもとで動きます。
使うアカウント名を決めて、いますぐ作りなさい。
となっています。
Vineではftpというユーザが既に存在します。
ここで、ftpユーザをそのまま使うか、新たに追加するか迷ったのですが、
テストなので上記とは名前を変えて、publicfile,publicfilelogというユーザを
追加することにしました。
上記にはユーザの追加コマンドについての記述がないのですが、
# cat /etc/group | grep ftp
ftp:x:50:
という出力結果が得られたので、logユーザはftpグループに含めることにしました。
qmailインストール時のコマンドを参考に
# useradd -g ftp -d /var/publicfile -s /bin/false
publicfile
# useradd -g ftp -d /var/publicfile -s /bin/false
publicfilelog
とします。
/var/publicfile以下のファイルを公開できるように以下のコマンドを実行します。
# /usr/local/publicfile/bin/configure publicfile
publicfilelog /var/publicfile
(useraddの時点で/var/publicfileというフォルダが出来てしまったら、
そのディレクトリを削除してから上記を実行してください。)
ln -s /var/publicfile/ftpd /service/ftpd
のようにしてftpdだけ実行させることにしましょう。
上記、シンボリックリンクを作成してすぐにftpdが立ち上がるでしょう。
httpで公開するには、公開用の名前を決める必要があるようです。
上記、configureで名前を決め忘れている場合、
ln -s 0 /var/publicfile/file/www.mydomain.com
のようにすることで、
# /usr/local/publicfile/bin/configure publicfile
publicfilelog /var/publicfile www.mydomain.com
の時と同じ効果が得られるようです。