This tutorial explains the installation of PHP 5,
bundled with Apache and MySQL server on a Linux machine. The tutorial was
written primarily for SuSE 9.2, 9.3, 10.0 & 10.1, but most of the steps
ought to be valid for all Linux-like operating systems.
We
will set up PHP as a shared module, being loaded into Apache2 dynamically
during the server startup. These instructions
are known to work for PHP versions: 5.0.4
through 5.2.1.
Prerequisites
At this point Apache
web server must be installed. If you want MySQL support in PHP, MySQL server
also must have been installed prior to the next steps.
Download Source
Get the source from http://www.php.net/downloads.php
. At the time of writing this tutorial the best available version was
5.2.1 ( php-5.2.1.tar.gz ).
Unpack, Configure, Compile
Go to the directory
whith the downloaded file and enter:
# tar -xzf
php-5.2.1.tar.gz
# cd php-5.2.1
# ./configure
--prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
--with-mysql=/usr/local/mysql
The configuration options
ought to be self-explaining; --prefix
specifies the location where PHP is to be installed, --with-apxs2
with correct path pointing to bin/apxs in the Apache
installation directory is mandatory for the installator to work. Since PHP 5,
you need to explicitly bundle PHP with MySQL by –with mysql directive (make sure you
specified path to where MySQL is installed on your system).
There
are many other options which turn on additional features. For all available
configuration options and their default values type ./configure --help.
Tip:-- If you are performing an
upgrade, you may want to copy config.nice from the old PHP installation directory (if available) to where you
unpacked the new PHP tarball file. Run ./config.nice instead of ./configure. This way all the previous configure
options will be applied to the new installation effortlessly.
Once you entered ./configure
with all the options you need, compile and install the software:
# make
# make install
Edit Httpd.conf
All necessary changes
to httpd.conf (Apache configuration file) should have already been made
automatically during the installation, so usually you need not do anything.
Nevertheless, check that following lines were added to the httpd.conf file:
LoadModule
php5_module modules/libphp5.so
AddType
application/x-httpd-php .php
If not, add them
manually.
Create Php.ini File
Importanly, you have
to create a php.ini configuration file. Choose one of the pre made files (preferably php.ini-recommended)
residing inside the php-5.2.1/ directory (it's the folder to which the downloaded archive was extracted).
Copy the file to the lib/ directory in the PHP installation directory.
# cp
php-5.2.1/php.ini-recommended /usr/local/php/lib/php.ini
If you need to, edit
the php.ini file:
# vi
/usr/local/php/lib/php.ini
However, the default
settings should work for everyone in most cases.
Restart Apache Server
After everything is
set up, restart Apache:
# /usr/local/bin/apachectl restart