Today , I get job from my boss to installing FTP in CentOS server, I`m using ProFTPd , because for ISPConfig has better support for proftpd than vsftpd, so let’s remove vsftpd.
before install ProFTPd , we better to installing some software ,
update our existing packages on the system:
yum update |
install some software packages that are needed later on:
yum install fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils ncftp gcc gcc-c++ |
command to remove vsftpd :
yum remove vsftpd |
Because CentOS has no proftpd package, we have to compile Proftpd manually:
cd /tmp/ wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.2e.tar.gz tar xvfz proftpd-1.3.2e.tar.gz cd proftpd-1.3.2e/ ./configure --sysconfdir=/etc make make install |
Sponsored links
The proftpd binary gets installed in /usr/local/sbin, but we need it in /usr/sbin, so we create a symlink:
ln -s /usr/local/sbin/proftpd /usr/sbin/proftpd |
Now create the init script /etc/init.d/proftpd:
nano /etc/init.d/proftpd |
insert this code
#!/bin/sh # $Id: proftpd.init,v 1.1 2004/02/26 17:54:30 thias Exp $ # # proftpd This shell script takes care of starting and stopping # proftpd. # # chkconfig: - 80 30 # description: ProFTPD is an enhanced FTP server with a focus towards \ # simplicity, security, and ease of configuration. \ # It features a very Apache-like configuration syntax, \ # and a highly customizable server infrastructure, \ # including support for multiple 'virtual' FTP servers, \ # anonymous FTP, and permission-based directory visibility. # processname: proftpd # config: /etc/proftp.conf # pidfile: /var/run/proftpd.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -x /usr/sbin/proftpd ] || exit 0 RETVAL=0 prog="proftpd" start() { echo -n $"Starting $prog: " daemon proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd } stop() { echo -n $"Shutting down $prog: " killproc proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status proftpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f /var/lock/subsys/proftpd ]; then stop start fi ;; reload) echo -n $"Re-reading $prog configuration: " killproc proftpd -HUP RETVAL=$? echo ;; *) echo "Usage: $prog {start|stop|restart|reload|condrestart|status}" exit 1 esac exit $RETVAL |
Then we make the init script executable:
chmod 755 /etc/init.d/proftpd |
Next we open /etc/proftpd.conf and change Group to nobody:
nano /etc/proftpd.conf |
For security reasons you can also add the following lines to /etc/proftpd.conf :
[...] DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...] |
To make sure that FTP users can use the chmod command, comment out the
[...] # Bar use of SITE CHMOD by default #<Limit SITE_CHMOD> # DenyAll #</Limit> [...] |
Now we can create the system startup links for Proftpd:
chkconfig --levels 235 proftpd on |
And finally we start Proftpd:
/etc/init.d/proftpd start |
There are way to installing ProFTPd in your CentOS
Tags: CentOS tutorial, FTP
Facebook Comments