Konfigurasi Proftpd Pada CentOS 7
Konfigurasi Server
2) Sekarang, coba cek directory /etc/yum.repos.d/ karena disitulah tempat repository centos kita. Cek apakah reponya sudah berhasil dimasukan atau tidak.
3) Jika sudah, update repositorynya dan tunggu hingga prosesnya selesai

4) Setelah itu install Proftpd dan tunggu hingga proses penginstalan selesai
5) Start (jalankan) dan Enable (agar berjalan otomatis saat pc direstart) Proftpd
6) Cek status proftpd, pastikan berjalan dengan baik
8) Reload firewall agar konfigurasi yang baru berjalan.
9) Setelah itu aktifkan service ftp pada SELinux
Verifikasi Client
Pengecekan Pada Server
Konfigurasi Server
2) Edit file proftpd.conf yang berada di directory /etc/
3) Tambahkan script ini dibagian paling bawah
4) Buat directory enable_mod dan disable_mod
5) Buat file anonymous.conf di dalam directory /etc/proftpd/disbale_mod/
6) Isikan Script seperti gambar dibawah ini
7) Walau modul anonymousnya sudah terbuat, akan tetapi masih belum aktif.
Untuk mengaktifkannya kita harus membuat simbol link ke directory enable_mod.
8) Karena tadi proftpdnya di stop, yuk sekarang coba start(jalankan) kembali proftpdnya
Verifikasi Client
2) Sekarang coba lakukan pengetesan pembuatan folder, maka tidak akan bisa, karena disini kita dalam mode anonymous.
Lantas bagaimana agar mode anonymous bisa create atau upload file ke ftp? yuk simak langkah-langkahnya dibawah ini
Konfigurasi Server
4) Lakukan konfigurasi SELinux agar kita bisa create file atau upload directory pada folder ftp anonymous tersebut
5) Kemudian, restart proftpd agar konfigurasi yang baru berjalan dengan baik
Verifikasi Client
Konfigurasi Server
Berikut saya tampilkan point pointnya saja ya..
1) Pertama instal bind nya dulu, abis itu edit file named.conf yang berada di directory /etc/
2) Jika sudah, sekarang edit script didalamnya menjadi seperti gambar dibawah ini (sesuaikan ipnya)
3) Tambahkan zona forward dan reverse yang sudah saya tandai warna kuning dan hijau ini untuk domain tersebut. Tambahkan script tersebut dibawah script zone ".' blablabla
5) Isikan file tersebut dengan script seperti gambar dibawah ini
6) Begitu pula pada zona reversenya sesuaikan namanya dan juga path nya sesuaikan dengan apa yang sudah di arahkan di file named.conf tadi
7) Isikan file tersebut dengan script seperti gambar dibawah ini
8) Jika sudah restart namednya, jika kalian belum pernah menjalakan service named sebelumnya, maka jalankan perintah start.
Catatan : Konfigurasi Dns ini belum selesai, kita harus melakukan konfigurasi beberapa tahap lagi, seperti menambahkan port 53\ kedalam firewall, Mengatur Permission, Ownership dan Restore keamanan Selinux terhadap file-file konfigurasi DNS Server, dan konfigurasi lainnya yang bisa kalian lihat caranya di link yang sudah saya cantumkan diatas point no.1. Sengaja disini tidak saya tampilkan semua cara konfigurasi Dns nya, karena takutnya kepanjangan :3.
Verifikasi Client
Konfigurasi Server
1) Buat userbaru dengan perintah useradd
2) Disini saya ingin menaruh directory untuk user tersebut di directory root "/" atau directory paling luar server centos kita. Maka dari itu pindah dulu ke directory root tersebut, jika sudah buat directory yang nantinya kita akan pakai sebagai directory dari user yang sudah dibuat tadi
3) Modifikasi user tersbebut agar terletak di directory yang sudah kita buat sebelumnya dengan perintah chmod. Bisa kalian lihat pada gambar dibawah ini adanya perintah -d yang berarti directory. Jadi, jika didefiniskan perintah dibawah ini berfungsi untuk memodifikasi directory dari user tertentu
4) Atur permission pada directory tersebut
5) Lihat apakah permissionnya sudah berubah atau belum
6) Edit kembali file proftpd.conf
7) Cari script DefaultRoot dan ubah syntak disampingnya, ubah dari"~" menjadi "/",
8) Restart service proftpdnya
Verifikasi Client
2) Bisa kalian lihat gambar pada point no.1 bahwasannya letak directory usernya sudah berhasil pindah sesuai dengan apa yang sudah kita konfigurasi pada tahap sebelumnya.
Nah, sekarang coba lakukan pengetesan dengan membuat file atau directory, maka tidak akan bisa, mengapa? karena belum diberi akses pada SELinux server centos kita
3) Begitupun pada user ke-2, bakalan tetp gabisa buat file atau directory
Re-Configure Server
Verifikasi Client
2) Begitupun dengan user 2, maka akan berhasil
Verifikasi Server
Client Windows
Upload
2) Buka cmd, karena tadi saya buat filenya di desktop, maka dari itu pindah dulu ke directory desktop, jika sudah akses ftp tersebut, disini saya mengakses sebagai user 1 setelah itu upload file dengan menggunakan perintah put
Download
2) Jika sudah, kembali lagi ke client windowsnya, habis itu coba lakukan download file pada ftp dengan menggunakan perintah get
Client Linux
Upload
2) Buka terminal, karena tadi saya membuat filenya di desktop, maka dari itu pindah dulu ke directory desktop, jika sudah akses ftpnya, disini saya login sebagai user 2, setelah itu upload filenya dengan perintah put
Download
2) Akses kembali ftpnya, setelah itu download file dengan perintah get. Karena disini saya berada di directory desktop, maka filenya akan otomatis tersimpan di directory desktop
Sebenarnya secara defaultnya proftpd, kita tidak bisa melihat partisi root server centos kita, untuk pembuktiannya, lihat penjelasan penjelasan dibawah ini
Verifikasi Client
1) Coba sekarang akses ftp menggunakan file explorer yang tersedia pada linux kalian, terserah login pake user 1 atau pake user 2
2) Jika sudah, coba lihat pada gambar dibawah ini, kita sebagai client bisa melihat directory root dari server centos kita, Mengapa demikian? karena settingan default proftpdnya tadi ada yang kita ubah, yaitu pada syntak DefaultRoot pada file proftpd.conf. Secara defaultnya DefaulRoot proftpd yaitu di "~" bukan di "/", karena pada tahap modifikasi directory user tadi kita mengubah DefaultRootnya menjadi "/" maka kita akan bisa melihat directory/partisi root server centos kita.
3) Sekarang akses ftp menggunakan file explorer yang tersedia pada client windows kalian, terserah login dengan user yang mana
4) Jika sudah, Maka kita tidak bisa lihat directory root, Mengapa? ya ini emang nasibnya si windows sepertinya :v. Ini mungkin karena windows tidak bisa membaca file system Fat32 yang digunakan linux, atau mungkin emang settingan defaultnya seperti itu untuk windows, intinya saya belum tahu persis mengapa, jika memang kalian ada masukan bisa kalian tuliskan pada kolom komentar.
2) Nah sekarang kita kembalikan settingan default dari syntak DefaultRoot, ubah dari "/" menjadi "~"
3) Restart service proftpd, agar konfigurasi yang baru berjalan dengan baik
Verifikasi Client
Sekian, Semoga Bermanfaat...
Assalamualaikum..
Ya, ketemu lagi dengan saya Dimas Trihandika selaku admin dari blog ini.
Pada kesempatan kali ini saya hanya ingin sharing aja sedikit, eh ga sedikit deng :v tentang tutorial konfigurasi Ftp menggunakan Proftpd menggunakan CentOS 7.
Sebelumnya, kita ketahui dulu, Ftp itu apa sih, terus Proftpd tuh apa sih.
Jadi, FTP itu suatu protokol yang berfungsi untuk tukar menukar file dalam suatu Network/Jaringan yang mensupport TCP/IP Protokol. Jadi, dengan menggunakan FTP ini kita bisa Sharing file dengan PC lain yang berada dalam satu jaringan dengan kita. jadi ga perlu colak colok flashdisk lagi buat berbagi file, kita hanya cukup membuka alamat FTP tersebut, secara default FTP menggunakan Port 21.
Sedangkan Proftpd itu aplikasi untuk membangun FTP tersebut. Sebenarnya bisa menggunakan Proftpd maupun Vsftpd, namun pada tutorial kali ini saya akan menjelaskan cara konfigurasinya menggunakan Proftpd.
Topology (Coming Soon)
Oke, langsung saja kita masuk ke tahap konnfigurasi..
User Mode
1) Perlu kalian ketahui bahwa package installer Proftpd tidak tersedia di dalam repo centos kita, maka dari itu kita harus downlaod, dan melakukan instalasinya melalui internet.
Pertama-tama yang harus kita lakukan adalah memasukan repository epel kedalam server centos kita. Download repository epel tersebut melalui internet tentunya, disini saya downloadnya di http://dl.fedoraproject.org. Sebenarnya banyak sekali link mirror untuk mendownload repository epel tersebut, tidak hanya di link yang tadi saya cantumkan, tapi bisa juga di http://download.fedoraproject.org, http;//mirrors.fedoraproject.org, dan masih banyak lagi yang gabisa saya sebutkan satu-satu, soalnya nanti kelamaan :3.
Bagi kalian yang menggunakan CentOS 64 bit, untuk menambah repositry epel bisa menggunakan syntak seperti berikut :
Nah itu untuk yang 64 bit, namun pada tutorial ini saya menggunakan CenOS 32 bit.
Karena repository epel versi 7 belum tersedia untuk yang 32 bit, maka pada tutorial ini saya menggunakan epel repository versi 6. Untuk cara menambah reponya, tidak jauh beda sama CentOS 64 bit, hanya filenya doang yang beda.
Bagi kalian yang menggunakan CentOS 64 bit, untuk menambah repositry epel bisa menggunakan syntak seperti berikut :
rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpmCatatan : Disitu menunjukan bahwa repository epel yang di download yaitu versi 7.8. Perlu kalian ketahui, ini tidak selalu menetap, bisa saja ada pembaharuan untuk repo tersebut, maka dari itu pada saat ingin menambah repositry epel, lihat dulu di link downloadnya, versi terbarunya versi berapa.
Nah itu untuk yang 64 bit, namun pada tutorial ini saya menggunakan CenOS 32 bit.
Karena repository epel versi 7 belum tersedia untuk yang 32 bit, maka pada tutorial ini saya menggunakan epel repository versi 6. Untuk cara menambah reponya, tidak jauh beda sama CentOS 64 bit, hanya filenya doang yang beda.
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
2) Sekarang, coba cek directory /etc/yum.repos.d/ karena disitulah tempat repository centos kita. Cek apakah reponya sudah berhasil dimasukan atau tidak.
ls /etc/yum.repos.d/
3) Jika sudah, update repositorynya dan tunggu hingga prosesnya selesai
yum update -y

