Community  »  Applications  »  Nag

Installing Nag H5


This document contains instructions for installing the Nag web-based todo list application on your system.

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

1   Prerequisites

To function properly, Nag requires the following:

  1. A working Horde installation.

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


    Nag 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 Nag. Many of Nag's prerequisites are also Horde prerequisites. Additionally, many of Nag's optional features are configured via the Horde install.

  2. SQL support in PHP or a configured Kolab Server.

    Nag will store its data in either an SQL database or on a Kolab Server. If you use SQL, build PHP with whichever SQL driver you require; see the Horde INSTALL file for details.

2   Installing Nag

The RECOMMENDED way to install Nag 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 Nag 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 Nag through PEAR now, the installer will automatically install any dependencies of Nag too. If you want to install Nag 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/nag

By default, only the required dependencies will be installed:

pear install horde/nag

If you want to install Nag 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/nag

3   Configuring Nag

  1. Configuring Horde for Nag

    Nag requires a permanent Shares backend in Horde to manage tasklists and to add tasks to tasklists. If you didn't setup a Share backend yet, go to the configuration interface, select Horde from the list of applications and select the Shares tab. Unless you are using Kolab, you should select SQL. Make sure that you ran the necessary scripts to create a storage backend for the Share system, e.g. one of the create.*.sql.

  2. Configuring Nag

    You must login to Horde as a Horde Administrator to finish the configuration of Nag. 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 Tasks from the selection list of applications. Fill in or change any configuration values as needed. When done click on Generate Tasks Configuration to generate the conf.php file. If your web server doesn't have write permissions to the Nag 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 nag/config/conf.php.

    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 Nag's appearance and behavior. See the header of the configuration files for details and examples. The defaults will be correct for most sites.

  3. Creating the database table

    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 Nag row of the configuration screen.

    Alternatively you creating the Nag 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 nag
  4. Testing Nag

    Use Nag to create, modify, and delete tasks. Test at least the following:

    • Creating a new task
    • Modifying a task
    • Completing a task
    • Deleting a task

4   Obtaining Support

If you encounter problems with Nag, 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 Nag is free software written by volunteers. For information on reasonable support expectations, please read

Thanks for using Nag!

The Horde team