The Perfect Server - CentOS 5.4 x86_64 [ISPConfig 3] - Page 5
14 Set MySQL Passwords And Configure phpMyAdmin
chkconfig --levels 235 mysqld on
Then set passwords for the MySQL root account:
mysqladmin -u root password yourrootsqlpassword
Now we configure phpMyAdmin. We change the Apache configuration so that phpMyAdmin allows connections not just from localhost (by commenting out the <Directory "/usr/share/phpmyadmin"> stanza):
Next we change the authentication in phpMyAdmin from cookie to http:
Then we create the system startup links for Apache and start it:
chkconfig --levels 235 httpd on
Now you can direct your browser to http://server1.example.com/phpmyadmin/ or http://192.168.0.100/phpmyadmin/ and log in with the user name root and your new root MySQL password.
15 Install Amavisd-new, SpamAssassin And ClamAV
To install amavisd-new, spamassassin and clamav, run the following command:
yum install amavisd-new spamassassin clamav clamd unzip bzip2 unrar perl-DBD-mysql
Then we start freshclam, amavisd, and clamd...
chkconfig --levels 235 amavisd on
... and create some necessary directories:
mkdir /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db
16 Installing Apache2 With mod_php, mod_fcgi/PHP5, And suPHP
ISPConfig 3 allows you to use mod_php, mod_fcgi/PHP5, cgi/PHP5, and suPHP on a per website basis.
mod_fcgid is not available in the official CentOS repositories, but there's a package for CentOS 5.x in the centos.karan.org testing repository. We enable the repository as follows:
Next we open /etc/yum.repos.d/kbsingh-CentOS-Extras.repo...
... and set gpgcheck to 0 and enabled to 1 in the [kbs-CentOS-Testing] section:
Afterwards we can install Apache2with mod_php5, mod_fcgid, and PHP5:
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-mbstring php-mcrypt php-mhash php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel
Next we open /etc/php.ini...
... and change the error reporting (so that notices aren't shown any longer) and add cgi.fix_pathinfo = 1 at the end of the file:
Next we install suPHP:
Then we add the suPHP module to our Apache configuration...
... and create the file /etc/suphp.conf as follows:
Finally we restart Apache:
17 Install PureFTPd
PureFTPd can be installed with the following command:
yum install pure-ftpd
Then create the system startup links and start PureFTPd:
chkconfig --levels 235 pure-ftpd on
18 Install MyDNS
There's no MyDNS rpm package for the x86_64 architecture, and building MyDNS from the sources on CentOS 5.4 x86_64 fails because of some incompatibilities with the mysql-devel package. Therefore we install the MyDNS rpm package for i386 which works on x86_64 as well:
When the system boots, MyDNS must be started after MySQL. The MySQL startup link has the priority 64 on CentOS, so the MyDNS startup link must have a priority between 65 and 99. Therefore we open the MyDNS init script...
... and change
Then we create the startup links:
chkconfig --levels 235 mydns on
We don't start MyDNS now because it must be configured first - this will be done automatically by the ISPConfig 3 installer later on.
19 Install Vlogger And Webalizer
Vlogger and webalizer can be installed as follows:
yum install webalizer perl-DateTime-Format-HTTP perl-DateTime-Format-Builder
20 Install Jailkit
Jailkit is needed only if you want to chroot SSH users. It can be installed as follows (important: Jailkit must be installed before ISPConfig - it cannot be installed afterwards!):
21 Install fail2ban
This is optional but recommended, because the ISPConfig monitor tries to show the log:
yum install fail2ban
chkconfig --levels 235 fail2ban on
22 Install rkhunter
rkhunter can be installed as follows:
yum install rkhunter