GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Mengatur PureFTPd di CentOS 7

Halo semua, hari ini dalam tutorial ini, kita akan mengkompilasi dan menginstal PureFTPd dari sumber di CentOS 7. Pure-ftpd adalah daemon FTP yang ringan dan stabil yang mendukung berbagai backend otentikasi seperti pengguna sistem Linux, puredb, MySQL dan PostgeSQL.

1. Menginstal Pureftpd

Instal rantai alat pengembangan CentOS.

# yum -y groupinstall 'Development Tools'

Instal file pengembangan MariaDB.

# yum -y install mariadb-devel

Unduh file sumber pure-ftpd dan buka paket arsipnya.

# cd /usr/local/src
# wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.bz2
# tar xvjpf pure-ftpd-1*.tar.bz2
# cd pure-ftpd-1*

Jalankan perintah configure untuk menyiapkan build. Untuk mendapatkan gambaran umum tentang semua opsi kompilasi, jalankan ./configure --help.

# ./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin \
--libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc \
 --sharedstatedir=/usr/com --localstatedir=/var --libdir=/usr/lib64 \
 --includedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man \
 --with-mysql --with-virtualchroot --with-everything

dan kompilasi biner murni-ftpd:

# make
# make install

2. Membuat file konfigurasi dan skrip awal

Pertama kita buat skrip start. Untuk build ini kita akan menggunakan skrip start dari CentOS 6.5 yang masih berfungsi dengan baik di CentOS 7.

# nano /etc/init.d/pure-ftpd
#!/bin/bash
 #
 # Startup script for the pure-ftpd FTP Server $Revision: 1.1 $
 #
 # chkconfig: - 85 15
 # description: Pure-FTPd is an FTP server daemon based upon Troll-FTPd
 # processname: pure-ftpd
 # pidfile: /var/run/pure-ftpd.pid
 # config: /etc/pure-ftpd/pure-ftpd.conf
# Source function library.
 . /etc/init.d/functions
# Source networking configuration.
 . /etc/sysconfig/network
# Check that networking is configured.
 # [ ${NETWORKING} = "no" ] && exit 0
RETVAL=0
prog="pure-ftpd"
# Path to the pure-ftp binaries.
 fullpath=/usr/sbin/pure-ftpd
 pureftpwho=/usr/sbin/pure-ftpwho
 pure_config=/etc/pure-ftpd/pure-ftpd.conf
 pure_launch_script=/usr/sbin/pure-config.pl
 start() {
 echo -n $"Starting $prog: "
 daemon "$pure_launch_script $pure_config --daemonize > /dev/null"
 RETVAL=$?
 [ $RETVAL = 0 ] && touch /var/lock/subsys/pure-ftpd
 echo
 }
stop() {
 echo -n $"Stopping $prog: "
 killproc pure-ftpd
 RETVAL=$?
 [ $RETVAL = 0 ] && rm -f /var/lock/subsys/pure-ftpd
 echo
 }
# See how we were called.
 case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 restart)
 stop
 start
 ;;
 reload)
 echo -n $"Reloading $prog: "
 killproc pure-ftpd -HUP
 RETVAL=$?
 echo
 ;;
 condrestart)
 if [ -f /var/lock/subsys/pure-ftpd ] ; then
 stop
 # avoid race
 sleep 3
 start
 fi
 ;;
 status)
 status pure-ftpd
 RETVAL=$?
 if [ -f $pureftpwho ] && [ $RETVAL -eq 0 ] ; then
 $pureftpwho
 fi
 ;;
 *)
 echo $"Usage: pure-ftpd {start|stop|restart|reload|condrestart|status}"
 RETVAL=1
 esac
 exit $RETVAL

3. Mengonfigurasi Izin File

Sekarang, kita perlu memberikan izin file yang diperlukan dengan perintah di bawah ini yang mencakup konfigurasi barang pasca instalasi.

