Thursday, June 18, 2009

webserver -Apache2 With PHP, Ruby, Python in fedora 10

Apache2 With PHP, Ruby, Python
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 ~]#

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

No comments: