Quantcast
Channel: Hosting Controller – System Network Programming Solution
Viewing all articles
Browse latest Browse all 187

How-To: Horde Webmail DirectAdmin

$
0
0

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

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

# 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

# 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


Viewing all articles
Browse latest Browse all 187

Trending Articles