Another ProFTPD web interface built in PHP with MySQL backend.
Security Considerations: The project lacks built-in security features. It's crucial to implement measures such as securing directories and using strong passwords. While functional, there's potential for code optimization and restructuring in this project, however, better alternatives are already available, therefore I decided to archive this project.
Alternative Solutions: If you're seeking more robust alternatives, consider the following projects:
-
ProFTPd-Admin by ChristianBeer: A graphical user interface for ProFTPD with MySQL support, updated to support the latest PHP versions.
-
ProFTPd-Admin-Secure-Version by mkkeck: An enhanced version with built-in admin login and additional security features.
-
ProFTPd-Admin-Reloaded by hexblot: A fork focusing on security enhancements and modern PHP support.
These alternatives offer improved security, better code organization, which might align more closely with your requirements.
- the whole code is based on the https://github.com/thedigicraft/Atom.CMS project. I only used the "admin area" of the project and customized it according to my needs.
- proFTPD compiled with mysql support. I used the official instructions on http://www.proftpd.org/docs/howto/SQL.html but changed a bit the DB to match my setup and what I had in mind. Check the attached ftps.sql file for DB setup.
- A webserver running on the same machine with the proFTPD server. I used the steps in this tutorial: https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-lamp-on-debian-jessie/
- username: [email protected]
- password: Passw0rd
The above should be changed to something more secure.
- download the project files on your system.
- with an text editor ( I prefer notepad++ on windows systems and nano on GNU/linux systems) modify the following files:
- /config/connection.php - change:
- my_server_address with your server address ( usually localhost )
- my_user with the user needed to access your mysql DB
- my_password with the paswword of the user set to access your mysql DB
- my_database with your mysql DB name
- /config/setup.php - change in the line <$site_title = 'FTPS - My Site';> the FTPS - My Site with your own site name.
- import the ftps.sql file in your DB (make sure is the same DB you set in the above files)
- /config/connection.php - change:
- just copy the whole content of the project in a directory of your choice in your webserver. ( e.g. /var/www/ftpadmin )
- access it (open it in browser, eg: http://192.168.1.100/ftpadmin) and login with the credentials provided above.
- the interface itself is very self intuitive, just experiment with it and ofcourse, feel free to change it/improve it.
- use the attached proftpd.conf and modules.conf files as an example on how your files should look like.
- copy "as it is" the lines from 90 to 143 from my sample proftpd.conf file in your proftpd.conf file and make sure there are no conflicts with already existing settings.
- for the modules, for every uncommented module in modules.conf make sure you DO HAVE the module installed. Please refer to the http://proftpd.org page for instructions.
Unfortunatelly, I don't have the time for it. Everything is provided as it is. If you need support, please rememeber that I would probably never answer your question in time.
I should completelly rewrite and clean the code. There are many chunks of code just lying around in pages, that could be transformed in some specific functions and called only when needed.,, but didn't had the time to organize it. I tried to comment and document the code as much as I could, but most of the code was writen on necessity basis. So, while is not very clean (I shouldn't use "clean" in here at all), it does work.
If and when I'll have the time, I'll continue to update it.
#Feel free to contribute.