WordPressでテーマをインストールするのに、ftpで接続しないと、インストールが出来ない!
なので、ftp接続出来るようにしたいと思います。
参考URL → FTP Server on CentOS7 を構築する
環境
OS/ミドルウェア | バージョン |
---|---|
CentOS | 7.2.1511 |
Apache | 2.4.6 |
PHP | 7.0.28 |
MySQL | 5.7.21 |
vsftpd をインストール
1 |
# yum install vsftpd |
[バージョン確認]
1 |
# vsftpd -v |
[実行結果]
1 |
vsftpd: version 3.0.2 |
[ディレクトリの移動]
1 |
# cd /etc/vsftpd/ |
[ファイルのバックアップ]
1 |
# cp vsftpd.conf vsftpd.conf.bk |
[ファイルの確認]
1 |
# ls -al |
[実行結果]
1 2 3 4 5 6 7 8 |
total 44 drwxr-xr-x 2 root root 4096 Mar 27 09:23 . drwxr-xr-x. 94 root root 12288 Mar 27 09:22 .. -rw------- 1 root root 125 Aug 3 2017 ftpusers -rw------- 1 root root 361 Aug 3 2017 user_list -rw------- 1 root root 5030 Aug 3 2017 vsftpd.conf -rw------- 1 root root 5030 Mar 27 09:23 vsftpd.conf.bk -rwxr--r-- 1 root root 338 Aug 3 2017 vsftpd_conf_migrate.sh |
[ファイルの編集]
1 |
# vi /etc/vsftpd/vsftpd.conf |
[ファイルの中身]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// ▼ 修正 ▼ anonymous_enable=NO #匿名アクセス無効 chroot_local_user=YES #ホームディレクトリより上位へのアクセス禁止 chroot_list_enable=YES #ホームディレクトリより上位へのアクセス許可リストを有効化 chroot_list_file=/etc/vsftpd/chroot_list #アクセス許可リスト listen=YES #IPv4でリッスンする listen_ipv6=NO #IPv6はリッスンしない userlist_enable=YES // ▲ 修正 ▲ // ▼ 追加 ▼ userlist_deny=NO userlist_file=/etc/vsftpd/user_list // ▲ 追加 ▲ // 任意 rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem #サーバ証明書 |
ユーザリストに ftp 接続用ユーザを追加
[ファイルの編集]
1 |
# vi /etc/vsftpd/user_list |
[ファイルの中身]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# vsftpd userlist # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file, and # do not even prompt for a password. # Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied. root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody // 追加 ユーザ名 |
chroot_list ユーザのリスト作成
[ディレクトリ移動]
1 |
# cd /etc/vsftpd |
[ファイル作成]
1 |
# touch chroot_list |
[ファイルの確認]
1 |
# ls -al |
[ファイルの中身]
1 2 3 4 5 6 7 8 9 |
total 44 drwxr-xr-x 2 root root 4096 Mar 26 12:01 . drwxr-xr-x. 98 root root 12288 Mar 26 11:41 .. -rw-r--r-- 1 root root 0 Mar 26 12:01 chroot_list -rw------- 1 root root 125 Aug 3 2017 ftpusers -rw------- 1 root root 361 Aug 3 2017 user_list -rw------- 1 root root 5047 Mar 26 11:49 vsftpd.conf -rw------- 1 root root 5030 Mar 26 11:44 vsftpd.conf.bk -rwxr--r-- 1 root root 338 Aug 3 2017 vsftpd_conf_migrate.sh |
[ファイルの編集]
1 |
# vi chroot_list |
[ファイルの中身]
1 |
ユーザ名 |
[vsftpd 起動]
1 |
# systemctl start vsftpd |
[ステータスの確認]
1 |
# systemctl status vsftpd |
[状態]
1 2 3 4 5 6 7 8 9 10 |
● vsftpd.service - Vsftpd ftp daemon Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2018-03-26 14:11:22 JST; 2s ago Process: 29714 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS) Main PID: 29715 (vsftpd) CGroup: /system.slice/vsftpd.service └─29715 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf Mar 26 14:11:22 150-95-151-20 systemd[1]: Starting Vsftpd ftp daemon... Mar 26 14:11:22 150-95-151-20 systemd[1]: Started Vsftpd ftp daemon. |
※vsftpdの停止方法
1 |
# systemctl stop vsftpd |
vsftpd の自動起動設定
1 |
# systemctl enable vsftpd |
[実行結果]
1 |
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service. |
ファイアウォールの設定
1 2 3 4 5 6 |
# firewall-cmd --add-service=ftp success # firewall-cmd --add-service=ftp --permanent success # firewall-cmd --list-services dhcpv6-client ftp http https mysql ssh |
[ファイアウォール再起動]
1 |
# firewall-cmd --reload |
※ファイルのアップが出来ない場合は、初期設定でパスワードでのログインを禁止するに設定をしている可能性があるので、確認。
1 |
# vi /etc/ssh/sshd_config |
確認場所は下記
1 2 3 4 |
// パスワードでのログインを禁止する PasswordAuthentication no ⬇ PasswordAuthentication yes |
上記の設定が「no」になっていたら「yes」に変更する。
[SSH設定を反映する]
1 |
# systemctl restart sshd.service |
以上で設定が終了しました。