IIPImage on Solaris

New Release, Server, Solaris No Comments

The IIPImage server, iipsrv, runs on all UNIX-based operating systems and has been supported on Solaris for many years.

A binary distribution of iipsrv version 1.0 is now available for the latest version of Solaris, Solaris 11.3, for x86-based systems:

This distribution contains both 32bit (x86_32/iipsrv.fcgi) and 64bit (x86_64/iipsrv.fcgi) compiled IIPImage server binaries (iipsrv.fcgi) for Intel-based x86 Solaris and an Apache 2.2 configuration file.


The following instructions are for installation with the Apache web server. For use with other servers such as Lighttpd or NginX or for use in stand-alone mode, see the IIPImage server documentation.

Solaris 11.3 includes a distribution of version 2.2 of Apache by default. The Apache mod_fcgid FCGI module, however, needs to be installed. This can be easily done through the default Solaris package manager.

Once installed, you will need to modify the included mod_fcgid file (/etc/apache2/2.2/conf.d/fcgid.conf) as it is unable to run as-is due to a permissions issue. You will need to do this either as the root user or using the sudo command. Find the entries for FcgidProcessTableFile and FcgidIPCDir and modify them to point to different locations as follows:

FcgidProcessTableFile /var/run/apache2/fcgid_shm
FcgidIPCDir /tmp/fcgid.sock

Once you have done this, you will need to install iipsrv and configure Apache accordingly. First create a directory for FCGI executables:

% mkdir /var/apache2/2.2/fcgi-bin

Download the iipsrv Solaris distribution: iipsrv-1.0-solaris11.tar.bz2 and extract the contents. Inside you will find both 32bit (x86_32/iipsrv.fcgi) and 64bit (x86_64/iipsrv.fcgi) binaries, an example Apache configuration file and both a README for Solaris and one for iipsrv generally. Copy either the 32bit or 64bit iipsrv.fcgi binary included in this distribution to the FCGI directory you created above (64bit in the following example):

% cp x86_64/iipsrv.fcgi /var/apache2/2.2/fcgi-bin/

mod_fcgid uses a shared memory file by default. However, the subdirectory isn’t created by default, so you will need to create it:

% mkdir /var/run/apache2/2.2

An example configuration file (iipsrv.conf) is included with this distribution for use with mod_fcgid. Modify the configuration file if you wish (see the server documentation for details on available parameters) and copy this to the default location for Apache configuration files

% cp iipsrv.conf /etc/apache2/2.2/conf.d/

The configuration file sets the iipsrv log file location to /var/log/ which requires the web server to have write permission. If you have modified this to point to somewhere like /tmp/ you may skip this step:

% touch /var/log/iipsrv.log
% chown webservd /var/log/iipsrv.log

Finally enable and restart Apache via the svcadm command:

% svcadm enable apache2
% svcadm restart apache2

Open your web browser at http://localhost/fcgi-bin/iipsrv.fcgi. You should see the iipsrv info page. If not, check the iipsrv log file and Apache log files. Follow the IIPImage troubleshooting guide if necessary.


IIPImage now an Official FreeBSD Package

FreeBSD, New Release, Server No Comments

IIPImage is is now an official FreeBSD package. As of version 1.0 of iipsrv, the IIPImage server is now included as part of the FreeBSD ports package collection. The iipsrv package, net/iipsrv, has binary builds available for both 32 and 64bit FreeBSD. For the latest build information, see the build and package status page.


Installation is very straight-forward. Simply use the default FreeBSD package manager, pkg, to install:

sudo pkg install iipsrv

The pkg utility will install into /usr/local/ by default with the iipsrv.fcgi binary in /usr/local/bin/iipsrv.fcgi and a start-up script in /usr/local/etc/rc.d/iipsrv, which will allow you to easily run iipsrv in stand-alone mode. Note that this binary does not include Memcached or JPEG2000 support. If you require these, you will need to compile iipsrv manually.

Running iipsrv as an Independent Process

iipsrv can be started as a stand-alone process independent of the web server. The supplied rc start-up script can be used to start iipsrv with the following default command line flags:


