FTPを導入する
FTPサーバーを構築するには
基本的に、このWEBサイトは吉川のIT技術のポートフォリオですので、WordPressで構成しています。
なので、基本的にはサーバーへの文章や、文章中の画像の送り込みは全てWordPress経由なので、FTPは不要なのですが、サーバー技術として、FTPの構築も記事にしておきます。
FTP(File Transfer Protocol)は、FTPサーバーとFTPクライアントで、ファイルを交換する際の決まり事です。
WEBに関わる仕事を少しでもされた方は、切っても切れない必須の技術です。
WEB用のレンタルサーバーを借りたりすれば、必ずFTPのアカウントとパスワードが通知されます。
そのアカウントとパスワードをFFTP など、FTPクライアントに入力してレンタルしたサーバーに繋げると、自分で記述したhtmlファイルなどを送り込む事ができ、WEBサイトが構築できるというに、WEBに関わる殆どの場面で使用されます。
それでは早速、VPSサーバーにFTPサーバーをインストールしてみましょう。
# yum -y install vsftpd
インストールが完了したら、設定を行います。
# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
↓
anonymous_enable=NO ← anonymousユーザーを無効化
#ascii_upload_enable=YES
#ascii_download_enable=YES
↓
ascii_upload_enable=YES
ascii_download_enable=YES ← asciiファイルの転送禁止を解除
#chroot_local_user=YES
#chroot_list_enable=YES
↓
chroot_local_user=YES
chroot_list_enable=YES ← chrootの有効化
#ls_recurse_enable
↓
ls_recurse_enable ← ディレクトリごと一括での転送機能を有効化
userlist_enable=YES ← デフォルトのまま
tcp_wrappers=YES ← デフォルトのまま
userlist_deny=NO ← 追加 ホワイトリスト化
userlist_file=/etc/vsftpd/user_list
# ssl settings ← SSL証明書を追加
ssl_enable=YES
rsa_cert_file=/etc/letsencrypt/live/yoshisyou.com/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/yoshisyou.com/privkey.pem
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
# other settings ← パッシブポート追加。公開する訳ではないので少数。
pasv_enable=YES
pasv_min_port=60001
pasv_max_port=60003
use_localtime=YES ← FTPファイル更新時間を日本時間に。
allow_writeable_chroot=YES ← chroot権限設定
force_dot_files=YES ← 隠しファイルも表示
user_config_dir=/etc/vsftpd/user_conf ← ユーザー毎の設定ファイルの場所指定
sftpd.confを保存して閉じる。
# touch /etc/vsftpd/chroot_list ← リストファイル作成
# firewall-cmd --add-port=60001-60003/tcp --zone=public --permanent
# mkdir -p /etc/vsftpd/user_conf ← ユーザーディレクトリ作成
# vi /etc/vsftpd/user_conf/user01 ← ユーザーのファイル作成
local_root=/var/www/user01 ← user01のルートディレクトリを、/var/www/user01にする。それより上のディレクトリは、chrootの設定により見えない。
# vi /etc/vsftpd/user_list ← 接続を許可するユーザーを記載
# systemctl start vsftpd ← vsftpdを起動
VPSサーバー上で作成したユーザーで、FTPログインできました。