# chmod +x /etc/init.d/pure-ftpd
# mkdir /etc/pure-ftpd/
# cp configuration-file/pure-ftpd.conf /etc/pure-ftpd/pure-ftpd.conf
# cp configuration-file/pure-config.pl /usr/sbin/pure-config.pl
# chmod 744 /etc/pure-ftpd/pure-ftpd.conf
# chmod 755 /usr/sbin/pure-config.pl

Kemudian buat tautan pengaktifan sistem dan mulai PureFTPd:

# chkconfig --levels 235 pure-ftpd on
# systemctl start pure-ftpd.service

4. Mengonfigurasi TLS dengan OpenSSL

Sekarang kita mengkonfigurasi PureFTPd untuk mengizinkan sesi FTP dan TLS. FTP tanpa TLS adalah protokol yang sangat tidak aman karena semua sandi dan semua data ditransfer dalam bentuk teks yang jelas . Dengan menggunakan TLS, seluruh komunikasi dapat dienkripsi , sehingga membuat FTP jauh lebih aman.
OpenSSL dibutuhkan oleh TLS; untuk menginstal OpenSSL, kita cukup menjalankan:

# yum -y install openssl

Buka /etc/pure-ftpd/pure-ftpd.conf...

# nano /etc/pure-ftpd/pure-ftpd.conf

Jika Anda ingin mengizinkan sesi FTP dan TLS, setel TLS ke 1:
# Opsi ini dapat menerima tiga nilai:
# 0 :nonaktifkan lapisan enkripsi SSL/TLS (default).
#1 :menerima sesi tradisional dan terenkripsi.
#2 :menolak koneksi yang tidak menggunakan mekanisme keamanan SSL/TLS,
# termasuk sesi anonim.
# Jangan _jangan_ batalkan komentar ini secara membabi buta. Pastikan bahwa:
#1) Server Anda telah dikompilasi dengan dukungan SSL/TLS (--with-tls),
# 2) Sertifikat yang valid sudah ada,
# 3) Hanya klien yang kompatibel yang akan masuk.

Untuk menggunakan TLS, kita harus membuat sertifikat SSL. Saya membuatnya di /etc/ssl/private/, oleh karena itu saya membuat direktori itu terlebih dahulu:
mkdir -p /etc/ssl/private/

Setelah itu, kita dapat membuat sertifikat SSL sebagai berikut:

# openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Ubah izin sertifikat SSL:

# chmod 600 /etc/ssl/private/pure-ftpd.pem

Akhirnya restart PureFTPd:

# systemctl stop pure-ftpd.service
# systemctl start pure-ftpd.service

Kesimpulan

Hore, kami telah berhasil menginstal dan mengkonfigurasi pureftpd. Sekarang kita dapat menikmati transfer data FTP dengan keamanan TLS. Harap dicatat, saat menghubungkan server FTP, kami harus mengonfigurasi klien FTP kami untuk menggunakan TLS jika Anda menginstal dan mengonfigurasi sertifikat SSL dengan benar. Dan secara default, pureftpd akan membuka port 21 untuk berkomunikasi dengan klien. Jika Anda memiliki masalah, pertanyaan, atau pertanyaan, silakan beri komentar di bawah tanpa ragu-ragu agar kami dapat memperbarui dan meningkatkan blog dan konten kami lebih banyak lagi.


Cent OS
  1. Cara mengatur server SFTP di CentOS

  2. Cara Mengatur CMS Textpattern di CentOS 8

  3. Cara Setup SysLog Server di CentOS 7 / RHEL 7

  1. Cara Setup Server NFS di CentOS 7 / RHEL 7

  2. Cara Setup Icinga Web 2 di CentOS 7 / RHEL 7

  3. Cara Setup Pure-FTPD dengan MySQL di CentOS &RedHat

  1. Cara Setup Server NFS di CentOS 8 / RHEL 8

  2. Cara Mengatur Kunci SSH di CentOS 8

  3. Cara Mengatur Firewall menggunakan FirewallD di CentOS 8