The Perfect Server - CentOS 5.2 [ISPConfig 3] - Page 2

Now we select the software we want to install. Select nothing but Server (uncheck everything else). Also don't check Packages from CentOS Extras. Then check Customize now, and click on Next:

Now we must select the package groups we want to install. Select Editors, Text-based Internet, Development Libraries, Development Tools, DNS Name Server, FTP Server, Mail Server, MySQL Database, Server Configuration Tools, Web Server, Administration Tools, Base, and System Tools (unselect all other package groups) and click on Next:

The installer checks the dependencies of the selected packages:

Click on Next to start the installation:

The hard drive is being formatted:

The installation begins. This will take a few minutes:

Finally, the installation is complete, and you can remove your CD or DVD from the computer and reboot it:

After the reboot, you will see this screen. Select Firewall configuration and hit Run Tool:

I want to install ISPConfig at the end of this tutorial which comes with its own firewall. That's why I disable the default CentOS firewall now. Of course, you are free to leave it on and configure it to your needs (but then you shouldn't use any other firewall later on as it will most probably interfere with the CentOS firewall).

SELinux is a security extension of CentOS that should provide extended security. In my opinion you don't need it to configure a secure system, and it usually causes more problems than advantages (think of it after you have done a week of trouble-shooting because some service wasn't working as expected, and then you find out that everything was ok, only SELinux was causing the problem). Therefore I disable it, too (this is a must if you want to install ISPConfig later on). Hit OK afterwards:

Then leave the Setup Agent by selecting Exit:

Then log in as root and reboot the system so that your changes can be applied:

reboot

Now, on to the configuration...

Share this page:

34 Comment(s)

Add comment

Comments

From: neon at: 2009-03-31 20:09:13

and sharing of information technology needed .... good to hit the target.

From: at: 2009-03-27 17:01:04

Nice looking guide! One thing I figured out so far was that I had to install the Development groups in the opposite order they are here for them to go.  I was getting an error about the kernel-headers dependency not resolving.

Correct order for me was:

yum groupinstall 'Development Libraries'

yum groupinstall 'Development Tools'

From: Tom at: 2010-03-17 19:49:42

in the  /etc/fstab the first line should read this otherwise you will get a quota error:

 

/dev/VolGroup00/LogVol00 /                       ext3    defaults,usrquota,grpquota        0 1

 

 

From: COMPUTERONIX, LLC at: 2009-05-01 14:01:22

mkdir $HOME/rpm
mkdir $HOME/rpm/SOURCES
mkdir $HOME/rpm/SPECS
mkdir $HOME/rpm/BUILD
mkdir $HOME/rpm/SRPMS
mkdir $HOME/rpm/RPMS
mkdir $HOME/rpm/RPMS/i386

if you are using an x86_64 bit machine don't forget to add this when making the directories

mkdir $HOME/rpm/RPMS/x86_64

otherwise when you get to the second compile phase it will compile and then give a permission denied error for putting the rpm into the x86_64 folder.

From: Jacob Hoover at: 2009-04-15 01:42:05

Also worth noting that if you are on a 64 bit machine, replace

mkdir $HOME/rpm/RPMS/i386

with

mkdir $HOME/rpm/RPMS/x86_64

and that the RPMs that are built will have a x86_64 postfix instead of i386 and will be in the x86_64 sub folder created.

From: Anonymous at: 2009-04-04 14:39:13

On the next section of the step #10:

Now we download the source files from http://www.courier-mta.org/download.php:

cd /tmp
wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.62.1.tar.bz2
wget http://prdownloads.sourceforge.net/courier/courier-imap-4.4.1.tar.bz2
wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2

 Now (2009.04.04) the last available courier-authlib is 0.62.2 one. So please download that one:

wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.62.2.tar.bz2

At least for me the 0.62.1 one got me into the trouble and error during next steps. Problem was solved as I removed the $HOME/rpm/ directory, downloaded latest version of the above file and start again step #10.

 Thanks,

Tigran

From: Steven at: 2009-09-16 18:54:53

Same issue here but no fix:

[compileuser@C53Postfix tmp]$ rpmbuild -ta courier-authlib-0.62.4.tar.bz2
error: Unable to open temp file.


RPM build errors:
    Unable to open temp file.

 

Any ideas?

From: gmonange at: 2009-12-07 12:54:48

http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5/os/SRPMS/postfix-2.3.3-2.1.el5_2.src.rpm

From: dnilson at: 2009-10-14 22:16:31

 The Link to the postfix source has been depricated

wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.2/os/SRPMS/postfix-2.3.3-2.src.rpm

No longer works

 

Use this instead:

wget http://vault.centos.org/5.2/os/SRPMS/postfix-2.3.3-2.src.rpm

From: Dimitri Visser at: 2009-05-18 21:53:19

I tried today 0.6.2, 0.7.0 and 0.7.1 but cannot get it to work. After ./configure etc etc it gives an error:

checking for APR... configure: error: the --with-apr parameter is incorrect. It must specify an install prefix, a build directory, or an apr-config file.

From: Steven at: 2009-07-09 13:56:33

I found that using this command:

yum install php-cli httpd-devel

allowed suPHP to install correctly without the error:

checking for APR... configure: error: the --with-apr parameter is incorrect. It must specify an install prefix, a build directory, or an apr-config file.

 

I found that you needed to install these as prerequisites on the following tutorial:

http://www.how2forge.org/install-suphp-on-various-linux-distributions-for-use-with-ispconfig-2.2.20-and-above

 Steve

From: John at: 2009-05-09 23:24:55

 jailkit-2.7.tar.gz is now available.

 I notices iptables --list was empty, so :-

chkconfig --add bastille-firewall
chkconfig bastille-firewall on
service bastille-firewall start
iptables --list

From: John at: 2009-05-09 23:09:42

I suggest also installing denyhosts to help ssh attacks

yum install rkhunter denyhosts

chkconfig denyhosts on

service denyhosts start

From: at: 2009-05-08 13:56:32

I tried it today with version 0.7.1 (and CentOS 5.3) and it was built without errors.

From: COMPUTERONIX, LLC at: 2009-05-01 21:49:16

when i got to this section....

Next we install suPHP:

cd /tmp
wget http://www.suphp.org/download/suphp-0.7.0.tar.gz
tar xvfz suphp-0.7.0.tar.gz
cd suphp-0.7.0/
./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config --with-apxs=/usr/sbin/apxs --with-apache-user=apache --with-setid-mode=owner --with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log --enable-SUPHP_USE_USERGROUP=yes
make
make install

i could not get it to work so i used this instead (and then continued on with the instructions)

cd /tmp
wget http://www.suphp.org/download/suphp-0.6.2.tar.gz
tar xvfz suphp-0.6.2.tar.gz
cd suphp-0.6.2/
./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config --with-apxs=/usr/sbin/apxs --with-apache-user=apache --with-setid-mode=paranoid --with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log --enable-SUPHP_USE_USERGROUP=yes
make
make install

if anyone could shed some light on 0.7.0 that would be great

btw at the time of wiriting 0.7.1 has been released for suPHP (and that did NOT work either)

From: kisfoka at: 2009-05-28 11:36:18

I have CentOS 5.3 x64 and suPHP 0.7.1

Try: yum install apr-devel.x86_64

Run suphp ./configure after that.

Hope it helps!

From: COMPUTERONIX, LLC at: 2009-05-01 22:13:19

when you get to this section

PureFTPd can be installed with the following command:

yum install pure-ftpd

change it to

yum -npgpgcheck install pure-ftpd

 

From: at: 2009-05-29 05:14:33

When I was debugging my installed server following these instructions, I kept finding this errors in /var/log/maillog

ClamAV-clamd: Connecting to socket  /tmp/clamd.socket, retry #1
ClamAV-clamd: Can't connect to UNIX socket /tmp/clamd.socket: No such file or dir
ectory, retrying (2)

I fixed the problem by editing the file /etc/amavisd.conf

And replacing the line:

  \&ask_daemon, ["CONTSCAN {}\n", "/tmp/clamd.socket"],

