Installing ProFTPD in FreeBSD is the same as Linux. Don't listen to the hype! You don't need to install from ports. ProFTPD can compile just fine on FreeBSD without ports. Just do it yourself!!
Since I'm not using the GUI I downloadeded proftpd-1.2.9.tar.gz from http://www.proftpd.org on my WinDoze box. Used WinSCP2 to transfer to file to my /home account. Logged in with putty.
>tar -zxvf proftpd-1.2.9.tar.gz
>cat INSTALL |more
>cat README |more
*you know it's a good idea*
*if you're not root already*
>cp /home/proftpd-1.2.9/sample-configurations/basic.conf /usr/local/etc/proftpd.conf
>cp proftpd.sample.sh proftpd.sh
>chmod 755 proftpd.sh
*you may not have a startup script, if not I've put a sample of mine below*
Here are the default install directories:
proftpd - /usr/local/local/sbin/
proftpd.conf - /usr/local/etc/
proftpd.scoreboard - /usr/local/var/proftpd
proftpd.pid - /usr/local/var
proftpd.sh.sample - /usr/local/etc/rc.d/
ftpwho - /usr/local/bin/
ftpcount - /usr/local/bin/
ftptop - /usr/local/bin/
Here's what my proftpd.sh looks like, in case you don't get one:
case "$1" in
/bin/mkdir -p /usr/local/var/proftpd
if [ -x /usr/local/sbin/proftpd ]; then
echo -n ' proftpd'
echo "$0 start | stop"
I also used this code to start up my shoutcast, by changing the appropriate references...
Read up on the proftpd config files here: http://www.proftpd.org/docs/example-conf.html
Here's my config file:
# jasonthomasfrance's ProFTPD configuration file
ServerIdent on "jasonthomasfrance.org"
# Add some greetings after login
# Reference http://www.proftpd.org/docs/directives/linked/config_ref_DisplayFirstChdir.html
# for some neat stuff with %
#AccessGrantMsg "Hello %u, welcome to jasonthomasfrance.org"
AccessDenyMsg "Please try again, or go away"
# Speed up logging in
# Speed up directory listings
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
# Cut down on some annoyance
# How quickly do we kick someone out
# Don't give the server banner until after authentication
# Set the user and group under which the server will run.
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot /home !wheel
# Normally, we want files to be overwriteable.
# Allow FXP
# Resume Downloadling
# Resume Uploading
ExtendedLog /var/proftpd/ftp.log read,write
Make sure the user and group exist!! In RedHat I used apache, apache because nobody wasn't there.
To start/stop proftpd
If you are using the proftpd.sh script you can issue:
If you don't want to (or can't) use the .sh script then to start:
To stop you have to find and kill the proftpd pid:
>kill 111 (where 111 is the proftpd pid)
To check who is logged on issue ftpwho. Or ftpcount, for a quick count. Or ftptop to check what people are getting. To get out of ftptop hit Ctrl+Z.
Now you're a proftpd geek!
written by jasonthomasfrance
date 23 Nov 2003
systems RedHat 9.0, FreeBSD 4.8