In this easy to follow tutorial I will show you how to install Apache, PHP and MySQL on FreeBSD, I have used FreeBSD 8.2 in this tutorial but should work for at least a couple of release’s later.
I will be installing the software using FreeBSD ‘Ports’ you can also install software on FreeBSD using the pkg_add system but this is not covered in this tutorial!
First of all we make sure that you have the latest snapshot of the FreeBSD ports collection, do this by running:-
portsnap fetch
and extract the infomation like so..
portsnap extract
If you already have the ports setup, you can just run portsnap update instead..
First up we are going to install MySQL, so lets begin with logging into your FreeBSD server and running this command:
cd /usr/ports/databases/mysql55-server
make BUILD_OPTIMIZED=yes BUILD_STATIC=yes
make install clean
The first command above changes the current directory to the MySQL server ports folder, the next adds some build parameters and the last command installs and cleans up any debris 🙂
Now we want to add MySQL as part of the startup process so when the server re-boots the MySQL daemon will run..
Open /etc/rc.conf with your editor and add the line shown below to enable starting mysql server on boot.
mysql_enable=”YES”
Now to start MySQL for the first time run this command:
/usr/local/etc/rc.d/mysql-server start
We need to now set a password for the MySQL root user by executing..
/usr/local/bin/mysqladmin -uroot password ‘new-password’
MySQL is now installed and ready to be used!
Now we need to install and configure Apache..
cd /usr/ports/www/apache22
make install clean
..again, lets add Apache to the system startup process in the same way that we did for MySQL..
apache22_enable=”YES”
Thats it, the basic Apache22 package is now installed!
Now we install PHP5 and configure it for use with Apache..
Go to the php5 port directory by typing the command:
cd /usr/ports/lang/php5
Build and install the port by typing
make install clean
Make sure the APACHE (Build Apache module) option is ticked when configuring the build
cd /usr/ports/lang/php5-extensions
make install clean
Now, copy the default PHP.ini file so we can use it for our new installation..
cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
Edit your Apache configuration file (/usr/local/etc/apache22/httpd.conf) and add this:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
in the DirectoryIndex add the php extentions like:
DirectoryIndex index.php index.html
Edit the Languageconfiguration file (/usr/local/etc/apache22/extra/httpd-languages.conf) and add the following lines:
AddDefaultCharset On
Ok, now lets start Apache for the first time..
/usr/local/etc/rc.d/apache22 start
Your all done! – You should now have a fully working AMP install on your FreeBSD 8.2 server 🙂