With:

  \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"], 

 

The other thing that I would do is to add  /usr/bin/freshclam into my daily cron, so it refresh the virus definitions automatically.

Edit the file /etc/crontab  and add the following line at the end of it

02 5 * * * root /usr/bin/freshclam

 Then do a

#service crond reload

There's a lot of information of  Amavisd-new and ClamAV in http://www200.pair.com/mecham/spam/clamav-amavisd-new.html

 

From: Arvid at: 2010-08-11 18:49:10

Same as dimity visser, is there an other alternative

From: Anonymous at: 2010-12-15 19:15:08

root@matrix tmp]# rpm -ivh mydns-mysql-1.1.0-1.i386.rpm
mydns-mysql-1.1.0-1.i386.rpm: no es un paquete rpm (o manifiesto de paquete):

From: drokmed at: 2009-05-09 22:48:42

Excellent!  Thank you for this great howto!

 Just installed on CentOS 5.3, works great!

I did encounter the version glitch at the end, as documented in comment below.  Just edit the lib file and it will work.

From: Anonymous at: 2009-04-28 16:08:10

gracias.... excelente tutorial, funciona perfecto

From: Ricardo Vergara at: 2009-07-06 18:45:30

Excelente, guia, funcionando Ok, solo retoque con los comentarios finales. Gracias.

From: at: 2009-04-27 07:49:38

After install IspConfig 3 in file /etc/httpd/conf/sites-available/ispconfig.conf you need
change:

LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig

to:

LogFormat "%v %h %l %u %t \"%r\" %>s %B \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig

Lowercase b to uppercase B. It looks that vlogger does not understand dash - when it's zero it must be zero.

As it is written here already: http://httpd.apache.org/docs/1.3/mod/mod_log_config.html

%B (Bytes sent, excluding HTTP headers),
%b (Bytes sent, in CLF format i.e. a '-' rather than a 0 when no bytes are sent)

 thanks to cvladan for "reading docs with open eyes")))

From: dorulk at: 2009-04-20 02:54:39

Thanks for this tutorial, work fine with centOS 5.3.

From: Sanjay K at: 2009-04-13 21:05:34

 Works Great with CentOS 5.3 as well.

This tutorial is fantastic! Thanks.

I did not realise that I was updated to 5.3. I worked through the tutorial and it worked like a charm up until the last step while installing ISPConfig3. Where it complained:

>> Initial configuration  

PHP Notice:  Undefined variable: distver in /tmp/ispconfig3_install/install/lib/install.lib.php on line 135
PHP Notice:  Undefined variable: distid in /tmp/ispconfig3_install/install/lib/install.lib.php on line 135
PHP Notice:  Undefined variable: distbaseid in /tmp/ispconfig3_install/install/lib/install.lib.php on line 135
Linux Distribution or Version not recognized.

I checked my version in /etc/redhat-release and realised it was 5.3 so came back to 

