The excellent Omeka Classic is, as described on their web page, a web publishing platform for sharing digital collections and creating media-rich online exhibits. I use it in a variety of instances where digital records need to be maintained.  It is a straight forward "LAMP" application, with requirements restricted to the Apache web server, PHP and Mysql/MariaDB.  It would be fabulous if there was a little more flexibility about those requirements, especially Apache, and the database.  Well, I don't think there's much chance of the database requirement being abstracted to provide more flexibility, but we can definitely do something about the web server part. There's is nothing, apparently, intrinsically apache-esque about the system, but it is not unreasonable for the Omeka team to state a preferred environment, as their support headache must be bad enough. But I have become quite fond of the light touch, yet scalability, of the Lighttpd web server.  And when the web server is mainly just the conduit to a php engine, lighttpd excels.

Why would one want to run Omeka under Lighttpd? Well one reason is that Omeka's simplicity yet capability makes it a perfect fit in smaller environments for running on a Raspberry Pi or other lightly resourced system. One seeks to optimise such light environments, and while Apache does not need to be the lumbering behemoth it once was, there may be advantages in using Lighttpd in its place.

Some time ago, I dived into a lighttpd configuration to see what the included .htaccess file did, and with some help from elsewhere, got a basically working system in place.  In fact, there is a mistake in that configuration, but the gist of it still works, and works well.  As I see there are occasionally others who are interested in running Omeka under lighttpd, I thought I would re-document the configuration on my blog here, as the original post is now quite old. This is what needs to be added to the lighttpd configuration to get Omeka working. The example assumes Omeka is running in a subdirectory, but the relevant parts are easily identified, and can be changed or removed if your instance is running at the top level. It really is simple, and really needs just four lines. Thanks are due to the Omeka team for not putting too much dependency on the .htaccess file.

############Omeka################
## Assumes Omeka is running as  sub-directory
url.rewrite-once = (
##admin pages
  "^/omeka/admin([^.?]*)\?(.*)$" => "/omeka/admin/index.php?q=$1&$2",
  "^/omeka/admin([^.?]*)$" => "/omeka/admin/index.php?q=$1",
##Main pages
  "^/omeka/([^.?]*)\?(.*)$" => "/omeka/index.php?q=$1&$2",
  "^/omeka/([^.?]*)$" => "/omeka/index.php?q=$1",
#########################################
## NOTE: Initial installation needs to be done at ~/omeka/install/install.php
## Don#t bother with redirection as it's only needed the once.
## but it would be something like
##  "^/omeka/install([^.?]*)\?(.*)$" => "/omeka/install/install.php"
)
# Ensure ini files are excluded, Ensure the "static-file.exclude-extensions"
# in the main  config file, include these this
##static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".ini", ".htaccess" )
### End of Omeka section
################################

I hope this helps.