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

Want to support HowtoForge? Become a subscriber!
Submitted by falko (Contact Author) (Forums) on Thu, 2012-05-10 17:45. :: Ubuntu | Web Server | Apache | MySQL | PHP

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

Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
Follow me on Twitter
Last edited 05/02/2012

LAMP is short for Linux, Apache, MySQL, PHP. This tutorial shows how you can install an Apache2 webserver on an Ubuntu 12.04 LTS 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:

apt-get 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:

apt-get 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:

apt-get install php5 libapache2-mod-php5

We must restart Apache afterwards:

/etc/init.d/apache2 restart


5 Testing PHP5 / Getting Details About Your PHP5 Installation

The document root of the default web site is /var/www. We will now create a small PHP file (info.php) in that directory and call it in a browser. The file will display lots of useful details about our PHP installation, such as the installed PHP version.

vi /var/www/info.php


Now we call that file in a browser (e.g.

As you see, PHP5 is working, and it's working through the Apache 2.0 Handler, as shown in the Server API line. If you scroll further down, you will see all modules that are already enabled in PHP5. MySQL is not listed there which means we don't have MySQL support in PHP5 yet.


6 Getting MySQL Support In PHP5

To get MySQL support in PHP, we can install the php5-mysql package. It's a good idea to install some other PHP5 modules as well as you might need them for your applications. You can search for available PHP5 modules like this:

apt-cache search php5

Pick the ones you need and install them like this:

apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Now restart Apache2:

/etc/init.d/apache2 restart

Now reload in your browser and scroll down to the modules section again. You should now find lots of new modules there, including the MySQL module:


7 phpMyAdmin

phpMyAdmin is a web interface through which you can manage your MySQL databases. It's a good idea to install it:

apt-get install phpmyadmin

You will see the following questions:

Web server to reconfigure automatically: <-- apache2
Configure database for phpmyadmin with dbconfig-common? <-- No

Afterwards, you can access phpMyAdmin under


8 Links

Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by knsjay (not registered) on Tue, 2014-05-27 01:57.

awesome ., worked and installed great

linux lite., 

Submitted by HG (not registered) on Mon, 2014-03-24 23:41.
How come you guys doing tutorials never tell your readers that using the repos they will be installing software that is 3 - 5 years old?  PHP 5.3 support ends soon.  Who wants to run a 5 year old version of PHP?
Submitted by admin (registered user) on Tue, 2014-03-25 08:17.

This tutorial is for Ubuntu 12.04 and has been written in 2012. So it uses the Software Versions that were the current Versions at that date for this ubuntu Version. If you follow the sme tutorial on a current Ubuntu Version like 13.10, then you will get a current PHP Version autmatically. So it depends all on the Ubuntu Version that you choose for your Server.

Submitted by Anonymous (not registered) on Sun, 2014-01-26 04:26.
This Is Really very good? This Is The Best Site Yet, But I Must Add, After You Install Ubuntu 12.04 or what ever version you are running, you need to check the install third part software button before you install the system, you can leave the upgrade for later or after you have installed UBUNTU 12.04, Then You Need To Go To Upgrade Manager The Check For Upgrades If There Are Some There The Upgrade The System First, It May Take A While But It Is Worth It In The Long Run, My System Run Match Better After This. Then I Followed The 7 Steps Here And It Worked Grate For Me, The Best I Have Ever Done THANKS!
Submitted by Bishal (not registered) on Sun, 2013-12-08 18:15.
Thank you very much. Saved me a lots of time. Thanks a lot.
Submitted by Anonymous (not registered) on Fri, 2013-11-29 23:52.
what a great tutorial, glad I found it. saved me days of work most likely
Submitted by Mohamed Alioui (not registered) on Mon, 2013-11-25 07:55.

Thank you very much, that was very easy to implement. Saved me lots of trouble.


Submitted by chuck eckenroed (not registered) on Wed, 2013-10-23 01:03.
Thank-you, Thank-you!!  This saved me a ton of time (and mistakes).  :)
Submitted by Anonymous (not registered) on Thu, 2013-10-10 13:40.
Very good. Thank you.
Submitted by vinsr (not registered) on Thu, 2013-09-19 05:39.
Thank you very much it helped me works without any errors..
Submitted by san pedro (not registered) on Fri, 2013-09-13 01:03.
very nice tutorial, work flawless...thank you very much!
Submitted by fermax2020 (not registered) on Sat, 2013-07-06 15:32.
thank you very much for the  great   info
Submitted by matmosis (not registered) on Tue, 2013-06-25 10:17.

