ProFTPD インストール · 1 min read · Dec 17, 2025

CentOS 7.0にProFTPDをインストールする方法

この文書では、CentOS 7.0サーバーにProFTPDをインストールおよび構成する方法について説明します。ProFTPDは、UnixおよびUnix系オペレーティングシステム用のFTPデーモンです。ProFTPDはGNU一般公衆ライセンス(GPL)の下で開発、リリース、配布されており、基本的にそれをフリーソフトウェアとして位置づけています。つまり、完全かつ完全なソースコードが任意のProFTPDパッケージに付随するか、事前にコンパイルされたバイナリを配布するすべてのサイトによって利用可能にされる限り、販売、ライセンス、その他の方法で操作することができます。このソフトウェアは、すべての派生作品もGNU一般公衆ライセンスの下でライセンスされる限り、誰でもいつでも変更できます。

1 前提条件

このチュートリアルはCentOS 7.0サーバーに基づいているため、このチュートリアルを続行する前に基本的なCentOS 7.0サーバーのインストールを設定する必要があります。システムには静的IPアドレスが必要です。このチュートリアルでは、IPアドレスとして192.168.0.100を使用し、ホスト名としてserver1.example.comを使用します。

2 ProFTPDのインストール

2.1 インストール:

これを有効にするために、EPELを次のように設定します:

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm

まず、ProFTPDとOpenSSLを次のようにインストールします:

yum install -y proftpd openssl proftpd-utils

サービスを開始する必要があります

systemctl start proftpd.service  
systemctl enable proftpd.service

CentOS 7.0では、ftpサービスのためにFirewall-cmdを次のように構成する必要があります:

firewall-cmd --add-service=ftp --permanent  
firewall-cmd --reload

ProFTPDのバージョンを次のように確認できます:

proftpd -v

[root@server1 ~]# proftpd -v

ProFTPDバージョン 1.3.5

[root@server1 ~]#

2.2 ProFTPDユーザーの作成

これのために、ftpgroupというグループと、ProFTPD用のユーザーsrijanを作成します。ユーザーsrijanのホームディレクトリを/ftpshareに制限します。

groupadd ftpgroup

次に、ftpgroupにユーザーsrijanを追加します:

useradd  -G ftpgroup srijan -s /sbin/nologin -d /ftpshare  
passwd srijan
[root@server1 ~]# passwd srijan  
ユーザーsrijanのパスワードを変更しています。  
新しいパスワード: <--ftppassword  
新しいパスワードを再入力してください: <--ftppassword  
passwd: すべての認証トークンが正常に更新されました。  
[root@server1 ~]#  

次に、ディレクトリの内容を他のユーザーが削除したり名前を変更したりできないように保護する必要がありますので、ディレクトリの権限を次のように変更します:

chmod -R 1777 /ftpshare/

これでProFTPD接続の準備が整いました

ユーザーsrijanとパスワードでftp://192.168.0.100にログインできます。

3 ProFTPDでのTLSの有効化

ProFTPDでTLSを有効にするには、/etc/proftpd/proftpd.confを開きます。ファイルを編集する前に、元のファイルのバックアップを作成してから、以下のようにファイルを編集するのが良いでしょう:

cp /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
#  
#  
[...] 

6000および6100ポートを追加してFTPのパッシブモードを許可し、同様に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=1

TLSを使用するには、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

州または県名(フルネーム) []:

<– ハンブルク

地方名(例:都市) [デフォルトの都市]:

<– ルーネブルク

組織名(例:会社) [デフォルトの会社名]:

<– ISPConfig

組織単位名(例:セクション) []:

<– 開発

共通名(例:あなたの名前またはサーバーのホスト名) []:

<–

server1.example.com

メールアドレス []:

**<– [email protected]

[root@server1 certs]#

上記の赤い値をお好みに応じて入力してください。私は単なる例を示しました。

セキュリティ目的のため、証明書を次のように読み取り専用にします:

chmod  0440 /etc/pki/tls/certs/proftpd.pem

最後に、ProFTPDサービスを次のように再起動します:

systemctl restart proftpd.service

Filezillaソフトウェアを使用してProFTPDサーバーに接続できます。クライアントにFilezillaをインストールしておく必要があります。Filezillaを開き、次のように詳細を入力します:

詳細は次のとおりです。

ホスト = 192.168.0.100
プロトコル = FTP
ユーザー = srijan
ポート = 21以外のポートをカスタマイズしていない場合は空白にできます
パスワード = ftppassword(上で作成したばかり)

注意: 上記のステップで接続を暗号化したため、TLSを介した明示的なFTPを要求する暗号化を使用します。

TLSを構成していない場合は、プレーンFTPを使用できます。

証明書を信頼するように求められたら、OKを押してください

FTP共有ディレクトリにTLS接続で接続されます。

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   
 
    

サービスを再起動する必要があります:

systemctl restart proftpd.service

次のようにFilezillaを通じて接続します:

注意: 上記のステップで接続を暗号化したため、TLSを介した明示的なFTPを要求する暗号化を使用します。

TLSを構成していない場合は、プレーンFTPを使用できます。

接続を押してください:

証明書を信頼するように求められたら、OKを押してください

匿名ユーザーでサーバーに正常に接続しました。

おめでとうございます!これでCentOS 7.0にProFTPDサーバー環境を正常に構成しました :)

5 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。