Now we install Apache with PHP5 (this is PHP 5.2.6):
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml
php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring
php-mcrypt php-mhash php-mssql php-shout php-snmp php-soap php-tidy curl curl-devel
perl-libwww-perl ImageMagick libxml2 libxml2-devel
Then edit /etc/httpd/conf/httpd.conf:
vi /etc/httpd/conf/httpd.conf
and change DirectoryIndex to
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl
Now configure your system to start Apache at boot time:
chkconfig --levels 235 httpd on
Start Apache:
/etc/init.d/httpd start
12.1 Disable PHP Globally
(If you do not plan to install ISP Config on this server, please skip this section!)
In ISPConfig you will configure PHP on a per-website basis, i.e. you can specify which website can run
PHP scripts and which one cannot. This can only work if PHP is disabled globally because otherwise all
websites would be able to run PHP scripts, no matter what you specify in ISPConfig.
To disable PHP globally, we edit /etc/httpd/conf.d/php.conf and comment out the AddHandler and
AddType lines:
vi /etc/httpd/conf.d/php.conf
Afterwards we restart Apache:
/etc/init.d/httpd restart
12.2 Ruby
Starting with version 2.2.20 , ISPConfig has built-in support for Ruby. Instead of using CGI/FastCGI,
ISPConfig depends on mod_ruby being available in the server's Apache.
For Fedora 10 , there's no mod_ruby pack age available, so we must compile it ourselves. First we
install some prerequisites:
yum install httpd-devel ruby ruby-devel
Next we download and install mod_ruby as follows:
cd /tmp
wget http://www.modruby.net/archive/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3.0/
./configure.rb --with-apr-includes=/usr/include/apr-1
make
make install
Finally we must add the mod_ruby module to the Apache configuration, so we create the file
/etc/httpd/conf.d/ruby.conf
vi /etc/httpd/conf.d/ruby.conf
... and restart Apache:
/etc/init.d/httpd restart
You can find more details about mod_ruby in this article.
12.3 Installing mod_python
To install mod_python, we simply run...
yum install mod_python
... and restart Apache afterwards:
/etc/init.d/httpd restart
13 ProFTPd
ISPConfig has better support for proftpd than vsftpd, so let's remove vsftpd and install proftpd:
yum remove vsftpd
yum install proftpd
Now we can create the system startup links for Proftpd and start it:
chkconfig --levels 235 proftpd on
/etc/init.d/proftpd start
14 Webalizer
To install webaliz er, just run
yum install webalizer
15 Synchronize The System Clock
If you want to have the system clock synchroniz ed with an NTP server do the following:
yum install ntp
chkconfig --levels 235 ntpd on
ntpdate 0.pool.ntp.org
/etc/init.d/ntpd start
16 Install Som e 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-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1 perl-ExtUtils-
AutoInstall
17 ISPConfig
The configuration of the server is now finished. You can now install ISPConfig on it, following these
instructions: http://www.ispconfig.org/manual_installation.htm
17.1 A Note On SuExec
If you want to run CGI scripts under suExec, you should specify /var/www as the web root 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:
[root@server1 ~]# /usr/sbin/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="public_html"
[root@server1 ~]#
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).