2013年5月27日月曜日

Macでサーバーみたいなことをしてみる「その2」

というわけで、前回であったように「Pure-FTPd」でならうまく動いてくれているようなので
とりあえず、以下に今回の設定関連の内容をメモしておく。

前回でも書いておいたけど、ソースはココ「Pure-FTPd」の公式サイトから取得してきた
http://www.pureftpd.org/project/pure-ftpd)ここのDownloadの先から拝借。
この先のリンクのどちらから入って「/pub/pure-ftpd/releases/」のところにある新しいのをダウンロードした。

解凍後まず、そのフォルダーへ移り初期の作業として
コンパイルオプション関連をこんな感じで設定してみた。
~$ ./configure --with-pam --with-puredb --without-sendfile --with-boring --with-cookie --without-longoptions --with-privsep --with-ftpwho --with-peruserlimits --with-throttling --with-virtualchroot --with-virtualhosts --with-diraliases

今回特に必要とした部分は
--with-virtualchroot
この部分のオプション、コレでシンボリックリンクなどの挙動を「chrroot」している状態でも可能にします。
また、今回は念のため
--with-diraliases
の、コマンドも有効にしておいた。

基本的なオプション関連はこのあたりのサイトを参考にしてみた。
http://web.archive.org/web/20041013153855/http://homepage.mac.com/proc/pureftpd/pureftpd-option.html#with-altlog

このあと、メイクを実行してみる
~$ make

ここまでで特に問題がなければインストールを実行してみる。
~$ sudo make install

つづいて、可動に備えてコンフィグの設定を行なっておく
pure-ftpd.conf」を自分の実行させる環境に合わせて編集

############################################################
#                                                          #
#         Configuration file for pure-ftpd wrappers        #
#                                                          #
############################################################
# If you want to run Pure-FTPd with this configuration
# instead of command-line options, please run the
# following command :
#
# /usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf
#
# Please don't forget to have a look at documentation at
# http://www.pureftpd.org/documentation.shtml for a complete list of
# options.
ChrootEveryone              yes
TrustedGID                  100
BrokenClientsCompatibility  yes
MaxClientsNumber            10
Daemonize                   no
MaxClientsPerIP             3
VerboseLog                  no
DisplayDotFiles             no
AnonymousOnly               no
NoAnonymous                 yes
SyslogFacility              ftp
DontResolve                 no
MaxIdleTime                 15
PureDB                      /etc/pureftpd.pdb
PAMAuthentication           yes
LimitRecursion              10000 8
AnonymousCanCreateDirs      no
MaxLoad                     4
# この部分は外部に公開とかやらない場合には特に必要は無い
PassivePortRange            90000 99999
ForcePassiveIP              xxx.xxx.xxx.xxx
#
AntiWarez                   yes
Umask                       133:022
MinUID                      100
AllowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       no
ProhibitDotFilesRead        no
AutoRename                  no
AnonymousCantUpload         no
MaxDiskUsage                99
CustomerProof               yes
TLS                         1
IPV4Only                    yes

これで、編集の終わったファイルをしょていの位置へこんな感じでコピーしてあげる
~$sudo cp ./pure-ftpd.conf /etc/pure-ftpd.conf

ここまでで一応の準備は出来た感じだと思うのであとは稼働させてみるだけになります。
とりあえず、TESTをするだけなのでコマンドラインから
~$sudo /usr/local/sbin/pure-ftpd -l puredb:/etc/pureftpd.pdb &

とやって起動してみる。
ちなみに、今回ウチでやった場合には、パスワードの認証部分でなぜか、
-l コマンドでデータベースファイルの位置をしてしてあげないとうまく認証してもらえなかったのでこの形でやってみてます。

この形で特にエラーとかがログファイルとかにでていなければ、この位置のアドレスへ接続してみることになります。

そのためにユーザーを設定するわけですがソレには以下のような感じで。
~$sudo pure-pw useradd ユーザーの名前 -u UID -g GID -d ユーザーフォルダーの位置 -m

こんな感じで、「pure-pw」コマンドを使用して登録します。
ここで、今回は、UID「ユーザーID」の部分とGID「グループID」の部分は予めMacの方でftp用にユーザーとして登録して置いたものを使用しました。
ユーザーIDは「ftpuser」
グループIDは「ftpusers」
として登録したものをそれぞれ設定してあります。この辺りは各自の環境に合わせておけば良いとおもわれます。
とりあえず、「-m」のコマンドをつけて登録作業は行なっているのでデータベースの更新も同時にはされているはずなのですが心配な場合には最後に
~$sudo pure-pw mkdb
として、データベースのみの更新を行なっておくのもあり。

ちなみに、登録されているユーザの確認は
~$sudo pure-pw list

これで、ひと通りの準備は完了というところかな。


次は、コレを自動起動するようにしなければ…


0 件のコメント:

コメントを投稿