proFTPd Administrator


>> Manual
In this section you will be able to access the manual and the various documents that are available to you at this moment. Take note that the documents available here is also available as standalone files that can be found in the location where you installed proFTPd Administrator. The content in these files are at the moment not applicable for translation due to their temporary nature during development.
>> Installation and troubleshooting
   >> Installing MySQL
   >> Installing proFTPd
   >> Installing proFTPd Administrator
   >> Troubleshooting

>> Configuration examples for use with MySQL
   >> Sample "proftpd.conf"-file
   >> Sample "proftpd.conf"-file with Quota
   >> Database structure
   >> Database structure, upgrade to v0.9
   >> Database structure, needed for VHOST extension
   >> Database structure, needed for PowerDNS extension

>> Miscellaneous
   >> GPL-License
   >> Pending features and changes
   >> Project homepage


>> Installing proFTPd Administrator
The following sections outline how you can install successfully install "proFTPd Administrator". If you are considering upgrading I would initially recommend just simply installing the new version in a new folder, but this isn't always easy to do with a live database - for that reason I've also added a few instructions so that you can upgrade from an earlier version. Instructions have been added cummulative - this means that if you're using version 0.6 you should follow the instructions for upgrading from versions below 0.7, 0.8 and finally 0.9.
>> Installing proFTPd Administrator
>> Upgrading from versions <= 0.7
>> Upgrading from versions <= 0.8
>> Upgrading from versions <= 0.9
>> Installing proFTPd Administrator
Fetch the source-code from the projects homepage (link: http://sourceforge.net/projects/proftpd-adm/). Find the location where you saved the tarball and then just run through the following set of commands:
tar xfvz proftpd_admin_v1.0.tar.gz
cd proftpd_admin_v1.0
I would like to say that was all that was needed, but we still need to set up a few directories (where we're going to house our files). First we'll have to set up a few MySQL-tables to hold our authentication information as well as logs, but first you'll have to do a bit of editing. Open up the file "misc/database_structure_mysql/db_structure.sql" in your favourite editor and gander at the three last lines. Where it says "<database_password>" you should replace it with a password of your own choice (this is the password proFTPd will be using to gain access to your database). With that out of the way we're ready to set up the database with this next command:
mysql -u root -p < misc/database_structure_mysql/db_structure.sql
The next step is setting up some of the more basic settings in the configuration files used by this tool - take note that if you are using PHP5 you can skip this step and instead just use the web-based configuration implemented within the tool.

PHP5:
If you intend to configure the tool using while using PHP5 you have to enable write access to the configuration-file, "configuration.xml" - this can be done as follows (after this you just browse to the page and select the configuration-tab):
chmod o+w configuration.xml
PHP4:
If you're still using PHP4 I highly recommend upgrading to PHP5, but if this isn't an option you're not completely out of luck allthough somewhat challenged if editing configuration-files manually is a problem for you.

The next thing is as mentioned earlier editing proFTPd Administrators's own configuration file ("include_config_oldstyle.php") to your liking - the only thing that actually does need editing is where it says $config_database_user and $config_database_passord. You can enter "root" as the username, as well the password you set when we installed MySQL (using root-access isn't recommended, but then again this tool was never meant to be accessible to anyone other than you anyway).
Whichever version of PHP you use (4 or 5) you can use the basic functionality of this tool as long as you get the database-credentials correct, but in order to take advantage of all the other neat functionality you will also need to make sure that the configuration points to the corrects paths for a selection of different utilities that should already be present on your system.

The next step will be copying the sample configuration file for proFTPd and setting up that file (first edit it, it's path is "misc/sample_config/proftpd.conf" - if you want support for quotas you probably want to use "misc/sample_config/proftpd_quota.conf" instead). There are three values in this file that you need to change, <database_name> (just set to "proftpd_admin"), <database_user> (just enter "proftpd") and <database_password> (enter the same password you did when editing the file "db_structure.sql"). Now just copy the sample configuration into place:
cp misc/sample_config/proftpd.conf /usr/local/etc/proftpd.conf
New for version 1.0 of this package is the ability to move logs out of the database and into simple text-based files - the point of this is to somewhat offload the database, but this is not absolutely necessary unless you want to.
chmod -R o+w logs
Now that we're finished setting up proFTPd Administrator it's time to just move the entire folder into place (were place is in your Apache servers document-root). Next we'll just finish up some of the commands needed for the default configuration of proFTPd and proFTPd Administrator to work as expected, and the first thing we need to do is create the folder where we'll place our files so just follow my lead (if you want to place it somewhere else you'd need to reconfigure both proFTPd and proFTPd Administrator):
cd /
mkdir ftp
cd ftp
mkdir incoming
chmod o+w incoming
Now you should be good to go. I recommend using this tool to make a group for ordinary users, as well as actually adding some users. Have fun!
 
>> Upgrading from versions <= 0.7
As a new feature you can now configure everything in this tool by using the pages themselves - this does however require that you've got PHP5 installed and not PHP4. If you're using PHP4 you won't be able to use this functionality and need to do this the old way - the filename has been altered and the parts that need to be configured can now be found in the file called "include_old_config.php" for version 0.7, and "include_config_oldstyle.php" for versions 0.8 and above.

To use the configuration feature available to users of PHP5 you need to give the web-server write-access to the configuration file. The following command will make this work:
chmod o+w configuration.xml
There are however more security focused solutions that can make the system a little bit more secure, and although a little more detailed you can check out one alternative method here.
 
>> Upgrading from versions <= 0.8
This section applies if you are using proFTPd Administrator version 0.8 and want to upgrade to version 0.9, and you are planning to use the functionality for quota support (I recommend doing this anyway in case you'd want to in the future).

Version 0.9 introduced quota support, and at the same time altered the database - two tables were added, and these need to be added to your configuration. The SQL-queries needed to perform this updated has been placed in a file of it's own and can be found at "misc/database_structure/upgrade_to_v0.9.sql" - the file assumes that the database you are using is named "proftpd_admin" (you need to alter the file if you intend to use method 1 described below);

There are several ways of applying this update - I have taken the time to describe two of these, and the are described directly below.

Method 1:
This method use the same method of importing SQL-files like we did upon the initial installation of this tool A command like the following should do the trick (as mentioned earlier this assumes that your database is named "proftpd_admin" - if not you need to edit the first line in the file):
mysql -u root -p < misc/database_structure/upgrade_to_v0.9.sql

Method 2:
Method 2 is the easiest to perform and is simply using an installed copy of phpMyAdmin to do the work for you. Select the database you're using, and select the SQL-tab. Paste the contents of the sql-file, with the exception of the first line, into the textbox and hit apply.
 
>> Upgrading from versions <= 0.9
There mostly isn't all that much to do other than ensure that you have the necessary tables if you intend to use the PowerDNS-extension (see manual- section of the tool for SQL-statements necessary to create them).

New for version 1.0 of this package is the ability to move logs out of the database and into simple text-based files - the point of this is to somewhat offload the database, but this is not absolutely necessary unless you want to. If you intend to use this you must set file privileges so that the tool can write to the logs-subdirectory.
chmod -R o+w logs