クリスマス目前!商品レビューまとめ記事

LINUX使いならFTPサーバー位は構築出来ないとね!3分で出来るFTPサーバ構築!

本記事対象者
Linuxを利用して簡単にFTPサーバを構築したい方

ども。あいしんくいっと(@ithinkitnet)です。

Linuxサーバへのデータアップロードを考えた場合、SCPやWEBDAVといったものがありますが、中でも手軽でポピュラーなのがFTPです。
手軽に使えますし、SCPと違って暗号化しないぶん通信が高速ですから。
えっ、FTPは通信が暗号化されてないって?

ithinkit

大丈夫、オンプレなら許されるかも知れません(震え)

と言う訳で、今回はCENTOSでよく使われる「VSFTP」でFTPサーバーを3分で構築してみたいと思います。
とりあえず、セキュリティは一切無視で!

VSFTPDインストール

まず、VSFTPDがインストールされているかを確認します。

# rpm -qa | grep vsftpd

これで何も出力されない場合、VSFTPDはインストールされていませんので、yumでサクッとインストールしてしまいましょう。

# yum install -y vsftpd
読み込んだプラグイン:fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
base | 3.6 kB 00:00
extras | 3.4 kB 00:00
nginx | 2.9 kB 00:00
~中略~
インストール:
vsftpd.x86_64 0:3.0.2-9.el7

完了しました!

これでVSFTPDのインストールは完了です。

VSFTPD基本設定

起動、自動起動

VSFTPD起動

# systemctl start vsftpd.service

VSFTPD起動確認

# systemctl status vsftpd.service
vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled)
Active: active (running) since 土 2015-04-25 11:11:30 JST; 7min ago
Main PID: 8168 (vsftpd)
CGroup: /system.slice/vsftpd.service
mq8168 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

4月 25 11:11:30 test001 systemd[1]: Starting Vsftpd ftp daemon...
4月 25 11:11:30 test001 systemd[1]: Started Vsftpd ftp daemon.

自動起動設定

# systemctl enable vsftpd.service
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'

自動起動確認

# systemctl list-unit-files -t service | grep vsftpd
vsftpd.service enabled

VSFTPD初期設定

rootユーザでFTP接続出来るよう最低限の設定を行います。

user_list、ftpusers編集

# sed -i 's/root/#root/g' /etc/vsftpd/user_list /etc/vsftpd/ftpusers

FTP接続確認

簡単にFTPの接続確認を行うには、localhost宛にFTP接続出来るかを試すのが手っ取り早いです。

# ftp localhost
bash: ftp: コマンドが見つかりませんでした...

うむむ。ftpコマンドが無いのか・・・。
このようにftpコマンドが無ければインストールして下さい。

# yum install -y ftp
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp

~中略~

インストール:
ftp.x86_64 0:0.17-66.el7

完了しました!

FTP接続確認

[root@ithinkit ~]# ftp localhost
Trying ::1...
Connected to localhost (::1).
220 (vsFTPd 3.0.2)
Name (localhost:root): root
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Entering Extended Passive Mode (|||18582|).
150 Here comes the directory listing.
-rw------- 1 0 0 1338 Mar 29 00:17 anaconda-ks.cfg
226 Directory send OK.
ftp>

とりあえずはFTPでログインする事が出来ました。
もし、繋がらない場合はfirewalld及びSelinuxが有効になっている可能性がありますので、必要に応じて設定/無効化します。
手順については下記のエントリを参照してください。
EC2なCENTOS7の初期設定でやっておきたい7つの設定

これでセキュリティを一切無視したFTPサーバ構築は完了な訳ですが、もしセキュリティを意識するなら、root以外のユーザを作成し、SHELLを持たないFTP専用のユーザを作ったり、CHROOTさせて自分のホームディレクトリ以上には移動出来なくしたり、といった設定が必要になります。

セキュリティ設定が必要な場合は下記のURL等を参考にしてください。
参考 vfstpd.confの設定項目一覧cos.linux-dvr.biz

WindowsでFTPサーバ構築するならIIS使いましょう。
WindowsServer2016のIISでFTPサーバを構築する方法

fFTPでLDAP認証を利用するなら、Pure-FTPdを使いましょう。
FTPをLDAP認証で使いたい!Pure-FTPdで構築するFTPサーバ

以上、あいしんくいっとでした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)