Search

Hey y'all. I recently moved to the super secure, super fast, open source Hiawatha Webserver. It's a smaller project, but has been around since 2002. The virtual host setup is somewhat similar to that of Nginx, but I find Hiawatha's setup much easier to read and maintain. The creator and main developer, Hugo Leisink, does a good job on documenting how to set up the server. Also, the community is pretty lively and seem to be willing to post helpful information. The main setup is PHP via FastCGI, but it's quite easy to have it run through PHP-FPM.

One of the many features that the Hiawatha Webserver boasts is the URL Toolkit, this where you do your rewrites. And you can setup specific toolkits, rewrites that you will use over and over again... LIKE the Symphony rewrites, and store it in a URL Toolkit and then you just call the toolkit in your Virtual Host. Well, one of the FEATURED toolkits that he has is one for Symphony.

This is what the toolkit looks like which is located in the hiawatha.conf.

UrlToolkit {
  ToolkitID = symphony
  Match ^/manifest/.* DenyAccess
  Match ^/workspace/utilities/.*.xsl$ DenyAccess
  Match ^/workspace/pages/.*.xsl$ DenyAccess
  Match ^/.*.sql$ DenyAccess
  Match ^/favicon.ico$ Return
  Match ^/image/(.+.(jpg|gif|jpeg|png|bmp))$ Rewrite /extensions/jit_image_manipulation/lib/image.php?param=$1
  Match ^/symphony/?$ Rewrite /index.php?mode=administration
  RequestURI exists Return
  Match (.*)?(.*) Rewrite $1&$2 Continue
  Match ^/symphony(/(.*/?))?$ Rewrite /index.php?symphony-page=$1&mode=administration
  Match ^/(.*/?)$ Rewrite /index.php?symphony-page=$1
}

OR if you have an older install below Symphony 2.1, use this ...

UrlToolkit {
  ToolkitID = symphony

  Match ^/favicon.ico$ Return
  Match ^/image/(.+.(jpg|gif|jpeg|png|bmp))$ Rewrite /extensions/jit_image_manipulation/lib/image.php?param=$1

  Match ^/symphony/?(?(.*))?$ Rewrite /index.php?mode=administration&$2
  RequestURI exists Return
  Match ^/symphony(/(.*/?))?(?(.*))?$ Rewrite /index.php?mode=administration&symphony-page=$1&$4

  Match ^/(.*/?)(?(.*))?$ Rewrite /index.php?mode=frontend&symphony-page=$1&$3
}

To apply this your Virtual Host, you call the Toolkit ID in your virtual host like so...

VirtualHost {
    Hostname = my-domain.com, www.my-domain.com
    WebsiteRoot = /var/www/my-domain/public
    StartFile = index.php
    AccessLogfile = /var/www/my-domain/log/access.log
    ErrorLogfile = /var/www/my-domain/log/error.log
    TimeForCGI = 5
    UseFastCGI = PHP5
    UseToolkit = symphony
}

I had NO errors with the Symphony install. It's been great so far. I'll keep you posted as I monitor this new server.

This is very interesting, bzerangue. I'm currently deciding which webserver to use for a Symphony site, and was wondering about nginx for which I've found some good info here at the forum. How has it been going with Hiawatha?

@DavidOliver, I decided to go back to Litespeed Webserver (Apache replacement). Hiawatha is great webserver (super-fast and secure), but I didn't have time to manage the webserver.

Does anyone have experience with the Hiawatha server? I've heard a lot of great things from it in the past few weeks, especially concerning security (one of my biggest concerns).

If you have tips or tricks for the combination Hiawatha + Symphony, please let me know!

Recently, there quite a buzz on Google SDPY + Nginx or Apache (also avail as source) which hold a lot of promise to speed up data transfer 2x or more without increase your network bandwidth. Might improve Symphony CMS in some way, maybe feel more snappy?

Having SPDY in Hiawatha may be possible.

@creativedutchmen: I've been using it for a good few months now. Feel free to let me know if you try it and have any problems with Symphony in case I can help. The only real issue I've had with Symphony in combination with Hiawatha was with older versions of JIT/status headers, but that's sorted now.

As well as the security aspect, I like the ease of configuration. The how to @bzerangue linked to above is good, and Hugo usually answers any questions at his forum quickly.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details