Mac自宅サーバまとめ〜FTPサーバ編。

(09.1.11)

今度はFTPサーバの覚え書き。
Webサーバがうまくいったのに気をよくして、欲を出して知識も乏しいのにFTPサーバにも挑戦しました。Webサーバにしても、このFTPサーバにしても、私の設定が本当に正解なのか、もっといい他の方法があるのか、それはわかりません。ウチはとりあえず記載している設定で作動しています。
FTPサーバの大まかな流れは、ドメイン取得はWebサーバ編に書いてあるので省略。ドメイン取得後、
(1)メディアコンバータPR-200NEの設定→(2)Mac OSの設定→(3)FTPソフト(Mac&Win)での接続テストです。
そして、
(4)起動ディスク>ユーザフォルダ以外の、別HDD内の任意のフォルダをFTPサーバ用フォルダとして認識させる、というのをやってみました。

(1)光回線終端装置(メディアコンバータ)PR-200NEの設定
設定するのは2項目あります。「静的IPマスカレード設定」と「パケットフィルタ設定」です。

img_73467_58047889_0

まず最初の項目。PR-200NEをブラウザで開き、
トップページ>詳細設定>静的IPマスカレード設定を開きます。
エントリ番号の01には、前回のWebサーバでの設定がされています。ここはエントリ番号02の編集をクリック。

img_73467_58047889_1

変換対象プロトコルは「TCP」を選択、
変換対象ポートには「ftp」、
宛先アドレスには、サーバにするMacG4のIPアドレスを入力して、設定をクリック。

img_73467_58047889_2

エントリ番号02にチェックを入れ、設定をクリックして、保存をクリック。
そして、左のメニューの、メンテナンス>機器再起動で再起動させます。

余談ですがこのPR-200NE、基本的に「保存」の後には「再起動」を、面倒でもひとつ設定するたびにいちいちやらなければ、うまく作動しないようです。

img_73467_58047889_3

今度は2つめの項目、トップページ>詳細設定>パケットフィルタ設定を開きます。
「01〜10」まで使われていたので、次のページに移ります。
「11〜20」を開くと、エントリ番号19が空いていました。これの編集をクリック。

img_73467_58047889_4

フィルタ種別を「通過」、
送信元IPアドレスには「*」、
宛先IPアドレスには、サーバにするMacG4のIPアドレス/255.255.255.255
プロトコル種別は「TCP」、
発信元ポートには「ftp」、
宛先ポートにも「ftp」、
方向は「両方向」を選択、そして設定をクリック。

img_73467_58047889_5

で、エントリ番号19にチェックを入れ設定、保存、再起動。
これでPR-200NEの設定を完了しました。

(2)Mac OS-X(Tiger)10.4.9の設定。

Mac側の設定も2項目。「共有」と「アカウント」です。

img_73467_58047889_6

ひとつめ、共有は簡単。
システム環境設定>共有を開き、「FTPサービス」にチェックを入れます。これで終わりです。

img_73467_58047889_7

ふたつめ、FTPサーバ接続用のアカウントを作ります。
名前、ユーザ名(これがFTP接続時のユーザ名になる)、パスワード(FTP接続時のパスワードになる)を入力して、アカウントを作成。

img_73467_58047889_8

そして、管理者でログインしている状態のまま、以下の作業をします。
新しく作ったFTPサーバ接続用のアカウントではログインしないようにします。

この、FTPサーバ接続用のアカウントのユーザフォルダ内に自動的にできた
サイト/デスクトップ/パブリック/ピクチャ/ミュージック/ムービー/ライブラリ/書類の
各フォルダ、要するにすべてを管理者でログインしている状態のまま、削除します。
あっても別にいいのですが、見た目良くないし・・。

このあと、FTPサーバ接続用に作ったアカウントでログインしてしまうと、自動的にライブラリフォルダのみ復活(作成)されてしまいます。
その時はまた管理者アカウントでログインし、FTP用ユーザフォルダからライブラリを棄てればOK。
他にもっといい方法があるのでしょうが、初心者にはこれが手っ取り早く簡単なようです。

(3)FTPソフト(Mac&Win)での接続。

3パターンで試しました。
Mac用のフリーFTPソフト「CyberDuck」、OSのFinderからの「サーバに接続」、Windows用のフリーFTPソフト「FFFTP」です。

img_73467_58047958_0

