proftpdのインストール

サーバー運用がかなり厳しいので寄付をしてくれる人がいたらこちら
メインPCもボロボロになってきたので、ついにほしいものリスト公開

ということでftpd第3弾(?)proftpdをインストールします。
これもSSL対応でインストールをします。

chroot環境で時刻がおかしくなる問題は以下の1行をproftpd.confに入れることで解決するようです

SetEnv TZ :/etc/localtime

HP: http://www.proftpd.org/

インストール

cd /usr/local/src
wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.5a.tar.bz2
tar jxvf proftpd-1.3.5a.tar.bz2
 
cd proftpd-1.3.5a
./configure \
--with-modules=mod_tls \
--with-includes=/usr/local/ssl/include \
--with-libraries=/usr/local/ssl
make all
make install
cp contrib/dist/rpm/proftpd.init.d /etc/init.d/proftpd
chmod 755 /etc/init.d/proftpd
chkconfig --add proftpd

SSLの設定

/usr/local/etc/proftpd.conf

# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.
 
ServerName                      "FTP Server"
ServerIdent                     on "FTP server ready"
ServerAdmin                     noreply@example.com
DefaultServer           on
 
ServerType                      standalone
Port                            21
#PassivePorts           40000 50000
Umask                           022
MaxInstances                    30
User                            nobody
Group                           nobody
AllowOverwrite          on
#UseIPv6 on
ShowSymlinks on
AuthPAM off
<Limit SITE_CHMOD>
  DenyAll
</Limit>
 
#ModulePath /usr/local/proftpd/libexec/
<IfModule mod_dso.c>
        LoadModule mod_ban.c
        LoadModule mod_ctrls_admin.c
        LoadModule mod_dynmasq.c
        LoadModule mod_ifsession.c
#       LoadModule mod_ldap.c
        LoadModule mod_load.c
        LoadModule mod_quotatab.c
        LoadModule mod_quotatab_file.c
#       LoadModule mod_quotatab_ldap.c
#       LoadModule mod_quotatab_radius.c
#       LoadModule mod_quotatab_sql.c
#       LoadModule mod_radius.c
        LoadModule mod_ratio.c
        LoadModule mod_readme.c
        LoadModule mod_rewrite.c
        LoadModule mod_site_misc.c
#       LoadModule mod_sql.c
#       LoadModule mod_sql_mysql.c
#       LoadModule mod_sql_postgres.c
#       LoadModule mod_sql_sqlite.c
        LoadModule mod_tls.c
        LoadModule mod_unique_id.c
        LoadModule mod_wrap.c
        LoadModule mod_wrap2.c
        LoadModule mod_wrap2_file.c
        LoadModule mod_wrap2_sql.c
</IfModule>
 
#TimesGMT               off
TimesGMT                false
#ListOptions            "-a"
UseReverseDNS           off
DefaultRoot             ~ !hoge
 
# A basic anonymous configuration, no upload directories.  If you do not
# want anonymous users, simply delete this entire <Anonymous> section.
<Anonymous ~ftp>
  User                          ftp
  Group                         ftp
  UserAlias                     anonymous ftp
  MaxClients                    10
  DisplayLogin                  welcome.msg
  #DisplayFirstChdir            .message
  <Limit WRITE>
    DenyAll
  </Limit>
</Anonymous>
 
 
TransferLog /var/log/proftpd/proftpd-transfer.log
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b"
ExtendedLog /var/log/proftpd/proftpd-access.log WRITE,READ write
ExtendedLog /var/log/proftpd/proftpd-auth.log AUTH auth
ExtendedLog /var/log/proftpd/proftpd-all.log ALL default
 
#Trace ALL:9
#TraceLog /var/log/proftpd/trace.log
 
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
#TLSProtocol TLSv1
TLSProtocol SSLv23
TLSCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
#TLSOptions UseImplicitSSL
 
# Are clients required to use FTP over TLS when talking to this server?
TLSRequired off
 
# Server's certificate
#TLSRSACertificateKeyFile /etc/squid/ssl/private.pem
#TLSRSACertificateFile /usr/share/ssl/certs/proftpd.pem
 
TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.key
TLSRSACertificateFile    /etc/pki/tls/certs/proftpd.crt
 
# CA the server trusts
#TLSCACertificateFile /etc/ftpd/root.cert.pem
 
#TLSCACertificatePath /etc/pki/tls/certs
 
# Authenticate clients that want to use FTP over TLS?
TLSVerifyClient off
</IfModule>
 
<Directory /var/ftp>
HideFiles welcome.msg
</Directory>
 
# mod_ban
BanControlsACLs all allow user root
BanEngine               on
BanLog                  /var/log/proftpd/ban.log
BanTable                /var/log/proftpd/ban.tab
 
BanOnEvent              MaxLoginAttempts 2/00:01:00 24:00:00
BanMessage              "User %u @ %a has been banned."
 
# mod_ctrls
AdminControlsACLs       all allow user root
AdminControlsEngine     on
ControlsLog                     /var/log/proftpd/controls.log
 
# mod_load
MaxLoad                         5.0     "Server busy."

後は起動してログインが出来ればOKです。

/etc/init.d/proftpd start

これで完了です。

そのうち便利そうなモジュールも紹介していく予定。

Tags: 

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
CAPTCHA
また変更しました
Fill in the blank.