この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと(@ithinkitnet)です。
Linuxサーバへのデータアップロードを考えた場合、SCPやWEBDAVといったものがありますが、中でも手軽でポピュラーなのがFTPです。
手軽に使えますし、SCPと違って暗号化しないぶん通信が高速ですから。
えっ、FTPは通信が暗号化されてないって?
ithinkit
と言う訳で、今回はCENTOSでよく使われる「VSFTP」でFTPサーバーを3分で構築してみたいと思います。
とりあえず、セキュリティは一切無視で!
クリック可能な目次
VSFTPDインストール
Linuxサーバーに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: コマンドが見つかりませんでした...
ithinkit
このように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接続確認
では、気を取り直して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サーバ
以上、あいしんくいっとでした。