Document Storage Project
This is Part 3: Configuring Apache.
We’re only looking for a fairly simple interface to browse through documents. Apache already gives us that – you just need to enable a feature called “Indexes”. But the default indexing is pretty ugly; it’d be nice to make it look a little prettier and maybe add scope for expanding on functionality.
Initially I was going to design my own style, but it turns out someone’s already done that and he’s done a better job than I could ever hope to. So I took the style setup from Recursive Design and tweaked it slightly to fit in with what we’re doing here.
cd /home/http/assets svn co http://recursive-design.com/svn/misc/apache/index-style mv index-style/* . rmdir index-style
The stylesheet really ought to be referenced with a specific path so it can always be found. Edit /home/http/assets/header.html and change the stylesheet reference thus:
Next up, we need to configure Apache. Ignore the instructions on the Recursive Design blog; things are slightly different here. Edit /etc/apache2/sites-available/default as follows:
ServerAdmin (YOUR EMAIL ADDRESS HERE) DocumentRoot /home/http/documents Options FollowSymLinks AllowOverride None AllowOverride None Options Indexes DirectoryIndex index.html index.php IndexOptions FancyIndexing IndexOptions VersionSort IndexOptions HTMLTable IndexOptions FoldersFirst IndexOptions IconsAreLinks IndexOptions IgnoreCase IndexOptions SuppressDescription IndexOptions SuppressHTMLPreamble IndexOptions XHTML IndexOptions IconWidth=16 IndexOptions IconHeight=16 IndexOptions NameWidth=* IndexOrderDefault Descending Name HeaderName /assets/header.html ReadmeName /assets/footer.html Order allow,deny Allow from all Alias /assets /home/http/assets Alias /search /home/http/search AllowOverride None Order allow,deny Allow from all AllowOverride None Order allow,deny Allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ ..... LEAVE THE REST OF THE FILE ALONE ......
Put something – ideally a PDF that was NOT generated from a scan but instead contains searchable text – into /home/http/documents and browse to http://(hostname).local from a separate PC on the network. If all goes according to plan, you should see something a bit like this:
There’s a lot more to do: we still need something that can index this little lot (so we can just punch in search terms) and we need some easy way to get documents onto the server. But they’re a topic for a future post…