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.
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
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
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
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.
yum install php-mysql mysql mysql-server /sbin/chkconfig --levels 235 mysqld on /etc/init.d/mysqld start
yum install postgresql-server php-pgsql postgresql-libs mod_auth_pgsql postgresql /sbin/chkconfig --levels 235 postgresql /etc/init.d/postgresql start
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
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:email@example.com:/repository login Password: horde cvs -d :pserver:firstname.lastname@example.org:/repository checkout horde cd horde cvs -d :pserver:email@example.com:/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
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.
Before you can use the MySQL server with Horde, you must setup the SQL server and create the needed database tables.
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'
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
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.
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