Thursday, April 12, 2007

Horde another groupware

One of my experiments with Groupware and Webmail systems.



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 php-devel

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.

No comments:

Installing SSLyze

SSLyze is a Python tool that can analyze the SSL configuration of a server by connecting to it. It is designed to be fast and comprehensive,...