/tmp/ispconfig3_install/install/lib and edited the file install.lib.php and made one change to line 122 (changed 5.2 to 5.3) :

               if(stristr($content,'CentOS release 5.3 (Final)')) {
 And it worked without any problems. I guess this has been registered with ISPConfig as a bug and would be fixed in due course of time but in the meanwhile if anyone gets stuck in a similar position, this is the quick solution.

Thanks once again for a great tutorial.

Sanjay

From: Leo Reice at: 2009-08-12 15:48:21

Thanks for this update...made your change and then was able to install...one small hitch in this excellent tutorial

From: leonidas at: 2009-04-13 00:57:18

edit /tmp/ispconfig3_install/install/lib/install.lib.php, and change:

 

if(stristr($content,'CentOS release 5.2 (Final)')) {
$distname = 'CentOS';
$distver = '5.2';
$distid = 'centos52';
$distbaseid = 'fedora';
swriteln("Operating System: CentOS 5.2 or compatible\n");

 to

if(stristr($content,'CentOS release 5.3 (Final)')) {
$distname = 'CentOS';
$distver = '5.3';
$distid = 'centos52';
$distbaseid = 'fedora';
swriteln("Operating System: CentOS 5.3 or compatible\n");

 

after that, everything works fine.

From: Omar at: 2009-04-09 15:46:33

Hi, thanks for this, perfect one, Juste in the install process of ISPConfig if you have downloaded the latest version of centos dvd will be unable to install ISPconfig you got : PHP Notice: Undefined variable: distver in /tmp/ispconfig3_install/install/lib/install.lib.php on line 135 PHP Notice: Undefined variable: distid in /tmp/ispconfig3_install/install/lib/install.lib.php on line 135 PHP Notice: Undefined variable: distbaseid in /tmp/ispconfig3_install/install/lib/install.lib.php on line 135 Linux Distribution of Version not recognized. until you edit :/tmp/ispconfig3_install/install/lib/install.lib.php replacing this : if(stristr($content,'CentOS release 5.2 (Final)')) { $distname = 'CentOS'; $distver = '5.2'; $distid = 'centos52'; $distbaseid = 'fedora'; swriteln("Operating System: CentOS 5.2 or compatible\n"); } by this : if(stristr($content,'CentOS release 5.3 (Final)')) { $distname = 'CentOS'; $distver = '5.3'; $distid = 'centos52'; $distbaseid = 'fedora'; swriteln("Operating System: CentOS 5.3 or compatible\n"); } bye.

From: Marco Cacchiani at: 2009-06-27 14:11:47

Absolutely perfect Tutorial!

Every step adequately commented, any ambiguity reported, every doubt prevented.

The best tutorial I have stumbled in in (many) years!

Thank you very much.

Marco

From: at: 2009-06-30 19:43:49

this is the by far the best tutorial i have seen before and i did the install and it works like a charm for me so thank you so very much !

From: Peter Sauer at: 2009-07-10 05:22:45

Congratulation to this HOWTO.

Following changes for Centos 5.3 were done - necessary due ongoing changes in the RPMFORGE REPO
see http://lists.rpmforge.net/pipermail/users/2009-July/002508.html
This problems prevented to perform a yum update - some of these perl libs are necessary for ISP Config 3. This problem seems to be fixed .  But there were also some other dependency resolution problems (yum update) during installation. (eg. lzo-lib). So I changed the priority of the RPMFORGE REPO for my third test installation -  Per aspera ad astra!.
See http://wiki.centos.org/PackageManagement/Yum/Priorities

check_obsoletes=1
[base], [addons], [updates], [extras] ... priority=1
[centosplus],[contrib] ... priority=2
[RPMFORGE] ... priority=3

Due my repo problems I installed all needed programs (yum install...) of this documentation before the configuraion jobs step by step with a accompanying yum update to indentify depency problems.

Section 10 - newer versions available
wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.62.4.tar.bz2
wget http://prdownloads.sourceforge.net/courier/courier-imap-4.5.1.tar.bz2
wget http://prdownloads.sourceforge.net/courier/maildrop-2.2.0.tar.bz2

Section 11 - I added postfix to the global exlude list of yum (yum.conf) to prevent killing this special postfix version by the next yum update!

Section 15 - package perl-DBD-mysql seems obsolet - package with the same name/content was included sooner from a CENTOS repo

Section 16 - to avoid more third party repos I download mod_fcigid and installed this package manually
http://centos.karan.org/el5/extras/testing/i386/RPMS/mod_fcgid-2.2-4.el5.kb.i386.rpm
add suPHP - newer version available
http://www.suphp.org/download/suphp-0.7.1.tar.gz

Section 18 - mydns - I tried also mydns-ng latest version instead of mydns. But mydns-ng dies sometimes - see http://www.howtoforge.de/forum/showthread.php?t=1911&page=4&highlight=mydns-ng. So I used mydns for Centos.

As last step I installed an Open-Exchange - works fine
http://www.open-xchange.com/wiki/index.php?title=Quick_install_guide_for_CentOS5

From: will at: 2009-07-21 07:47:03

Perfect Installation! Very well done.

From: Leo Reice at: 2009-08-12 16:43:41

Thanks so much for all the work you did on this.  Not only was I able to get a system up, but I also learned a lot.