FTPの設定(CentOS 6)

vsftpd というソフトウェアを使用して、WebコンテンツをWebサーバーにアップロードできるように設定します。

環境

CentOS 6.10

1.vsftpdのインストール

vsftpdをインストールします。
root権限でコンソールに yum -y install vsftpd と入力し、Enterキーを押します。
インストールが開始され、Complete!という文字が表示されれば完了です。

[root@ ~]# yum -y install vsftpd (vsftpdのインストール)

2.vsftpdの設定ファイル編集

FTPに関する設定ファイルを編集します。
コンソールに vi /etc/vsftpd/vsftpd.conf と入力し、Enterキーを押します。画面が切り替わり、設定ファイル(vsftpd.conf)の内容が表示されます。

[root@ ~]# vi /etc/vsftpd/vsftpd.conf (vsftpd設定ファイルの編集)

vsftpd設定ファイルの編集を行うので、編集モードに切り替えてください。
まず、anonymous_enable=YES という記述の YES を NO に変更します。
これは、匿名FTPサーバー(アカウントがない第三者でもログインできるFTPサーバー)として使用できるのを、使用しない設定に変更します。

anonymous_enable=YES

(↓YESをNOに変更)

anonymous_enable=NO

「ascii_upload_enable=YES」と「ascii_download_enable=YES」と書いてある行の行頭#を削除します。
初期ではアスキーモードでのアップロード・ダウンロードが出来ない設定になっている為、#(コメントアウト)を削除して利用できるよう設定変更します。
Perl等の一部のファイルでは、アスキーモードで転送しなければ正常に動作しない場合があるからです。

# Beware that on some FTP servers, ASCII support allows ...
# attack (DoS) via the command "SIZE /big/file" in ASCII ...
# predicted this attack and has always been safe, reporting ...
# raw file.
# ASCII mangling is a horrible feature of the protocol.
#ascii_upload_enable=YES
#ascii_download_enable=YES
ascii_upload_enable=YES (行頭 # を削除)
ascii_download_enable=YES (行頭 # を削除)

JST(日本標準時間)のタイムゾーンを表示されるようにするため、ファイルの末尾に以下の1行を追加します。

use_localtime=YES

service vsftpd start と入力し、vsftpdを起動させます。
また、サーバーの再起動時に自動起動するよう設定します。

[root@ ~]# service vsftpd start (vsftpdの起動)
[root@ ~]# chkconfig vsftpd on (vsftpdの自動起動設定)

ウェブコンテンツを置くディレクトリの所有者をFTP接続で使用するユーザーに変更します。
例として、「sakura」というユーザアカウントを使用してFTP接続を行い、コンテンツをアップロードすることにします。
※既にWebサーバー構築時に設定している場合は不要です。

[root@ ~]# chown sakura /var/www/html/

以上でFTPからサーバーにコンテンツをアップロードできます。