ha funzionato tutto e subito

bella guida, professionale, complimenti

Submitted by Anonymous (not registered) on Sat, 2013-04-13 19:17.

Wow, thanks a lot! It only took about 5 minutes to set everything up (almost as fast as easyphp on Win :).
And the solution for phpmyadmin that Ravi Kumar posted worked perfectly.
So everything works as expected

Submitted by Quan Tran (not registered) on Thu, 2013-04-11 15:03.
So is this server availble for LAN only or i can access it outside LAN network?
Submitted by Anonymous (not registered) on Sat, 2012-12-08 13:05.

ottimo ha funzionato subito

perfetta e chiara, complimenti

Submitted by Ravi Kumar (not registered) on Sat, 2012-12-08 08:01.

Thank you very much for your nice guidelines.

It worked pretty well up to  step 6 but get stucked at 7th step. During 7th step it asked two questions, in first case i allowed - "Apache2" and in 2nd question which was long with with some other information also (e.g do you have any database etc) then i choose the option as "NO".

Then after refreshing the page with replacing info.php to phpmyadmin, there was not any sign of phpmyadmin page.

What should i do now ?. Thank you again for your help.


Ravi Kumar

Submitted by Ravi Kumar (not registered) on Mon, 2012-12-10 18:43.

Hi everyone,

After 2-3 days i got the simple solution of my problem. In my case upto step 6 (localhost/ everything worked very well but 7th step i.e localhost/phpmyadmin didn't show anything.

 I came to know from another tutorial that phpmyadmin is poor in making automatic link with apache2, so you have to makeup a symbolic link as:

cd /var/www

sudo ln -s /usr/share/phpmyadmin phpmyadmin

and that's it. It worked !!!

I login as "username =root" and "password=rootpassword" , please enter the correct password while u entered during ur mysql installation. It worked for me, n i hope it will definitely work for you too. 

Ravi Kumar (BIC, IMTECH)



Submitted by Sampath (not registered) on Thu, 2014-03-06 11:02.
Ravi thank you very much.
Submitted by sukanya jeyabal (not registered) on Fri, 2013-12-27 19:11.
thank you sir, i too came across the same problem, and now it works
Submitted by Namal (not registered) on Tue, 2013-06-04 13:53.
Thanks a lot
Submitted by osdarodi (not registered) on Thu, 2013-03-07 22:30.
Thank you for your comment, it helpme to install phpmyadmin.
Submitted by Kamil (not registered) on Sat, 2013-02-09 22:20.
Thanks dude! I had the same problem and you helped me a lot!
Submitted by Anonymous (not registered) on Fri, 2013-01-04 23:40.
Thanks Ravi, had the same problem.
Submitted by Cristian (not registered) on Wed, 2012-12-26 21:39.
Thanks Ravi!
Submitted by uday (not registered) on Tue, 2012-10-16 17:48.
this is really a wonderful tutorial
Submitted by KBC (not registered) on Fri, 2012-09-21 14:51.
good job buddy nice and easy to understand guide. TNX
Submitted by Randi\y III (not registered) on Tue, 2012-09-18 06:48.

thanks for your help....
it is a big help for me....^^

Submitted by Afandi (not registered) on Thu, 2012-09-06 21:58.

Hi, many thanks

I have successed until no #4 but when create info.php, I can save the file into var/www

it said you do not have the permission.

Please advise thanks 


Submitted by Anonymous (not registered) on Wed, 2012-10-24 07:05.

save your file on the desktop

try this on terminal



your password

cd Desktop

mv info.php /var/www

Submitted by Kunal (not registered) on Tue, 2012-09-11 18:13.

Use sudo before the command and enter password when prompted.


sudo vi /etc/www/info.php

Submitted by INCH-5 (not registered) on Wed, 2012-08-29 13:20.

Great!!!, all went well, tried it on my Vmware, just that i was confronted with "username/password" option - but after a while i figured it out

Username = root

Password = "yourrootsqlpassword" one provided during Msql installation.

Submitted by Anonymous (not registered) on Thu, 2012-08-23 16:57.
Thanks, it worked first time without any problem
Submitted by Anonymous (not registered) on Tue, 2012-08-14 09:42.

after the command-

apt-get install mysql-server mysql-client

i wasnt prompted for the user name or password!!!

what could be the problem

Submitted by Gg (not registered) on Wed, 2012-08-01 08:55.

Thanks for the nice and pretty tutorial!

I just wanted to mention that it might be worth considering the tasksel utility too. A little less control on things, but overall a quite immediate approach.

You just need to install the tasksel package from repos:

sudo apt-get update 

sudo atp-get install tasksel

Then just run tasksel as superuser:

sudo tasksel

What you get on screen is a whole bunch of configurations you can change your system into. Just scroll to "LAMP server", select it with space bar and press enter. All packages to be installed are automatically included for you. Along the installation you'll be asked to provide pretty much the same info such as MySQL password etc. Once done, you'll have your LAMP server (or any other config you selected) ready to go.

Hope it helps!


Submitted by Hakob (not registered) on Wed, 2012-07-18 19:22.
Thanks for this tutorial. It is really best tutorial for this kind of installations...
Submitted by Allan (not registered) on Sat, 2012-07-07 21:19.
Perfect, worked first try.
Submitted by Anonymous (not registered) on Thu, 2012-07-05 08:50.

Thank you for the superb guide.

Although regarding phpmyadmin, have to say that I need to do the:\

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
sudo /etc/init.d/apache2 reload

 as suggested in

But I have to comment out the 

Include /etc/phpmyadmin/apache.conf

 to ensure it works (since I followed the help step-by-step).

Hope this will help others having the same problem.


Submitted by Anonymous (not registered) on Sat, 2014-05-31 20:04.

Thanks alot for your help ! 

 I had similar problem and it does work after I read your comment :) ,,, Also , using nano instead of vi in step 5 is much easier ! if someone does not know how to deal with "vi" as well ;) ... Thank you all ! 



