How-To: Horde Webmail

koh

Verified User
Joined
Dec 3, 2005
Messages
167
Location
Singapore
Hi guys, seems like it's been sometime since the previous how-to guide for horde webmail, since I see someone needing help, I might as well post how I did it :), oh yeah the previous thread is http://www.directadmin.com/forum/showthread.php?s=&threadid=4219&highlight=horde

This is only tested on CENTOS 4.2

1) First we need c-client to be installed if you have not done so. But there will be some things that is needed to be install first, so let's use yum first.

# yum install pam

# yum install pam-devel

Now we download c-client file

# wget ftp://ftp.cac.washington.edu/imap/c-client.tar.Z

# tar -zxvf c-client.tar.Z

# cd imap-2004g (this is the latest for now)

# nano Makefile (read inside which format you need to use, eg "slx", "lnp", "lrh", or "lsu")

For centos, we will use this

# make lrh EXTRACFLAGS=-I/usr/kerberos/include EXTRALDFLAGS=-I/usr/kerberos/lib

Let's create directories for c-client, name varies on version.
# mkdir /usr/local/imap-2004g

Create libraries dir
# mkdir /usr/local/imap-2004d/lib

Create include dir
# mkdir /usr/local/imap-2004d/include

Change dir into the c-client dir.
# cd c-client/

Copy all .h files into /usr/local/imap-2004d/include/
# cp *.h /usr/local/imap-2004d/include/

Copy all .c files.
# cp *.c /usr/local/imap-2004d/lib/

Copy c-client.a
# cp c-client.a /usr/local/imap-2004d/lib/libc-client.a

Now configure the ./configuration.php (or _ap2 if you are on apache2) , please take note of the directory name you created.
--with-imap=/usr/local/imap-2004g \
--with-gettext

It should look like this
#!/bin/sh
./configure \
--with-apxs2 \
--with-curl \
--with-curl-dir=/usr/local/lib \
--with-gd \
--with-gd-dir=/usr/local/lib \
--with-gettext \
--with-jpeg-dir=/usr/local/lib \
--with-kerberos \
--with-mcrypt \
--with-mhash \
--with-mysql \
--with-pear \
--with-png-dir=/usr/local/lib \
--with-xml \
--with-zlib \
--with-zlib-dir=/usr/local/lib \
--with-zip \
--enable-bcmath \
--enable-calendar \
--enable-ftp \
--enable-magic-quotes \
--enable-sockets \
--enable-track-vars \
--enable-mbstring \
--enable-memory-limit \
--with-imap=/usr/local/imap-2004g \
--with-gettext

once you are done, let's recompile php.

# /usr/local/directadmin/customapache

# ./build php

