Apache, Installing with PHP
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
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.
Now, you will have to edit the httpd.conf file to load the PHP module:
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
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:
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
Use the following command to start Apache:
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.
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:
and add to the bottom:
@reboot /usr/local/apache/bin/apachectl start