Atlantic.Net Blog

How to Install FAMP (FreeBSD 10, Apache, MySQL, PHP) on a Cloud or VPS Server

Verified and Tested 06/15/15

Introduction

This how-to will help you with your FAMP installation in FreeBSD 10 so that you can successfully run a high available stable platform for your web environment. FAMP is simply a software bundle that consists of 4 components that work together to form a powerful web server.  However, in this setup, the acronyms are as follows: FreeBSD (F) is the platform’s core, which will sustain the other components. Apache (A) is used for the web service. MySQL (M) is used for database management,  and PHP (P) is used as the programming language.

Prerequisites

You need a FreeBSD server that is configured with a static IP address. If you do not have a server already, you can visit our VPS hosting options page and spin a new server up in under 30 seconds.

Install FAMP on FreeBSD 10

To get started, log in to your FreeBSD server via SSH or through the VNC Console here. Atlantic.Net Cloud servers are set up as minimal installations to avoid having unnecessary packages from being installed and never used. If some software packages that you’re used to using aren’t installed by default, feel free to install them as needed. Let us download nano so we can simplify this tutorial.

pkg install nano

Let’s make sure that your server is fully up-to-date so we can complete the preparation.

freebsd-update fetch
freebsd-update install

 

We can continue the process and install FAMP on your server with the server up-to-date.

Install Apache on FreeBSD 10

Begin by installing Apache with the following command:

pkg install apache24

Enable and start the Apache service with the following commands:

sysrc apache24_enable=yes
service apache24 start

To edit the main Apache configuration file for one or many websites according to your preference, they are configured in the following directory:

nano /usr/local/etc/apache24/httpd.conf

To verify and test the installation, create/edit the test HTML file in the following directory with the command below:

nano /usr/local/www/apache24/data/index.html

Insert/replace the following code in the HTML file, then save and exit:

<html>
<title>CONGRATULATIONS</title>
<body>
<h2>You have just installed Apache on your FreeBSD Server</h2>
</body>
</html>

You can now verify that Apache is installed correctly by typing http:// and your IP address on your browser(http:// YOUR.IP.ADD.RESS ). To get your server’s IP Address, enter the following command:

ifconfig vtnet0 | grep "inet " | awk '{ print $2 }'

This is the test page created to verify Apache was installed correctly in FreeBSD This is the test page created to verify Apache was installed correctly in FreeBSD

Restart the Apache service so the changes can take effect on your system.

service apache24 restart

Install MySQL on FreeBSD 10

We then would like to continue by installing MySQL. After running the following MySQL, command hit enter to select y to confirm your installation by tapping Enter.

pkg install mysql55-server

Enable and start the MySQL service with the following commands:

sysrc mysql_enable=yes
service mysql-server start

To ensure the security of the default settings of MySQL, continue with the command below:

mysql_secure_installation

Note: When prompted with “Enter current password for root,” hit enter for none then Y(Yes) to set the MYSQL password. You will then be prompted with a series of questions. Just type Y for yes on all of them. See the screenshot below:

This is the secure installation of screen when installing MySql on a FreeBSD FAMP Stack server This is the secure installation of the screen when installing MySql on a FreeBSD FAMP Stack server

Install PHP on FreeBSD 10

Finally, we will conclude with the FAMP Stack by installing PHP and configuring it to work with Apache.

pkg install mod_php56 php56-mysql php56-mysqli

With PHP installed, we can begin the preparation to configure it with Apache. Copy the sample PHP configuration file to the correct location.

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Then run the following command to refresh the new changes to the system.

rehash

Update the Apache Configuration file with the following command:

nano /usr/local/etc/apache24/httpd.conf

Locate the DirectoryIndex line and add index.php to the existing index.html, so Apache reads the PHP files. The line should look like the following:

This is how the Apache file output after adding index.php to the configuration This is how the Apache output should look after adding index.php to the DirectoryIndex line

(note: use the Ctrl+w in nano to search DirectoryIndex)

Add the following lines at the bottom of the configuration file so Apache can function PHP information accordingly.

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

Fantastic! You can now save the file and restart Apache, so all your configurations take effect.

service apache24 restart

To verify and test the installation, create a test PHP file in the following directory with the command below:

nano /usr/local/www/apache24/data/info.php

Insert the following PHP code in the empty file, then save and exit:

<?php phpinfo(); ?>

Restart the Apache HTTP service one last time, so all the changes take effect.

service apache24 restart

You can now verify that PHP is installed correctly by typing the following on your browser.
http:// YOUR.IP.ADD.RESS/info.php

This is the default page after installing PHP on an FAMP Stack FreeBSD server After installing PHP on a FAMP Stack FreeBSD server, this is the default page.

What Next?

Congratulations! You now have a server with a FAMP Stack platform for your web environment. Thank you for following along, and feel free to check back with us for further updates or learn more about services from Atlantic.Net, like VPS hosting.

Get a $250 Credit and Access to Our Free Tier!

Free Tier includes:
G3.2GB Cloud VPS a Free to Use for One Year
50 GB of Block Storage Free to Use for One Year
50 GB of Snapshots Free to Use for One Year