【CentOS7】FTPサーバーインストール設定!ファイルアップロードをダウンロードを手軽に構築!


IT関連のお仕事をしていると、サーバーを良く作ることが増えますよね。
特に最近では仮想基盤を構築するうえで、VM関連、特にNSXなどはFTPサーバを利用したバックアップが必要となります。

FTPサーバーは簡単に言うと、ファイルのアップロードやダウンロードが簡単にできるようにする技術です。
特にバックアップファイルなどを定期的に溜め込んだり、ダウンロードしたりといろんな要素で利用できます。

今回は、CentOS7でFTPサーバーをインストール、構築までの手順を紹介します。


【CentOS7】FTPサーバーのインストールと構築の手順

ということで、FTPサーバーを構築するうえで下準備をします。
もちろんCentOS7はインストールしている状態から始めます。

まずは、下準備から始めていきます。

FTPサーバーアクセス用のユーザーを作成

初めにFTPサーバーへアクセスする際のユーザー名とパスワードを設定します。

#
# useradd test
# passwd test
ユーザー test のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
#


FTPサーバ用のディレクトリ作成

FTPサーバはではデフォルトで/home のディレクトリ内に接続ができるようになっています。
ここでは、とりあえず一番簡単なhome配下にディレクトリを作成します。

あとは、ログインできるユーザーと、書き込み権限を付与してあげればOKですね。

#
# mkdir /home/test-dr/
# chown test:test /home/test-dr/
# chmod 755 /home/test-dr/
#

FTPサーバ vsftpd をインストール

以下で、FTPサーバーをyumインストールします。

#
# yum -y install vsftpd
#

yumインストールはサーバー自体がネット環境につながっていないとパッケージダウンロードができずにインストールができません。

オフライン環境下でパッケージインストールを実施したい場合は以下の記事を参考にしてください。

【CentOS7】yumインストールができないときのオフラインインストール手順

2019年10月18日

FTPサーバーインストール後設定ファイルの編集を実施

FTPサーバーが正常にインストールできた後は以下のコンフィグファイルを編集します。
また、chrootを利用する際の設定も載せているので参考にしてください。
※今回はデフォルトの/homeで実施します。

# vi /etc/vsftpd/vsftpd.conf
~中略~
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO      ⇒NOへ変更
#
~中略~
# ASCII mangling is a horrible feature of the protocol.
ascii_upload_enable=YES    ⇒コメント(#)解除
ascii_download_enable=YES   ⇒コメント(#)解除
#
~中略~
# the user does not have write access to the top level directory within the
# chroot)
chroot_local_user=NO      ⇒コメント(#)解除/chroot有効
chroot_list_enable=YES     ⇒コメント(#)解除/chroot有効
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list  ⇒コメント(#)解除/chroot有効
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
ls_recurse_enable=YES      ⇒コメント(#)解除/ディレクトリごと一括での転送有効
#
# When "listen" directive is enabled, vsftpd runs in standalone mode and
# listens on IPv4 sockets. This directive cannot be used in conjunction
# with the listen_ipv6 directive.
listen=YES            ⇒YESへ変更/IPv4許可
#
~中略~
# Make sure, that one of the listen options is commented !!
listen_ipv6=NO         ⇒IPv6を使用しないのであればNOで

#以下は最終行へ追記
#ルートディレクトリ指定。指定しない場合はデフォルト/homeとなる
local_root=/home/
#ローカルタイムを使用
use_localtime=YES
#FTPサーバーへのログインに失敗する際は以下seccomp filter をオフにする
seccomp_sandbox=NO
#

FTPサーバーを起動する

以下、コマンドでFTPサーバーを起動します。

#
# systemctl start vsftpd
# systemctl enable vsftpd
#

FWを有効にしている場合は以下コマンドでFTPサービスを許可するようにしましょう。

#
# systemctl status firewalldfirewall-cmd --reloadadd-service=ftp --permanentsystemctl start firewalldfirewall-cmd --add-service=ftp --permanent
Warning: ALREADY_ENABLED: ftp
success
#

クライアントからFTPサーバーへアクセス

ここまで来たら、FTPサーバーへのアクセスが可能になります。
簡単な確認方法は、以下サイトからFFFTPをダウンロードしインストールしましょう。
https://forest.watch.impress.co.jp/library/software/ffftp/

アクセスは簡単で、

  • 接続先のIP
  • ユーザーID/パスワード ※ここではtest/test

を設定するだけです。
接続できたら、ファイルのアップロード・ダウンロードを試してみましょう!

サーバーエンジニアへの構築手順書

2014年5月17日
イラスト図解式 この一冊で全部わかるサーバーの基本

イラスト図解式 この一冊で全部わかるサーバーの基本

きはし まさひろ
1,663円(09/18 18:12時点)
発売日: 2016/03/28
Amazonの情報を掲載しています


関連記事


コメントを残す

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

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

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!