ProFTPDは、CentOSの標準リポジトリに入っていないので、EPELリポジトリからインストールすることにします。
EPELリポジトリを追加していない場合は、追加します。
CentOS-7で、EPEL・REMIリポジトリを追加する
ProFTPDをインストールする
ProFTPDがリポジトリに存在するか検索します。EPELリポジトリのProFTPDが結果に出てくるはずです。
結果に proftpd が出てこない場合は、EPELリポジトリが追加されていない可能性が高いので、EPELリポジトリを追加してください。
CentOS-7で、EPEL・REMIリポジトリを追加する
ProFTPD 検索
[root@vm ~]# yum list | grep proftpd
proftpd.x86_64 1.3.5e-4.el7 epel
proftpd-devel.x86_64 1.3.5e-4.el7 epel
proftpd-ldap.x86_64 1.3.5e-4.el7 epel
proftpd-mysql.x86_64 1.3.5e-4.el7 epel
proftpd-postgresql.x86_64 1.3.5e-4.el7 epel
proftpd-sqlite.x86_64 1.3.5e-4.el7 epel
proftpd-utils.x86_64 1.3.5e-4.el7 epel
[root@vm ~]#
ProFTPDをyumコマンドでインストールします。
ProFTPD インストール
[root@vm ~]# yum -y install proftpd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 5.0 kB 00:00
* base: mirrors.cat.net
* epel: ftp.jaist.ac.jp
* extras: mirrors.cat.net
* remi-safe: ftp.riken.jp
* updates: mirrors.cat.net
base | 3.6 kB 00:00
epel | 4.7 kB 00:00
http://fedora.cs.nctu.edu.tw/epel/7/x86_64/repodata/repomd.xml: [Errno -1] repomd.xml does not match metalink for epel
他のミラーを試します。
epel | 4.7 kB 00:00
extras | 3.4 kB 00:00
remi-safe | 3.0 kB 00:00
updates | 3.4 kB 00:00
(1/4): remi-safe/primary_db | 1.4 MB 00:03
(2/4): epel/x86_64/primary_db | 6.7 MB 00:04
(3/4): epel/x86_64/updateinfo | 998 kB 00:04
(4/4): updates/7/x86_64/primary_db | 4.2 MB 00:05
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ proftpd.x86_64 0:1.3.5e-4.el7 を インストール
--> 依存性の処理をしています: libmemcached.so.11()(64bit) のパッケージ: proftpd-1.3.5e-4.el7.x86_64
--> 依存性の処理をしています: libmemcachedutil.so.2()(64bit) のパッケージ: proftpd-1.3.5e-4.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libmemcached.x86_64 0:1.0.16-5.el7 を インストール
--> 依存性の処理をしています: libevent-2.0.so.5()(64bit) のパッケージ: libmemcached-1.0.16-5.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libevent.x86_64 0:2.0.21-4.el7 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
Package アーキテクチャー
バージョン リポジトリー 容量
================================================================================
インストール中:
proftpd x86_64 1.3.5e-4.el7 epel 3.7 M
依存性関連でのインストールをします:
libevent x86_64 2.0.21-4.el7 base 214 k
libmemcached x86_64 1.0.16-5.el7 base 237 k
トランザクションの要約
================================================================================
インストール 1 パッケージ (+2 個の依存関係のパッケージ)
総ダウンロード容量: 4.1 M
インストール容量: 11 M
Downloading packages:
(1/3): libmemcached-1.0.16-5.el7.x86_64.rpm | 237 kB 00:01
(2/3): libevent-2.0.21-4.el7.x86_64.rpm | 214 kB 00:01
(3/3): proftpd-1.3.5e-4.el7.x86_64.rpm | 3.7 MB 00:04
--------------------------------------------------------------------------------
合計 996 kB/s | 4.1 MB 00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : libevent-2.0.21-4.el7.x86_64 1/3
インストール中 : libmemcached-1.0.16-5.el7.x86_64 2/3
インストール中 : proftpd-1.3.5e-4.el7.x86_64 3/3
検証中 : libmemcached-1.0.16-5.el7.x86_64 1/3
検証中 : libevent-2.0.21-4.el7.x86_64 2/3
検証中 : proftpd-1.3.5e-4.el7.x86_64 3/3
インストール:
proftpd.x86_64 0:1.3.5e-4.el7
依存性関連をインストールしました:
libevent.x86_64 0:2.0.21-4.el7 libmemcached.x86_64 0:1.0.16-5.el7
完了しました!
[root@vm ~]#
xinetdをインストールする
ProFTPDの起動をスーパーサーバーである xinetd で管理するのて、xinetdをインストールします。xinetd 検索
[root@vm ~]# yum list | grep xinetd
xinetd.x86_64 2:2.3.15-13.el7 base
[root@vm ~]#
xinetd インストール
[root@vm ~]# yum -y install xinetd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.cat.net
* epel: ftp.riken.jp
* extras: mirrors.cat.net
* remi-safe: ftp.riken.jp
* updates: mirrors.cat.net
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ xinetd.x86_64 2:2.3.15-13.el7 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
Package アーキテクチャー
バージョン リポジトリー 容量
================================================================================
インストール中:
xinetd x86_64 2:2.3.15-13.el7 base 128 k
トランザクションの要約
================================================================================
インストール 1 パッケージ
総ダウンロード容量: 128 k
インストール容量: 261 k
Downloading packages:
xinetd-2.3.15-13.el7.x86_64.rpm | 128 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : 2:xinetd-2.3.15-13.el7.x86_64 1/1
検証中 : 2:xinetd-2.3.15-13.el7.x86_64 1/1
インストール:
xinetd.x86_64 2:2.3.15-13.el7
完了しました!
[root@vm ~]#
xinetdが起動しているか否か確認します。
xinetd 起動状態確認
[root@vm ~]# systemctl status xinetd
● xinetd.service - Xinetd A Powerful Replacement For Inetd
Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor preset: enabled)
Active: inactive (dead)
[root@vm ~]#
xinetdが起動していないようなので、起動させます。
xinetd 起動
[root@vm ~]# systemctl start xinetd.service
[root@vm ~]#
再度、xinetdの起動状態を確認します。
Active: active (running) となっているので、起動しているようです。
xinetd 起動状態 確認
[root@vm ~]# systemctl status xinetd
● xinetd.service - Xinetd A Powerful Replacement For Inetd
Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor preset: enabled)
Active: active (running) since 火 YYYY-MM-DD 00:00:00 JST; 2s ago
Process: 5277 ExecStart=/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid $EXTRAOPTIONS (code=exited, status=0/SUCCESS)
Main PID: 5278 (xinetd)
CGroup: /system.slice/xinetd.service
└─5278 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid
~ 中略 ~
?月 00 00:00:00 vm.lan xinetd[5278]: Started working: 0 available services
Hint: Some lines were ellipsized, use -l to show in full.
[root@vm ~]#
設定
ProFTPDのインストールが完了したら、設定します。SSLの設定をする場合は、証明書が必要です。
自己証明書の作成ですが、下記ページを参考にSSL/TLS証明書をインストールします。
SSL/TLS証明書を指定する
ProFTPDを設定する
ProFTPDの設定ファイル proftpd.conf を/root/etc/ 内にコピーします。ProFTPD 設定ファイル バックアップ
[root@vm ~]# cp -a -P /etc/proftpd.conf /root/etc/
[root@vm ~]#
ProFTPD 設定ファイル 編集
[root@vm ~]# vi /etc/proftpd.conf
#--------------------------------------------------
DefaultRoot ~ !adm
↓ 変更する
DefaultRoot ~ !wheel
###▼ 以下、最終行に追記する
##★ サーバータイプ : スーパーサーバーモード(xinetd)での起動
ServerType inetd
##★ 追記する | PASVモード用のポート番号を指定 今回は、50010~50030 を指定
PassivePorts 50010 50030
##★ 追記する | アクセスログを記録する
ExtendedLog /var/log/proftpd/access.log WRITE,READ default
##★ 追記する | 認証ログを記録する
ExtendedLog /var/log/proftpd/auth.log AUTH auth
##★ 追記する | タイムゾーンを日本時間に設定
TimesGMT off
SetEnv TZ :/etc/localtime
##★ SSL/TLS の設定を追記
LoadModule mod_tls.c
TLSEngine on
##★ SSL/TLS接続を強制する場合のみ on にする
#TLSRequired on
##★ SSL/TLSプロトコル・バージョンを指定する。ここでは、SSLv3およびTLSv1の両方を許可する互換性モード(SSLv23)を指定
TLSProtocol SSLv23
##★ SSL/TLS証明書を指定する
TLSRSACertificateFile /etc/pki/tls/certs/server.crt
##★ SSL/TLS秘密鍵を指定する
TLSRSACertificateKeyFile /etc/pki/tls/private/server.key
##★ 利用可能な暗号を指定する (ADHキー交換を含まないすべての利用可能な暗号を指定した)
TLSCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
##★ 証明書の警告をださない、SSLセッションの再利用を許可しない
TLSOptions NoCertRequest NoSessionReuseRequired
##★ クライアント証明書を無視するには off
TLSVerifyClient off
##★ ログを記録する
TLSLog /var/log/proftpd/tls.log
#--------------------------------------------------
#----- 編集内容を保存してエディタを閉じる
:wq
[root@vm ~]#
Xinetdを設定する
Xinetdの設定ファイルをバックアップしてから、編集します。
Xinetd 設定ファイル バックアップ
[root@vm ~]# cp -a -P /etc/xinetd.d/xproftpd /root/etc/
[root@vm ~]#
xinetd 設定ファイル 編集
[root@vm ~]# vi /etc/xinetd.d/xproftpd
#--------------------------------------------------
# default: off
# description: The ProFTPD FTP server serves FTP connections. It uses \
# normal, unencrypted usernames and passwords for authentication.
service ftp
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.proftpd
##★ log_on_success
log_on_success += DURATION
↓ 変更する
log_on_success += DURATION HOST PID
log_on_success += HOST USERID PID <-- :wq="" code="" disable="no" host="" log_on_failure="" nice="10" root="" userid="" vm="">-->
ProFTPDの起動設定はxproftpd
ProFTPDの自動起動の設定を ON にします。自動起動の設定 ON
[root@vm ~]# chkconfig xproftpd on
[root@vm ~]#
自動起動 設定再確認
[root@vm ~]# chkconfig --list xproftpd
注記: この出力に含まれるのは SysV サービスのみです。ネイティブな
systemd サービスは含まれません。SysV の設定データはネイティブな
systemd 設定で上書きされる場合があります。
systemd サービスを一覧表示する場合は 'systemctl list-unit-files' を使用します。
特定のターゲットで有効になっているサービスを確認する場合は
'systemctl list-dependencies [target]'を使用します。
xproftpd on
[root@vm ~]#
xinetd デーモン再起動
[root@vm ~]# systemctl restart xinetd.service
[root@vm ~]#
ProFTPD用FireWallを設定する
ProFTPD用FireWall(ファイアウォール)のファイルを新規作成します。Firewallファイル 新規作成
[root@vm ~]# vi /etc/firewalld/services/proftp.xml
#--------------------------------------------------
ProFTP
ProFTP
#--------------------------------------------------
#----- 編集内容を保存してエディタを閉じる
:wq
[root@vm ~]#
パーミッション 変更
[root@vm ~]# chmod 0640 /etc/firewalld/services/proftp.xml
[root@vm ~]#
恒久的にサービスをFireWall(ファイアウォール)に追加する
サービス 恒久的追加
[root@vm ~]# firewall-cmd --zone=public --add-service=proftp --permanent
success
[root@vm ~]#
設定 再読込
[root@vm ~]# firewall-cmd --reload
success
[root@vm ~]#
設定 確認
[root@vm ~]# firewall-cmd --list-services
ssh dhcpv6-client http https proftp
[root@vm ~]#
これで、ポート番号:21で接続できるはずですが
クライアントPCの環境によっては、接続できなかったり、ディレクトリ一覧でリスト取得ができなかったりするようです。
うまく接続できない場合は、FTPクライアントソフトを変更して試してください。
私の環境はWindowsですが、最も難なく接続できたFTPクライアントは、FileZillaでした。
以上、CentOS-7にProFTPDをインストール・設定する方法でした。
0 件のコメント:
コメントを投稿