FTPd Murni adalah server FTP gratis dan aman. Itu tidak memberikan lonceng dan peluit yang tidak berguna, tetapi berfokus pada efisiensi dan kemudahan penggunaan. Ini memberikan jawaban sederhana untuk kebutuhan umum, ditambah fitur unik yang berguna untuk pengguna pribadi serta penyedia hosting.
Panduan cara ini akan membantu Anda mengatur Pure-FTPD dengan MySQL sebagai basis data pengguna. Juga memberikan instruksi terperinci untuk membuat pengguna dan pengujian.
Langkah 1:Instal MySQL (Lewati jika Sudah Memiliki)
Pertama kita perlu menginstal MySQL pada sistem kita menggunakan langkah-langkah perintah berikut.
# yuminstall mysql mysql-server
klik di sini untuk instruksi rinci untuk instalasi mysql.
Langkah 2:Instal Pure-FTPD
Gunakan perintah berikut untuk menginstal pure-ftpd di sistem linux Anda.
# yuminstall pure-ftpd
Langkah 3:Buat Pengguna dan Basis Data MySQL
Setelah menginstal paket pure-ftpd, mari buat database mysql, tabel dan pengguna untuk menyimpan informasi pengguna.
#mysql -u root -p Enter password: mysql> CREATE DATABASEpureftpd ; mysql> GRANT ALL ONpureftpd .* to 'pureftpd '@'localhost' IDENTIFIED BY '_password_ '; mysql> FLUSH PRIVILEGES; mysql> usepureftpd ; mysql> 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; mysql> quit
Langkah 4:Konfigurasikan Pure-FTPD
Kami akan mengkonfigurasi pure-ftpd untuk menyimpan detail login pengguna di database mysql. Pertama edit file konfigurasi utama pure-ftpd
# vim /etc/pure-ftpd/pure-ftpd.conf
dan buat perubahan berikut.
ChrootEveryoneyes MaxClientsNumber50 MaxClientsPerIP2 VerboseLogyes AnonymousOnlyno NoAnonymousyes MaxIdleTime15 MySQLConfigFile/etc/pure-ftpd/pureftpd-mysql.conf PAMAuthenticationno UnixAuthenticationno
Setelah melakukan perubahan pada konfigurasi pure-ftpd, mari edit file konfigurasi mysql pure-ftpd
# vim /etc/pure-ftpd/pureftpd-mysql.conf
dan perbarui variabel berikut
MYSQLUserpureftpd MYSQLPassword_password_ MYSQLDatabasepureftpd MYSQLCryptmd5
Langkah 5:Uji Pengaturan Pure-FTPD
Pada langkah ini kita telah menyelesaikan setup ftpd murni, Sekarang kita perlu menguji setup kita dengan membuat akun ftp pertama kita. 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.
Buat Akun Pengguna:
# useradd demouser1 # passwd demouser1
Dapatkan UID dan GID dari Akun ini:
# cat /etc/passwd | grep demouser1 demouser1:x:504:505::/home/demouser1:/bin/bash
Sesuai output di atas, kami menemukan bahwa usres UID adalah 504 dan GID adalah 505.
Buat Akun FTP
Mari login ke server mysql atau akses melalui phpMyAdmin dan buat akun pertama Anda. Untuk tutorial ini, saya menggunakan baris perintah.
# mysql -u root -p Enter password: mysql> INSERT INTO `users` (`User`, `Password`, `Uid`, `Gid`, `Dir`, `QuotaSize`, `Status`, `ULBandwidth`, `DLBandwidth`, `Date`, `LastModif`) VALUES ('ftpuser1', md5('_password_'), '504', '505', '/home/demouser1', '20', 2, '10', '10', now(), ''); mysql> quit
Sesuai permintaan di atas, kami telah berhasil membuat akun ftp pertama kami
Hubungkan ke Server FTP menggunakan akun ftp yang baru dibuat dan coba unggah file uji.
C:>ftp ftp.tecadmin.net Connected to ftp.tecadmin.net. 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------- 220-You are user number 1 of 50 allowed. 220-Local time is now 21:39. Server port: 21. 220-This is a private system - No anonymous login 220-IPv6 connections are also welcome on this server. 220 You will be disconnected after 15 minutes of inactivity. User (ftp.tecadmin.net:(none)):ftpuser1 331 User ftpuser1 OK. Password required Password: 230 OK. Current restricted directory is / ftp>put test.txt 200 PORT command successful 150 Connecting to port 57216 226-File successfully transferred 226 0.004 seconds (measured here), 0.65 Mbytes per second ftp: 2593 bytes sent in 0.00Seconds 2593.00Kbytes/sec. ftp> bye 221-Goodbye. You uploaded 3 and downloaded 0 kbytes. 221 Logout. C:>
Sesuai hasil di atas, kami telah berhasil terhubung ke pengguna ftp dan mengunggah file uji. Mari kita periksa izin file itu di server.
# ls -l /home/demouser1/test.txt -rw-r--r-- 1 demouser1 demouser1 2525 Dec 4 21:39 /home/demouser1/test.txt
Sekarang Anda dapat melihat bahwa file tersebut mendapatkan izin dari pengguna yang UID, GID yang telah kami gunakan untuk akun FTP tersebut.