FTPd murni adalah server FTP open source dan aman. Ini adalah salah satu server FTP yang banyak digunakan karena keamanannya, kemudahan penggunaan, dan kemampuannya untuk terhubung ke database.
Pada artikel ini kita akan menginstal dan mengkonfigurasi FTPd pada CentOS 8.
Dapatkan repositori EPEL untuk CentOS 8:
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Instal FTPd menggunakan perintah berikut:
dnf install pure-ftpd
Sekarang buat pengguna dan grup untuk server FTPd.
nano /etc/pure-ftpd/pure-ftpd.conf
lakukan perubahan berikut:
ChrootEveryone yes
MaxClientsNumber 50
MaxClientsPerIP 2
VerboseLog yes
AnonymousOnly no
NoAnonymous yes
MaxIdleTime 15
MySQLConfigFile /etc/pure-ftpd/pureftpd-mysql.conf
PAMAuthentication no
UnixAuthentication no
Sekarang kita akan mengedit file konfigurasi mysql pure-ftpd.
nano /etc/pure-ftpd/pureftpd-mysql.conf
Batalkan komentar pada baris berikut:
# Optional : MySQL server name or IP. Don't define this for unix sockets.
MYSQLServer 127.0.0.1
# Optional : MySQL port. Don't define this if a local unix socket is used.
MYSQLPort 3306
perbarui nilai berikut:
MYSQLUser pureftpd
MYSQLPassword password
MYSQLDatabase pureftpd
MYSQLCrypt md5
Izinkan layanan ftp melalui firewall.
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload
Aktifkan dan mulai layanan FTPd murni.
systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service
systemctl status pure-ftpd.service
Setelah instalasi, kami akan mengkonfigurasinya untuk mariaDB.
Instal MariaDB menggunakan perintah berikut:
dnf install @mariadb
Mulai dan Aktifkan Layanan MariaDB.
systemctl enable --now mariadb
systemctl status mariadb
Kami sekarang akan mengatur kata sandi root untuk MariaDB dan pemeriksaan keamanan lainnya karena tidak ada kata sandi root yang disetel sekarang, gunakan perintah berikut:
mysql_secure_installation
Sebuah prompt akan meminta Anda untuk mengatur kata sandi root untuk MariaDB. Setelah Anda melakukannya, skrip akan meminta Anda untuk menghapus pengguna anonim, membatasi akses pengguna root, dan menghapus database pengujian. Anda harus menjawab “Y” (ya) untuk semua opsi.
Sekarang kita akan login ke mariaDB dan membuat database, tabel dan pengguna dan menyimpan informasi yang sesuai.
mysql -u root -p
Sekarang masukkan perintah berikut:
CREATE DATABASE pureftpd;
GRANT ALL ON pureftpd.* to 'pureftpd'@'localhost' IDENTIFIED BY '_password_';
FLUSH PRIVILEGES;
use pureftpd;
CREATE TABLE `users` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`User` varchar(32) NOT NULL DEFAULT '',
`Password` varchar(64) NOT NULL DEFAULT '',
`Uid` int(3) NOT NULL DEFAULT '500',
`Gid` int(3) NOT NULL DEFAULT '500',
`Dir` varchar(255) NOT NULL DEFAULT '',
`QuotaSize` int(4) NOT NULL DEFAULT '50',
`Status` enum('0','1') NOT NULL DEFAULT '1',
`ULBandwidth` int(2) NOT NULL DEFAULT '100',
`DLBandwidth` int(2) NOT NULL DEFAULT '100',
`Date` date NOT NULL DEFAULT '0000-00-00',
`LastModif` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`ID`),
UNIQUE KEY `User` (`User`),
KEY `Uid` (`Uid`),
KEY `Gid` (`Gid`),
KEY `Dir` (`Dir`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
quit;
Kami telah menyelesaikan pengaturan ftpd murni, Sekarang kami perlu menguji pengaturan kami dengan membuat akun ftp pertama kami. Untuk menguji setup kita, pertama kita perlu membuat user di sistem linux. Setelah itu kami akan menggunakan UID dan GID pengguna tersebut untuk membuat akun ftp virtual kami.
useradd ftp1
passwd ftp1
Sekarang jalankan perintah berikut untuk mendapatkan UID dan GID dari akun ini.
cat /etc/passwd | grep ftp1
Sesuai output dari perintah di atas UID dan GID pengguna ini adalah 1000.
Sekarang, Login ke mariaDB dan buat akun Anda.
mysql -u root -p
Jalankan perintah berikut:
use pureftpd;
INSERT INTO `users` (`User`, `Password`, `Uid`, `Gid`, `Dir`, `QuotaSize`,
`Status`, `ULBandwidth`, `DLBandwidth`, `Date`, `LastModif`)
VALUES ('ftpuser1', md5('_password_'), '1000', '1000', '/home/ftp1',
'20', 2, '10', '10', now(), '');
quit
Sekarang Anda dapat login ke akun ftp.
Sekarang Anda dapat membuat file dan direktori menggunakan FTP. Kami akan membuat direktori bernama test menggunakan FTPd murni.
Sekarang Anda dapat menggunakan FTPd Murni sesuai kebutuhan Anda.