ProFTPDインストール · 1 min read · Dec 18, 2025
CentOS 7.2にTLSを使用してProFTPDをインストールする方法
このチュートリアルでは、CentOS 7.2サーバーにProFTPDをインストールおよび構成する方法について説明します。ProFTPDは、UnixおよびLinuxオペレーティングシステム用のFTPデーモンで、GNU一般公衆ライセンス(GPL)の下で配布されています。
1 前提条件
このチュートリアルはCentOSサーバーに基づいているため、このチュートリアルを続ける前に基本的なCentOS 7.2サーバーのインストールを設定する必要があります。システムには静的IPアドレスが必要です。このチュートリアルでは、IPアドレスとして192.168.1.100を、ホスト名としてserver1.example.comを使用します。
2 ProFTPDのインストールと構成
2.1 インストール:
EPELリポジトリからソフトウェアが必要ですので、以下のように有効にします:
yum -y install epel-release次に、EPEL GPGキーをインポートします:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7そして、パッケージを更新します:
yum -y update次のようにProFTPDとOpenSSLをインストールします:
yum install -y proftpd openssl proftpd-utilsサービスを開始し、ブート時に自動的に開始するように有効にする必要があります。
systemctl start proftpd.service
systemctl enable proftpd.servicefirewalldがインストールされている場合は、firewall-cmdを使用してFTPポートを開くようにファイアウォールを構成します:
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload次のようにProFTPDのバージョンを確認できます:
proftpd -v[root@server1 ~]# proftpd -v
ProFTPDバージョン 1.3.5b
[root@server1 ~]#
2.2 ProFTPDユーザーの作成
ftpgroupというグループと、ProFTPD用のユーザーtomを作成します。ユーザーtomのホームディレクトリを/ftpshareに設定します。
groupadd ftpgroup次に、ftpgroupにユーザーsrijanを追加します:
useradd -G ftpgroup tom -s /sbin/nologin -d /ftpshare
passwd tom[root@server1 ~]# passwd tom
ユーザーsrijanのパスワードを変更しています。
新しいパスワード: <--ftppassword
新しいパスワードを再入力: <--ftppassword
passwd: すべての認証トークンが正常に更新されました。
[root@server1 ~]# ftpshareディレクトリの権限を設定します:
chmod -R 1750 /ftpshare/これでProFTPD接続の準備が整いました。しかし、接続はまだ暗号化されていませんので、次の章で解決します。
3 ProFTPDでのTLSの有効化
ProFTPDでTLSを有効にするには、/etc/proftpd/proftpd.confを開きます。ファイルを編集する前に、元のファイルをバックアップしてから、nanoでファイルを編集するのが良いでしょう。
cp -pf /etc/proftpd.conf /etc/proftpd.conf.bak
nano /etc/proftpd.conf
赤で示された行を追加および修正します。
[...]
DefaultRoot ~ !adm
PassivePorts 6000 6100
[...]
#
TLSEngine on
TLSRequired on
TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem
TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem
TLSCipherSuite ALL:!ADH:!DES
TLSOptions NoCertRequest
TLSVerifyClient off
TLSRenegotiate ctrl 3600 data 512000 required off timeout 300
TLSLog /var/log/proftpd/tls.log
#
# TLSSessionCache shm:/file=/var/run/proftpd/sesscache
#
#
[...] FTPのパッシブモードを許可するために6000および6100ポートを追加しました。同様に、CentOSのfirewalldサービスを通じてパッシブモードを許可します:
firewall-cmd --add-port=6000-6100/tcp --permanent
firewall-cmd --reload次のようにポートの状態を確認できます:
firewall-cmd --list-ports[root@server1 ~]# firewall-cmd --list-ports
6000-6100/tcp
[root@server1 ~]#さらに、SELINUXにファイルの読み書きを許可するように指示する必要があります。
setsebool -P allow_ftpd_full_access=1TLSを使用するには、SSL証明書を作成する必要があります。/etc/pki/tls/certsに作成します。次のようにSSL証明書を生成できます:
openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem[root@server1 certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
1024ビットRSA秘密鍵を生成しています
……………………………..++++++
………++++++
新しい秘密鍵を’/etc/pki/tls/certs/proftpd.pem’に書き込みます
証明書要求に組み込まれる情報を入力するよう求められます。
入力する内容は、識別名またはDNと呼ばれるものです。
いくつかのフィールドがありますが、いくつかは空白のままにできます。
いくつかのフィールドにはデフォルト値があります。
‘.’を入力すると、そのフィールドは空白のままになります。
国名(2文字コード) [XX]:
<–DE
州または県名(フルネーム) []:
<– ハンブルク
地域名(例:都市) [デフォルトの都市]:
<– ルーネブルク
組織名(例:会社) [デフォルトの会社]:
<–Howtoforge
組織単位名(例:セクション) []:
<– 開発
共通名(例:あなたの名前またはサーバーのホスト名) []:
<–
server1.example.com
メールアドレス []:
<– [email protected]
[root@server1 certs]#
上記の赤で示された値をお好みに応じて入力してください。私は単なる例を示しました。
セキュリティのために、証明書を次のように読み取り専用にします:
chmod 0440 /etc/pki/tls/certs/proftpd.pem最後に、次のようにProFTPDサービスを再起動します:
systemctl restart proftpd.serviceFilezillaソフトウェアを使用してProFTPDサーバーに接続できます。クライアントコンピュータにFilezillaがインストールされている必要があります。Filezillaを開き、次のように詳細を入力します:
詳細は次のとおりです:
ホスト = 192.168.1.100
プロトコル = FTP
ユーザー = tom
ポート = 21以外のポートをカスタマイズしていない場合は空白にできます
パスワード = ftppassword(上記で作成したばかり)
注意:上記の手順で接続を暗号化したため、TLSによる明示的なFTPを要求する暗号化を使用します。
TLSを構成していない場合は、プレーンFTPを使用できます。

証明書を信頼するように求められますので、OKを押してください。
TLS接続でFTP共有ディレクトリに接続されます。
4 ProFTPDでの匿名FTPアクセス
ProFTPDで匿名FTPアカウントを作成できます。ProFTPD構成ファイルに次の行を追加します:
nano /etc/proftpd.confファイルの最後に次の行を追加します。
[...]
###匿名共有#####
User ftp
Group ftp
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
MaxClients 10
DenyAll
次に、FTPサービスを再起動する必要があります:
systemctl restart proftpd.service次に、Filezillaを介して匿名アカウントに接続します:

注意:上記の手順で接続を暗号化したため、TLSによる明示的なFTPを要求する暗号化を使用します。
TLSを構成していない場合は、プレーンFTPを使用できます。
接続を押してください。

匿名ユーザーでサーバーに正常に接続されました。
おめでとうございます!これでCentOS 7.2にProFTPDサーバー環境を正常に構成しました :)
5 リンク
- CentOS : http://www.centos.org/
- ProFTPD : http://www.proftpd.org/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。