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ログインできました。