Recommended VPS Complete list of best VPS hosting providers.

How To Build Working Ubuntu Server with Apache and PHP

You may be wondering why it is only Apache and PHP we are going to install? As I said previously that the main goal of is to helping newbies to build a working server to host their websites. For your information, not all websites are requiring database, Rapidleech for instance. Besides, as I believe there are many newbies out there who are really new to Linux, VPS or Server, so here it is I post easier way to setup a working live server to host websites in it. I promise I’ll post another tutorial about how to also install MySQL.

Q: What are we going to do in this tutorial?
A: In this tutorial we will install and setup Apache web server and PHP. By installing Apache itself you can already host your files and accessible via Internet but that’s only static files like .html, .css, and media files like .jpg, .gif, .png and so on without ability to run php-based scripts. Hence, we will also install PHP5 (the latest one).


  1. You’ll need Putty and ability to use it. Linux and Mac users can simply use Terminal.
    Using Putty To SSH To Your Server From Windows
    Most common Unix commands used to SSH
  2. A VPS or Dedicated server running Ubuntu OS but Debian may also be similar. In this example I am using Ubuntu 12.04 LTS (see my playground server)
  3. A computer with Internet connection to access your server with it
  4. About 15 minutes of your time and..
  5. A cup of tea

p.s: When I say “server” it can refer to both VPS and Dedicated one.

1. Login to your server

Once you logged in, make sure you do some basic optimization tasks for a brand new created Ubuntu server. Read our guide about what have to do with a brand new server. Following that guide is basically optional but really recommended.

2. Install Apache Web Server

Apache is really a default web server which is licensed free and opensource. It has been used by many servers around the world. There are few other web server like Litespeed and Nginx but Apache is still dominating because its easiness.

Use following command:

sudo apt-get -y update
sudo apt-get -y upgrade

Wait for the process to finish then type this command followed by hitting enter:

sudo apt-get -y install apache2-prefork-dev apache2-utils apache2.2-bin apache2.2-common apache2

command to install apache2

note about using commands: If you decided to follow our previous guide about initial server setup, then you already disabled root login which means you have to add “sudo” each time executing a command. You can simply remove the “sudo” part from each command if you didn’t disable root login.

3. Install PHP5

There are many custom builds of PHP but this time you can simply use the one I use and follow the steps like what I did.

Use following command to install PHP5 on your Ubuntu server:

sudo apt-get -y install php5 php5-cgi php5-cli php5-common php5-curl php5-dev php5-gd php5-tidy php5-xmlrpc php5-xsl php5-suhosin php5-mcrypt php5-imap php5-imagick libapache2-mod-php5

install php5

4. Add php to Directory Index (optional)

Normally Apache will start looking at index.html file before index.php. You can change that order by editing “dir.conf” file. Use following command:

sudo nano /etc/apache2/mods-enabled/dir.conf

You should see something like this:

          DirectoryIndex index.html index.cgi index.php index.xhtml index.htm

Now move “index.php” into the beginning part so it will look like this:

          DirectoryIndex index.php index.html index.cgi index.xhtml index.htm

Once done hit Control+O to save then Control+X to to exit nano editor screen.

5. Test It

You can put all your files and php scripts in “/var/www” directory. So go there by using this command..

cd /var/www

To test whther the PHP works as expected or not, simply create a new file to display php info:

sudo nano viewinfo.php

Once nano screen displayed, enter this php script:


Now hit Control+O to save and Control+X to exit nano editor.

Do not forget restart Apache2 service, type this command:

sudo service apache2 restart


sudo /etc/init.d/apache2 restart

Then open your most favorite web browser then try accessing that viewinfo.php file by typing your IP in address bar:


view php info

That is it. Now you have a working server to host your PHP-based scripts and run it on your browser. But remember your server currently doesn’t support MySQL because we have not installed it yet. I’ll write about how to install MySQL server in next post.


Add a Comment

Your email address will not be published. Required fields are marked *

Get more stuff like this
in your inbox

Subscribe and get interesting stuff plus faster updates to your email.