pavement

Apache, Installing with PHP

From FreeBSDwiki
(Difference between revisions)
Jump to: navigation, search
m (Getting Started)
(Getting Started)
Line 5: Line 5:
 
I have decided to use Apache/1.x with PHP/4.x. I belive this is the better combination, as time tells, they are the most popular and better stability. Anyhow, this is my opinion, so this guide will use those two versions...
 
I have decided to use Apache/1.x with PHP/4.x. I belive this is the better combination, as time tells, they are the most popular and better stability. Anyhow, this is my opinion, so this guide will use those two versions...
  
First off, cd into a good location for sources, ie: /root/installs/
+
First, update your ports tree and either install the packages as root:
 +
# pkg_add -r apache13
 +
# pkg_add -r php4
 +
Or install from ports:
 +
# cd /usr/ports/www/apache13 && make install clean
 +
# cd /usr/ports/lang/php4 && make install clean
  
mkdir /root/installs/
+
In either case, they'll be installed in /usr/local by default.
cd /root/installs/
+
 
+
Next, we best go get the sources:
+
 
+
(As of writing this guide, the current versions are: Apache/1.3.34 and PHP/4.4.2. You might have to amend the following arguments inorder to download the current version!)
+
 
+
wget <nowiki>http://www.mirror.ac.uk/mirror/ftp.apache.org/httpd/apache_1.3.34.tar.gz</nowiki>
+
wget <nowiki>http://uk.php.net/get/php-4.4.2.tar.gz/from/uk.php.net/mirror</nowiki>
+
  
 
= Compiling and Installing Apache =
 
= Compiling and Installing Apache =

Revision as of 16:38, 28 March 2006

Apachefeather.jpg Php.jpg

Contents

Getting Started

I have decided to use Apache/1.x with PHP/4.x. I belive this is the better combination, as time tells, they are the most popular and better stability. Anyhow, this is my opinion, so this guide will use those two versions...

First, update your ports tree and either install the packages as root:

# pkg_add -r apache13
# pkg_add -r php4

Or install from ports:

# cd /usr/ports/www/apache13 && make install clean
# cd /usr/ports/lang/php4 && make install clean

In either case, they'll be installed in /usr/local by default.

Compiling and Installing Apache

tar zxvf apache_1.3.34.tar.gz
cd apache_1.3.34/
./configure --prefix=/usr/local/apache --enable-module=so
make
make install

Compiling and Installing PHP

tar zxvf php-4.4.2.tar.gz
cd php-4.4.2/
./configure --with-apxs=/usr/local/apache/bin/apxs
make
make install

Setting up php.ini

cp php.ini-dist /usr/local/lib/php.ini

Note:

You may wish to edit the above file to set PHP options. If you'd rather use php.ini-recommended, make sure to read the list of changes, and how they affect the behaviour of PHP.

httpd.conf

Now, you will have to edit the httpd.conf file to load the PHP module:

pico /usr/local/apache/conf/httpd.conf

1) Add the following line to the above file:

LoadModule php4_module libexec/libphp4.so

- Or if you are lazy and can't be bothered to check httpd.conf:

echo "LoadModule php4_module libexec/libphp4.so" >> /usr/local/apache/conf/httpd.conf

Note:

Running "make install" might of added the line for you, best be on the safe side and check!


2) In the AddModule section of httpd.conf, add the following line to the bottom of the section:

AddModule mod_php4.c


3) Apache will need to be told on what to class as a PHP document. Add this line to the httpd.conf file in the AddType section:

AddType application/x-httpd-php .php

...You might consider using the following line to show highlighted PHP source, it can be achieved by adding the line also to the AddModule section under the line you have just added:

AddType application/x-httpd-php-source .phps

Starting Apache

Use the following command to start Apache:

/usr/local/apache/bin/apachectl start

All works?

To test everything went according to plan, we will now make a PHP file:

echo "<? phpinfo(); ?>" >> /usr/local/apache/htdocs/php-test.php

Run your favourite browser (FireFox) and point it to http://localhost/php-test.php. You will now see lots of compilation and configuration options for PHP.


Your Done!

Final Notes

You should now have a working version of Apache with PHP. The next and only thing I will suggest is to make a crontab to start Apache at boot:

crontab -e

and add to the bottom:

@reboot /usr/local/apache/bin/apachectl start
Personal tools