<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SupportSages &#187; Apache</title>
	<atom:link href="http://www.supportsages.com/blog/category/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.supportsages.com/blog</link>
	<description>Technical Support and Server Management : Musings in the fox hole.</description>
	<lastBuildDate>Fri, 16 Jul 2010 02:47:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>mod_php explained</title>
		<link>http://www.supportsages.com/blog/2010/06/mod_php-explained/</link>
		<comments>http://www.supportsages.com/blog/2010/06/mod_php-explained/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 14:32:58 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Apache Handler Support]]></category>
		<category><![CDATA[level1]]></category>
		<category><![CDATA[mime type support]]></category>
		<category><![CDATA[mod_php]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.supportsages.com/blog/?p=895</guid>
		<description><![CDATA[<h3>Preface</h3>
Like in the case of all apache modules, you can either compile PHP as a  static module or compile it as a dynamic module.  In the case of static  module , you  can't perform any modification for the module without  recompiling the binary to which it is attached.  For eg.  you can't add  ssl support for the mod_php without re-compiling apache as a whole. And any failure in the compilation may cause downtime for the entire webserver also, including plain html support.

The advantage is that it provides a faster  performance, because the  module is initialized  ...]]></description>
			<content:encoded><![CDATA[<h3>Preface</h3>
<p>Like in the case of all apache modules, you can either compile PHP as a  static module or compile it as a dynamic module.  In the case of static  module , you  can&#8217;t perform any modification for the module without  recompiling the binary to which it is attached.  For eg.  you can&#8217;t add  ssl support for the mod_php without re-compiling apache as a whole. And any failure in the compilation may cause downtime for the entire webserver also, including plain html support.</p>
<p>The advantage is that it provides a faster  performance, because the  module is initialized  whenever the apache binary is started.</p>
<p>In the case of a dynamic mod_php installation, the necessary modifications or module additions can be  done by recompiling the module alone. There is no need to recompile the  Apache as the mod_php is not linked with the binary of apache.  But  since the webserver loads the module on the fly, it needs to load,  initialize and then execute the module.  So it can create some level of  slowness while processing php pages.</p>
<p><strong>How does mod_php work? </strong></p>
<p>When PHP  is loaded into Apache as a module (using  mod_php), each Apache process will contain an instance of mod_php or  PHP interpreter also.   The interpreter comes with a bundle of  libraries we enabled during compilation and each  process can make use  of these libraries to process the requests. This means that the  Apache process that just started  to load a simple HTML page  too will  contain a PHP interpreter with all assigned libraries which inturn means resource consumption.</p>
<p>When the webserver gets an HTTP request. The  request header   contains the path to the requested document</p>
<blockquote><p>e.g. access.log:    xx.xx.xx.xx &#8211; - [22/June/2010:21:14:53  -0700] &#8220;GET /info.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42  HTTP/1.1&#8243; 200 2146 &#8220;http://domain.com/info.php&#8221; &#8220;Mozilla/5.0 (X11; U;  Linux i686; en-US; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic)  Firefox/3.5.7&#8243;</p></blockquote>
<p>1. The request will be redirected to the document root of the domain  and then to the file &#8220;info.php&#8221; , if it fails then the corresponding  error message will be given.</p>
<p>2. The info.php file is to be processed. It follows the following  steps</p>
<p>Normally every httpd.conf file will have an entry like this</p>
<blockquote><p>AddType application/x-httpd-php .php5 .php4 .php</p></blockquote>
<p>It instructs the webserver that the files with extension .php  ,.php4,.ph5 are of PHP mime type  . The <strong>TypesConfig</strong> directive sets the location of the MIME     types configuration file.  This file controls what Internet media types are sent to the client for   given file extension(s).  Sending the correct media type to the client   is important so they know how to handle the content of the file.</p>
<blockquote><p>root@new [/usr/local/apache/conf]# cat mime.types | grep  x-httpd-php<br />
application/x-httpd-php-source          phps<br />
application/x-httpd-php          php php3 php4 php5 php6<br />
root@new [/usr/local/apache/conf]#</p></blockquote>
<p>Here we can see that the Mime type to be used for files with  extension .php  is application/x-httpd-php , while the file with .phps  is to be mapped to the php mime type application/x-httpd-php-source .</p>
<p>The webserver identifies that the requested file is of Mime type  x-httpd-php.</p>
<p>To handle or process it , the apache has to load the corresponding  module. Since it is a php type , the module mod_php will be loaded and  it will execute the file.</p>
<p>Since apache is a HTTP server. It gets the HTTP requests and answers  with the HTML code.  So the mod_php will execute the commands within  php flag and creates the HTML page dynamically and send it back to the  client &#8211; internet browser which sent HTTP request.</p>
<p><strong>Security concerns / Implications<br />
</strong></p>
<p>You can see that  every request or execution of a php file through  web is initiated by the webserver. So the webserver acts as the parent  of every php execution through web. It imposes a great security threat.  Since apache is being executed as an apache  user, all process will be  owned by that user. By default  it is &#8220;nobody&#8221; or &#8220;apache&#8221;.  Let me try  to explain.</p>
<p>If your  web application performs some operations in the  db, unless that database (eg: a flat text DB) has built-in access control, you will have to  make the database accessible to the &#8220;nobody&#8221; user. This means a  malicious script could access and modify the database, even without a  username and password.  Such can be the case with various configuration  files too.  Unless you protect these directories or applications with  necessary authorization techniques like .htaccess, session control etc.  There is a high possibility of attack through webapplication.</p>
<p>Another dangerous issue is of root escalation. If the webserver has a bug, by exploiting that bug, a malicious user can gain some root privileges or escalated to root. Its quite  alarming situation as an escalated apache user can do any sort of   actions without any level of authentication.</p>
<p>Also it is difficult to identify the script which performs the  malicious activity as all php scripts will be executed as &#8220;nobody&#8221;</p>
<p>Since PHP applications are executed as web server user, you need to  give access and write permissions for the directories wherever the  application  is supposed to be working. Sometimes you may be forced to  give 777 permissions and it invites lot of attacks.</p>
<p>The files created by php applications will be owned by user &#8220;nobody&#8221; .  So the user will not be able to delete the files unless it is done  through another php application. Otherwise he needs to contact the  server admin to get the same.</p>
<p>As a security measure, we may be forced to block mails from &#8220;nobody&#8221;  users . But it can create mails generated from php applications being  blocked in the server. Various php applications widely used for spamming  . So some servers are configured to block mails from nobody users. This  creates inconvenience to users.</p>
<p align="left"><a  class="tt" href="http://twitter.com/home/?status=mod_php+explained+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F895" title="Post to Twitter"><img class="nothumb" src="http://www.supportsages.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a  class="tt" href="http://twitter.com/home/?status=mod_php+explained+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F895" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.supportsages.com/blog/2010/06/mod_php-explained/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The very basics of a PHP &#8211; Not for the developers or sysadmins but for a tech support engineer</title>
		<link>http://www.supportsages.com/blog/2010/06/php-basics/</link>
		<comments>http://www.supportsages.com/blog/2010/06/php-basics/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 14:30:46 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Howtos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Specials]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[basics]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[interpreter]]></category>
		<category><![CDATA[parser]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php modes]]></category>
		<category><![CDATA[php-cgi]]></category>
		<category><![CDATA[sapi]]></category>
		<category><![CDATA[server side scripting]]></category>

		<guid isPermaLink="false">http://www.supportsages.com/blog/?p=890</guid>
		<description><![CDATA[<h3><strong>What is PHP?</strong></h3>
PHP is similar to many other scripting languages like perl,  python etc. But unlike perl and python what makes it stand apart is, its adaptability and power to be used as both <strong>command line</strong> and <strong>server side scripting</strong>.  I hear Yahoo's mail runs on PHP.

I shall try to explain you the difference by executing the same file  on different modes. Don't expect too much from this post.
<h3><strong>Command Line (CLI)
</strong></h3>
<strong>PHP Command Line Interface</strong> or PHP CLI  as the name implies,   is a way of using PHP in the system command line, like below.<span id="more-890"></span>

[php]
# php -i ...]]></description>
			<content:encoded><![CDATA[<h3><strong>What is PHP?</strong></h3>
<p>PHP is similar to many other scripting languages like perl,  python etc. But unlike perl and python what makes it stand apart is, its adaptability and power to be used as both <strong>command line</strong> and <strong>server side scripting</strong>.  I hear Yahoo&#8217;s mail runs on PHP.</p>
<p>I shall try to explain you the difference by executing the same file  on different modes. Don&#8217;t expect too much from this post.</p>
<h3><strong>Command Line (CLI)<br />
</strong></h3>
<p><strong>PHP Command Line Interface</strong> or PHP CLI  as the name implies,   is a way of using PHP in the system command line, like below.<span id="more-890"></span></p>
<pre class="brush: php;">
# php -i | more
phpinfo()
PHP Version =&gt; 5.2.10-2ubuntu6.3

System =&gt; Linux den 2.6.31-15-generic #50-Ubuntu SMP Tue Nov 10 14:54:29 UTC 200
9 i686
Build Date =&gt; Nov 26 2009 14:40:20
Server API =&gt; Command Line Interface
Virtual Directory Support =&gt; disabled
Configuration File (php.ini) Path =&gt; /etc/php5/cli
Loaded Configuration File =&gt; /etc/php5/cli/php.ini
</pre>
<p>In other words when the  SAPI ( Server API) is &#8220;Command Line Interface&#8221; as you see above php-cli acts as a connector between  underlying  php binary and the command / script which invokes php from  shell . This enables processing of the scripts which require php  functions and provide the result after execution of the script.   The  advantage is that it doesn&#8217;t require a browser or webserver  for the  execution. It simply requires a PHP parser ie PHP_CLI. This  type of usage is ideal for scripts regularly        executed using cron  (on *nix or Linux) or Task Scheduler (on        Windows). These scripts  can also be used for simple text        processing tasks. (Okay even image processing tasks <img src='http://www.supportsages.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> )</p>
<p>PHP CLI is available on all popular operating  systems.  The first step we need to ensure is that the CLI SAPI is installed. For this locate php binary path and execute the command as given below</p>
<pre class="brush: bash;">
[george@server3]$ type php
php is /usr/local/bin/php
[george@server3]$ /usr/local/bin/php -v | grep cli
PHP 5.2.9 (cli) (built: Jul 10 2009 19:22:08)
</pre>
<p>The result ensures that the php-cli module is installed. Now let us   see, how to make it work in a shell. The first thing is to identify the exact  path on which php  binary is present. I assume that its  /usr/local/bin/php.</p>
<p>Now create the test file info.php</p>
<p>vi info.php</p>
<pre class="brush: php;">

&lt;?php
phpinfo();
?&gt;
</pre>
<p>Execute the  file from the shell using the command line or shell. If  you intent to use it in a cron specify the binary path (interpreter) as  the first entry of file .</p>
<p><strong>/usr/local/bin/php info.php</strong></p>
<p>Then the out put will be  of the following  format</p>
<pre class="brush: php;">

[geroge@server3]# php info.php | head
phpinfo()
PHP Version =&gt; 5.2.9

System =&gt; Linux server3.xxxxxx.xxx 2.6.18-128.7.1.el5 #1 SMP Mon  Aug 24 08:21:56 EDT 2009 x86_64
Build Date =&gt; Jul 10 2009 19:17:35
Configure Command =&gt;  './configure'  '--enable-bcmath'  '--enable-calendar' '--enable-dbase' '--enable-ftp'  '--enable-gd-native-ttf' '--enable-libxml' '--enable-magic-quotes'  '--enable-mbstring' '--enable-pdo=shared' '--enable-soap'  '--enable-sockets' '--enable-zend-multibyte' '--enable-zip'  '--prefix=/usr/local' '--with-curl=/opt/curlssl/'  '--with-tidy=/opt/tidy/' '--with-ttf' '--with-xmlrpc'  '--with-xpm-dir=/usr' '--with-zlib' '--with-zlib-dir=/usr'  '--with-litespeed'
Server API =&gt; Command Line Interface
Virtual Directory Support =&gt; disabled
Configuration File (php.ini) Path =&gt; /usr/local/lib
Loaded Configuration File =&gt; /usr/local/lib/php.ini
</pre>
<p>You can see the Application Programming Interface (API) for this  script by  checking the variable <strong>Server API. </strong>In the above test,  it is shown as <strong>Command Line Interface.</strong> The value gets changed  according to the mode of usage or execution.</p>
<p>As I mentioned above the php binary was  invoked  by the php-cli  interpreter. Once php binary executed the query , the result was  returned to the SAPI  ie php-cli, it then passed the results to the  command line.</p>
<p><strong>Why do we use it?</strong></p>
<p>Its a quite handy option to create cron jobs. Some times we may need  to perform some sort of updates or script execution periodically. If we  set  a cron job for this using php, the php-cli option is quite  useful.</p>
<h3><strong>Server-side scripting</strong></h3>
<p>PHP is extensively used for creating dynamic Web pages. You  create pages with PHP and HTML. When a visitor opens the page, the  server processes the PHP commands and then sends the results to the  visitor&#8217;s browser along with the static HTML pages. PHP code is  embedded into the HTML source document and interpreted by a web server  with a PHP processor module, which generates the web page document.</p>
<p>So the minimum requirement for here are the following ones</p>
<p>1.  Web browser ( client side)</p>
<p>2.  Web server</p>
<p>3.   The PHP parser :  which connects the webserver  with the underlying php installation.</p>
<h4>Illustration :</h4>
<p>Now lets us, take the same example. Here I am trying to access the  page through a web browser. Let us see how the result looks like</p>
<p><img title="info_php" src="http://tuxasa.com/blogs/wp-content/uploads/2010/03/info_php.png" alt="info_php" width="625" height="518" /></p>
<p>Here , you can see the difference. In the first case when I executed  the same file from shell  I got the output without any format. Now the  same result is shown as an HTML page.  So let us see  how the conversion  takes pace.</p>
<p>The webserver is  connected to the php with the help of &#8220;Server API&#8221; .  This is called PHP parser  it is either<strong> CGI or Server Module</strong> like apache, litespeed etc. You can see  it is &#8220;CGI&#8221; here, but it can  vary according the mod of installation and webserver it uses. Common values are FastCGI/CGI , Litespeed API, Apache etc</p>
<p>Once the HTTP  / Web server gets the request for the page with php ,  it calls PHP interpreter to generate HTML. Then this HTML is returned to  the client &#8211; internet browser which sent the HTTP request.</p>
<p>I believe you might got some ideas how it works or differs . I shall  try to give  the difference between CGI and a server module on another  post <img src='http://www.supportsages.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3><strong>Server API (SAPI)</strong></h3>
<p>PHP is meant  to work on all platforms. So it is essential that it  should work with different types of webservers as well.   Every version of  php  comes with a set of Binaries to connect php with various webservers and  it is known as SAPI.  During configuration of php, we  need to give  corresponding options for the webserver to which the interpreter is to be  enabled. Once the php is compiled and installed , the corresponding  SAPI  will be activated. So every communication between the webserver  and PHP will be interpreted  using the corresponding SAPI module enabled.</p>
<p>Apache may use &#8220;Apache Handler&#8221; while LiteSpeed webserver use &#8220;LiteSpeed API&#8221; as the SAPI.</p>
<h3><strong>Extensions </strong></h3>
<p>Being a powerful language which can perform various levels of  operation,  PHP needs to utilize various functions and libraries  installed on the server. For example GD libraries are required for a php  script which performs image manipulations. While a shopping cart or  such applications require db connectivity to be enabled.  Like in the  case of SAPI a lot of such connectors are shipped along with PHP.  To  extend the functionality of php, we enable the necessary libraries while  configuring the application using &#8220;&#8211;with&#8221;  option.</p>
<p>You can create your own php extensions and php modules and compile  them also.  Again, we will have a discussion about it later.</p>
<p align="left"><a  class="tt" href="http://twitter.com/home/?status=The+very+basics+of+a+PHP+-+Not+for+the+developers+or+sysadmins+but+for+a+tech+support+engineer+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F890" title="Post to Twitter"><img class="nothumb" src="http://www.supportsages.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a  class="tt" href="http://twitter.com/home/?status=The+very+basics+of+a+PHP+-+Not+for+the+developers+or+sysadmins+but+for+a+tech+support+engineer+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F890" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.supportsages.com/blog/2010/06/php-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Source compilation of Apache</title>
		<link>http://www.supportsages.com/blog/2010/06/source-compilation-of-apache/</link>
		<comments>http://www.supportsages.com/blog/2010/06/source-compilation-of-apache/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 21:03:45 +0000</pubDate>
		<dc:creator>victor</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Howtos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[VPS]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://www.supportsages.com/blog/?p=871</guid>
		<description><![CDATA[<strong>﻿Basics of Compilation of Apache with PHP</strong>

Here we are going to install apache using the source only. The choice of Operating System here is Linux (distro: Centos). The procedure we follow here will lead to a simple apache installation for dynamic loading of php. PHP will be installed as a module to apache. With a little bit of patience and time, all the necessary modules can be installed with apache. I will be giving a brief idea about the installation of the other modules later.
The basics of installation from the source involves mainly three <em>simple</em> steps (assuming you are lucky):

[bash]
./configure
make
make ...]]></description>
			<content:encoded><![CDATA[<p><strong>﻿Basics of Compilation of Apache with PHP</strong></p>
<p>Here we are going to install apache using the source only. The choice of Operating System here is Linux (distro: Centos). The procedure we follow here will lead to a simple apache installation for dynamic loading of php. PHP will be installed as a module to apache. With a little bit of patience and time, all the necessary modules can be installed with apache. I will be giving a brief idea about the installation of the other modules later.<br />
The basics of installation from the source involves mainly three <em>simple</em> steps (assuming you are lucky):</p>
<pre class="brush: bash;">
./configure
make
make install</pre>
<p>./configure creates the MAKEFILE on the fly. We can provide the necessary options to configure. To list the available options in the configuring step use</p>
<pre class="brush: bash;">./configure --help</pre>
<p>&#8211;prefix=/path/&#8230; mentions where the executable and its files are installed. If not mentioned it takes the default values.<br />
&#8211;enable-[Feature] will enable the specified Feature in apache as it is being built. We are only interested in the DSO capability and hence we enable it with: &#8211;enable-so</p>
<p>As a convention we always keep the source code tar ball inside a directory in /usr/src/, thus source installation begins in this directory.</p>
<p><strong>Apache Compilation</strong></p>
<p>Download the required source tar ball of the apache you would like to compile. Here I am installing httpd-2.0.63 from http://httpd.apache.org/download.cgi#apache20. I save it in the /usr/src/ folder.</p>
<pre class="brush: bash;">
cd /usr/src/
wget http://www.bizdirusa.com/mirrors/apache/httpd/httpd-2.0.63.tar.gz</pre>
<p>This will result in the generation of the file httpd-2.0.63.tar.gz</p>
<pre class="brush: bash;">
tar -xzf httpd-2.0.63.tar.gz</pre>
<p>This will result in the creation of the directory httpd-2.0.63. Next enter inside this directory and execute the ./configure command.</p>
<pre class="brush: bash;">
cd httpd-2.0.63
./configure --prefix=/usr/local/webserver --enable-so</pre>
<p>We are installing apache inside /usr/local/webserver and enable DSO to run php as a module to apache. During this process we may get a lot of errors. We resolve these by manually installing the unresolved dependencies either by obtaining their rpms or by using yum. Normally the first dependency we will get to resolve are:</p>
<pre class="brush: bash;">
gcc
glibc
libxml and
their corresponding devel packages</pre>
<p>In the days where there were no package management tools like yum, pirut, apt-get etc. The old rpms served the installation of these packages with some effort. The task of determining the required rpm package for the required architecture and resolving the other dependencies which arise due to the installation of this rpm may be a tedious task. Some sites which helped in obtaining the necessary rpm suited for our installation and its other dependancies are:</p>
<pre class="brush: bash;">

http://rpm.pbone.net/

http://www.rpmfind.net/linux/RPM/

http://ftp.freshrpms.net/

http://dries.ulyssis.org/rpm/packages.html

http://apt.sw.be/

http://rpms.famillecollet.com/ (Remi RPM Repository)</pre>
<p>Once everything goes well (we do the ./configure step again to determine this), the make command is executed.</p>
<pre class="brush: bash;">
make</pre>
<p>If errors are encountered in this stage, We resolve them by installing the unresolved dependencies (Same as the previous step) and then do:</p>
<pre class="brush: bash;">
make clean</pre>
<p>After this we repeat the make command and then issue:</p>
<pre class="brush: bash;">
make install</pre>
<p>This process installs the package finally within the system. Modify the init script ( /etc/rc.d/init.d/httpd or /etc/init.d/httpd they are symbolic links) Or sometimes you may even have to create one from the apache site.</p>
<p>The following is the content of one such init script I have used. The line beginning with apachectl/some/path/here and httpd=/some/path/here have to replaced with the appropriate line we have used in the &#8211;prefix portion of ./configure.</p>
<pre class="brush: bash;">
#!/bin/bash
#
# Startup script for the Apache Web Server
#
# chkconfig: - 85 15
# description: Apache is a World Wide Web server.  It is used to serve \
#              HTML files and CGI.
# processname: httpd
# processname: httpd
# pidfile: /usr/local/apache2/logs/httpd.pid
# config: /usr/local/apache2/conf/httpd.conf
# Source function library.
. /etc/rc.d/init.d/functions
if [ -f /etc/sysconfig/httpd ]; then
. /etc/sysconfig/httpd
fi
# This will prevent initlog from swallowing up a pass-phrase prompt if
# mod_ssl needs a pass-phrase from the user.
INITLOG_ARGS=&quot;&quot;
# Path to the apachectl script, server binary, and short-form for messages.
apachectl=/usr/local/webserver/bin/apachectl
httpd=/usr/local/webserver/bin/httpd
pid=$httpd/logs/httpd.pid
prog=httpd
RETVAL=0
# The semantics of these two functions differ from the way apachectl does
# things -- attempting to start while running is a failure, and shutdown
# when not running is also a failure.  So we just do it the way init scripts
# are expected to behave here.
start() {
echo -n $&quot;Starting $prog: &quot;
daemon $httpd $OPTIONS
RETVAL=$?
echo
[ $RETVAL = 0 ] &amp;amp;&amp;amp; touch /var/lock/subsys/httpd
return $RETVAL
}
stop() {
echo -n $&quot;Stopping $prog: &quot;
killproc $httpd
RETVAL=$?
echo
[ $RETVAL = 0 ] &amp;amp;&amp;amp; rm -f /var/lock/subsys/httpd $pid
}
reload() {
echo -n $&quot;Reloading $prog: &quot;
killproc $httpd -HUP
RETVAL=$?
echo
}
# See how we were called.
case &quot;$1&quot; in
start)
start
;;
stop)
stop
;;
status)
status $httpd
RETVAL=$?
;;
restart)
stop
start
;;
condrestart)
if [ -f $pid ] ; then
stop
start
fi
;;
reload)
reload
;;
graceful|help|configtest|fullstatus)
$apachectl $@
RETVAL=$?
;;
*)
echo $&quot;Usage: $prog {start|stop|restart|condrestart|reload|status&quot;
echo $&quot;|fullstatus|graceful|help|configtest}&quot;
exit 1
esac
exit $RETVAL</pre>
<p>Next we add the daemon name to the list of services and run it. For this follow the below steps.</p>
<pre class="brush: bash;">
chkconfig --add httpd
chkconfig --level 2345 httpd on
chkconfig --list httpd
/etc/init.d/httpd start
lynx http://localhost/ will display the default apache page which means success.</pre>
<p><strong>PHP Compilation</strong><br />
Now we are going to install PHP 5.2.13 from source!<br />
Go to /usr/src/</p>
<pre class="brush: bash;">
cd /usr/src/</pre>
<p>Download the PHP source tarball and extract it</p>
<pre class="brush: bash;">
wget http://in3.php.net/get/php-5.2.13.tar.gz/from/in.php.net/mirror
tar -xzf php*
cd php*</pre>
<p>Just like in the previous apache installation, we are going to do the ./configure step with the required setting which are displayed using</p>
<pre class="brush: bash;">./configure --help</pre>
<p>We are only interested in enabling php as a module (&#8211;with-apxs2) support for mysql (&#8211;with-mysql) and prefix line. So we go for:</p>
<pre class="brush: bash;">
./configure --with-apxs2=/usr/local/webserver/bin/apxs --with-mysql --prefix=/usr/local/webserver/php</pre>
<p>The long command can be written in a shorter, more clearer format with:</p>
<pre class="brush: bash;">
./configure --with-apxs2=/usr/local/webserver/bin/apxs \
--with-mysql \
--prefix=/usr/local/webserver/php</pre>
<p>The same instructions go for the errors here.<br />
Once everything goes smooth:</p>
<pre class="brush: bash;">
make
make install</pre>
<p>We can provide the recommeneded php.ini setting in the path /usr/local/webserver/php/lib (what ever is the &#8211;prefix + /lib) or just copy the recommended settings to /usr/local/webserver/php/lib (This file may have the name php.ini-recommended or php.ini-production)<br />
cp php.ini-recommended /usr/local/webserver/php/lib/php.ini</p>
<p>From now on we can have php&#8217;s index page to be the default index page. For this in the apache&#8217;s config file append index.php to the directive &#8211; DirectoryIndex</p>
<p>The line would thus look like:</p>
<pre class="brush: bash;">
DirectoryIndex index.html index.html.var index.php</pre>
<p>To make make apache call modular php to execute the php script when encountered, add the following lines to the conf file.</p>
<pre class="brush: bash;">
AddType application/x-httpd-php .php
DirectoryIndex index.html index.html.var index.php</pre>
<p>Next to test your installation.<br />
In the default document root, create a phpinfo file with the file name index.php an d the contents as:</p>
<pre class="brush: bash;">
&amp;lt;?
phpinfo();
?&amp;gt;</pre>
<p>Now we will test the apache configuration for any syntax errors and then reload the apache webserver:</p>
<pre class="brush: bash;">
apachectl configtest (No errors should be reported)
/etc/init.d/httpd reload</pre>
<p>Open a browser window and load the localhost as URL, we will be viewing the phpinfo page in here. In the phpinfo page, the portion Configure Command shows the actual compilation time options used while ./configure is used. The row corresponding to Server API mentions how the php is loaded. &#8216;Apache 2.0 Handler&#8217; means that php was loaded as a module of apache. The rest of the values can be globally changed by making the required changes in php.ini or locally in .htaccess (which is possible only because it is loaded as an apache module).</p>
<p><strong>Tips on installing PHP as a CGI</strong></p>
<p>Here we do not require installing apache with the &#8211;enable-so option. A normal installation will do. The installation of php will not require the option &#8211;with-apxs2. However we will have to mention the location of apache source directory with &#8211;with-apache=../apache_1.3.14</p>
<p>In the httpd.conf file you will require adding:</p>
<pre class="brush: bash;">
ScriptAlias /php/ [path where your php folder is located]
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
Action application/x-httpd-php /php/php5</pre>
<p align="left"><a  class="tt" href="http://twitter.com/home/?status=Source+compilation+of+Apache+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F871" title="Post to Twitter"><img class="nothumb" src="http://www.supportsages.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a  class="tt" href="http://twitter.com/home/?status=Source+compilation+of+Apache+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F871" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.supportsages.com/blog/2010/06/source-compilation-of-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enabling mod_rewrite in Apache 2.2</title>
		<link>http://www.supportsages.com/blog/2009/12/enabling-mod_rewrite-in-apache-2-2/</link>
		<comments>http://www.supportsages.com/blog/2009/12/enabling-mod_rewrite-in-apache-2-2/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 03:15:14 +0000</pubDate>
		<dc:creator>arnold</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.supportsages.com/blog/?p=590</guid>
		<description><![CDATA[By default CentOS or RHEL flavours of Linux has Apache 2.2 installed. It often becomes a requirement to enable mod_rewrite on these servers. Techs who have been working with cPanel and server with control panels often finds it difficult to troubleshoot issues with a bare server. There are a few things to check or commands to execute in such case where mod_rewrite is shown enabled in the httpd.conf, but not working.


<blockquote>
[root@cave html]# httpd -V
Server version: Apache/2.2.3</blockquote>

<blockquote>[root@cave html]# httpd -M
Loaded Modules:
 core_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 auth_basic_module (shared)
 auth_digest_module (shared)
....
.......
....
rewrite_module (shared)
 proxy_module (shared)
 proxy_balancer_module (shared)
 proxy_ftp_module (shared)
 proxy_http_module ...]]></description>
			<content:encoded><![CDATA[<p>By default CentOS or RHEL flavours of Linux has Apache 2.2 installed. It often becomes a requirement to enable mod_rewrite on these servers. Techs who have been working with cPanel and server with control panels often finds it difficult to troubleshoot issues with a bare server. There are a few things to check or commands to execute in such case where mod_rewrite is shown enabled in the httpd.conf, but not working.</p>
<blockquote><p>
[root@cave html]# httpd -V<br />
Server version: Apache/2.2.3</p></blockquote>
<blockquote><p>[root@cave html]# httpd -M<br />
Loaded Modules:<br />
 core_module (static)<br />
 mpm_prefork_module (static)<br />
 http_module (static)<br />
 so_module (static)<br />
 auth_basic_module (shared)<br />
 auth_digest_module (shared)<br />
&#8230;.<br />
&#8230;&#8230;.<br />
&#8230;.<br />
rewrite_module (shared)<br />
 proxy_module (shared)<br />
 proxy_balancer_module (shared)<br />
 proxy_ftp_module (shared)<br />
 proxy_http_module (shared)<br />
 proxy_connect_module (shared)</p></blockquote>
<p><strong>[root@cave html]# a2enmod rewrite</strong></p>
<p>a2enmod is only to be used if the rewrite_module is not enabled in httpd.conf</p>
<p>Check for the &#8220;<strong>AllowOverride</strong>&#8221; settings. It should be set to &#8220;<strong>All</strong>&#8220;. By default it will be &#8220;<strong>None</strong>&#8221;</p>
<p>Things should work fine after this. Also I found a small good script to check at this URL to see whether mod_rewrite is enabled or not http://www.webune.com/forums/how-to-test-check-if-mod-rewrite-is-enabled-t40.html</p>
<p>Good Luck guys!</p>
<p align="left"><a  class="tt" href="http://twitter.com/home/?status=Enabling+mod_rewrite+in+Apache+2.2+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F590" title="Post to Twitter"><img class="nothumb" src="http://www.supportsages.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a  class="tt" href="http://twitter.com/home/?status=Enabling+mod_rewrite+in+Apache+2.2+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F590" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.supportsages.com/blog/2009/12/enabling-mod_rewrite-in-apache-2-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recompile PHP for Litespeed webserver</title>
		<link>http://www.supportsages.com/blog/2009/10/recompile-php-for-litespeed-webserver/</link>
		<comments>http://www.supportsages.com/blog/2009/10/recompile-php-for-litespeed-webserver/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 12:05:58 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Howtos]]></category>
		<category><![CDATA[cPanel]]></category>

		<guid isPermaLink="false">http://www.supportsages.com/blog/?p=570</guid>
		<description><![CDATA[LSAPI is LiteSpeed’s open-source <acronym title="Application Programming Interface">API</acronym> between external applications and LiteSpeed Web Server. This how-to is <span>for</span> compiling and installing <acronym title="Hypertext Preprocessor"><span>PHP</span></acronym> + LSAPI on Linux, <acronym title="Operating System">OS</acronym> X, FreeBSD, Solaris, and so on.  LiteSpeed  comes with PHP 4.4.x compiled with LSAPI. To change the LightSpeed php to the latest stable one, we need to recompile the php with the LSAPI for LiteSpeed.

I  am trying to provide some info for doing this task.

<strong>Instructions:</strong>

<strong>a)  Download the required php  from php.net</strong>

<em> wget  http://in2.php.net/get/php-5.2.11.tar.bz2/from/this/mirror</em>

<em> tar -xzvf  php-5.2.11.tar.bz2</em>

<em>cd php-5.2.11/sapi</em>

<strong>b) Download and  the  latest LSAPI <span>for</span> <acronym title="Hypertext Preprocessor"><span>PHP</span></acronym> from <a ...]]></description>
			<content:encoded><![CDATA[<p>LSAPI is LiteSpeed’s open-source <acronym title="Application Programming Interface">API</acronym> between external applications and LiteSpeed Web Server. This how-to is <span>for</span> compiling and installing <acronym title="Hypertext Preprocessor"><span>PHP</span></acronym> + LSAPI on Linux, <acronym title="Operating System">OS</acronym> X, FreeBSD, Solaris, and so on.  LiteSpeed  comes with PHP 4.4.x compiled with LSAPI. To change the LightSpeed php to the latest stable one, we need to recompile the php with the LSAPI for LiteSpeed.</p>
<p>I  am trying to provide some info for doing this task.</p>
<p><strong>Instructions:</strong></p>
<p><strong>a)  Download the required php  from php.net</strong></p>
<p><em> wget  http://in2.php.net/get/php-5.2.11.tar.bz2/from/this/mirror</em></p>
<p><em> tar -xzvf  php-5.2.11.tar.bz2</em></p>
<p><em>cd php-5.2.11/sapi</em></p>
<p><strong>b) Download and  the  latest LSAPI <span>for</span> <acronym title="Hypertext Preprocessor"><span>PHP</span></acronym> from <a  title="http://www.litespeedtech.com/products/lsapi/download/" rel="nofollow" href="http://www.litespeedtech.com/products/lsapi/download/">http://www.litespeedtech.com/</a> into the “sapi” folder of <span>php</span> source: </strong></p>
<p><em> wget http://www.litespeedtech.com/packages/lsapi/php-litespeed-4.10.tgz</em></p>
<p><em>tar  -xvf php-litespeed-4.10.tgz</em></p>
<p><strong>c) Change directory to root <acronym title="Hypertext Preprocessor"><span>PHP</span></acronym> source directory and run commands:</strong></p>
<p><em>cd ..</em></p>
<p><em> touch ac*</em></p>
<p><em> ./buldconf &#8211;force</em></p>
<p><strong>d) Configure/Compiling </strong></p>
<p>If you have an  apache compilation already , remove the part   option &#8220;&#8211;with-apxs&#8221; and use    &#8221; &#8211;with-litespeed&#8221;  . Also  you may need to change the &#8220;prefix&#8221; option too . So a basic  configure command would be like  this</p>
<p><em>./configure  &#8216;&#8211;prefix=/lsphp5&#8242; &#8216;&#8211;with-litespeed&#8217; &#8216;with-mysql&#8217;</em></p>
<p><em>make</em></p>
<p><em>make install </em></p>
<p>Note: You must compile PCRE support inorder for the default auto-index php script to work correctly</p>
<p><strong>Post Install Configurations </strong></p>
<p><strong>1. Replace the existing lsphp binary with the new one. </strong></p>
<p>Change the directory to the current installation of &#8220;lsws&#8221; ( it varies on different machines)</p>
<p><em> cd  /usr/local/lsws/fcgi-bin</em></p>
<p><em> mv lsphp lsphp.old</em></p>
<p><em>cp /php-5.2.11/sapi/litespeed/php lsphp-5.2.11</em></p>
<p><em>ln -sf lsphp5 lsphp-5.2.11</em></p>
<p><strong>Check Installation</strong></p>
<p><em>/usr/local/lsws/fcgi-bin/lsphp5 -v</em></p>
<p>It should return something like:</p>
<pre><span>PHP</span> 5.2.11 (litespeed) (built: Sep26 2008 14:09:09)
Copyright (c) 1997-2004 The <span>PHP</span> Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies</pre>
<p>Notice <strong>litespeed</strong> in parenthesis. This means that the <acronym title="Hypertext Preprocessor"><span>PHP</span></acronym> binary has litespeed (LSAPI) support builtin.</p>
<h4 style="text-align: justify;">2. php.ini</h4>
<p style="text-align: justify;">The php.ini file will be located at /usr/local/lsws/php/php.ini</p>
<p style="text-align: justify;">If we want to use the old PHP.ini just copy it here.</p>
<pre style="text-align: justify;"># cd /usr/local/lsws/php
# mv php.ini php.ini.old
# cp /usr/local/ZEND/etc/php.ini .</pre>
<h4 style="text-align: justify;">3. Restart Litespeed Webserver</h4>
<p style="text-align: justify;">Finally restart LSWS and use our new PHP binary.</p>
<pre style="text-align: justify;"><strong>/usr/local/lsws/bin/lswsctrl restart </strong></pre>
<pre>
<strong></strong></pre>
<p align="left"><a  class="tt" href="http://twitter.com/home/?status=Recompile+PHP+for+Litespeed+webserver++http%3A%2F%2Fwww.supportsages.com%2Fblog%2F570" title="Post to Twitter"><img class="nothumb" src="http://www.supportsages.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a  class="tt" href="http://twitter.com/home/?status=Recompile+PHP+for+Litespeed+webserver++http%3A%2F%2Fwww.supportsages.com%2Fblog%2F570" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.supportsages.com/blog/2009/10/recompile-php-for-litespeed-webserver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>500 Internal Server due to low RLimitMem value</title>
		<link>http://www.supportsages.com/blog/2009/08/500-internal-server-due-to-low-rlimitmem-value/</link>
		<comments>http://www.supportsages.com/blog/2009/08/500-internal-server-due-to-low-rlimitmem-value/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 01:03:02 +0000</pubDate>
		<dc:creator>arnold</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[cPanel]]></category>

		<guid isPermaLink="false">http://www.supportsages.com/blog/?p=530</guid>
		<description><![CDATA[Website was causing 500 Internal Server error while loading the php pages. Error log was saying the error below
<blockquote>/usr/bin/php: error while loading shared libraries: libpthread.so.0: failed to map segment from shared object: Cannot allocate memory</blockquote>
Investigation led the issue to be <strong>RLimitMem</strong> directive enabled by the client being too low. RLimit directives of apache often gives a false feeling of limiting the user resources.

Commenting out<strong> RLimitMem</strong> value solved the issue. If that also didn't fix the issue, check out for the limit settings in <strong>/etc/security/limits.conf</strong>

I hope this helps a bit sometime in the future for my fellow SAGEs]]></description>
			<content:encoded><![CDATA[<p>Website was causing 500 Internal Server error while loading the php pages. Error log was saying the error below</p>
<blockquote><p>/usr/bin/php: error while loading shared libraries: libpthread.so.0: failed to map segment from shared object: Cannot allocate memory</p></blockquote>
<p>Investigation led the issue to be <strong>RLimitMem</strong> directive enabled by the client being too low. RLimit directives of apache often gives a false feeling of limiting the user resources.</p>
<p>Commenting out<strong> RLimitMem</strong> value solved the issue. If that also didn&#8217;t fix the issue, check out for the limit settings in <strong>/etc/security/limits.conf</strong></p>
<p>I hope this helps a bit sometime in the future for my fellow SAGEs</p>
<p align="left"><a  class="tt" href="http://twitter.com/home/?status=500+Internal+Server+due+to+low+RLimitMem+value+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F530" title="Post to Twitter"><img class="nothumb" src="http://www.supportsages.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a  class="tt" href="http://twitter.com/home/?status=500+Internal+Server+due+to+low+RLimitMem+value+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F530" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.supportsages.com/blog/2009/08/500-internal-server-due-to-low-rlimitmem-value/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Win32 style directory indexing in apache &#8211; Date and Size along with the name</title>
		<link>http://www.supportsages.com/blog/2009/07/win32-style-directory-indexing-in-apache-date-and-size-along-with-the-name/</link>
		<comments>http://www.supportsages.com/blog/2009/07/win32-style-directory-indexing-in-apache-date-and-size-along-with-the-name/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 14:03:34 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Specials]]></category>
		<category><![CDATA[dat and size in indexing]]></category>
		<category><![CDATA[directory index]]></category>
		<category><![CDATA[fancy indexing]]></category>

		<guid isPermaLink="false">http://www.supportsages.com/blog/?p=453</guid>
		<description><![CDATA[Inorder to have win32 styled directory indexing in apache, you need to make sure that mod_autoindex module is installed and active in the server. In cPanel 11 servers, it will have the modules enabled in, /usr/local/apache/conf/extra/httpd-autoindex.conf

So for the client who want to have the fancy directory indexing to be enabled, just add the below lines to his .htaccess
<blockquote>Options +Indexes
IndexOptions FancyIndexing VersionSort</blockquote>
I hope this snippet will help someone!]]></description>
			<content:encoded><![CDATA[<p>Inorder to have win32 styled directory indexing in apache, you need to make sure that mod_autoindex module is installed and active in the server. In cPanel 11 servers, it will have the modules enabled in, /usr/local/apache/conf/extra/httpd-autoindex.conf</p>
<p>So for the client who want to have the fancy directory indexing to be enabled, just add the below lines to his .htaccess</p>
<blockquote><p>Options +Indexes<br />
IndexOptions FancyIndexing VersionSort</p></blockquote>
<p>I hope this snippet will help someone!</p>
<p align="left"><a  class="tt" href="http://twitter.com/home/?status=Win32+style+directory+indexing+in+apache+-+Date+and+Size+along+with+the+name+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F453" title="Post to Twitter"><img class="nothumb" src="http://www.supportsages.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a  class="tt" href="http://twitter.com/home/?status=Win32+style+directory+indexing+in+apache+-+Date+and+Size+along+with+the+name+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F453" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.supportsages.com/blog/2009/07/win32-style-directory-indexing-in-apache-date-and-size-along-with-the-name/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How would I see the available versions of cPanel and Apache in a cPanel installed server ?</title>
		<link>http://www.supportsages.com/blog/2009/04/how-would-i-see-the-available-versions-of-cpanel-and-apache-in-a-cpanel-installed-server/</link>
		<comments>http://www.supportsages.com/blog/2009/04/how-would-i-see-the-available-versions-of-cpanel-and-apache-in-a-cpanel-installed-server/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 06:57:24 +0000</pubDate>
		<dc:creator>Fabian</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[cPanel]]></category>
		<category><![CDATA[changelog]]></category>
		<category><![CDATA[easyapache]]></category>

		<guid isPermaLink="false">http://www.supportsages.com/blog/?p=30</guid>
		<description><![CDATA[Solution #1 : Keep browsing http://changelog.cpanel.net/ every day :-)

Solution #2 :  /scripts/easyapache --latest-versions

Easy::Apache v3.2.0 Build 4660

[Apache]
1.3.41, 2.0.63, 2.2.11

[PHP 4]
4.4.6, 4.4.7, 4.4.8, 4.4.9

[PHP 5]
5.2.5, 5.2.6, 5.2.8, 5.2.9]]></description>
			<content:encoded><![CDATA[<p>Solution #1 : Keep browsing http://changelog.cpanel.net/ every day <img src='http://www.supportsages.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Solution #2 :  /scripts/easyapache &#8211;latest-versions</p>
<p>Easy::Apache v3.2.0 Build 4660</p>
<p>[Apache]<br />
1.3.41, 2.0.63, 2.2.11</p>
<p>[PHP 4]<br />
4.4.6, 4.4.7, 4.4.8, 4.4.9</p>
<p>[PHP 5]<br />
5.2.5, 5.2.6, 5.2.8, 5.2.9</p>
<p align="left"><a  class="tt" href="http://twitter.com/home/?status=How+would+I+see+the+available+versions+of+cPanel+and+Apache+in+a+cPanel+installed+server+%3F+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F30" title="Post to Twitter"><img class="nothumb" src="http://www.supportsages.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a  class="tt" href="http://twitter.com/home/?status=How+would+I+see+the+available+versions+of+cPanel+and+Apache+in+a+cPanel+installed+server+%3F+http%3A%2F%2Fwww.supportsages.com%2Fblog%2F30" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.supportsages.com/blog/2009/04/how-would-i-see-the-available-versions-of-cpanel-and-apache-in-a-cpanel-installed-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
