Community  »  Applications  »  Ansel

Installing Ansel H5

This document contains instructions for installing the Ansel Photo Manager.

For information on the capabilities and features of Ansel, see the file README in the top-level directory of the Ansel distribution.

1   Prerequisites

To function properly, Ansel requires the following:

  1. A working Horde installation.

    Ansel runs within the Horde Application Framework, a set of common tools for web applications written in PHP. You must install Horde before installing Ansel.


    Ansel H5 requires version 5.0+ of the Horde Framework - earlier versions of Horde will not work.


    Be sure to have completed all of the steps in the horde/docs/INSTALL file for the Horde Framework before installing Ansel. Many of Ansel's prerequisites are also Horde prerequisites. Additionally, many of Ansel's optional features are configured via the Horde install.

  2. The following PHP capabilities:

    1. GD support --with-gd

      The GD extension provides functionality for image manipulation in PHP. You can alternatively use the imagick extension or the ImageMagick software, but one of these is required.

  3. A database:

    Ansel needs a database to store information about images and galleries. Any database supported by Horde_Db will work; MySQL and PostgreSQL are the most tested. If you use MySQL, you need at least version 5.0.

  4. The following PECL modules: (See horde/docs/INSTALL for instructions on installing PECL modules)

    1. imagick

      The imagick module provides a quicker, more efficient interface to ImageMagick's capabilities. It provides better results when doing things like generating thumbnails with rounded corners and drop shadows. You can alternatively use the GD extension or the ImageMagick software, but one of these is required. The imagick extension must be compiled against ImageMagick version 6.2.9 or better, though version 6.5.7 or better is recommended.

    2. OpenCV

      The php-facedetect module provides the ability to detect human faces in images. If you would like to be able to have Ansel automatically detect faces in your images, you will need to install both the OpenCV library as well as the phpfacedetect extension. You will still be able to manually select faces from your images if you do not have this extension installed.

    3. libpuzzle

      The libpuzzle library provides the ability to determine similarities between images based on the image content. If you would like Ansel to be able to provide recognition of similar images and similar faces, you will need to install this module.

  5. The ImageMagick software.

    If using the ImageMagick software you need to set the path to the convert utility in Horde's configuration screen (Administration/Configuration/Horde/Image Manipulation). You can alternatively use the GD extension or the imagick extension, but one of these is required. If using ImageMagick software, version 6.5.7 or better is recommended. Earlier versions may work, but some effects may produce errors. The absolute minimum version that will work at all with Ansel is 6.2.9.

  6. Agora, the Horde forums application.

    Agora provides the ability for comments to be added to photos via the forums API. If you want your users to be able to comment on photos, an application that provides the forums API is required. Agora is currently the only such Horde application, but please be aware that currently Agora is not officially released in a stable version, so use at your own risk.

2   Installing Ansel

The RECOMMENDED way to install Ansel is using the PEAR installer. Alternatively, if you want to run the latest development code or get the latest not yet released fixes, you can install Ansel from Git.

2.1   Installing with PEAR

First follow the instructions in horde/docs/INSTALL to prepare a PEAR environment for Horde and install the Horde Framework.

When installing Ansel through PEAR now, the installer will automatically install any dependencies of Ansel too. If you want to install Ansel with all optional dependencies, but without the binary PECL packages that need to be compiled, specify both the -a and the -B flag:

pear install -a -B horde/ansel

By default, only the required dependencies will be installed:

pear install horde/ansel

If you want to install Ansel even with all binary dependencies, you need to remove the -B flag. Please note that this might also try to install PHP extensions through PECL that might need further configuration or activation in your PHP configuration:

pear install -a horde/ansel

3   Configuring Ansel

  1. Configuring Ansel

    You must login to Horde as a Horde Administrator to finish the configuration of Ansel. Use the Horde Administration menu item to get to the administration page, and then click on the Configuration icon to get the configuration page. Select Photos from the selection list of applications. Fill in or change any configuration values as needed. When done click on Generate Photos Configuration to generate the conf.php file. If your web server doesn't have write permissions to the Ansel configuration directory or file, it will not be able to write the file. In this case, go back to Configuration and choose one of the other methods to create the configuration file ansel/config/conf.php.

    Note for users of Lighttpd web server: The pretty url generation relies on rewrite rules being configured on your web server. Since lighttpd does not support .htaccess files like Apache, there is also a configuration file for lighttpd included that contains the necessary rewrite rules. This file is:


    Instructions for using it are included in the file.

    Documentation on the format and purpose of the other configuration files in the config/ directory can be found in each file. You may create *.local.php versions of these files if you wish to customize Ansel's appearance and behavior. See the header of the configuration files for details and examples. The defaults will be correct for most sites.

  2. Creating the database tables

    Once you finished the configuration in the previous step, you can create all database tables by clicking the DB schema is out of date. link in the Ansel row of the configuration screen.

    Alternatively you creating the Ansel database tables can be accomplished with horde's horde-db-migrate utility. If your database is properly setup in the Horde configuration, just run the following:

    horde/bin/horde-db-migrate ansel
  3. Testing Ansel

    Once you have configured Ansel, bring up the included test page in your Web browser to ensure that all necessary prerequisites have been met. See the horde/docs/INSTALL document for further details on the Horde test script.

    Next, use Ansel to create galleries and photos. Test at least the following:

    • Generate galleries
    • Upload photos
    • Edit photo properties
    • Edit photos
    • Delete photos
    • Delete galleries

4   Obtaining Support

If you encounter problems with Ansel, help is available!

The Horde Frequently Asked Questions List (FAQ), available on the Web at

The Horde Project runs a number of mailing lists, for individual applications and for issues relating to the project as a whole. Information, archives, and subscription information can be found at

Lastly, Horde developers, contributors and users may also be found on IRC, on the channel #horde on the Freenode Network (

Please keep in mind that Ansel is free software written by volunteers. For information on reasonable support expectations, please read

Thanks for using Ansel!

The Ansel team