The FileMan file manager interfaceFileMan generates its own directory (folder) on your web server, with the correct permissions already applied. This means that FileMan is both quick and easy to get working on a supported shared or dedicated web server. Most importantly, the file directory is kept separate from RapidWeaver; therefore RapidWeaver will never inadvertently change or delete files when a website is republished.

As mentioned already, you can link to files in FileMan using a wide range of our stacks. Uploading and deleting of files can be toggled on and off in the FileMan stack settings. FileMan is able to generate new folders within your main directory. And if you intend for a non-English speaking person to use FileMan on a website; then all the localisations can be customised to any language of your choice. FileMan supports a single user account (password).

The file upload interface is purposefully fast, simple and uncluttered. Support for HTML5 drag and dropped file uploads further enhances the user experience. It is possible to iFrame FileMan inside FancyViewer or TopBox lightbox stacks. File uploading currently works on all desktop web browsers and Android. All newer web browsers and devices (including iOS) are able to browse and delete files.

As well as working as a backend file manger, FileMan is also great to use for displaying a public list of file downloads on your website, like images, documents and PDF files. This makes FileMan perfect for use as a warehouse or digital archive.

The FileMan login and file management interface has been improved to make it mobile-first responsive. Styling of the interface is accomplished using Twitter Bootstrap. Clicking table headings allows you to sort the files into a different order.
 

Setup

Firstly, make sure you have Stacks 3 or greater installed on your computer and that your target web server is running PHP 7.1 or later. Follow these instructions carefully for using FileMan:
  1. Once downloaded and installed into Stacks 3 / RapidWeaver, open your Stacks library. Search for 'FileMan'
  2. Drag and drop a copy of FileMan into an existing or new page. The file extension is automatically changed to .php in the Page Inspector
  3. In the stack settings, configure the options for your file manager, including its preferred location, settings and localisations
  4. Publish your website. In your web browser (e.g. Chrome, Firefox or Safari), navigate to the page hosting your FileMan stack
  5. As the page loads, FileMan will automatically create the new directory on your hosting server (where your files will be stored) and will configure the file manger with your chosen preferences
  6. Point your web browser to the new directory. You should be presented with a login window and then you can login to begin managing your files

Additional notes

Other relevant information when working with FileMan:
  • The page you put the FileMan stack on will have its extension changed to .php in the RapidWeaver page inspector. Be sure (if you are putting FileMan on a page previously published with a .html extension) that you are viewing the newer page with the correct extension. Duplicate pages leftover with a .html extension require manual deletion
  • When you republish your website in future, the FileMan directory will not be deleted. This is because we generate it dynamically on the web server, and RapidWeaver does not even know it exists! Of course, care should still be taken that you don't inadvertently name a folder in RapidWeaver the same as your FileMan directory, because of course that will result in a conflict and RapidWeaver will overwrite your FileMan directory if you do a full republish. Normally once the FileMan directory is created, the only way to delete it is via FTP or in your web hosts file manager
  • If you change any settings in the FileMan stack, these will take effect the next time the page is published and the page hosting FileMan is visited
  • Most hosting companies impose strict limits on the size of files that can be uploaded. Anything more than about 2MB is unlikely to work
  • You will remained logged into the FileMan interface all the time your web browser is open on the computer. Quitting your browser terminates the session and you will be logged out of FileMan
  • FileMan offers no password protection of files. If people know the links or can guess the links, they can still by-pass the file manager to view the files. The password you set is only applicable to the FileMan interface
  • FileMan can be deleted from your webpage, once your file manager is configured and working correctly. Only one FileMan stack should be added per-page
  • Responsibility of web-safe file names and directory names is the responsibility of the user. FileMan does no validation of file names. So if you intend to reuse files on your published pages, take care to avoid special characters and spaces in file names

With great power comes great responsibility!

Ordinarily, FileMan is safe to use. However the ability to add or delete files remotely from your hosting account naturally does carry some risks. You can make FileMan even safer by following these simple actions:
  • Disable any functionality you do not need (like deletion and file uploads)
  • To make the FileMan directory read-only, you can change folder permissions (in the FileMan stack settings) to 0755
  • Set a strong password - using mixed case lettering, numbers and special characters. And remember that the password is only for the file manager interface; not the files contained within
  • Don't use FileMan as a public 'dropbox' or extension to a contact form. Use stacks like FormsPlus to handle bigger file uploads (this supports file-chunking and validation)
  • Only give the password out to trustworthy people and change the password regularly
  • Avoid including links to the file manager in your website navigation, sitemap or footer
  • Make use of the 'disallowed extensions' option, to block dangerous files from being uploaded

Beefing-up security even more and adding support for multiple logins

You can disable the password option in FileMan, by leaving the Password setting empty. Once FileMan has run on your server and configured itself, login to your web hosting control panel. Go into the security settings and opt to password protect the FileMan directory. This will create a .htaccess file with Apache, and require a username / password combination from the user. It is possible to create multiple usernames and password combination using this method. Just remember that this method of password protection will also take effect on all files stored within the directory (so they will not be available to use in other stacks like ProGallery or RefinedSlider).
 

Contribute

If you find this stack element useful in your personal or commercial web projects; please consider making a small contribution towards ongoing support and updates. There are many different ways you can contribute to the Stacks4Stacks project, and benefits for doing so.