PHP5

From SME Server
Revision as of 17:29, 16 February 2009 by Ecureuil (talk | contribs)
Jump to navigation Jump to search


Maintainer

David Harper (current maintainer)

Firewall Services (original contrib)

Description

This contrib allows you to install PHP version 5 alongside PHP version 4, which is the default in SME Server 7.x. Unlike a full upgrade to PHP5, installation of this contrib will not affect your ability to install future updates to SME Server 7.x. PHP 4 remains the default version.


  Warning:
This is a beta-quality release. Beware. For non-production testing only.


Installation

Firstly, download the integration RPM and the PHP packages Zip file:

wget http://sme.david-harper.com/data/smeserver-php5-cgi-1.0-2.noarch.rpm
wget http://sme.david-harper.com/data/php5-cgi.zip

Next, unzip the PHP5 archive:

unzip php5-cgi.zip

Then install the packages:

yum localinstall smeserver-php5-cgi*.rpm php5-cgi*.rpm
signal-event post-upgrade ; signal-event reboot

Upgrade

To upgrade from Firewall Services' earlier release, you must do as follows:

1. Delete ALL custom templates created while following the earlier Firewall Services howto.


  Note:
The structure of the contrib has changed since the Firewall Services howto was written; be sure to delete ALL old custom templates.


2. Install the updated contrib as above.

3. Follow the instructions below to enable PHP5 for your web applications.

Usage

PHP5 can be used in Ibays and for contribs that are installed in /opt.

For Ibays

To configure an Ibay to use PHP 5, run the following commands from the shell:

db accounts setprop [ibayname] php5 yes
signal-event ibay-modify [ibayname]

To return to the default version of PHP, run the following command from the shell:

db accounts setprop [ibayname] php5 no
signal-event ibay-modify [ibayname]

For contribs

Web applications that are installed in /opt can also be configured to use PHP5. Ideally, application packagers should update their integration RPMs to depend on smeserver-php5-cgi and deploy a new template fragment, but if you wish, you can also configure PHP5 manually.


  Note:
The structure of the contrib has changed from eariler releases; be sure to delete ALL old custom templates.


First, create a custom template:

mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/
pico /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/90[MyAppName]

Next, put the following lines in the new file:

<Directory /opt/[myapp]>
       AddHandler php5-cgi .php
       Action php5-cgi /php5-cgi/php-cgi
</Directory>

Save and exit (CTRL-O, CTRL-X), and then expand the web server's configuration template:

expand-template /etc/httpd/conf/httpd.conf

Before you apply the changes, be sure to check that there is no error in the new configuration file:

httpd -t

If this command returns ’Syntax OK’, you can restart the web server:

svc -t /service/httpd-e-smith

Options

You can fine-tune PHP5 using the e-smith configuration database. To keep things simple, PHP5 inherits the same settings as PHP4. To modify a property, issue the following commands from the SME Server shell:

db configuration setprop php [property] [value]
expand-template /etc/php5/php.ini

Note that any changes will also affect PHP4. To apply the changes to PHP4 immediately, run:

expand-template /etc/php.ini

Bugs

Please raise bugs under the SME-Contribs section in bugzilla .