The Perfect Server - CentOS 6.0 x86_64 [ISPConfig 3] - Page 3

Want to support HowtoForge? Become a subscriber!
Submitted by falko (Contact Author) (Forums) on Thu, 2011-08-04 16:08. ::

4 Adjust /etc/hosts

Next we edit /etc/hosts. Make it look like this:

vi /etc/hosts   localhost localhost.localdomain localhost4 localhost4.localdomain4     server1

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


5 Configure The Firewall

(You can skip this chapter if you have already disabled the firewall at the end of the basic system installation.)

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).



and disable the firewall.

To check that the firewall has really been disabled, you can run

iptables -L

afterwards. The output should look like this:

[root@server1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
[root@server1 ~]#


6 Disable SELinux

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 (this is a must if you want to install ISPConfig later on).

Edit /etc/selinux/config and set SELINUX=disabled:

vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.

Afterwards we must reboot the system:



7 Enable Additional Repositories And Install Some Software

First we import the GPG keys for software packages:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Then we enable the RPMforge and EPEL repositories on our CentOS system as lots of the packages that we are going to install in the course of this tutorial are not available in the official CentOS 6.0 repositories:

rpm --import

cd /tmp
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

(If the above link doesn't work anymore, you can find the current version of rpmforge-release here:

rpm --import
rpm -ivh epel-release-6-5.noarch.rpm

yum install yum-priorities

Edit /etc/yum.repos.d/epel.repo...

vi /etc/yum.repos.d/epel.repo

... and add the line priority=10 to the [epel] section:

name=Extra Packages for Enterprise Linux 6 - $basearch

Then we update our existing packages on the system:

yum update

Now we install some software packages that are needed later on:

yum groupinstall 'Development Tools'


8 Quota

(If you have chosen a different partitioning scheme than I did, you must adjust this chapter so that quota applies to the partitions where you need it.)

To install quota, we run this command:

yum install quota

Edit /etc/fstab and add ,usrjquota=aquota.user,,jqfmt=vfsv0 to the / partition (/dev/mapper/vg_server1-lv_root):

vi /etc/fstab

# /etc/fstab
# Created by anaconda on Mon Jul 11 16:29:27 2011
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
/dev/mapper/vg_server1-lv_root /                       ext4    defaults,usrjquota=aquota.user,,jqfmt=vfsv0        1 1
UUID=6a119ddb-46eb-4054-a17c-8968ea87369f /boot                   ext4    defaults        1 2
/dev/mapper/vg_server1-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

Then run

mount -o remount /

quotacheck -avugm
quotaon -avug

to enable quota.


9 Install Apache, MySQL, phpMyAdmin

We can install the needed packages with one single command:

yum install ntp httpd mod_ssl mysql-server php php-mysql php-mbstring phpmyadmin

Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by Joseph Mouhanna (not registered) on Wed, 2012-03-28 01:06.

Please note that step 7 does not work -- installing the EPEL 6 repos. Instead of the prescribed method:

rpm --import
rpm -ivh epel-release-6-5.noarch.rpm

you should use the following (which will get the repo and install it):

rpm -Uvh


Submitted by Anonymous (not registered) on Mon, 2013-03-11 04:46.

The current version is 6_8 just replace the 5 with an 8

Submitted by Michael (not registered) on Fri, 2012-05-25 11:26.
please assist me here i have failed to install the EPEL 6 repos am using CentOS6.2 Thanks
Submitted by Matthew McCleary (not registered) on Tue, 2012-03-27 16:21.
Please update your documentation to reflect the move from to (as of February, 2012). Thanks.
Submitted by Alex (not registered) on Thu, 2012-02-02 19:04.

I had a problem with phpMyAdmin.

 This guide refers to phpmyadmin, when it should be phpMyAdmin.

yum install phpmyadmin, will install an old version that will not update with yum update.

yum install phpMyAdmin, will install from epel repository. Also it will be kept updated with yum  update.

Submitted by jemadsen (registered user) on Sun, 2011-10-30 04:09.

In the Centos 6 distribution I have, wget is not installed as part of the "Minimal Server" option.

yum install wget

Submitted by dannypb (registered user) on Wed, 2011-10-26 16:36.

I was and had to add the following to my setup. In the system-config-network-tui I used a gateway that has access to the proxy I had to use, on another network. then in my /etc/profile I add the following lines:

export ftp_proxy=[your proxy ip]:[your proxy port]

export http_proxy=[your proxy ip]:[your proxy port]

export https_proxy=[your proxy ip]:[your proxy port]

then reboot and everything should be good to use the proxy.  Oh I also added the line proxy=[your proxy ip]:[your proxy port] to my /etc/yum.conf just to be safe.

Submitted by relaxmasha (not registered) on Tue, 2011-10-25 13:29.
compatible version php-mbstring for CentOS 6.0 x86_64 not found :(
Submitted by Biju (not registered) on Thu, 2011-09-08 13:07.
yum install yum-priorities
Loaded plugins: fastestmirror
Determining fastest mirrors
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
Submitted by Brian (not registered) on Fri, 2012-01-27 13:35.

For me this error was because of being behind a firewall. If you set the https_proxy variable to point at your proxy server before running yum, it should work.

Submitted by styson011 (not registered) on Thu, 2011-09-15 15:24.

Try this and see if it works, worked for me :

 cd /etc/yum.repos.d/
vi ./epel.repo

then comment all the mirrorlist= lines (#mirrorlist=........)

 and uncomment the #baseurl lines and save the file

 then try the "yum install priorities" again


Submitted by Anonymous (not registered) on Tue, 2013-10-01 12:00.
Many thanks from italy. Saved my life!
Submitted by Anonymous (not registered) on Thu, 2013-07-18 14:29.
Your a lifesaver!!! thanks a million man!!!!
Submitted by Anonymous (not registered) on Wed, 2012-06-13 18:00.
it works, thanks a bunch
Submitted by Sevastian1711 (not registered) on Wed, 2011-11-09 02:07.
this also helped me a lot, thanks for the help.
Submitted by Marvio Rocha (not registered) on Mon, 2011-10-31 09:07.

Solved. Now my yum update working!

Thanks you!

Submitted by lesley dos sant... (not registered) on Thu, 2011-10-06 20:42.

Very very very thanks!!!!

good text!

Submitted by Michael Ecklund (not registered) on Tue, 2011-08-16 19:37.

Step 7 For 32 Bit Users

Do the following:

cd /tmp
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm


I don't know if it's a typo on the repoforge or if it's supposed to be like that, but they have it as .i686.rpm, by default when I was changing it from 64 bit to 32 bit, I was typing .i386.rpm and getting 404 errors. Just make sure you note the difference.