CentOS 4.6 Server Setup: LAMP, Email, DNS, FTP, ISPConfig (a.k.a. The Perfect Server) - Page 6
ISPConfig has better support for proftpd than vsftpd, so let's remove vsftpd:
yum remove vsftpd
Because CentOS has no proftpd package, we must use a third-party yum repository to install it:
rpm --import http://centos.karan.org/RPM-GPG-KEY-karan.org.txt
Now we can install proftpd:
yum install proftpd
Let's create proftpd's system startup links and start it:
chkconfig --levels 235 proftpd on
Then create the file /etc/pam.d/ftp with the following content (otherwise you will not be able to log in with system users using FTP):
#%PAM-1.0 auth required pam_unix.so nullok account required pam_unix.so session required pam_unix.so
and restart proftpd:
To install webalizer, just run
yum install webalizer
14 Synchronize The System Clock
If you want to have the system clock synchronized with an NTP server do the following:
yum install ntp
chkconfig --levels 235 ntpd on
15 Install Some Perl Modules
ISPConfig comes with SpamAssassin which needs a few Perl modules to work. We install the required Perl modules with a single command:
yum install perl-DBI perl-Net-DNS perl-Digest-SHA1
We also need the module HTML::Parser. We could install the CentOS package perl-HTML-Parser, but this version is too old for the SpamAssassin version that comes with ISPConfig. It would result in the following error message during ISPConfig installation:
REQUIRED module out of date: HTML::Parser
Therefore we must install the latest HTML::Parser using the Perl shell.
Run the following command to start the Perl shell:
perl -MCPAN -e shell
If you run the Perl shell for the first time you will be asked some questions. In most cases the default answers are ok. Because there's no ncftp package for CentOS, the Perl shell cannot find the programs ncftpget and ncftp, and you'll see something like this:
Warning: ncftpget not found in PATH
Where is your ncftpget program? 
Warning: ncftp not found in PATH
Where is your ncftp program? 
It's ok to hit ENTER in both cases.
Please note: If you run a firewall on your system you might have to turn it off while working on the Perl shell in order for the Perl shell to be able to fetch the needed modules without a big delay. You can switch it on afterwards.
Now type in the following command to install the Perl module HTML::Parser:
If the installation is successful, you'll see a line like this at the end:
/usr/bin/make install -- OK
afterwards to leave the Perl shell.
16 The End
The configuration of the server is now finished, and if you wish you can now install ISPConfig on it.
16.1 A Note On SuExec
If you want to run CGI scripts under suExec, you should specify /var/www as the home directory for websites created by ISPConfig as CentOS' suExec is compiled with /var/www as Doc_Root. Run
and the output should look like this:
[[email protected] ~]# /usr/sbin/suexec -V
[[email protected] ~]#
So if you want to use suExec with ISPconfig, don't change the default web root (which is /var/www) if you use expert mode during the ISPConfig installation (in standard mode you can't change the web root anyway so you'll be able to use suExec in any case).