Custom Search

If you find this WebApp useful, please consider a Donation. Any amount is appreciated. If not, please provide feedback. In any case, thank you for your support.
Support This Project

Description | Configuration | Features
Screenshots | Changelog | Download | Author

mPFM is basically a PHP driven File Manager released under the GPL and designed with security and functionality in mind and is intended primarly for Advanced Linux/Windows System Users who need a remote way to manage a System Partition's files.

It's a cross-browser web application which validates against's XHTML 1.0 and CSS2 Validators. It was tested in FF 3.0, IE 7.0 and Safari 3.1. Any other previous release of the mentioned browsers or any other browser may not work as intended or may not work at all.

To run it correctly you just need a properly configured LAP (Linux Apache PHP). Try and use only the latest PHP4 or PHP5 versions.

To make it work you just need to input the desired settings the first time you use mPFM and you're good to go! (The first time it runs it will automatically check for some files/folders and then prompt you to create a configuration file.)

Once all configuration variables were correctly set, it creates 3 areas within the browser window: one with the folder tree containing the folders found through recursive scanning, one containing the folders and files found in the selected directory and one containing my name, my e-mail and XHTML and CSS validation logos.

Since version 2.7 mPFM now features a very useful Key Bindings System which allows you to COMPLETELY control mPFM through a keyboard.

Since version 3.1 mPFM now features a MultiLingual Interface. To create another language option simply translate the file 'EN.ini' from the 'langs' folder and give the translation a name like <LN>.ini (yes, two letters) and mPFM will automatically pick it up!

Currently, mPFM can (if given proper permissions):
  1. help you to easily set it up first time it runs.
  2. edit/view/rename/create/delete/copy/move/chmod files and folders (creates needed directories). (For copy/move/delete actions, if errors are encountered, the files'/folders' paths which gave the error will be displayed.)
  3. create ZIP archives of either one or more files or whole directories (recursively).
  4. manage uploads of one or more files simultaneously.
  5. search for files and folders in current folder.
  6. display file's/folder's owner and group names.
  7. sort files and folders by Name/Type/Size/Owner/Group/Last Accessed and Last Modified dates.
  8. execute shell commands and display the result.
  9. display PHP code using pretty colours.
  10. please your eyes using eye-candy filetype, folder and action icons.
  11. restrict access based on users/groups, each group with its own set of allowed actions.
  12. show some useful Partition statistics.
  13. change file/folder ACLs (Access Control Lists) (if given proper permissions).
  14. automatically logs you out when your session time comes to an end.


How to be able to change File/Folder ACLs from within the File Manager:

First, check /etc/fstab to see wether the partition you wish to change ACLs on has 'acl' set as an option, else adding ACLs to files/folders won't work.

Second, Apache or Lighttpd web server drops root privileges as soon as they go into background. This makes executing root commands difficult.

Typically, Apache2 uses www-data username and Lighttpd uses lighttppd username to drop privileges.

First, type this command to find out where the `setfacl` command resides within the System's folders.
# which setfacl (should output something like: /usr/bin/setfacl)

Then login as root user and type the following command:
# visudo

Now allow your web server to execute a script (setfacl) w/o password. If you are using Apache web server, type the following command:
www-data ALL=NOPASSWD: /usr/bin/setfacl

ALTERNATIVELY, if you are using Ligtttpd web server, type the following command:
lighttpd ALL=NOPASSWD: /usr/bin/setfacl

OR, if none of the above work for you, check your `httpd.conf` (or whatever name your WebServer configuration file has) and check what username the WebServer uses to run under and use that value.
<webserver_rununder_name> ALL=NOPASSWD: /usr/bin/setfacl (w/o `<>`)

Save and close the file.

Reboot the System.

Note2: You may use any part of mPFM's source code only if you mention my name, this application's name and where you got it from within your source code (e.g.: as a comment somewhere). I also used a few bits of code released under the LGPL and some other few under a special Distributor's License. If you want to use their bits of code, do as I did and include their names in your source code and keep the necessary license's close to where your files reside.

Who needs ScreenShots when you can try the Live Demo directly!
(user: user | pass: pass)

v3.1b - 30/09/2008 v3.1a - 29/09/2008 v3.1 - 26/09/2008 v3.0 - 25/09/2008 v2.8a - 17/09/2008 v2.8 - 17/09/2008 v2.7 - 16/09/2008 v2.6a - 02/07/2008 v2.6 - 26/06/2008 v2.5 - 25/06/2008 v2.4 - 24/06/2008 v2.3 - 23/06/2008 v2.2d - 06/06/2008 v2.2c - 06/06/2008 v2.2b - 06/06/2008 v2.2a - 06/06/2008 v2.2 - 06/06/2008 v2.1 - 03/06/2008 v2.0 - 02/06/2008 v1.6 - 31/05/2008 1.5 - 30/05/2008 v1.4 - 28/05/2008 v1.3 - 26/05/2008 v1.2 - 25/05/2008 v1.1a - 25/05/2008 v1.1 - 25/05/2008 v1.0 - 24/05/2008 Please report any bugs using my email found at the bottom of this webpage.

mPFM v3.1b *
mPFM v3.1a
mPFM v3.1
mPFM v3.0
mPFM v2.8a
mPFM v2.8
mPFM v2.7
mPFM v2.6a
mPFM v2.6
mPFM v2.5
mPFM v2.4
mPFM v2.3 (removed)
mPFM v2.2d
mPFM v2.2c
mPFM v2.2b (removed)
mPFM v2.2a
mPFM v2.2 (removed)
mPFM v2.1
mPFM v2.0 (removed)
mPFM v1.6
mPFM v1.5
mPFM v1.4
mPFM v1.3
mPFM v1.2
mPFM v1.1a
mPFM v1.1 (removed)
mPFM v1.0

* - Current Release

Rãzvan-Ioan Diniţã - - 2008 Logo

Valid XHTML 1.0 Transitional Valid CSS! Valid XHTML 1.0 Transitional