Thunderbird 2 on Centos 5.1


Found at

  1. Download Thunderbird 2 from Mozilla ( or other mirros like ( I downloaded thunderbird- to the directory /tmp.

  2. Extract the files

  3. Open a terminal and login as root to the directory /opt


    su - cd /opt `


    1. Copy the extracted forlders to /opt cp -rf /tmp/thunderbird /opt `


    1. Install the older library of (5.1 comes with version yum install compat-libstdc++-33.i386



    1. Test the Thunderbird as a normal user /opt/thunderbird/thunderbird



    1. Copy the icons to the user wide pixmap cp thunderbird/icons/mozicon*.xpm /usr/share/pixmaps/ `


    1. When Thunderbird starts, it complains about the mode for /var/spool/mail, as it cannot write to this folder. As root do the following chmod 01777 /var/spool/mail `

Add the application launcher in the panel/menu using the mozicon icon. Only things left is to install other plugins. My first plugins are always the Calendar (lightning) and birthday.

Installing Horde with Virtualmin on Centos 5.x


CentOS specific instructions found here; Also see the general Horde install document. Tested on CentOS 5.1, 5.2, 5.3.

CentOS + Virtualmin Walk-through Tutorial

With Centos 5.x and a Webmin/Virtualmin installation you'll do things this way:

# yum install horde imp

to install both the Horde general module and the Imp email IMAP gateway. Next, run the database generation script, usually like this:

# cd /usr/share/horde/scripts/sql/
# mysql -u root -p < create.mysql.sql

You'll need to use the MySQL root password. Then, in your database administration screen for MySQL, set the password for the new MySQL user "horde" to something nicely random and hard to guess; keep a momentary record as you'll need it below.

Make a copy of the default configuration, which is set to log everyone in as Horde Administrator without a password. You'll need this if you box yourself in, in the configuration later.

# cd /usr/share/horde/config
cp -a conf.php conf.php.everyone-as-admin

Later on you can always blitz a broken configuration by recopying the "everyone-as-admin" script right over the conf.php.

Redirection of domain URLs to the horde system is set in Apache's /etc/httpd/conf.d/horde.conf

# Horde is a web application framework written in PHP.

Alias /horde /usr/share/horde

which means that [the first argument] is mapped to the default page [index.php] in the actual filesystem's /usr/share/horde directory. (You may have to refresh the Apache configuration if that file changes.)

Then you can direct your web browser to: and fill in the Administration screens. Choose MySQL as the database. The user is "horde" and the password is the one you set above.

For authentication method, choose "Let a Horde application handle" and then select Imp as that application. You could pick IMAP authentication but then your users will have to login twice (they will see "Log in to mail" before they can get to their email).

When you click the Generate Horde Configuration button, you'll get the text of your new conf.php ... Unless you've set the 'apache' group to have write permission on the conf.php file, you'll have to select the new configuration text displayed, and paste it into the conf.php ... or use the command:

# cd /usr/share/horde/config
# cat > conf.php

and then paste (possibly with Shift+Insert) the copied text, pressing Ctrl+D (end-of-file) to return to a prompt.

You should then be able to logout of the Horde administration page and log back in normally as a user.

If things aren't working, check the logs. A few places to look:

/home/username/logs/error_log   (for Virtualmin setup with "username")

If you get messages about "can't include" then check permissions on the file noted; most of the php scripts should belong to group 'apache' and have group read permissions.

Another useful step is to add yourself as an administrator. If you didn't do that on the initial setup screens, you can edit conf.php and modify the appropriate line to look like:

 $conf['auth']['admins'] = array('Administrator'<strong>,'myusername'</strong>);

Note that you will have to manually edit the Imp mail-server configuration file:


by adding, for example, the localhost with IMAP protocol:

'server' => 'localhost'
'protocol' => 'imap/notls'
'port' => '143'

The Turba Contact Manager

You might also want to install the Turba contact manager. You can install a version found on the Turba download page or, to be sure you have a version matching your Horde install, just do:

# yum install turba

and then following the remainder of the "Configuration" instructions in the Turba documentation ... note that in our configuration the package is in /usr/share/horde/turba ... you will probably want to use the 'horde' SQL database and the SQL username 'horde' as above, keeping all the Horde data together. Consult /usr/share/horde/config/conf.php and look for the lines like these for the values you set above:

$conf['sql']['username'] = 'horde';
$conf['sql']['database'] = 'horde';

And then you'll run the configuration script as:

$ mysql -u root -p horde < turba_objects.mysql.sql

and then go thru the Horde admin screens, setup the Turba parameters, and write the configuration file which in our example will be at /usr/share/horde/turba/config/conf.php.

If you don't see Turba (shown as main heading: Organizing) in the Horde menus, edit the main Horde configuration file (/usr/share/horde/config/conf.php in our case) and update the appropriate line to be:

$conf['menu']['apps'] = array('horde', 'imp', 'turba');

Network Installation of CentOS 5.2


I'm moving my internal server to new hardware and wanting to load CentOS 5.2 ... without downloading a half dozen CDs or a 4+GB DVD image... half of which I probably won't need, or which will be replaced by updates anyway.

Fortunately, the latest releases have a Net install image, which is only about 8MB. Look for this file on the mirrors:


for the 64-bit version, or as appropriate for your architecture.

Booting that CD asks about your keyboard and such, and then asks for an Installation Method. Pick HTTP, and you'll be asked for the website and directory. Strangely, there's no automatic list of mirrors, so you have to do some scouting. I suggest using the mirror from singlehop -- enter this:

Web site name:
CentOS directory: CentOS/5.2/os/x86_64

The first file downloaded is images/stage2.img which is about 90MB, and then off you go.

If you're setting up a large number of servers, you probably want to either download the ISOs or install a local mirror.

Installing webmin on Centos 5.x


For CentOS 5.1 -- First we install some dependencies. (This is already present on CentOS 5.2 and CentOS 5.3.)

yum -y install perl-Net-SSLeay

step 1: webmin

Install the system, using the link at

cd /usr/src
wget <a href=""></a>
rpm -i webmin-1.450-1.noarch.rpm

Then you can start in your browser (note: https: ) at:


Webmin permits login from the root user as well as anyone who has sudo privilege. To permit logging into webmin with your username and password, give yourself permission to execute the sudo command by using the visudo command (do not edit the file /etc/sudoers directly) and un-comment the line:

%wheel ALL=(ALL) ALL

step 2: usermin

You might also want usermin... for the latest version, check:

<a href=""></a>

For example, to install:

cd /usr/src
rpm -Uvh usermin-1.360-1.noarch.rpm

Then point your browser to


step 3: virtualmin

For managing virtual domains, there are both GPL and commercial version of Virtualmin. For many sites, the key difference will be that the paid version includes the ability to manage spam and email antivirus settings on a per-domain, per-user level, whereas the GPL doesn't.

<a href=""></a>

Download the install script and run it. Note, the installer for Centos 5 misses one permission setting. Users attempting to retrieve POP3 email can't login. If you manually connect to port 110 and login, you will see the error as follows:

$ telnet mailserver 110
Connected to mailserver.domain.
Escape character is '^]'.
+OK Dovecot ready.
user user.domain
pass password
+OK Logged in.
-ERR [IN-USE] Couldn't open INBOX: Internal error occurred.
     Refer to server log for more information.

In the file /var/log/maillog you will see:

Feb 23 05:01:02 host dovecot: POP3(user.domain): mkdir(/var/lib/dovecot/index/user.domain/.INBOX) failed: Permission denied
Feb 23 05:01:02 host dovecot: POP3(user.domain): mkdir(/var/lib/dovecot/control/user.domain/.INBOX) failed: Permission denied
Feb 23 05:01:02 host dovecot: POP3(user.domain): mkdir(/var/lib/dovecot/index/user.domain/.INBOX) failed: Permission denied
Feb 23 05:01:02 host dovecot: POP3(user.domain): mkdir(/var/lib/dovecot/control/user.domain/.INBOX) failed: Permission denied
Feb 23 05:01:02 host dovecot: POP3(user.domain): Couldn't open INBOX: Internal error occurred. Refer to server log for more information. [2009-02-23 05:01:02]
Feb 23 05:01:02 host dovecot: POP3(user.domain): Couldn't open INBOX top=0/0, retr=0/0, del=0/0, size=0

To solve this, as root:

chmod 755 /var/lib/dovecot
chmod 777 /var/lib/dovecot/index /var/lib/dovecot/control

step 4: configuring spamassassin

Once Webmin is installed, spamassassin is very easy to turn on -- there is a button that will automatically create the correct entries in /etc/procmailrc ... the one missing link is that, by default, Postfix doesn't use that file. You can either manually add this line in /etc/postfix/

mailbox_command = /usr/bin/procmail

or in Webmin, on the Local Delivery page of Postfix, set the parameter:

External command to use instead of mailbox delivery

to be:


And that's all there is to getting SpamAssassin running.

step 5: change runlevel to avoid loading X

In your /etc/inittab, change the default runlevel from 5 to 3, so X won't load. That means no graphical login -- and a bunch of saved memory, if you're running a server instead of workstation.