You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
4.7 KiB
154 lines
4.7 KiB
========================
|
|
Nginx Fancy Index module
|
|
========================
|
|
|
|
.. contents::
|
|
|
|
The Fancy Index module makes possible the generation of file listings, like
|
|
the built-in `autoindex <http://wiki.nginx.org/NginxHttpAutoindexModule>`__
|
|
module does, but adding a touch of style. This is possible because the module
|
|
module allows a certain degree of customization of the generated content:
|
|
|
|
* Custom headers. Either local or stored remotely.
|
|
* Custom footers. Either local or stored remotely.
|
|
* Add you own CSS style rules.
|
|
* Allow choosing to sort elements by name (default), modification time, or
|
|
size; both ascending (default), or descending.
|
|
|
|
This module is designed to work with Nginx_, a high performance open source web
|
|
server written by `Igor Sysoev <http://sysoev.ru>`__.
|
|
|
|
|
|
Requirements
|
|
============
|
|
|
|
You will need the sources for Nginx_. Any version starting from the 0.7
|
|
series onwards will work. Note that the modules *might* compile with
|
|
versions in the 0.6 series by applying ``nginx-0.6-support.patch``, but this
|
|
is unsupported (YMMV).
|
|
|
|
|
|
Building
|
|
========
|
|
|
|
1. Unpack the Nginx_ sources::
|
|
|
|
$ gunzip -c nginx-?.?.?.tar.gz | tar -xvf -
|
|
|
|
2. Unpack the sources for the fancy indexing module::
|
|
|
|
$ gunzip -c nginx-fancyindex-?.?.?.tar.gz | tar -xvf -
|
|
|
|
3. Change to the directory which contains the Nginx_ sources, run the
|
|
configuration script with the desired options and be sure to put an
|
|
``--add-module`` flag pointing to the directory which contains the source
|
|
of the fancy indexing module::
|
|
|
|
$ cd nginx-?.?.?
|
|
$ ./configure --add-module=../nginx-fancyindex-?.?.? [extra desired options]
|
|
|
|
4. Build and install the software::
|
|
|
|
$ make
|
|
|
|
And then, as ``root``::
|
|
|
|
# make install
|
|
|
|
5. Configure Nginx_ by using the modules' configuration directives_.
|
|
|
|
|
|
Example
|
|
=======
|
|
|
|
You can test the default built-in style by adding the following lines into
|
|
a ``server`` section in your Nginx_ configuration file::
|
|
|
|
location / {
|
|
fancyindex on; # Enable fancy indexes.
|
|
fancyindex_exact_size off; # Output human-readable file sizes.
|
|
}
|
|
|
|
|
|
Directives
|
|
==========
|
|
|
|
fancyindex
|
|
~~~~~~~~~~
|
|
:Syntax: *fancyindex* [*on* | *off*]
|
|
:Default: fancyindex off
|
|
:Context: http, server, location
|
|
:Description:
|
|
Enables or disables fancy directory indexes.
|
|
|
|
fancyindex_css_href
|
|
~~~~~~~~~~~~~~~~~~~
|
|
:Syntax: *fancyindex_css_href uri*
|
|
:Default: fancyindex_css_href ""
|
|
:Context: http, server, location
|
|
:Description:
|
|
Allows inserting a link to a CSS style sheet in generated listings. The
|
|
provided *uri* parameter will be inserted as-is in a ``<link>`` HTML tag.
|
|
The link is inserted after the built-in CSS rules, so you can override the
|
|
default styles.
|
|
|
|
fancyindex_exact_size
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
:Syntax: *fancyindex_exact_size* [*on* | *off*]
|
|
:Default: fancyindex_exact_size on
|
|
:Context: http, server, location
|
|
:Description:
|
|
Defines how to represent file sizes in the directory listing; either
|
|
accurately, or rounding off to the kilobyte, the megabyte and the
|
|
gigabyte.
|
|
|
|
fancyindex_footer
|
|
~~~~~~~~~~~~~~~~~
|
|
:Syntax: *fancyindex_footer path*
|
|
:Default: fancyindex_footer ""
|
|
:Context: http, server, location
|
|
:Description:
|
|
Specifies which file should be inserted at the foot of directory listings.
|
|
If set to an empty string, the default footer supplied by the module will
|
|
be sent.
|
|
|
|
.. warning:: When inserting custom header/footer a subrequest will be
|
|
issued so potentially any URL can be used as source for them. Although it
|
|
will work with external URLs, only using internal ones is supported.
|
|
External URLs are totally untested and using them will make Nginx_ block
|
|
while waiting for the subrequest to complete. If you feel like external
|
|
header/footer is a must-have for you, please
|
|
`let me know <mailto:aperez@igalia.com>`__.
|
|
|
|
fancyindex_header
|
|
~~~~~~~~~~~~~~~~~
|
|
:Syntax: *fancyindex_header path*
|
|
:Default: fancyindex_header ""
|
|
:Context: http, server, location
|
|
:Description:
|
|
Specifies which file should be inserted at the head of directory listings.
|
|
If set to an empty string, the default header supplied by the module will
|
|
be sent.
|
|
|
|
fancyindex_ignore
|
|
~~~~~~~~~~~~~~~~~
|
|
:Syntax: *fancyindex_ignore string1 [string2 [... stringN]]*
|
|
:Default: No default.
|
|
:Context: http, server, location
|
|
:Description:
|
|
Specifies a list of file names which will be not be shown in generated
|
|
listings. If Nginx was built with PCRE support strings are interpreted as
|
|
regular expressions.
|
|
|
|
fancyindex_localtime
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
:Syntax: *fancyindex_localtime* [*on* | *off*]
|
|
:Default: fancyindex_localtime off
|
|
:Context: http, server, location
|
|
:Description:
|
|
Enables showing file times as local time. Default is “off” (GMT time).
|
|
|
|
.. _nginx: http://nginx.net
|
|
|
|
.. vim:ft=rst:spell:spelllang=en:
|