One of my experiments with Groupware and Webmail systems.
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
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 php-devel
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
(You might need more packages depending your installation.)
yum install postgresql-server php-pgsql postgresql-libs mod_auth_pgsql postgresql
/sbin/chkconfig --levels 235 postgresql
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.
cvs -d :pserver:email@example.com:/repository login
cvs -d :pserver:firstname.lastname@example.org:/repository checkout horde
cvs -d :pserver:email@example.com:/repository checkout framework imp kronolith mnemo nag passwd turba ingo
pear channel-discover pear.horde.org
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. 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.
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.
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):
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:
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.