Sunday, November 13, 2011

How To Install LAMP (Linux, Apache, MySQL, PHP) On Ubuntu 11.04/11.10


If you develop web applications and scripts, it will be nice testing them locally in your own computer before launching them online. This will require the installation of a webserver on your computer.

LAMP (Linux, Apache, MySQL, PHP) is one of the easiest and perfect environment where you can test all your PHP codes. In this tutorial, we will help you install the LAMP webserver on Ubuntu 11.04/11.10; can also be installed on older distributions of Ubuntu (10.10/10.04).

LAMP Installation

The LAMP webserver can be installed easily with this command (the caret (^) is required, don't exclude it):

sudo apt-get install lamp-server^

During the installation, you will be asked to enter a new root password for the MySQL database, submit it and pressEnter:



You will be prompted to enter the password again for confirmation. Wait now until the installation is complete. You have now installed the LAMP webserver on Ubuntu 11.04/11.10. Let's now go to the next step.

Testing Apache

Launch your web browser (Firefox, Google Chrome, etc.) and open one of these addresses:

http://localhost/
or
http://127.0.0.1/

If you get this page, then Apache is started:


Otherwise try to restart Apache with this command:

sudo /etc/init.d/apache2 restart

Then give it another try.

Testing PHP

Let's now test PHP. You need to create an empty PHP file in /var/www  and insert this snippet of code into it:



You can easily do it with these two commands via the terminal:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/test.php
sudo /etc/init.d/apache2 restart


Then open this address:

http://localhost/test.php

You should see a page like this:



Configuring MySQL

Since you are using the LAMP webserver locally, your MySQL database must uses the same IP address of your localhost which is: 127.0.0.1. Via the Terminal, run this command to verify it:

cat /etc/hosts | grep localhost

Here is the correct output you must get:

~$ cat /etc/hosts | grep localhost
127.0.0.1 localhost
::1     ip6-localhost ip6-loopback


Also verify that the bind address is set correctly by running this command:

cat /etc/mysql/my.cnf | grep bind-address

You should get this output:

~$ cat /etc/mysql/my.cnf | grep bind-address
bind-address = 127.0.0.1

If you get a different IP address, then edit the my.cnf file with this command:

sudo gedit /etc/mysql/my.cnf

Search for the line containing "bind-address" and correct its address by replacing it with 127.0.0.1.

phpMyAdmin Installation

If you want an easy GUI for managing your MySQL databases, you can install phpMyAdmin with this command:

sudo apt-get install libapache2-mod-auth-mysql phpmyadmin

During the installation you will be asked to select a web server that will be configured automatically to run phpMyAdmin. Select apache2 using your spacebar and press Enter:



You will be asked next to configure a database for phpmyadmin with dbconfig-common, select Yes and press Enter:



In the next screen, enter the MySQL password you have submitted before and press Enter:



Congratulation! phpMyAdmin is now installed in your system. To test it, open simply this address via your web browser:

http://localhost/phpmyadmin/

Login to phpMyAdmin using root as username and the password you created earlier:




You have now successfully installed LAMP on your system. All your projects and files must be placed in /var/www so that you can run them.

Removing LAMP & phpMyAdmin

To uninstall the LAMP web server and phpMyAdmin, open the terminal and run this command:

for pkg in `dpkg -l *apache* *mysql* phpmyadmin | grep ^ii | awk '{ print $2 }'`; do sudo apt-get -y purge --auto-remove $pkg; done;

That's it!