dirlist+

A fully-featured directory listing web application

View the Project on GitHub nathanpc/dirlist

Installation

First of all you need to prepare your system to run dirlist+. You can do this by executing the following command, which will install the required Perl modules and check if you have the required programs installed:

$ perl -w prepare.pl

That will probably take a while, you can use the free time to configure dirlist+. Open the settings.yml file and start changing the defaults to match your needs. Here's a very simple example of a config file:

---
roots:
  Webroot:
    type: "normal"
    path:
      system: "~/Sites"
      web: "/"

First you have the roots array which defines each "Root". Roots are like shortcuts to a "virtual root path". In the repo example there are 3 Roots, one which is the Apache htdocs and other two that are subdirectories (symbolic links in that case) in the Apache htdocs. Always remember that dirlist+ won't serve files, which means it require you to have a web server like Apache or nginx.

Then you have the name of the root (Webroot in the example). Inside that you'll have the following parameters:

That's all you need to have dirlist+ working. Now all you have to do is start the server:

$ perl -w api.pl daemon

By default it'll listen on port 3000. If you want to change port you just have to execute the following variation of the command:

$ perl -w api.pl daemon --listen "http://*:1234"

Another thing that you'll notice is that by default dirlist+ will log to STDOUT. You can make it save the logs by creating a log folder in the same folder as the api.pl file.

Dependencies

This application requires the following Perl modules:

Also it'll require you to have the following applications installed in your system:

Credits

All the icons used in this project are part of the Moka icon theme.