การติดตั้ง ftp server ด้วยโปรแกรม Vsftpd
วิธีติดตั้ง ftp server ด้วยโปรแกรม vsftpd
- ติดตั้งโปรแกรม vsftpd ด้วยคำสั่ง
apt-get install vsftpd
ในกรณีที่ใช้ yum ให้เปลี่ยนคำว่า apt-get เป็น yum ดังตัวอย่าง
yum install vsftpd
- แก้ไขให้ทำงานทุกครั้งที่บูทเครื่อง
chkconfig vsftpd on
- สั่งให้ทำงานด้วยคำสั่งว่า
service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
- ตรวจสอบว่าโปรแกรมทำงานแล้วด้วยคำสั่ง
service vsftpd status
ได้ผลออกมาดังตัวอย่าง
vsftpd (pid 4461) is running...
- หากต้องการให้แฟ้มข้อมูลถูกเปิดอ่านได้จากสาธารณะ
ให้เก็บข้อมูลไว้ภายใต้ Directory ชื่อ /var/ftp/pub
แฟ้มข้อมูลสามารถเปิดอ่านได้ผู้ใช้แบบสาธารณะชื่อ anonymous
- การปรับแต่งระบบทำได้โดยการแก้ไขแฟ้ม /etc/vsftpd/vsftpd.conf แล้ว ให้ระบบอ่านค่าที่ปรับใหม่ได้ด้วยคำสั่ง
service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
- การปรับแต่งค่าต่างๆในแฟ้มของ /etc/vsftpd/vsftpd.conf
ต้องการให้ใช้งานได้เฉพาะภายใน home ของตนเอง ไม่ต้องการให้ออกไปเพ่นพ่านที่อื่น
เพิ่ม/แก้ไขบรรทัดข้อความว่า chroot_local_user=YES
ต้องการห้าม anonymous เข้ามาใช้บริการ
เพิ่ม/แก้ไขบรรทัดข้อความว่า anonymous_enable=NO
- หากเจอปัญหา upload แฟ้มขึ้น ftp server นี้ไม่ได้
อาจเกิดจาก selinux ให้สั่งปิดการทำงานของ selinux
โดยแก้ไขแฟ้มชื่อ /etc/selinux/config
แก้ไขบรรทัดข้อความจากเดิมคือ SELINUX=enforcing
ให้เป็นข้อความว่า SELINUX=disabled
ต้อง reboot ใหม่แล้ว selinux จึงจะปิดการทำงานตามต้องการ
- หากต้องการเพิ่ม hard disk ลูกใหม่เข้าไป และต้องการให้ไปเป็นส่วนหนึ่งของพื้นที่ใน /var/ftp/pub
ให้จัดการติดตั้ง hard disk และ mount ให้เรียบร้อยสามารถใช้งานได้ซะก่อน
ตัวอย่างของผมคือเพิ่ม hard disk /dev/hdb1 ไปในพื้นที่ /mnt/data
และต้องการให้ไปโผล่เป็นส่่วนหนึ่งของ /var/ftp/pub/newdisk
ทำคำสั่งขั้นตอนดังนี้คือ
mkdir -p /mnt/data
mount /dev/hdb1 /mnt/data
mkdir -p /var/ftp/pub/newdisk
mount --bind /mnt/data /var/ftp/pub/newdisk
แค่นี้ก็เสร็จแล้ว ตรวจสอบดูผลงานได้เลย
แก้ไขให้ระบบทำงานคำสั่งเหล่านี้โดยอัตโนมัติทุกครั้งที่บูทเครื่อง
ต้องแก้ไขแฟ้ม /etc/rc.local โดยเพิ่มบรรทัดคำสั่งเหล่านั้นเข้าไปด้วย