or if you are using other php version, follow this guide
(taken from http://www.directadmin.com/forum/showthread.php?threadid=5663&highlight=update+php done by fusionictnl)

# cd php-version
-#/usr/local/directadmin/customapache/configure.php ( _ap2 for Apache2)
# make
# make install

# service httpd restart

Now check your phpinfo, you should see something like this :

imap
IMAP c-Client Version 2004

Now we are done with c-client, lets proceed to horde installation
Basic instruction taken from http://www.directadmin.com/forum/showthread.php?s=&threadid=4219&highlight=horde done by james99

# pear install Log
# pear install Mail_Mime
# cd /var/www/html
# wget http://ftp.horde.org/pub/horde/horde-latest.tar.gz
# tar xzpf horde-latest.tar.gz
# rm -f horde-latest.tar.gz
# dir

Horde 3.1 is the version i got, so we will..

# nano /etc/httpd/conf/httpd.conf

add this line

Alias /horde-3.1 /var/www/html/horde-3.1/

along with



alias /phpmyadmin /var/www/html/PhpMyadmin/

lets restart apache for the change in httpd.conf to take effect

# service httpd restart

Now we go to horde's database folder

# cd /var/www/html/horde-3.1/scripts/sql

Just a side note, if you do not know about the sql root password(it is different from the root password), do this command

#cat /usr/local/directadmin/scripts/setup.txt

# mysql -u root -psqlrootpassword < create.mysql.sql

#mysqladmin --user=root --password=sqlrootpassword reload

#mysql --user=horde --password=horde horde

# cd ../../config

# for foo in *.dist; do cp $foo `basename $foo .dist`; done

Okay, we have done phase 1 for the horde webmail, let's test it out

go to http://www.yourdomain.com/horde-3.1/test.php

you should see something like this:

Horde Version
Horde: 3.1
Horde Applications
Horde: 3.1
Imp: H3 (4.1) (run Imp tests)
PHP Version
View phpinfo() screen
View loaded extensions
PHP Version: 5.0.5
PHP Major Version: 5.0
PHP Minor Version: 5
PHP Version Classification: release
You are running a supported version of PHP.
PHP Module Capabilities
Ctype Support: Yes
DOM XML Support: Yes
FTP Support: Yes
GD Support: Yes
Gettext Support: Yes
Iconv Support: Yes
IMAP Support: Yes
LDAP Support: No
Mbstring Support: Yes
Mcrypt Support: Yes
MIME Magic Support (fileinfo): No
The fileinfo PECL module or the mime_magic PHP extension (see below) will most likely provide faster MIME Magic lookups than the built-in Horde PHP magic code. See horde/docs/INSTALL for information on how to install PECL/PHP extensions.
memcached Support (memcache): No
The memcache PECL module is needed only if you are using the memcached SessionHandler. See horde/docs/INSTALL for information on how to install PECL/PHP extensions.
MIME Magic Support (mime_magic): No
The fileinfo PECL module (see above) or the mime_magic PHP extension will most likely provide faster MIME Magic lookups than the built-in Horde PHP magic code. See horde/docs/INSTALL for information on how to install PECL/PHP extensions.
MySQL Support: Yes
OpenSSL Support: No
PostgreSQL Support: No
Session Support: Yes
XML Support: Yes
Zlib Support: Yes
Miscellaneous PHP Settings
magic_quotes_runtime disabled: Yes
memory_limit disabled: No
If PHP's internal memory limit is turned on and if not set high enough Horde will not be able to handle large data items (e.g. large mail attachments in IMP). If possible, you should disable the PHP memory limit by recompiling PHP without the "--enable-memory-limit" flag. If this is not possible, then you should set the value of memory_limit in php.ini to a sufficiently high value (Current value of memory_limit: 64M).
safe_mode disabled: Yes
session.use_trans_sid disabled: Yes
session.auto_start disabled: Yes
File Uploads
file_uploads enabled: Yes
upload_max_filesize: 10M
post_max_size: 8M
Required Horde Configuration Files
config/conf.php: Yes
config/mime_drivers.php: Yes
config/nls.php: Yes
config/prefs.php: Yes
config/registry.php: Yes
PHP Sessions
Session counter: 1
To unregister the session: click here
PEAR
PEAR Search Path (PHP's include_path): /var/www/html/horde-3.1/lib:.:/usr/local/lib/php
PEAR: Yes
Recent PEAR: Yes
Mail: Yes
Mail_Mime: Yes
Log: Yes
DB: Yes
Net_Socket: Yes
Date: Yes
Auth_SASL: Yes
HTTP_Request: No
Parts of Horde (HTML composition in IMP, Jonah, the XML-RPC client/server) use the HTTP_Request library to retrieve URLs and do other HTTP requests.
File: Yes
Net_SMTP: Yes
Services_Weather: No
Services_Weather is used by the weather applet/block on the portal page.
Cache: No
Cache is used by the Services_Weather module on the weather applet/block on the portal page.
XML_Serializer: No
XML_Serializer is used by the Services_Weather module on the weather applet/block on the portal page.

Those that is mentioned No above will not affect the installation.

I realise I missed alot of pear module when I installed, so some of them are...

pear install DB
pear install Net_Socket
pear install Date
pear install Auth_SASL
pear install File
pear install Net_SMTP

okay now, we are done installing horde, but just horde is simply no-good, so we will need to install a external project, we will be using IMP

# cd /var/www/html/horde-3.1

# wget http://ftp.horde.org/pub/imp/imp-latest.tar.gz

# tar xzpf imp-latest.tar.gz

# rm -f imp-latest.tar.gz

# mv imp-h3-4.1 imp

# cd /var/www/html/horde-3.1/imp/config

# for foo in *.dist; do cp $foo `basename $foo .dist`; done

Now, this just installs Horde and IMP. Lets go to http://www.yourdomain.com/horde-3.1 and go under administration, and do setup for horde and IMP.

You should be good to go now
 
Last edited:
i have installed horde on my servers long time ago. but never be OK
1 server got this when sending email:
There was an error sending your message: Validation failed for: [email protected]

another 1 can send email...but all plugins such as nag, mnemo, kronolith, turbo do not work at all.
for example, you would never find a "Add a new note" button in mnemo
but the first server doesnt have this problem


any idea?
 
I have installed horde in my DA.

And it works fine with all the email addresses that i have created.

But if i login with my username, i can't send out email from horde.

For eg.
my domain: kacang.com
my username: kacang

if i login horde with my username "kacang", then i can't send out any email.

It works fine with squirrelmail.

and

I've found out in horde that if you use the username of your account, you cannot send emails, you need to log in with your email address.

sounds like a known issue to me, im seeing what i can do.

and from horde side, i found this:

Users are getting mail sent to "[email protected]" or "[email protected].".

Addresses in the headers such as the above are produced by PHP, not IMP (via the IMAP c-client library), and are most often the result of a user using semicolons instead of commas to separate addresses, such as is done in MS Outlook Express. Discussions on the mailing list tend to conclude that the solution to this is "well, don't do that, then", since both commas and semicolons have their own meanings in the Internet message format standard, RFC 822.
 
yes your are right
logging in with username will lead to an send mail error
ok for logging with email address
 
Last edited:
Back
Top