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!