さくらVPSにFTPサーバー(vsftpd)を導入。更に初心者にも分かりやすく。
公開日:
:
未分類
さくらVPSにFTPサーバーを入れたくて奮闘した4日間。
さくらVPSサーバーにFTPサーバーを導入しようとして、
4日間がんばった結果を忘れないよう、ここに残しておきます。
大部分はぷらすぶろぐさんの記事を参考に設置しました。
サーバーの操作などが分かる方は、ぷらすぶろぐさんの記事を読むだけでも分かるかと思います。
私のような初心者では分からないことも多かったので、ぷらすぶろぐさんの記事を参考に、
実際に私が行った設定も踏まえてこの記事にまとめさせていただきます。
基本的な操作(初心者必読)
さくらVPSコントロールパネルへログイン
リモートコンソールをクリック
VNCコンソールを開く をクリック
するとこのような画面が開きます。
このコンソールを使って、FTPサーバーの設定をしていきます。
root とパスワードを入力してエンターキーを押します。
パスワードはセキュリティのため、画面に表示されません。
青い下線部分に、操作の支持をキーボードで入力して操作します。
Linuxとかを使っている方だとお馴染みの操作かもしれません。
コマンドを入力した後に、エンターを押すと、多くの場合でコマンドの実行という命令になります。
エラーが出たり、入力したコマンドが間違っている場合は何もしません。
以下のコマンドは操作をする上で、必ず使いますが、多くのサイトでは表記がなかったため、
私のような初心者やコマンドスクリプトを知らない人に取っては、かなりの難関でした。
基本操作
※必ず使うので覚えて欲しい操作
Ctrl+Z 保存せずに動作を終了
Esc → :wq → エンター 保存して終了
Insertキー 入力モード切替え
内容の編集できない状態 or 上書きコマンドなどが入力できる状態
編集ができる状態
上書き保存をする時
Escキーを押すと左下の表示が消えます。
この状態で、:wq (コロン w q)を入力すると左下に表示されますので、
エンターキーを押すことで上書き保存されます。
vsftp設置の流れ
FTPサーバーはvsftpdが定番のようなので、迷うことなくvsftpdを利用します。
- コンソールから、yumコマンドでvsftpdをインストール後に、設定ファイルを編集して起動。
- 次にFTPユーザーを追加。サーバーと、FTPのリストに作成した作業ユーザーを設定。
- ファイヤーウォールであるiptablesでFTPのポートを開けてコンソールでの操作は終了。
- 最後にFTPソフトで接続の確認をして終了。
vsftpdのインストール
sudoでルートになってyumで一発です。
yum -y install vsftpd
Complete!と表示されてインストール終了。自動起動するようにchkconfigで設定。
chkconfig vsftpd on
設定できたか確認。
chkconfig --list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
こんな表示になります。0~6までのランレベルにおける設定が表示されます。2~5のランレベルにおいてonになりましたが、環境によっては3~5だったりするようです。
ランレベルとはシステムの状態のことで、表を見れば0や6の時点でoffなのは納得できます。
| ランレベル 0 | システムの停止 |
|---|---|
| ランレベル 1 | シングルユーザモード |
| ランレベル 2 | マルチユーザモード (NFSマウントなし) |
| ランレベル 3 | マルチユーザモード (通常 : コンソールログイン) |
| ランレベル 4 | 未使用 |
| ランレベル 5 | マルチユーザモード (通常 : ディスプレイマネージャ使用) |
| ランレベル 6 | システムの再起動 |
vsftpdの設定
vsftpdはまだ起動していません。起動する前に設定ファイルを触ります。 /etc/vsftpd/に各種設定ファイルができています。vsftpd.confを設定します。
vi /etc/vsftpd/vsftpd.conf
以下の設定を変更しました。
基本的に # を消すだけでOKです。
#匿名アクセスを禁止に。
anonymous_enable=YES
↓
anonymous_enable=NO
#ファイルのパーミッションをグループ書き込み可の664に。
local_umask=022
↓
local_umask=002
#アスキーモードを有効に。
#ascii_upload_enable=YES
#ascii_download_enable=YES
↓
ascii_upload_enable=YES
ascii_download_enable=YES
#シグニチャを隠蔽。
#ftpd_banner=Welcome to blah FTP service.
↓
ftpd_banner=Welcome to blah FTP service.
#ホームディレクトリ上層を参照できるユーザー設定
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
↓
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
#サブフォルダを含む一括アップロード・ダウンロードを許可
#ls_recurse_enable=YES
↓
ls_recurse_enable=YES
#---ファイルの最後に以下の設定を追加---
#/etc/vsftpd/user_listのユーザーだけを許可。
userlist_deny=NO
#設定を簡単にするためにPASVのポート範囲を限定。
pasv_min_port=50000
pasv_max_port=50030
#ユーザーの初期アクセスディレクトリ。
#wwwで/home/ユーザー名/www
local_root=www
#ユーザのホームディレクトリより上位のディレクトリへの移動を不許可に。
chroot_local_user=YES
※最後に追加するものについてですが、日本語が入らないので、#がついてる部分は無視してOKです。
入力が終わったら、 Esc → :wq → エンターキー で上書き保存します。
もし途中で間違えてキャンセルしたいときは、 Ctrl+z で保存せずに終了してから再度やり直してください。
次にFTPユーザーを追加します。
まず、ユーザーの作成を行います。
9ensanのLifeHackさんの記事を参考にさせていただきました。
2.ユーザーの作成(画像内:青ライン参照)
useradd ユーザー名
と入力することでユーザーを追加します。※英数字のみ。
入力後、メッセージの表示などの反応はありませんが、これでユーザーが作成されています。
続いて、ユーザーは作成されたので今度はパスワードを記述します。
3.ユーザーのパスワードを設定(画像内:赤ライン参照)
passwd ユーザー名
上記を入力すると、新しいパスワードの入力を求められるので、確認を含め2回同じパスワードを入力します。
これで新しく作ったユーザーのパスワードが変更できました。
FTPのユーザーリストに追加
vi /etc/vsftpd/user_list
先ほど作成したアカウントを追加して、上書き保存。
次にchroot_listという空ファイルを作成します。
echo > /etc/vsftpd/chroot_list
ホームディレクトリより上位のディレクトリへ移動できるユーザーを設定したい場合はchroot_listにユーザー名を記述します。
注意点としては、この動作はchroot_local_user=YESの場合で、chroot_local_userの記述がなかったりNOの場合は、逆に、chroot_listに記述したユーザーが上位にアクセスできなくなります。
つまり出来るだけ手間なく上位にアクセスできるユーザーを制限する設定となっています。
chroot_listについては、とても詳しい説明がスグラボさんで読めます。
ここまで来たら設定完了。vsftpdを起動します。
/etc/rc.d/init.d/vsftpd start
iptablesでFTPの為のポートを開ける
最後にファイヤーウォール、iptablesを編集します。
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50000:50030 -j ACCEPT
設定を反映&確認して終了です。
service iptables restart
iptables -L
———
service iptables restart を実行した際に、
エラーが出たら、追加した3行の 「RH-Firewall-1-」を削除してください。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50000:50030 -j ACCEPT
あとはFTPクライアントで接続。アップ&ダウンロードが出来ればOKです。
私の場合はFileZillaで接続できました。
IPアドレス:入力
ポート番号:空白 or 21
プロトコル:FTP を選択 ※SFTPではありません
ユーザー名とパスワードは、/etc/vsftpd/user_listに追加したユーザーのものを入力。
無事に接続ができるとこのような画面が表示されます。
あとは通常のFTPソフトのようにファイルのUPができますので、ご利用ください。
FFFTPやCyberduckなどでWEBページをUPしたりしている方は、この説明でわかりやすいかと思います。
FTPもなんぞそりゃ?な方は、通常のレンタルサーバーを使うほうが、コストも管理も簡単だと思いますよ。
少しでも、私のように困っている方の助けになりますように!
関連記事
-
iPhone 5s、iPhone 5cが発表!ドコモからも販売決定!!
iPhone 5s カラーバリ
-
-
2014年消えてしまうWebデザイントレンド、「スーパーマリオ」のNY地下鉄マップなど
おもしろツール/サービス スマホだけでも年賀状が
-
-
ドコモユーザー必見|ドコモ、ビッグデータを10月から販売へ 位置情報、年齢、性別などのデータを収集し企業に販売
ドコモユーザー必見! 契約者が「電話で申請」しない限り、 自動
-
-
新卒採用スタート!&ファッション&フォトショップブラシ
【採用活動本格スタート!】参考になる新卒採用Facebookペー
-
-
facebookからイイネの親指が消える?!
米Facebookは11月6日(現地時間)に、「いいね!」と「シェア」ボタンのデザイン変更と「
-
-
【2.13系】site_main.tplをいじったら真っ白に∑(゚д゚lll)ガーン
コーディング/EC-CUBE2.13/トラブル site_main.tplをいじったら真っ白に∑(
-
-
たった1クリックででWFが作れるツール&Web制作の料金相場早見表
Web制作の料金相場/早見表【2013年 クラウドソーシング版】 http:/
-
-
facebookのイベント画面にチケットを入手が登場?!
ごきげんよう。 なにやらイベントの通知が出ていたので、チェックしたところ、「参
-
-
WPテーマ「Stinger」が簡単で便利!
http://stinger3.com/ &nb












