LoginSignup
78
69

More than 5 years have passed since last update.

さくらVPSでFTPを使える様にした

Posted at

Git以外の方法でもさくらVPSにファイルを上げる為に、FTPを使うことになり、その方法をメモります。

vsftpdを使います。

vsftpdを入れます。

$ yum install vsftpd
//vsftpdを 起動
$ sudo /etc/rc.d/init.d/vsftpd start

//自動起動を有効化
$ sudo chkconfig vsftpd on

vsftpdの設定をします。

// 設定ファイルのバックアップを取ります。
$ cd 
$ mkdir origin
$ sudo cp /etc/vsftpd/vsftpd.conf origin

// 設定ファイルの編集。
$ sudo vim /etc/vsftpd/vsftpd.conf 
---- 
#アスキーモードを有効にする
ascii_upload_enable=YES
ascii_download_enable=YES   

# TCP/IP でのフィルタリングを無効にする (iptables で一応OK)
tcp_wrappers=NO 

# 日本時間を使用
use_localtime=YES 

# anonymous を無効にする
anonymous_enable=NO

# /var/log/vsftpd.log にログを記入
xferlog_std_format=NO

# ログを有効にする
dual_log_enable=YES
---

chroot と FTP利用ユーザー制限

ユーザー作成

# useradd hoge
# passwd hoge

vsftpd.confの設定

$ sudo vim /etc/vsftpd/vsftpd.conf
---
# /etc/vsftpd/user_list に記述されたユーザーを拒否する
userlist_deny=NO

# 全てのローカルユーザーにchrootを有効にする。
chroot_local_user=YES
chroot_list_enable=NO

# vsftpdのルートディレクトリを /home/hoge/public_html に設定
local_root=/home/hoge/public_html
---

↑で指定したルートディレクトリが存在しない場合は作成しておく。

※chrootについてはコチラ

アクセス許可ユーザー指定

$ sudo vim /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.
hoge
---

iptables 設定

$ sudo vim /etc/sysconfig/iptables
---
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT (追記)
---

$ sudo /etc/rc.d/init.d/iptables restart

もしくは以下。

$ sudo iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
$ sudo /etc/rc.d/init.d/iptables save

vsftpdの反映

// vsftpd の設定を反映
$ sudo /etc/rc.d/init.d/vsftpd restart

IPTABLES_MODULESのロード

iptables-configを編集します。

$ sudo vim /etc/sysconfig/iptables-config
---
# 以下を追記
IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp"
---

iptables-configをrestartします。

$ sudo /etc/rc.d/init.d/iptables restart

ロード確認

$ lsmod
---
// ここにモジュールがあればOK
---

ftp出来るか確認

ftpアプリを使って確認してみる。

参考

WEB開発記 | さくらのVPSでサーバー入門8 vsftpの導入
pistolfly | iptablesでftpを通す

78
69
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
78
69