Print View

Apache, PHP, and MySQL
Updated: 07/25/2006


General Information

This guide will teach you how to set up a basic web server with Apache, PHP support, and MySQL for the database.  

There are a couple of ways to do this, but this guide will use the easier method with the ports system.

Requirements

  1. In order for public access to your website, you must have a valid domain name.
  2. A text editor (for this guide we will use Nano)

Installation

Section A -- Apache

#
#
cd /usr/ports/www/apache13
make install clean
Apache now gets started on system boot from rc.conf so let's add the respective entry:
# echo 'apache_enable="YES"' >> /etc/rc.conf

Note:  For Apache2 users:  Use the following instead.

#
#
#
cd /usr/ports/www/apache2
make install distclean
echo 'apache2_enable="YES"' >> /etc/rc.conf

Section B -- PHP

#
#
cd /usr/ports/lang/php4
make config
You will be prompted to add module support.  At this time select the Apache support.
#
#
#
make install distclean
cd /usr/ports/lang/php4-extensions
make install distclean
Select which options you would like compiled into PHP and select OK.

Section C -- MySQL

#
#
#
cd /usr/ports/databases/mysql41-server
make install clean
echo 'mysql_enable="YES"' >> /etc/rc.conf

Configuration

Now we need to make sure Apache is configured for your website and that the PHP module is configured in the Apache config file.
#
#
cd /usr/local/etc/apache
nano httpd.conf
Make sure you see the following lines uncommented:
LoadModule php4_module     libexec/apache/libphp4.so

AddModule mod_php4.c

<IfModule mod_dir.c>
     DirectoryIndex index.php index.html index.htm
</IfModule>
Add the following lines for virtual hosts:
ServerType standalone
ServerName domain.tld

NameVirtualHost 192.168.0.2

<VirtualHost 192.168.0.2>
     ServerName domain.tld
     ServerAlias www.domain.tld
     ServerAdmin admin@domain.tld
     DocumentRoot /path/to/website/files
</VirtualHost>
Start the servers:
#
#
/usr/local/etc/rc.d/mysql-server.sh start
/usr/local/sbin/apachectl start
Enjoy your webserver!

Author: Jon LaBass
jon at bsdguides dot org

Find this guide useful?
Support the author:


4 Comments

Posted by j79zlr1 on November 16, 2005 at 7:50:36 am EET

Just a side note, if you install mod_php4 with MySQL 4.1.x, you need to simlink in /usr/local/lib/mysql

ln -s libmysqlclient.so.14 libmysqlclient.so.12

because of the dependency of mod_php4 on MySQL 4.0


Posted by csarlee on November 16, 2005 at 7:50:36 am EET

This simlink should be reversed! i.e. ln -s libmysqlclient.so.12 libmysqlclient.so.14 'cos libmysqlclient.so.12 exists, so cannot simlink it!


Posted by VooDooNOFX on November 16, 2005 at 7:50:36 am EET

For those of you who are using PHP5 instead of PHP4, don't forget to add the following to your httpd.conf file:

     AddType application/x-httpd-php .php
     AddType application/x-httpd-php .phtml
     AddType application/x-httpd-php .php3
     AddType application/x-httpd-php .php4
     AddType application/x-httpd-php .php5
     AddType application/x-httpd-php-source .phps


Posted by ZokiNet on November 16, 2005 at 7:50:36 am EET

this is how you start mysql server:

/usr/local/etc/rc.d/mysql-server.sh start


Copyright 2003 - 2009 BSD Guides.  All rights reserved.

About | Terms of Use | Privacy | Contact