Switching to Horde
Posted on 27 Dec 2014 in misc • 2 min read
I host my own services with a web access, for my mail and calendar I used Roundcube a wonderful webmail and agendav for my calendar. Nevertheless I am used to have everything in one place (thank you Google for the bad habit) and agendav was no more working on my server. Therefore I decided to switch to Horde, a all in one webmail which manage e-mails, calendars, contacts, notes and todo lists.
Horde is written in PHP and is accessible using Pear (PHP Extension and Application Repository).
Installing Horde
Let us see how to install Horde.
Necessary packages
First of all some dependencies should be meet. Considering you are on Debian
and using apt-get
you may run the following command:
apt-get install php5-sasl php5-intl libssh2-php php5-curl php-http php5-xmlrpc php5-geoip php5-ldap php5-memcache php5-memcached php5-tidy
Pear install
We want to use Pear to get the last version of Horde. So we add the channel, the
Horde role, and we install Horde.
You will be prompt with the question Filesystem installation for base Horde
application: /var/www/horde
you can change this location the only
constrain to configure your web server (Apache, Nginx, or whatever) in order to
make this folder accessible.
pear channel-discover pear.horde.org
pear install horde/horde_role
pear run-scripts horde/horde_role
pear install -a -B horde/webmail
Database creation
Horde use a database to store your calendars, contact, task lists and notes. Nevertheless the script does not create this database. Therefore we must do it manually for instance with the following commands and a MySQL database:
mysql -u root -p
CREATE DATABASE horde;
*GRANT ALL ON horde.* TO horde@localhost IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
exit;
You'll be asked the following questions:
What database backend should we use? mysql
Request persistent connections? no
Username to connect to the database as: The username you set in the previous step
Password to connect with: The password you set in the previous step
How should we connect to the database? unix
Location of UNIX socket: Just press [enter]
Database name to use: The database name you set in the previous step
Internally used charset: utf-8
Use SSL to connect to the server: no
Certification Authority to use for SSL connection: Just press [enter]
Split reads to a different server? false
Filesystem installation for base Horde application: /var/www/horde
Specify an existing mail user who you want to give administrator permissions (optional): user@domain.com This user will have access to the administration interface within horde.
This is all an you should get access to the horde interface.
Activating the exchange server
The administrator user will have a lot of options one of them is the activation of the exchange server.
That is all for this article about Horde, the install process can be found on the notes part of my website.