Installation Apache packages PHP Packages PEAR SQL MySQL PostgreSQL CVS Horde Configuration MySQL Create a MySQL account Creating the MySQL Database and Tables PostgreSQL Horde Installation Horde requires some prerequisite software before you can use it. In addition, there are other software packages which, while not required, are recommended as without them you will experience very limited functionality. The following helps you to install the required and recommended software packages on a Fedora Core 4 system. Apache packages Horde is a web application, and as such, you need to provide a web server to use it. If you do not already have the Apache web server installed, you should do so at this time: yum install httpd chkconfig httpd on /etc/init.d/httpd start PHP Packages As Horde is a PHP application, it requires that you have PHP installed. In addition to the base php package, Horde and its applications require several other PHP packages. The following installs the most commonly needed PHP packages. yum install php php-xml php-imap PEAR The Fedora Core PHP package contains a PEAR installation, but it is missing some PEAR modules needed by Horde. You can install these modules using the following command: pear install -f Net_IMAP Log Mail_Mime File Date Console_Getopt Note for Fedora Core 5 you should also install the DB package for pear. pear install -f DB Read the note at: http://pear.php.net/bugs/bug.php?id=5113 If you've faced this problem then you can download a patched file via: pear install http://www.iptp.net/files/File-1.2.1.tgz SQL While a SQL server is not required to run Horde, it is recommended as much of the Horde functionality will be lost without it. You may run either MySQL or PostgreSQL, but you should not run both! While you do not need to run the SQL server on the same machine that runs the Horde web applications, that is the most common setup for small sites, and hence the following assumes this type of setup. MySQL yum install php-mysql mysql mysql-server /sbin/chkconfig --levels 235 mysqld on /etc/init.d/mysqld start (You might need more packages depending your installation.)OR PostgreSQL yum install postgresql-server php-pgsql postgresql-libs mod_auth_pgsql postgresql /sbin/chkconfig --levels 235 postgresql /etc/init.d/postgresql start CVS The instructions below install Horde and its applications from CVS. In order to use CVS, you will need to have the cvs package installed in your machine. The following command can be used to install the cvs package. yum install cvs Horde The following commands can be used to install Horde along with the more popular Horde applications, using anonymous CVS. There are other ways to install Horde and its applications other than CVS. However, this documentation only covers using CVS for installation. cd /var/www/html cvs -d :pserver:cvsread@anoncvs.horde.org:/repository login Password: horde cvs -d :pserver:cvsread@anoncvs.horde.org:/repository checkout horde cd horde cvs -d :pserver:cvsread@anoncvs.horde.org:/repository checkout framework imp kronolith mnemo nag passwd turba ingo cd framework pear channel-discover pear.horde.org php install-packages.php mkdir -p /var/horde/vfs chown -R apache:apache /var/horde Configuration Once all the software is installed, you need to configure it for use with Horde. Below is some information on how to configure the various software packages. Note that configuration will vary depending on your needs, and the following is just a basic guide; you may need to adjust your configuration for your needs. MySQL Before you can use the MySQL server with Horde, you must setup the SQL server and create the needed database tables. Create a MySQL account First, you need to create a SQL user. In the instructions below, replace 'password' with the actual password you want to set for this account. mysqladmin -u root password 'password' mysqladmin -u root -h your.host.name password 'password' Creating the MySQL Database and Tables Next, you need to create the database and its tables. First, you must edit the database scripts Horde provides to set the database password to the password you set in the previous step. cd /var/www/html/horde/scripts/sql vi create.mysql.sql Then change the database password in the file, and save it. Once you have set the password correctly in the script, you should run the script in order to create the database: mysql -u root -p < create.mysql.sql PostgreSQL Before you can use the PostgreSQL server with Horde, you must setup the SQL server and create the needed database tables. cd /var/www/html/horde/scripts/sql vi pgsql_create.sql Then change the database password in the file and save it. Once you have set the password correctly in the script, you should run the script in order to create the database: psql -d template1 -f pgsql_create.sql -U postgres psql -d horde -U horde -f auth.sql psql -d horde -U horde -f category.sql psql -d horde -U horde -f prefs.sql Note that you may see some NOTICE messages from PostreSQL noting that implicit indexes have been created; these are normal and can be ignored. Horde First, you need to install the distribution default configuration files, present in the config subdirectory within each Horde application (including the base Horde configuration directory itself): cd /var/www/html/horde for a in . mnemo nag turba imp ingo kronolith passwd; do cd /var/www/html/horde/$a/config; for f in *.dist; do cp $f `basename $f .dist`; done; done Next, we want to make sure that all the files have the correct file permissions: cd /var/www/html chown -R apache:apache horde chmod -R o-rwx horde Finally, you now need to do the basic configuration of all the Horde applications using the Horde Administrative Interface . Log in to your Horde installation, at http://your.host.name/horde/. Once you're in, click on the Administration link on the sidebar, then the Setup sub-option. The Default Administrator password is mailadmin. You should see a list of available Horde applications in the main frame - you now need to go through this list and configure each Horde application as you please. Click on an entry in this list; you should be brought to a configuration screen. Go through each tab within this screen (if there are multiple tabs; otherwise there will just be a single page) and change any settings as you see fit (although the default options are usually sufficient if you don't feel comfortable editing all the available variables). Once you have finished configuring an application, click on the Generate XXX Configuration button at the bottom of the page to auto-generate the relevant conf.php file for the specific application. Repeat this process for every application in the Setup page. Note that the above only configures the base configuration of the applications. There are other configuration files which you may also want to configure for each application. Such configuration must be done by hand. See the docs/INSTALL file for each application for more information on configuring that application. v at kangin dot org