まずはMac用ソフト「CyberDuck」。
新規接続をクリック、
サーバにはドメイン名(「ftp://」は不要)を入力、
ポートは21(デフォルトで21になってます)、
ユーザ名には先に作った、FTPサーバ接続用アカウントのユーザ名、
パスワードは、そのユーザのパスワードを入力。

img_73467_58047958_1

これでばっちり接続。ただし、問題があって・・

img_73467_58047958_2

友人が試しにアクセスしてくれたのですが、パスをさかのぼって、システムが丸見え・・。
見られるだけでいじることはできないのですが、気持ちのいいもんじゃありません。

ネットで調べると、ターミナルで何やら書き込んだり、
フリーソフト「SharePoints」とかいうのを利用すればなんとかなるようなのですが・・
私にはハードル高いため試せません。

img_73467_58047958_3

次に、OS-Xの
Finderの「移動」メニュー>サーバへ接続を試します。

img_73467_58047958_4

サーバアドレスを入力。

img_73467_58047958_5

認証画面が開いたら、
名前にFTPサーバ接続用アカウントのユーザ名、
パスワードは、そのユーザのパスワードを入力してOK。

img_73467_58047958_6

無事マウントできます。

img_73467_58047958_7

ただ、コピーもなにもできないので、これは使えなさそうです。
アクセス権とか変えればできるのかどうかは未検証です。
いや、かえってこんなお手軽な方法で入り込まれない方がいいかも。
ま、もともとダメもとでやってみただけだし、これはこのままでいいです。

img_73467_58047958_8

最後は、Windows用のフリーFTPソフト「FFFTP」での検証。
接続>ホストの設定>新規ホストをクリックし、開いた画面の、
ホストの設定名は、好きな名前を入力。
ホスト名(アドレス)には、ドメイン名、
ユーザ名はFTPサーバ接続用アカウントのユーザ名、
パスワード/パスフレーズには、そのユーザのパスワードを入力してOKをクリック。

img_73467_58047958_9

接続をクリックすると、無事接続。
ただ、コレもパスをさかのぼれるんですよね・・。ま、とりあえず友人知人間となら使い物になりそうです。

(4)別HDD内の任意のフォルダをFTPサーバ用フォルダとして認識させる

起動ディスク>ユーザフォルダをFTPサーバ用のフォルダとして使いましたが、ウチの場合、容量が足りなくなりそうで、別に増設してある内蔵HDDをFTPサーバ用として使いたいと思い、あれこれやってみました。

まず、rootのアカウントを作ります。Netinfoマネージャを起動し、メニューバーのセキュリティ>ルートユーザを作成します。
そしてrootでログイン、以下はルートユーザでログインしたまま進めます。

img_73467_58048549_4

まず、増設してあるHDD(ウチのには「2nd」という名前が付いています)の中に、FTP用のフォルダを作ります。
私は「file」という名前にしました。

img_73467_58048549_5

次にターミナルを起動します。ここは、こちらを参考に進めさせてもらいました。
要するに、増設HDD「2nd」内の「file」を、FTPサーバとして使ったユーザアカウントのホームフォルダとして認識させるわけですね。
私の場合、FTPのユーザ名がxxxxとすると、# sudo niutil -createprop . /users/xxxxx home “/Volumes/2nd/file”となるようです。
これを起動したターミナルの画面の「・・・~ root#」の後ろに打ち込みました。

img_73467_58048549_6

最後に再びNetinfoマネージャを起動。
/>users>FTPのユーザ名をクリック。
すると下の窓に関連づけられてるリストが出てくるので、この中から「home」を選択、右側の部分をダブルクリックして、ここを/Volumes/2nd/fileと書き換えました。

これで終了。一度Macを再起動します。他の回線でCyberDuckで確認すると、ちゃんと2nd内のfileにつながりました。
ただ、これもまた階層をさかのぼれますが・・(^_^;

以上で私の自宅webサーバ、FTPサーバへのチャレンジは終了。ただ、階層をさかのぼれるのだけはこの先も解決へ向けていきます。
くどいようですが、あちこちから情報を寄せ集め継ぎ接ぎし、サーバ関係には素人の私がやったことの記録ですから、もっといい方法がきっとあるはず。
私の方法には何の責任も持てませんが、とりあえず素人にも簡単に試すことのできる方法だと私は思っています。