Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
68
Help us understand the problem. What is going on with this article?
@colorrabbit

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

More than 5 years have passed since last update.

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を通す

68
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
colorrabbit
creator.

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
68
Help us understand the problem. What is going on with this article?