Tips and Tricks
- Servlet runner context definition:
In Tomcat and in Catalina, you need to open the server.xml file which
you find in the conf subdirectory of the Tomcat or the Catalina installation
directory. Add the following line into the ContextManager tag (Tomcat)
or into the Host tag (Catalina):
and adapt it to your needs (change the path, if you like, and replace
the docBase with the directory which you extracted the FileLister
archive in). You'll need to restart Tomcat/Catalina for the changes
to take effect.
On Unix/Linux, the easiest way is to create a soft link in the webapps
directory! Doing this, you don't need to configure anything in the
server.xml file at all.
In Catalina, in addition to nesting Context elements inside a Host
element, you can also store them in individual files (with a ".xml"
extension) in the appBase directory parameter (usually "webapps")
of a Host tag.
- Creation of a database in MySQL:
If you're not familiar with using MySQL, you might want to
download a graphical MySQL client which makes it easier to perform
the necessary steps needed for setting up a database for FileLister.
For Windows, we recommend the freeware MySQL-Front.
It's recommended to create a MySQL user which is restricted to access
the FileLister database only.
- Definition of a FileLister virtual root:
A typical application of FileLister is to index a software archive.
Let's say the root directory of a given archive is found at "/var/data/archive"
or "C:\pub\archive". Set this directory to be virtual root
Important: Add each directory to the list of "no go areas"
which you don't want to include in the index.
If you want to have indexed the whole file system and/or more than
one host, see Tip 7 below.
You are free to use all the features your file system provides, such
as mounting network drives or remote file systems. Soft links are
ignored to avoid circular references.
- Setting up a web service for downloading files:
To download files, FileLister creates links which are composed of
the "link.prefix" attribute and the file path as saved in
the index (relative or absolute, depending on the "directory.showabsolutepaths"
setting). For such a link to work, you need to configure a web or
FTP server as follows: Create a virtual directory
which points to FileLister's virtual root. Of course, you may configure
your servlet runner accordingly.
Example: Assumed your web server is running on localhost and
you named its virtual directory "/filelisterdata", the setting
of the "link.prefix" property in the setup tool would be
"http://localhost/filelisterdata". For the file "<virtual-root>/mydir/myfile",
the resulting link would be "http://localhost/filelisterdata/mydir/myfile".
- Security issues:
By using FileLister, you must consider that you might open your file
system to the public. We recommend the following:
- Use the "directory.virtualroot" attribute
to restrict FileLister to a certain part of your file system
- Use the "directory.nogoarea" attribute
to exclude branches under your virtual root directory
- Allow the creation of zip only if all files
in your index are open for the public
- Disable "directory.showabsolutepaths"
to hide the location of your virtual root directory
- If you are unsure how to configure your web
/ FTP server, leave "link.prefix" empty
- Create a FileLister-specific database user
which is restricted to use FileLister's database only
- Use the access restriction of your servlet
runner, if provided
- Do not install FileLister on any machine you
don't have explicit permission to do so
- Solely you are responsible of violating access
rigths which may occur of an incorrect setup of FileLister
Bear in mind FileLister uses the following user rights:
- InitialIndexer gets the credentials of the
caller, either yours or those of the scheduler daemon
- The access to files and directories within
FileLister's web GUI is managed by your web / FTP server
- When instructed to zipping listed files, FileLister
uses the credentials of the servlet runner
- Run InitialIndexer in "quiet mode":
If you don't want to see the output created by the InitialIndexer,
run the shell script or batch file with the" -q" or the
"--quiet" flag (e.g. in a cron job / scheduled task).
- Indexing the whole file system:
You have the possibility not to define a virtual root which means
that the whole file system will be indexed, including all the mounted
directories (Unix/Linux) or mapped network drives (Windows). In this
case, you should use the parameter "directory.nogoarea"
to block the access to certain directories: On Linux, the directory
"/proc" needn't be indexed; on Windows, accessing "C:\pagefile.sys"
(which is a directory!) and "A:\" throw access exceptions
Note: Under Linux/Unix, there is definitely no sense in doing that,
because you can mount each directory/host into the virtual root directory
designed for FileLister, while under Windows, the only reason to act
like this is if you want to index more than one host: All the other
hosts than the one running FileLister must be mapped with network
drives, and because there is no absolute root directory on Windows
machines, you must index the whole file system then. The reason is
that FileLister itself does not establish connections to other hosts,
so extending the file system is the way to go...
- Dynamic reloading of modified settings:
You can easily modify the settings of FileLister during the runtime
of the servlet runner: FileLister will recognize the change(s) in
the config file and reload the settings.
- Setting up the configuration for a remote host:
If you want to prepare a config file for a FileLister instance running
somewhere else, e.g. in the Internet, and you run into conflicts with
the setup application (e.g. because a directory doesn't exist on your
host which exists on the target host), just edit the filelister.xml
file manually. Open it in a editor, modify the settings and save the
Note: The setup application verifies the entered parameters why it's
the preferred way to edit the config file!
Back to Index / Troubleshooting