CentOS7でFTPサーバを構築した時の覚書です。

インストール

yumでサクッとインストール
# yum -y install vsftpd

インストールできたか確認
# rpm -q vsftpd
vsftpd-3.0.2-21.el7.x86_64

無事にvsftpd-3.0.2がインストールできました。

初期設定

FTPサーバの設定ファイルvsftpd.confを設定します。
設定は下記のサイトを参考にさせていただきました。

FTPサーバー : Vsftpd インストール

# gedit /etc/vsftpd/vsftpd.conf

# gedit /etc/vsftpd/chroot_list

ルートディレクトリの変更が出来るユーザー名を入力
(1行に1ユーザ)

SElinuxと Firewallの設定

# firewall-cmd –add-service=ftp –permanent
# firewall-cmd –add-port=21/tcp –permanent 上でサービスとしてftpを登録したのでポートは開ける必要はないかもしれませんが一応開ける。
# firewall-cmd –reload 設定を適用

# setsebool -P ftpd_full_access on

サービスの起動

# systemctl start vsftpd 起動
# systemctl enable vsftpd 自動起動に設定

これでFTPサーバ構築完了のはずでしたが・・・

# systemctl start vsftpd
Job for vsftpd.service failed because the control process exited with error code. See “systemctl status vsftpd.service” and “journalctl -xe” for details.

起動しない・・・
詳細を見ろと言われるのでとりあえずステータスを確認すると、
vsftpd.confがおかしいようだ。

# systemctl status vsftpd.service
Process: 11832 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=2)


起動できない原因は?

起動できない原因をいろいろ調べた結果、vsftpd.confの文末に追加した

local_root=public_html
seccomp_sandbox=NO
use_localtime=YES

の後ろにスペースが入っていただけでした。

追加した3文はWebで見つけてコピーしてきたものを貼りつけていたので、
後ろのスペースが入っていたことに全く気付きませんでした。
横着はよくないです。