エンジニアじゃないけどがんばってさくらVPSにFTPサーバをインストールしてみる

公開日: : WordPress , ,


さくらVPSって標準だとFTP接続できない!(知らなかった)
なるべく黒い画面を見たくないので(FTP接続して直感的にファイルをやりとりしたい)、FTPサーバを立てます。

1. FTPサーバがインストールされてるかどうか確認する

以下のコマンドを実行。

# rpm -qa vsftpd

FTPサーバがインストールされてるかどうかのコマンドなので、特に反応なくても不安にならない。

2. FTPサーバをインストール

これでインストール。

# sudo yum -y install vsftpd

しばらく待ってるとごにょごにょごにょ〜〜〜ってなって

Complete!

となるので完了。

3. FTPサーバを起動する

このコマンドで起動する。

# sudo /etc/rc.d/init.d/vsftpd start
vsftpd 用の vsftpd を起動中:                               [  OK  ]

と表示されたら完了。

4. FTPサーバを自動起動するようにしておく

再起動したときなどのために、FTPサーバを自動起動するようにしておくと便利そう。

以下を実行する。

# sudo chkconfig vsftpd on
# sudo chkconfig --list vsftpd

以下のように2〜5がonになってたら自動起動完了ってことです。

vsftpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off

5. vsftpd.confファイルを編集する

ここでviを開いてあれこれ変更する。

# sudo vi /etc/vsftpd/vsftpd.conf

以下の箇所を変更しておく。viの使い方はすっとばしてしまうけどどうしても分からない場合は前回を参照
// 以降はコメントなので無視してよいです。

anonymous_enable=NO // 匿名アクセスを無効にする

local_umask=002 // ファイルのパーミッションを664に

ascii_upload_enable=YES //アスキーモードでのアップロードを許可(コメントアウトを外す)
ascii_download_enable=YES //アスキーモードでのダウンロードを許可(コメントアウトを外す)

ftpd_banner=Welcome to blah FTP service. //シグネチャを外す(コメントアウトを外す)

chroot_list_enable=YES // ホームディレクトリのみ参照するユーザ設定
chroot_list_file=/etc/vsftpd/chroot_list

ls_recurse_enable=YES // サブフォルダを含む一括アップロード/ダウンロードの許可

そのままの状態でファイルを開いたまま、ファイルの一番下に以下を書き込む。

userlist_deny=NO
use_localtime=YES
pasv_min_port=50000
pasv_max_port=50030
local_root=/var/www/html
chroot_local_user=YES

6. ユーザを作成

以下のコマンドを実行しユーザを作成

# sudo adduser --shell /sbin/nologin --home /var/www ftpuser

7. パスワードを作成

作る。

# sudo passwd ftpuser

8. FTPアクセスできるユーザを設定

またvi。

# sudo vi /etc/vsftpd/user_list

初期設定だとこんなかんじ。

# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

ここに自分で使いたいFTPユーザ名など足す。

9. ホームディレクトリより上層にアクセスできるユーザを設定する

# sudo vi /etc/vsftpd/chroot_list

開いてみるけど使わないのでそのまま保存して終了(:wq)。

10. FTPサーバを再起動する

再起動するといろいろ動き出す。

# sudo /etc/rc.d/init.d/vsftpd restart

11. iptablesにFTP設定を追加

ファイヤウォールの構築に必要なiptablesを追加。今回は必要最小限に。
またvi。

# vi /etc/sysconfig/iptables

カラのファイルが開くので、以下を記述して保存する。iptablesの設定は難しいので詳しく知りたい人はこのへんを参考に。

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 50000:50030 -j ACCEPT
COMMIT

これをペタッと貼って保存して終了。

設定を反映させる為再起動します。

# service iptables restart   

確認してみます。

# iptables -L

大丈夫っぽい。

12. ForkLiftにてFTP接続してみる


プロトコルはSFTPを選択。
サーバにはさくらVPSのIPアドレスを指定(***.***.***.***)
ユーザネームは「8. FTPアクセスできるユーザを作成」で作ったユーザ名
パスワードは「7. パスワードを作成」で作ったものでログインします。

スクリーンショット 2014 07 09 19 18 25

13. さくらVPSでWebページの領域を作る

さくらVPSのWebページデフォルト領域は、var/www/htmlとなります。
rootのままmkdirしてもFTPでアクセスできないので、この後はvar/www/htmlをForklift(FTPソフト)で作って何か放り込む

これにて終了。

追記.FTPはもう古い

ブコメで指摘いただいて気付いた。

id:UDONCHAN 今更FTPはやめてくれー。sshあるんだからSFTPできるでしょ。

あーーーそうか、これSFTPか。ありがとうございます。あとでなんとかする

関連記事

さくらVPS引越計画(MacでSSH接続を設定してWordPressをのっけるための初期設定)

ぼくはエンジニアじゃない。プログラミング情報誌を作っていたのにプログラミングできない(Hello W

記事を読む

no image

文頭の$(ドル)マークは一体何なのか?

よくソースコードの先頭に$(半角ドルマーク)が付いてるソースがあったりします。これって何?文頭ドルマ

記事を読む

no image

MarsEditで投稿したときに SyntaxHighlighter Evolvedが文字化けしないようにする方法

WordPressにコードを表示させるための神プラグインとして有名な「SyntaxHighlight

記事を読む

LIGの人に教えてもらった!WordPressからSEO的にもいい感じにカテゴリベース(/category/)取る方法

WordPressのカテゴリーページなどに付く、 http://example.com/catego

記事を読む

PAGE TOP ↑