Submitted by jda (not registered) on Wed, 2012-11-07 23:57.

Quote 'Although regarding phpmyadmin, have to say that I need to do etc '

Me too...

Submitted by gaodayue (not registered) on Sat, 2012-09-08 14:25.
thanks for your remind and the helpful link
Submitted by dbdyp_leo (registered user) on Sun, 2012-08-19 13:27.

Thank you for your details.

I did this as follows:
sudo dpkg-reconfigure -plow phpmyadmin
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
sudo /etc/init.d/apache2 reload
as suggested in Ubuntu version is 11.04)

Submitted by Anonymous (not registered) on Mon, 2013-04-15 12:52.

This works great for me as well!

Thank you very much

Submitted by Wim Anckaert (not registered) on Thu, 2012-09-13 08:40.
tx, this worked also on ubuntu 12.04
Submitted by Josir (registered user) on Wed, 2012-07-04 16:37.
Thanks for your post. I got a LAMP server in 5 minutes!!! Work like a charm!

You could also insert some performance tips after the basic install.


Submitted by Anonymous (not registered) on Thu, 2012-06-28 01:03.
Great tutorial. I did this really fast. I have to add that I needed to add the line:
 Include /etc/phphmyadmin/apache2.conf
to the file /etc/apache2/apache2.conf for getting the phphmyadmin page to work.



Submitted by Luiz (not registered) on Fri, 2012-06-22 00:33.

 Your tutorial saved me days of work. 

Thanks a lot.


Submitted by Anonymous (not registered) on Thu, 2012-06-21 00:36.

thanks my friend  cool, please add symbol link phpmyadmin direct acces


Submitted by Anonymous (not registered) on Thu, 2012-05-31 05:22.
Spent a day trying to get tomcat to do some simple stuff. Man was I happy to land on this website! I stopped the tomcat service, installed Apache2 (already had the L, M & P) and BAM! default web page, NO PROB!!!  Took me all of five minutes! Now, I'm in tall cotton; even the food tastes better :-))  MANY THANKS!!!

Submitted by sigma (not registered) on Sat, 2013-02-16 23:15.
huge! Works the same on ubuntu12.10. Thanks for this great tutorial
Submitted by Thushara (not registered) on Thu, 2013-12-26 10:23.
Awesome tutorial. Saved my day. :)