yum install proftpd -y
systemctl start proftpd
systemctl enable proftpd
6) Cek status proftpd, pastikan berjalan dengan baik
systemctl status proftpd
7) Tambahkan port 21 ke firewall, mengapa poprt 21? ya karena 21 adalah port default ftp. Atau bisa juga dengan menambahkan service ftp kedalam firewall
firewall-cmd --permanent --add-port=21/tcpAtau :
firewall-cmd --permanent --add-service=ftp
8) Reload firewall agar konfigurasi yang baru berjalan.
firewall-cmd --reload
9) Setelah itu aktifkan service ftp pada SELinux
setsebool -p ftp_home_dir on
10) Buat user yang nantinya akan kita gunakan pada saat login ke ftp, dan jangan lupa berikan password untuk user tersebuy
useradd dims
passwd dimas
1) Sekarang, coba akses ftp melalui client, disini saya menggunakan windows 10.
Untuk caranya bisa melalui CMD, File Explorer, atau melalui aplikasi seperti Filezila. Namun disini saya menggunakan FIile Explorer.
ftp://"ip server kalian"Maka akan tampil halaman login, isikan username beserta password sesuai dengan apa yang sudah dibuat pada server centos kita tadi
2) Jengjreng, berhasil login ke ftp tersebut. Kita akan bisa create file pada ftp tersebut karena tadi sudah diberi hak akses pada SELinux
1) Setiap user yang kita buat, secara default akan terletak di directory /home/. Maka dari itu coba lakukan pengecekan pada server kalian, apakah folder yang sudah dibuat pada client windows 10 tadi akan terdapat juga atau tidak pada directory user tersebut.
ls /home/dims/
Anonymous Mode
1) Untuk membuat ftp server mode anonymous, kita harus buat directory enable_mod dan disable_mod agar tidak mengacaukan file konfigurasi proftpd.conf.
Pertama-tama stop proftpd terlebih dahulu
systemctl stop proftpd
2) Edit file proftpd.conf yang berada di directory /etc/
nano /etc/proftpd.conf
3) Tambahkan script ini dibagian paling bawah
include /etc/proftpd/enable_mod/*.conf
4) Buat directory enable_mod dan disable_mod
mkdir -p /etc/proftpd/enable_mod
mkdir -p /etc/proftpd/disable_mod
5) Buat file anonymous.conf di dalam directory /etc/proftpd/disbale_mod/
nano /etc/proftpd/disable_mod/anonymous.conf
6) Isikan Script seperti gambar dibawah ini
7) Walau modul anonymousnya sudah terbuat, akan tetapi masih belum aktif.
Untuk mengaktifkannya kita harus membuat simbol link ke directory enable_mod.
ln -s /etc/proftpd/disable_mod/anonymous.conf /etc/proftpd/enable_mod/
ll /etc/proftpd/enable_mod/
8) Karena tadi proftpdnya di stop, yuk sekarang coba start(jalankan) kembali proftpdnya
systemctl start proftpd
1) Sekarang coba kunjungi lagi ftp tersebut menggunakan file explorer, maka tidak akan muncul halaman login lagi, karena kita sudah mengatur proftpd ke mode anonymous
2) Sekarang coba lakukan pengetesan pembuatan folder, maka tidak akan bisa, karena disini kita dalam mode anonymous.
Lantas bagaimana agar mode anonymous bisa create atau upload file ke ftp? yuk simak langkah-langkahnya dibawah ini
Konfigurasi Anonymous Dapat Create file atau Directory
1) Edit kembali file anonymous.conf
nano /etc/proftpd/disable_mod/anonymous.conf
2) Ubah script Deny All menjadi Allow All, untuk lebih jelasnya lihat gambar dibawah ini.
3) Seteleh itu buat directory baru, yang dimana nantinya directory tersebut akan digunakan sebagai directory ftp mode anonymous user yang bisa create file atau directory. Setelah dibuat, beri hak akses user ftp ke directory tersebut dengan cara mengatur kepemilikannya (ownership)
mkdir /var/ftp/dims
chown ftp /var/ftp/dims/
4) Lakukan konfigurasi SELinux agar kita bisa create file atau upload directory pada folder ftp anonymous tersebut
chcon -t public_content_rw_t /var/ftp/dims/
setsebool -P allow_ftpd_anon_write=1
5) Kemudian, restart proftpd agar konfigurasi yang baru berjalan dengan baik
systemctl restart proftpd
1) Sekarang coba lagi kunjungi ftp tersebut menggunakan file explorer, kemudian buat file atau directory pada directory baru yang sudah dikonfigurasi agar user anonymous dapat create file atau directory, Maka akan berhasil create file atau directory ke ftp tersebut.
Akses Ftp Menggunakan Nama Domain
Agar Ftp bisa diakses menggunakan nama domain, kita harus membuat dns dengan cara menginstall bind terlebih dahulu pada server centos kita.
Tutorial untuk membuat dns bisa kalian lihat pada postingan saya sebelumnya pada lab [6.1], dan bisa kalian lihat di Konfigurasi Domain Name System (CentOS7)
Lakukan konfigurasi seperti pada lab tersebut, sesuaikan ip nya dan atur nama domainnya terseah kalian saja, maka nanti ftp kita bakalan bisa di akses menggunakan nama domainBerikut saya tampilkan point pointnya saja ya..
1) Pertama instal bind nya dulu, abis itu edit file named.conf yang berada di directory /etc/
nano /etc/named.conf
3) Tambahkan zona forward dan reverse yang sudah saya tandai warna kuning dan hijau ini untuk domain tersebut. Tambahkan script tersebut dibawah script zone ".' blablabla
4) Buat file zona forward untuk domain tersebut, sesuaikan namanya dan juga path nya sesuaikan dengan apa yang sudah di arahkan di file named.conf tadi
5) Isikan file tersebut dengan script seperti gambar dibawah ini
6) Begitu pula pada zona reversenya sesuaikan namanya dan juga path nya sesuaikan dengan apa yang sudah di arahkan di file named.conf tadi
7) Isikan file tersebut dengan script seperti gambar dibawah ini
8) Jika sudah restart namednya, jika kalian belum pernah menjalakan service named sebelumnya, maka jalankan perintah start.
systemctl restart named
Catatan : Konfigurasi Dns ini belum selesai, kita harus melakukan konfigurasi beberapa tahap lagi, seperti menambahkan port 53\ kedalam firewall, Mengatur Permission, Ownership dan Restore keamanan Selinux terhadap file-file konfigurasi DNS Server, dan konfigurasi lainnya yang bisa kalian lihat caranya di link yang sudah saya cantumkan diatas point no.1. Sengaja disini tidak saya tampilkan semua cara konfigurasi Dns nya, karena takutnya kepanjangan :3.
Verifikasi Client
1) Atur koneksi pada client tersebut, Pada Preferred DNS server masukan/arahkan dengan ip server kalian. Untuk lebih jelasnya lihat gambar dibawah ini
2) jika sudah coba lakukan pengetesan kepada domain tersebut menggunakan CMD, pastikan mendapat balasan reply dari domain tersebut
3) Sekarang coba akses FTP menggunakan nama domain yang sudah kalian buat pada tahap sebelumnya, maka akan berhasil dan kita bisa mengakses ftp kita dengan nama domain tersebut.
Penambahan user baru serta mengatur directory untuk user tersebut
1) Buat userbaru dengan perintah useradd
useradd "nama user"Pada contoh ini saya menambahkan 2 user baru, jika kalian mau lebih silahkan aja, kagapapa
2) Disini saya ingin menaruh directory untuk user tersebut di directory root "/" atau directory paling luar server centos kita. Maka dari itu pindah dulu ke directory root tersebut, jika sudah buat directory yang nantinya kita akan pakai sebagai directory dari user yang sudah dibuat tadi
cd /
mkdir dimas1
mkdir dimas2
3) Modifikasi user tersbebut agar terletak di directory yang sudah kita buat sebelumnya dengan perintah chmod. Bisa kalian lihat pada gambar dibawah ini adanya perintah -d yang berarti directory. Jadi, jika didefiniskan perintah dibawah ini berfungsi untuk memodifikasi directory dari user tertentu
usermod -d /dimas1/ dimas1
usermod -d /dimas2/dimas2
4) Atur permission pada directory tersebut
chmod 777 /dimas1/
5) Lihat apakah permissionnya sudah berubah atau belum
ls -l
6) Edit kembali file proftpd.conf
7) Cari script DefaultRoot dan ubah syntak disampingnya, ubah dari"~" menjadi "/",
8) Restart service proftpdnya
systemctl restart proftpd
1) Sekarang coba akses ftp dengan menggunakan cmd pada windows, jika sudah login dengan salah satu user yang sudah dibuat tadi, setelah itu coba cek pada directory mana kita berada dengan perintah pwd
2) Bisa kalian lihat gambar pada point no.1 bahwasannya letak directory usernya sudah berhasil pindah sesuai dengan apa yang sudah kita konfigurasi pada tahap sebelumnya.
Nah, sekarang coba lakukan pengetesan dengan membuat file atau directory, maka tidak akan bisa, mengapa? karena belum diberi akses pada SELinux server centos kita
3) Begitupun pada user ke-2, bakalan tetp gabisa buat file atau directory
1) Untuk memberikan hak akses SELinux pada directory user tersebut, yaitu dengan cara menjalankan perintah seperti berikut
chcon -t public_content_rw_t /dimas1/
chcon -t public_content_rw_t /dimas2/
1) Coba login lagi dengan user 1, abis itu buat file atau ga directory, maka akan berhasil karena sudah di beri akses pada SELinux
2) Begitupun dengan user 2, maka akan berhasil
1) Coba lakukan pengecekan pada directory dari kedua user tersebut, dan coba lihat apakah terdapat file yang sudah dibuat tadi pada client
ls /dimas1/
ls /dimas2/
Upload & Donwload File in Ftp
1) Buat file di windows kalian, disini biar ga ribet saya buatnya langsung di desktop aja
2) Buka cmd, karena tadi saya buat filenya di desktop, maka dari itu pindah dulu ke directory desktop, jika sudah akses ftp tersebut, disini saya mengakses sebagai user 1 setelah itu upload file dengan menggunakan perintah put
put "nama file"Contoh :
put UploadWindows.txt
Download
1) Pertama buat file dulu di server centos kita, lihat contoh dibawah ini untuk membuat filenya
touch /dimas1/filedimas1.xml
2) Jika sudah, kembali lagi ke client windowsnya, habis itu coba lakukan download file pada ftp dengan menggunakan perintah get
get filedimas1.xmlKarena kita sebelumnya berada di directory desktop, maka file tersebut akan tersimpannya di diectory desktop
Client Linux
1) Sama seperti pada windows, buat file yang akan di upload terlebih dahulu
2) Buka terminal, karena tadi saya membuat filenya di desktop, maka dari itu pindah dulu ke directory desktop, jika sudah akses ftpnya, disini saya login sebagai user 2, setelah itu upload filenya dengan perintah put
put UploadLinux.html
Download
1) Buat filenya dulu pada server centosnya yang dimana file tersebut nanti akan kita download lewat client linux kita
touch /dimas2/filedimas2.xml
2) Akses kembali ftpnya, setelah itu download file dengan perintah get. Karena disini saya berada di directory desktop, maka filenya akan otomatis tersimpan di directory desktop
get filedimas2.xml
Konfigurasi agar Client tidak/bisa melihat directory root server Centos
Verifikasi Client
1) Coba sekarang akses ftp menggunakan file explorer yang tersedia pada linux kalian, terserah login pake user 1 atau pake user 2
2) Jika sudah, coba lihat pada gambar dibawah ini, kita sebagai client bisa melihat directory root dari server centos kita, Mengapa demikian? karena settingan default proftpdnya tadi ada yang kita ubah, yaitu pada syntak DefaultRoot pada file proftpd.conf. Secara defaultnya DefaulRoot proftpd yaitu di "~" bukan di "/", karena pada tahap modifikasi directory user tadi kita mengubah DefaultRootnya menjadi "/" maka kita akan bisa melihat directory/partisi root server centos kita.
3) Sekarang akses ftp menggunakan file explorer yang tersedia pada client windows kalian, terserah login dengan user yang mana
4) Jika sudah, Maka kita tidak bisa lihat directory root, Mengapa? ya ini emang nasibnya si windows sepertinya :v. Ini mungkin karena windows tidak bisa membaca file system Fat32 yang digunakan linux, atau mungkin emang settingan defaultnya seperti itu untuk windows, intinya saya belum tahu persis mengapa, jika memang kalian ada masukan bisa kalian tuliskan pada kolom komentar.
Konfigurasi Server
1) Sekarang kita konfigurasi agar si client tidak bisa melihat directory root server centos kita. Edit file proftpd.conf yang terletak di directory /etc/
nano /etc/proftpd.conf
2) Nah sekarang kita kembalikan settingan default dari syntak DefaultRoot, ubah dari "/" menjadi "~"
3) Restart service proftpd, agar konfigurasi yang baru berjalan dengan baik
systemctl restart proftpd
1) Akses kembali ftpnya, login dengan user yang mana aja terserah, dan coba lihat maka otomatis kita akan diarahkan ke directory dimana user tersebut berada, dan kita pun tidak dapat melihat directory root dari server centos kita
Sekian, Semoga Bermanfaat...
Comments
Post a Comment