FTPサーバを構築してみた
FTPサーバとはなんぞや
FTPサーバとはFTP(File Transfer Protocol)を使用し、
ファイル転送を行うサーバの事です。
ただFTPは暗号化がされなので、
実際にファイル転送をするのはSCPを使用する様にしましょう。
使用した環境について
今回は仮想端末上に用意したサーバを使用します。
OSをCentOS7を使用しています。
FTPサーバを構築する為に用意した環境なので、
必要最低限しか設定を変更しないです。
vsftpdをインストールする
CentOS7では標準でFTP転送するためのツールとしてvsftpd用意されているので、
vsftpdをインストールします。
root権限が必要なのでsudoしておきましょう。
# yum -y install vsftpd
インストール出来たかを確認します。
# rpm -q vsftpd
インストールされている場合は、
vsftpdのバージョンが表示されます。
vsftpdの設定ファイルを編集
次はvsftpdの設定ファイルを変更していきましょう。
設定ファイルは/etc/vsftpd/vsftpd.confにあります。
ファイル内容を変更する前にバックアップを取っておくことをお勧めします。
# cd /etc/vsftpd
# cp /vsftpd.conf /vsftpd.conf.org
viエディタを使用し変更を加えていきます。
デフォルトでは、匿名FTP機能がONになっているので、
無効にしておきましょう。
安全の為ですね。
12行目の「anonymous_enable=YES」を「anonymous_enable=NO」に変更します。
※「local_enable=YES」は変えないで下さい。
私は間違えてNOにしてしまいファイル転送できなくなってしまいました。
続いて以下を変更していきます。
82行目 「#ascii_upload_enable=YES」→「ascii_upload_enable=YES」
83行目 「#ascii_download_enable=YES」→「ascii_download_enable=YES」
82~83行目はASCIIモードでの転送を有効にする設定です。
114行目 「listen=NO」→「listen=YES」
IPv4での接続を待ち受けるかの設定です。
123行目 「listen_ipv6=NO」→「listen_ipv6=NO」
IPv6での接続を待ち受けるかの設定です。
114行目でIPv4での接続をONにしているので、
こちらをOFFにしておきます。
vsftpdを起動してみよう
インストールして設定を変えただけでは、
ファイル転送はできません。
起動をしてあげる必要があります。
起動に使うコマンドがsystemctlです!
# systemctl start vsftpd.serevice
ちゃんと起動したかを確認するには次のコマンドを叩きます。
# systemctl is-active vsftpd.serevice
activeと出ればvsftpdが起動しました!
ですがこのままだとサーバの電源を落とした時に、
vsftpdも停止してしまいますので次のコマンドを叩きます。
そうするとサーバが起動すると同時にvsftpdも起動するようになります。
# systemctl enable vsftpd.serevice
実際にファイル転送できるか試してみよう
ここでは「FFFTP」を使用します。
下記サイトからダウンロードしてインストールいます。
https://ja.osdn.net/projects/ffftp/
インストール後「FFFTP」を起動し、
サーバで設定した値を入力していきます。
ホストの設定名:CentOS7
ホスト名(アドレス):192.168.1.1
ユーザー名:user
パスワード:任意のパスワード
※ホスト名はFTPサーバのIPアドレスを入力します。
IPアドレスを確認するためのコマンド。
$ ip a
ホスト一覧で今回構築したサーバを選択し、
「接続」をクリックします。
今回は実際に接続しませんが、
左側にホストPC、右側にFTPサーバのホームディレクトリが表示され、
ドラック&ドロップでファイルのアップロードが可能になります。
FTPサーバの構築は以上になります。
実査に構築してみてファイル転送を試してみて下さい。