This will start iipsrv in stand-alone (command line) mode listening on localhost ( and port 9111 and will be configured to create a log file in /tmp/iipsrv.log.

You can optionally modify various settings by adding them to /etc/rc.conf. For example:

# /etc/rc.conf iipsrv start-up configuration

# Enable iipsrv at system startup

# Specify IP address and port to bind to in stand-alone mode

# Environment parameters file for iipsrv

The /etc/iipsrv.conf file should contain start-up environment variables for iipsrv as described in the server documentation. For example:

# /etc/iipsrv.conf

You can then start the IIPImage server process using the following command:

/usr/local/etc/rc.d/iipsrv start

If you have set iipsrv_enable to YES in /etc/rc.conf, iipsrv will starting automatically on system reboot.

Ports also makes it possible to easily run multiple simultaneous instances of iipsrv. This is useful, for example, if you want different iipsrv settings or you want to serve different file trees for different sites etc. To do this, you should specify each instance in /etc/rc.conf as in the following example:

iipsrv_instances="site1 site2" 

Running iipsrv with a Web Server

The IIPImage server can also be started and managed directly by the Apache or Lighttpd web servers, rather than being run as an independent process.


For Apache, you will need to install an FCGI module and either mod_fcgid or mod_fastcgi can be used. To install with mod_fcgid:

sudo pkg install apache24 ap24-mod_fcgid

To enable the module, uncomment the following line in /usr/local/etc/apache24/http.conf

#LoadModule fastcgi_module libexec/apache24/mod_fcgid.so

Similarly to install with mod_fastcgi:

sudo pkg install apache24 ap24-mod_fastcgi

To enable the module, uncomment the following line in /usr/local/etc/apache24/http.conf

#LoadModule fastcgi_module libexec/apache24/mod_fastcgi.so

You will then need to configure Apache to manage iipsrv. See the Apache section of the iipsrv server documentation for more details.


The Lighttpd web server includes FCGI support by default, so simply install:

sudo pkg install lighttpd

Then enable fastcgi in the modules configuration file (/usr/local/etc/lighttpd/modules.conf). You should then add the iipsrv directives to the Lighttpd FastCGI configuration file (/usr/local/etc/lighttpd/conf.d/fastcgi.conf). See the iipsrv server documentation for Lighttpd for more details.

Other Web Servers

For web servers such as NginX or Apache Java Tomcat, which cannot start FCGI processes themselves, you should start iipsrv in stand-alone mode as explained above and configure your server to point to the IP address and port configured for iipsrv. See the server documentation for NginX or for Tomcat for more details.


iipsrv 1.0

IIIF, JPEG2000, Mac OS X, New Release, Optimization, Protocol, Server No Comments

Version 1.0 of iipsrv, the IIPImage server, is now officially released! This is a major new version containing a whole host of new features, major performance enhancements, optimizations, numerous bug-fixes and stability enhancements. Major new features include support for the IIIF protocol, 32 bit floating point data support and several new image processing commands.

New features include:

Read the rest…

IIPImage now an official Fedora Package

New Release, Server No Comments

IIPImage is now an official stable Fedora package and is included out of the box with the new release of Fedora 19! The package is based on a recent build of the development version of iipsrv available from the Github repository.

Information on the Fedora packages is available at https://apps.fedoraproject.org/packages/iipsrv with the package source at http://pkgs.fedoraproject.org/cgit/iipsrv.git

The packages are also included in Fedora-based enterprise distributions such as CentOS and Red Hat Enterprise Linux via the EPEL repository.

To install, simply use the default yum package manager:

sudo yum install iipsrv

This will install the IIPImage server in /usr/libexec/iipsrv/iipsrv.fcgi


To use with Apache, you will need to also install the Apache configuration files:

sudo yum install iipsrv-httpd-fcgi

which will install the configuration file iipsrv.conf in /etc/httpd/conf.d/. Modify this if necessary. You can find a full list of possible server parameters here. You will then need to start Apache (or restart if it is already running):

sudo service restart httpd

You should now have the IIPImage server running at  http://your.server/iipsrv


There is no Lighttpd package at the moment, but to use iipsrv with lighttpd, first install lighttpd and it’s fcgi module (if not already installed):

sudo yum install lighttpd-fastcgi

Then add the following to the fastcgi configuration file /etc/lighttpd/conf.d/fastcgi.conf:

fastcgi.server = ( "/iipsrv" =>
  (( "socket" => "/tmp/iipsrv-fastcgi.socket",
     "check-local" => "disable",
     "min-procs" => 1,
     "max-procs" => 1,
     "bin-path" => "/usr/libexec/iipsrv/iipsrv.fcgi",
     "bin-environment" => (
        "LOGFILE" => "/tmp/iipsrv.log",
        "VERBOSITY" => "2",

and activate fastcgi by uncommenting the following line from /etc/lighttpd/modules.conf:

Include "conf.d/fastcgi.conf"

Then start / restart lighttpd:

sudo service restart lighttpd

This will start the IIPImage server at http://your.server/iipsrv

Running as a Service

It is also possible to start the IIPImage server as an independent service without Apache or Lighttpd:

sudo service start iipsrv

which will start the server listening by default on on port 9002. For the systemd-based Fedora, this is configurable by following the instructions in /lib/systemd/system/iipsrv.service. For sysv-based RHEL distributions, this is configurable in /etc/iipsrv/iipsrv.conf. Starting iipsrv this way allows you to use it with Nginx, Tomcat or if you are hosting your web server on a different machine and wish to proxy requests to iipsrv.

Note that if you are using SELinux, connections from Apache to unknown ports are not allowed by default. To fix this, use semanage, the SELinux policy management tool to add it:

sudo semanage port -a -t http_port_t -p tcp 9002


Only the server is included in this package, so you will need to install a client, such as IIPMooViewer or IIPZoom yourself. Note that the default server URL is /iipsrv and not the usual /fcgi-bin/iipsrv.fcgi, so don’t forget to set this correctly in the viewer configuration of IIPMooViewer, IIPZoom or whichever viewer you choose to use.

Many thanks to Johan Cwiklinkski for creating the package. You can find more details on his blog and on the Redhat bugzilla review.

IIPImage now an Official Ubuntu Package

New Release, Server No Comments

IIPImage is now an official Ubuntu and Debian package! Version 0.9.9 of the IIPImage server is now distributed as part of the Ubuntu 12.10 Quantal Quetzal release.  It is also included in Debian’s Sid unstable branch, and testing branch from where it should migrate to become part of the forth-coming Debian 7 Wheezy release.

The Debian source package is available here: http://packages.debian.org/source/sid/iipimage and the Ubuntu lauchpad package here: https://launchpad.net/ubuntu/+source/iipimage

The package is split into two with a main server package: iipimage-server and a separate IIPImage documentation package: iipimage-doc

So, installing IIPImage is now extremely easy. To do so on Ubuntu 12.10, simply install iipimage-server via the graphical package manager or via the command line:

apt-get install iipimage-server

and optionally for the documentation:

apt-get install iipimage-doc

Now restart Apache and you should have the IIPImage server running on http://your.server/iipsrv/iipsrv.fcgi

Only the server is included in this package, so you will need to install a client, such as IIPMooViewer or IIPZoom yourself. Note that the server URL is /iipsrv/iipsrv.fcgi and not the usual /fcgi-bin/iipsrv.fcgi, so don’t forget to set this correctly in the viewer configuration of IIPMooViewer, IIPZoom or whichever viewer you choose to use.

The package is configured to work with both Apache and Lighttpd. If you are using Apache, the configuration file is at /etc/apache2/mods-available/iipsrv.conf. For Lighttpd, /etc/lighttpd/conf-available/20-iipsrv.conf. See the server documentation page for details of the available parameters. The log file is at /var/log/iipsrv.log.

The package has Memcached support built in and will automatically use Memcached for caching if this is running on the host machine. If not, simply start it to allow IIPImage to use it.

To install on the current Debian, you will need to be on the testing (or unstable branch). If you are on testing, add an additional unstable source to /etc/apt/sources.list. See the testing documentation for further details. Make sure you first update your package index, then simply install as above.

If you want JPEG2000 support or don’t want to use the Debian testing or unstable branch, continue to use our stable but “unofficial” 0.9.9 Ubuntu packages that are compatible with Ubuntu 11.10 and 12.04.

Special thanks to Mathieu Malaterre for building and maintaining the official Debian package!

« Previous Entries

Flattr this

Donations appreciated Bookmark and Share
Get IIPImage at SourceForge.net. Fast, secure and Free Open Source software downloads