How To Install and Configure Ubuntu 11.04 As A Web Server

In this tutorial we will install Ubuntu Server 11.04 and set it up as web server.In later articles we will use this Ubuntu server to setup websites using wordpress, joomla, drupal and a handful others.

A quick note Ubuntu 11.04 is not a long term support release so it is probably not the best practice to use as a production servers. What this means is you will only receive updates until April 2013. If you use the current long term support release, Ubuntu 10.04 you will get updates until April 2015. Visit the following URL for instructions on installing Ubuntu 10.04 Server.

Before we begin we need to download the Ubuntu Server .ISO file.

Download Ubuntu Server:

Once you have downloaded the .iso image you will need to make a bootable USB or CD to boot off of to start installing. To learn more about how to do this visit the following URL and look at step 2.

Tips on how to make iso bootable:

Once you have your bootable media we will now need to boot off the install media. Unfortunately there is no standard method to change the boot order from one computer manufacture to another. Basically what you are looking to do is turn your computer on and instead of booting from your hard drive boot from the USB device or CD. For some helpful information on booting from other media visit the following link.

Tips on changeing boot order:




Now that we have booted off the install media select your language



Ubuntu Server Install - Select Your Language



Select Install Ubuntu Server



Ubuntu 11.04 - Select Install Ubuntu Server



Select your language



Select Install Language



Select your country



Select your country



For keyboard setting I will often select No for this option and just manually set it.



You can auto detect your keyboard setup or manually set it



Select country of your keyboard



Select your keyboard country Layout



Select layout



You can often just enter thought these options



Give your server a name. This will need to be unique name on your network. I am going to call my server webserver-ubuntu but you can name it whatever you want. (Example: server1, myserver, watson..etc)



Give your server a name - Don't use spaces but you can use dashes



Select your time zone



Select Your Time Zone



Since this is the only operating system that will be installed on my hard drive and I want to keep things simple, I will use the Guided – Use Entire disk and set up LVM option.



To keep things simple we will select guided partion setup for are servrer install



Select the hard drive to install on. Since I only have one drive this is a pretty simple choice.



Select your hard drive to install Ubuntu server on



Confirm writing changes.

(Note: If you are going to be dual booting this system make sure you have a complete backup. Clonezilla is a great open source tool to do this)



Review Partion setup and if it looks good select Yes to confirm it



Set how much disk space you want this install to use. Since my hard drive is only 10.5 GB I will use that amount.



Enter the about of space for your server install to use - I will just leave all of it in this example



Review partition setup and confirm to have the changes written to disk



Review Partion setup and confirm it



Now it is time to create a user. This user will have sudo access (Access to perform admin task.) Enter the full name of the user. (Example: Jim Bob)



Enter the User full name (example: John Smith)



Now create a username that will be used to login. This is really up to you and your naming conventions. You could create the username being just the first name or what ever you want. If there will be a lot of users managing the system make sure you have a naming convention in place to adjust for more then one person with the same name.

One other note. This should be in lowercase



Create the username that will be used to login to the server



Now create a password



Create a secure password



Confirm that password



Confirm the password



You can set encryption on your home dir. I often don't because if something goes wrong it can be a really pain to recover that data. It really depends on the type of data that will be stored.



If you want to encrypt you data in your home partition you can do this here



If your network has a proxy you can set that here.



If you have a proxy server setup on your network you can set this here



Select how you would like to have updates applied. I will select No automatic updates for production servers because it gives me more control of what and when updates are applied.



Set how you would like to have updates applied. I will often select No automatic updates on a production server



Now we can select the services we wish to install. Since we are setting up a web server we will want to select the following.

Note: To select a package use the arrow keys to highlight a package and using the spacebar to put an “*” next to the packages you wish to install.

  • OpenSSH Server - The Service that allows you to connect remotely and manage your system.
  • Lamp Server – (Linux Apache MySQL, and PHP) The most commonly used web service tools.
  • Mail Server – Most websites will have automated task to send email for things like user registration.



Select the application you would like to have installed. (LAMP, OpenSSH and Mail Server are often need for web servers)



Once have selected the packages hit enter to continue.


Create a password for your MySQL database. (Make this secure since this will be the password used for managing all MySQL database on the system)



Create a password for MySQL



Confirm password



Confirm your MySQL password by typing it again



Select Internet Site for mail settings



Select Internet Site for mail servers settings



Enter the fully qualified name of the server. This will be your server name (example: webserver-ubuntu) and the domain. If you are not sure what that means you can make one up.

The domain could be your internal or external DNS name. Since this machine will only be inside my home network and my internal DNS domain internl.linux I will use that. If I had an external domain name such as I could use that. (Example: )



Enter the fully qualified domain name for the server



We will now want to setup the boot loader. Select Yes to install



Install the boot loader - Grub



The install has completed. It is now time to reboot and test out are new system.



Ubuntu Server Install complete



Login using the username and password you created.



Login to your new ubuntu server



When you first login you should see something similar to the image below. This is showing how hard your system is work as well as some other information such as number of processes and IP address of your server. Often time it will let you know if you have updates available to install. Since it is a fresh install we will need to refresh the repositories.



Ubuntu login information



Refresh the repositories with

sudo apt-get update

(Note: The sudo option in front of the apt-get update command basically has you run this as a full privileged user such as root or administrator on windows.)



Refresh the repos with sudo apt-get update


output of sudp apt-get update



To apply the available updates use the following command

sudo apt-get upgrade

(This will update all packages on the system except the kernel)



Apply updates by using sudo apt-get upgrade



Enter Y to confirm installing the updates.



sudo apt-get upgrade - Enter Y to confirm installing updates and dependancies



It looks like we will have to run another update command once this one completes.

If you look at the fourth line down you can see that not all the available updates will be installed. It is says that the linux-generic-pae, linux-headers-generic-pae, and the linux-image-generic-pae will be held back. (Kernel updates) We will need to run another update command to install the kernel updates.



You can see some updates were kept back



sudo apt-get dist-upgrade

Once the kernel updates are applied we will want to reboot. This is usually about the only time you need to reboot your Linux system. (after a kernel update)



sudo apt-get dist-upgrade



One your system is rebooted, log in.

Take Note of the IP address.



Take not of your  IP



Go to another computer and type that address into a browser to test that apache web server is working.

If you see a page that says It Works! You now have a Ubuntu server ready to serve up web pages.



Test default server setup /var/www/index.html



Ubuntu default web directory is stored in /var/www


Additional Help and Settings:

Static IP Address:

When working with servers it is a good idea to set a static IP address. That way you can it never changes on you. For instructions on how to set a static IP address on Ubuntu server visit:


Set root Password:

Linux has a user called root. (Similar to administrator on windows) By default Ubuntu has an unknown password set for that account. Every once in a while you may need to use the root id. For steps on how to set a password for the root account visit:



Start, Stop and Restart Apache and MySQL:

Sometimes when making changes to your webserver or mysql database you will need to restart these services. Some example might inlcude changing permissions on directorys or apache configuration such as virtual host. For simple steps on how to start, stop, and restart these services visit:


Installing phpMyAdmin

If you are looking for a nice web interface on managing your MySQL database, take a look at phpMyAdmin. It allows you to create databases, users, manage tables, and much more. For simple steps on how to install phpMyAdmin on Ubuntu visit:


Restrict phpMyAdmin by IP

Many hackers look for servers with phpMyAdmin installed and try to brute force into the server. You can add an extra layer of security by locking phpMyAdmin down to a defined set of IP addresses.


If you enjoyed this post, please share it on your favorite social network by clicking on the “Share / Save” bar below.