Installing Apache2 With PHP5 And MySQL Support On Ubuntu 10.04 (LAMP)

Version 1.0
Author: Falko Timme
Follow me on Twitter
Last edited 05/06/2010

LAMP is short for Linux, Apache, MySQL, PHP. This tutorial shows how you can install an Apache2 webserver on an Ubuntu 10.04 server with PHP5 support (mod_php) and MySQL support.

I do not issue any guarantee that this will work for you!


1 Preliminary Note

In this tutorial I use the hostname with the IP address These settings might differ for you, so you have to replace them where appropriate.

I'm running all the steps in this tutorial with root privileges, so make sure you're logged in as root:

sudo su


2 Installing MySQL 5

First we install MySQL 5 like this:

aptitude install mysql-server mysql-client

You will be asked to provide a password for the MySQL root user - this password is valid for the user root@localhost as well as, so we don't have to specify a MySQL root password manually later on:

New password for the MySQL "root" user: <-- yourrootsqlpassword
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword


3 Installing Apache2

Apache2 is available as an Ubuntu package, therefore we can install it like this:

aptitude install apache2

Now direct your browser to, and you should see the Apache2 placeholder page (It works!):

Apache's default document root is /var/www on Ubuntu, and the configuration file is /etc/apache2/apache2.conf. Additional configurations are stored in subdirectories of the /etc/apache2 directory such as /etc/apache2/mods-enabled (for Apache modules), /etc/apache2/sites-enabled (for virtual hosts), and /etc/apache2/conf.d.


4 Installing PHP5

We can install PHP5 and the Apache PHP5 module as follows:

aptitude install php5 libapache2-mod-php5

We must restart Apache afterwards:

/etc/init.d/apache2 restart

Share this page:

15 Comment(s)

Add comment


From: Maxime at: 2010-06-06 18:34:43

A simpler and quicker way to do all of this in one line  :

sudo tasksel install lamp-server

From: Thom Brown at: 2010-06-09 11:56:53

Or you could use a proper, reliable, consistent and more powerful RDBMS... PostgreSQL. ;)

From: Anonymous at: 2010-06-21 12:19:07

sudo apt-get install lamp-server^

Don't forget the ^ at the end, otherwise apt-get won't recognize the package.

From: Anonymous at: 2010-07-30 08:26:17

Do that, and you will have a system full of packets that you don't need, but they still use your CPU.

From: Anonymous at: 2010-07-30 08:25:04


I found a mistake in your tutorial.

 When installing PHP5, to be able to use MySQL, you must also install "php5-mysql" packet: "aptitude install php5-mysql". After that - restart server with "/etc/init.d/apache2 restart". (all must be done with root access either using root console "sudo su" or adding prefix "sudo" to commands)

From: Anonymous at: 2010-10-11 20:53:08

okay just to inform everyone

you cant use aptitude on a standard fresh install as it is not installed.

just use apt-get instead or install aptitude


Just so you know

From: ashique zakariyya at: 2012-04-12 06:14:25

I can give you better solution for installation.

i found great article about this
some fixes also there, auto configuration:

From: Anonymous at: 2010-06-07 15:21:07

Simpler does not always entail safer.

From: Anonymous at: 2010-06-06 18:27:38

Funny! I installed LAMP on my Ubunut netbook using the following command:

$ sudo apt-get install lamp-server^

NOTE: the carat (^) at the end of the lamp-server name is NECESSARY.

LAMP Server installation prompted me to assign a passwd for mysql root account.

I installed phpmyadmin using the following command:

$ sudo apt-get install phpmyadmin

PHPMyAdmin installation prompted me to give it mysql root passwd and then create a phpmyadmin account.

I feel the steps in my note/comment are simpler than the steps outlined in the article. Why would you recommend the steps outlined in your article? Am I missing something?


From: Abe at: 2010-06-09 13:14:42

It is a lot simpler when you use XAMPP

 You get all the following installed in couple easy steps.

 Apache 2.2.14, MySQL 5.1.41, PHP 5.3.1 & PEAR + SQLite 2.8.17/3.6.16 + multibyte (mbstring) support, Perl 5.10.1, ProFTPD 1.3.2c, phpMyAdmin 3.2.4, OpenSSL 0.9.8l, GD 2.0.1, Freetype2 2.1.7, libjpeg 6b, libpng 1.2.12, gdbm 1.8.0, zlib 1.2.3, expat 1.2, Sablotron 1.0, libxml 2.7.6, Ming 0.4.2, Webalizer 2.21-02, pdf class 009e, ncurses 5.3, mod_perl 2.0.4, FreeTDS 0.63, gettext 0.17, IMAP C-Client 2007e, OpenLDAP (client) 2.3.11, mcrypt 2.5.7, mhash 0.8.18, eAccelerator, cURL 7.19.6, libxslt 1.1.26, libapreq 2.12, FPDF 1.6, XAMPP Control Panel 0.8, bzip 1.0.5, PBXT 1.0.09-rc, PBMS 0.5.08-alpha, ICU4C Library 4.2.1 

From: Anonymous at: 2010-06-09 11:17:51

Funny! to the 1st poster why not just type tasksel and select LAMP

From: Anonymous at: 2010-06-30 14:35:53

hun ? and get hacked :|

From: Anonymous at: 2010-08-14 07:39:44

i've followed the steps and it works perfectly when i am connected to the internet, but when i am offline it doesn't work. could anyone help me solve this problem.

From: Marcio Mariano at: 2010-09-08 03:07:11

Great job man !!!

A long time i search a good information and now i founddddddddd !!!

sorry for my bad english


From: Daniel Malaquias at: 2012-03-22 00:53:38

Great Job from Brazil man