Settingup an FTP Server on Ubuntu with ProFTPD
- Single main configuration file, with directives and directive groups which are intuitive to any administrator who has ever used the Apache web server.
- Per directory ".ftpaccess" configuration similar to Apache's ".htaccess".
- Easy to configure multiple virtual FTP servers and anonymous FTP services.
- Designed to run either as a stand-alone server or from inetd/xinetd, depending on system load.
- Anonymous FTP root directories do not require any specific directory structure, system binaries or other system files.
- No SITE EXEC command. In modern Internet environments, such commands are a security nightmare. ProFTPD does not execute any external programs at any time. The source is available (and must always be available) for administrators to audit.
- Hidden directories and files, based on Unix-style permissions or user/group ownership.
- Runs as a configurable non-privileged user in stand-alone mode in order to decrease chances of attacks which might exploit its "root" abilities. Note: This feature is dependent on the capabilities of the host Unix system.
- Logging and utmp/wtmp support. Logging is compatible with the wu-ftpd standard, with extended logging available.
- Shadow password suite support, including support for expired accounts.
- Modular design, allowing server to be extended easily with modules. Modules have been written for SQL databases, LDAP servers, SSL/TLS encryption, RADIUS support, etc.
- IPv6 support.
Install Proftpd Server in Ubuntu
If you want to install proftpd in ubuntu use the following command
sudo apt-get install proftpd
This will start the installation this time it will ask one question you want to run proftp server from inetd or standalone here select standalone and press enter after this installation will be completed.
Configuring ProFTPD Server
By default proftp configuration file is located under /etc i.e /etc/proftpd.conf
If you want to check the default proftpd.conf file check here
We are going to change the basic configuration for proftp server this includes security configuration also.
Now you need to edit the /etc/proftpd.conf file using vi or any other editor and you need to change the following Directives or add the following directives for proftp server configuration these are only some of basic directives if you want to know available directives check here
sudo vi /etc/proftpd.conf
Change the following directives
ServerName — Configure the name displayed to connecting users
ServerName “proftp server”
ServerIdent — Set the message displayed on connect
ServerIdent on “Welcome to proftp server”
UseReverseDNS — Toggle rDNS lookups
IdentLookups — Toggle ident lookups
DefaultRoot — Sets default chroot directory
RequireValidShell --- Allow connections based on /etc/shells
MaxClients — Limits the number of users that can connect
DenyFilter --- Regular expression of command arguments to be blocked
MaxClientsPerHost — Limits the connections per client machine
After adding these directives you need to restrat your proftpd server to take these changes effect.
sudo /etc/init.d/proftpd restart
Now your Basic server configuration is ready To perform a syntax check of your proftpd.conf file use the following command
sudo proftpd -td5
Proftp Client Installation
If you want to use commnd line ftp client in debian you need to install the ftp package using the following command
sudo apt-get install ftp
By default users can FTP in to their own home directories only
How do you allow users to access /var/www?
How do you give different users access to different libraries, which are not the home directory. Eg. a sub directory of /var/www
I have proftpd running without any problems, except I cannot define the default directory that I want to be used.
I am running this off of an Asus eeepc under xubuntu, with an attached 80gig external drive.
I want to be able to access that drive via FTP. But I cannot seem to direct the home directory to it.
This is an example.If you want to change the default directory of FTP to /music of each user follow this
edit /etc/proftpd.conf file look for
Save and exit the file
Restart your proftpd server using the following command
sudo /etc/init.d/proftpd restart
Hi, We’ve started using ProFTPD and noticed that the response to a download that the line which states “226 Transfer complete” does not contain the period like many/most FTP programs. The statement from other FTP applications read: “226 Transfer complete.” The missing punctuation mark is causing a client to my ftp server fail to recognize a successful transfer because their software is configured to read only the “226 Transfer complete.” Can anyone provide assistance on how to modify the message on my server? Thanks, Bill
ease of configuration says the description for proftpd, i find it rather difficult to configure. No graphical user interface that is easy to rely to. How to configure new users? and how to manage at make directories for these users?
probably too late, but there is a graphical interface. It’s in the repositories, just apt-get gproftpd.
how abt vsftpd? which more simple n robust
why softlink on the http://ftp.server can’t be displayed on http://ftp.client?
I installed ProFTPD On a Ubuntu box and I having issues with restricted to one directory. Right now the user that I created during the set up has access to the entire OS ..
Thanks .. Guido
how to i access my files on different computer with thes
If you want to access files from different computer you can use samba for this.If you want to upload/download any files mainly ftp you can use ofcourse you can download some files from ftp server to use it
Is the proFTPD version 32 bit legacy or is it true 64 bit when installing on a 64 bit server edition of Ubuntu? And performance wise is there a huge gap between the 32 bit and the 64 bit versions?
I could not start the service – “ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration.”
This is on a fresh ubuntu server install. that was the first message i saw after installing proftpd. i chose not to check the configuration. removed it. and move along with other ftp service that worked. good bye proftpd! next time greet users with “up and running!”
ineed help please ,
i install proftpd with their accessories , but i can not save changes to proftpd directories in teminal my code:sudo vi /etc/proftpd.conf then teminal ask me for password , but keyboad not writing anything .
When you type in your password it isn’t being displayed(it wont show you typing any information in) for security reasons. so just type in your password hit enter then you should be good to go 😀
Hi,please help me how could I access ftp ipv6 via firefox?and where default location when I start ftp server.pleasee help me I really confused.thank you very much
Hi, I have installed proftpd many times on 9.10, using this guide to help me out. I just did a clean install with the 10.04 and now when I log in with a ftp client it gets to where it should list the files and then times out. Ive looked everywhere and cant seem to find out how to fix this. Thanks
Did you assign the proper file permissions to the main Ftp Folder (ex: r-read, w-write, x-execute) and or change the group to i think it is called “www-data” or “data-www”? To check what permissions are on what files/folders use the “ls -l” command
Here is an example sudo ls -l /var/www/ftp
you can use “chmod” to change the user permissions and “chown” to change the group.
O, also make sure there isnt a firewall blocking the port you are using to connect to the ftp server
Hope this helps, im still kinda a newb my self
Hi, I’m not so sure that you should just set the owner.group to www-data. Check what user proftpd is run as. Run “ps -aux | grep proftpd” and check at beginning of line first.
thanks for the help guys…
Hi guys, thanks for this guide…I’ve a question I’m hoping you maybe able to shed some light on. I’m running a fedora build. I’ve installed and configured proftp, and use Webmin to manage it. Whenever I try to connect, the following happens:
This is the log from my client (fireftp):
200 Type set to A
220 Welcome to the cloud, ya’ll!
331 Password required for user
PASS (password not shown)
230 User user logged in
250 CWD command successful
200 Type set to A
I then get kicked off and the whole process begins again. Any idea why?
Just currious did you set the proper R/W previllages to the directory? You are trying to access. Also double check your config files.
I have proftp setup, but if I want to ftp something from a website to my ftp server, what do I use for the FTP hostname?
Also, how can I allow the ftp to put files in /var/www/joomla16?
You would need to use your Wan IP, you can find out your wan IP by going to http://whatismyipaddress.com on your home network.
Connect to your FTP server like so:
– ftp://(wan ip here)
– Then enter your credentials
Simply use FileZilla (free download)
– Connect to your server and pretty much drag and drop 😀
If i recall you can setup ProFTPD to allow specific users to login to specific folders. I think you can make a symbolic link from your default ftp folder to “/var/www/joomla16”.
I’m still kinda new to this as well, hope this helps
PS: i haven’t used proftpd for quite some time
I have a similar problem. I want to be able to ftp /www/var/wordpress but I havn’t been able to find any information to help me do this. I am using proftpd also.
I’m fairly new to setting up wordpress on an ubuntu server using commands and I would really appreciate any help anyone could give me on this…I have managed to get this far but I feel I’ve hit a block wall!
If i recall you can create a new user say”wordpress” then set the home directory of the wordpress user to/www/var/wordpress then when you login to the ftp server use the wordpress user and password and it should log you into /www/var/wordpress.
Hope this helps
Best Regards and luck,
Hi , I had installed the VFTO and made necessary changes in conf file. but when am trying to connect to ftp am getting error as fto connection refused.
Anyone can help me on this..