The Perfect Setup - Fedora Core 4 - Page 5


ISPConfig works better with proftpd than with vsftpd, so let's remove vsftpd and install proftpd:

apt-get remove vsftpd
yum install proftpd
chkconfig --levels 235 proftpd on
/etc/init.d/proftpd start

Some users reported that they were not able to login with system users so you might have to do the following steps:

Create the file /etc/pam.d/ftp with the following content:

auth required nullok
account required
session required

Restart proftpd afterwards:

/etc/init.d/proftpd restart


To install webalizer, just run

apt-get install webalizer

Synchronize the System Clock

If you want to have the system clock synchronized with an NTP server do the following:

apt-get install rdate

rdate -s

Create /var/spool/cron/root:

# update time with ntp server
0 3,9,15,21 * * * /usr/bin/rdate -s | logger -t NTP

Then run

chmod 600 /var/spool/cron/root
/etc/init.d/crond restart

Install some Perl Modules needed by SpamAssassin (comes with ISPConfig)

Installation using the Perl Shell

Login to your command line as root and 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.

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.

The big advantage of the Perl shell compared to the two other methods described here is that it cares about dependencies when installing new modules. I.e., if it turns out that a prerequisite Perl module is missing when you install another module the Perl shell asks you if it should install the prerequisite module for you. You should answer that question with "Yes".

Run the following commands to install the modules needed by SpamAssassin:

install HTML::Parser
install DB_File
install Net::DNS
(when prompted to enable tests, choose no)
install Digest::SHA1
(to leave the Perl shell)

If a module is already installed on your system you will get a message similar to this one:

HTML::Parser is up to date.

Successful installation of a module looks like this:

/usr/bin/make install -- OK

The End

The configuration of the server is now finished, and if you wish you can now install ISPConfig on it.

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 Fedora's suExec is compiled with /var/www as Doc_Root. Run /usr/sbin/suexec -V, and the output should look like this:

To select /var/www as the home directory for websites during the installation of ISPConfig do the following: When you are asked for the installation mode, select the expert mode.

Later during the installation you are asked if the default directory /home/www should be the directory where ISPConfig will create websites in. Answer n and enter /var/www as the home directory for websites.


Share this page:

Suggested articles

10 Comment(s)

Add comment


By: Anonymous

hello!, i am newbie in linux, when I run install::DB_File I have a few errors:

Running install for module DB_File
Running make for P/PM/PMQS/DB_File-1.812.tar.gz
Checksum for /root/.cpan/sources/authors/id/P/PM/PMQS/DB_File-1.812.tar.gz ok
Uncompressed /root/.cpan/sources/authors/id/P/PM/PMQS/DB_File-1.812.tar.gz successfully
Using Tar:/bin/tar xvf /root/.cpan/sources/authors/id/P/PM/PMQS/DB_File-1.812.tar:
Couldn't untar /root/.cpan/sources/authors/id/P/PM/PMQS/DB_File-1.812.tar
Can You help me please?

By: Anonymous

I was receiving the "Couldn't untar ..." error as well. Although I never found out how to make it work in the shell, it did work when I ran the following command (without turning off any firewall):

perl -MCPAN -e 'install <perl module to install>'

Rather than dropping to a perl shell, it will install it straight from the command line. Also, don't use the "less than" and "greater than" symbols up above.


even if you install missing make, or gcc perl will not realize that automatically , so you have to do the following:

perl -MCPAN -e shell CPAN

cpan> o conf make /usr/bin/make


It worked for me.

take a look here:

By: Anonymous

After "install HTML::Parser" when I try "install DB_File " the system answers: Going to build P/PM/PMQS/DB_File-1.812.tar.gz

Looks Good.
Checking if your kit is complete...
Looks good
Note (probably harmless): No library found for -ldb
Writing Makefile for DB_File
cp blib/lib/
AutoSplitting blib/lib/ (blib/lib/auto/DB_File)
gcc -c -I/usr/local/BerkeleyDB/include -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i386 -mtune=pentium4 -fasynchronous-unwind-tables -DVERSION=\"1.812\" -DXS_VERSION=\"1.812\" -fPIC "-I/usr/lib/perl5/5.8.6/i386-linux-thread-multi/CORE" -D_NOT_CORE -DmDB_Prefix_t=size_t -DmDB_Hash_t=u_int32_t version.c
/bin/sh: gcc: command not found
make: *** [version.o] Error 127
/usr/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible

My pc is an AMD athlon. I've follow all previous steps without errors.

Any idea?

Thank you.

By: Anonymous

It's not cpan that is causing your issues, you do not have the developer tools installed. You need gcc, make and all associated files.

Do a yum install gcc and it should grab all dependencies of gcc.

By: Anonymous

Just want to say thanks ... I love it when things work as expected.

First I tried the "intelligent" way and failed. Then I found this howto, shut down my brain and did EXACTLY what is stated here . No brain no room for failure or SUE "stupid-user-error" :-)

Thanks Heiko

(P.s. ISP... still gives me some shit, but thats another story)

By: Anonymous

Great work,

Thanks again.

By: Anonymous

Thanks for putting this step. I installed ispconfig on a local machine and i skipped this step. however, the local machine worked fine(including FTP). Then i re-image exactly the same, but with different ip (was hosting by a colo datacenter). when i installed it at the colo, everything worked fine, except for the FTP. Then i remembered i skipped this step. I just returned to this page and did the step above. BINGO!!, it worked. You're a genius. Thanks for a great tool. Hope someday i'll make it big so i can help to contribute to this project.

By: Anonymous

You may also experience problems even after adding the /etc/pam.d/ftp file.

 /etc/proftpd.conf must be modified for 2 things.

  • Change the PAM config file name.
  • Allow not valid shell if your ftp users have no shell access.


Change/Add these lines :

# Add this for non shell accounts.

RequireValidShell               off

# Change this to "ftp", above explains to create the file /etc/pam.d/ftp not /etc/pam.d/proftpd 

AuthPAMConfig                 ftp

By: Anonymous

After having ISPConfig up and running for a few months I started to get an error message from CRON telling me that rdate could not connect to the server listed in this howto.

/usr/bin/rdate -s | logger -t NTP

rdate: couldn't connect to host Connection refused

I simply went to NTP's website and found a server close to me and entered it in

/var/spool/cron/root under the rdate command. This seemed to fix the problem. Looks like the server is shutdown or not accepting connections. Just an FYI.