How to: Install a LAMP server

Jack Wallen
Updated •
Internet

If you've read enough of my Ghacks tutorials you have most likely come across mention of a LAMP server. If you are not sure what a LAMP server is:

  • Linux
  • Apache
  • MySQL
  • P (can mean PHP or PERL - depends upon your needs)

LAMP servers are very popular, cheap, effective, flexible, and reliable servers. But how are they installed? Actually, it's not that hard. In this tutorial I am going to show you how to install a LAMP in two different ways: From the command line (using separate tools) and using the tasksel tool.

Hardware needed

Fortunately a LAMP server can be installed on lower-end hardware and still serve as a fairly efficient server. Naturally if you are going to be using your LAMP server for high traffic, you will want to select your hardware wisely.

Install prerequisite

Before you begin the installation of your server you will need to have your operating system installed. This is the "L" of LAMP. So find your favorite Linux distribution and install the operating system. For the purposes of this installation I am going to be installing on a Ubuntu 9.04 server installation. This will be a console only server (no GUI desktop) which is fine because the installation is done via command line only.

Once you have your operating system installed you are ready to install your server.

Apache

This is the easiest portion to install. Either log in to your console or open up a terminal window (if you are working from a GUI desktop) and enter the following command:
sudo apt-get install apache2

You will have to enter your sudo user password for this installation to continue. Once this installation is complete check it by pointing a browser to that server IP address. You should instantly know if Apache is up and running.

PHP

For the purposes of this article we will assume the "P" stands for PHP. To install PHP (and all of its requirements) issue the command:

sudo apt-get install php5 libapache2-mod-php5

Once this installation is complete restart Apache with the command:

sudo /etc/init.d/apache2 restart

Let's make sure this portion works properly. To test this create a file in the Apache document root (for this install it will be /var/www) called test.php. The contents of this file will be:
< ?php phpinfo(); ?>

Save that file and then point your browser to http://IP_ADDRESS/test.php

Where IP_ADDRESS is the actual IP address of your server.

You should see "Test PHP Page" written on your browsers page. If so, you're good to go.

MySQL

Now to install MySQL. To do this issue the command:

sudo apt-get install mysql-server

Once this is done you then need to set a password for MySQL. To do this issue the command:

mysql -u root

which will put you in the MySQL prompt. From this prompt (which looks like mysql> ) enter the command:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('YOURPASSWORD');

Where YOURPASSWORD is the password you want to use for the mysql user.

Now start your MySQL server with the command:

/etc/init.d/mysql start

That's it. Your LAMP server is up and running.

The quick version

You can actually install a full-on LAMP server on a (Ubuntu server install) with a single command:

sudo tasksel

You will need to select LAMP from the list and you will eventually be prompted for a MySQL password. That's it.

Final thoughts

Getting a powerful, flexible web server up and running will take you less time and effort than you think. LAMP servers are an outstanding choice for your web servers' needs.

Comments

  1. Carlos said on
    Reply

    Hello, thank you very much, we are here in Brazil and we do not have much information like this, thank you very much for sharing you solved my problems

  2. Maicon Rissi said on
    Reply

    Very good tutorial!

    Congratulations!

    ;-)

  3. John Li said on
    Reply

    Jack, great tutorial. Just FYI, I think the correct path is /var/www/html/ for the test.php also it didn’t seem to work for me with the contents of ” “. But I am using Centos 6.2 apache 2.2.4.

    Chris, if you are using GUI then it would be: File System /var/www/html/

  4. Ganhar Dinheiro said on
    Reply

    very good this tutorial will help me a lot when I’m doing this installation

    Thanks

  5. Ganhar Massa Muscular said on
    Reply

    Very good this tutorial! It was very useful for me! Thanks for publishing!

  6. tenis oakley masculino said on
    Reply

    yes, After reading you site, Your site is very useful for me .I bookmarked your site.

  7. Ravi said on
    Reply

    Thanks a lot

  8. Forever Brasil said on
    Reply

    Thanks! Very good post!

  9. Jazida.com said on
    Reply

    Thnaks!

  10. Ganhar Dinheiro na Internet said on
    Reply

    Thank you very much! Your post was very useful to my hear in Brazil!

    Dani Edson

  11. Chris said on
    Reply

    I can’t save files into the /var/www directory. I looked at the properties of the www folder and then into permissions and it says that I do not have any permissions as I am not the owner. Any idea’s what I can do?

  12. Diego said on
    Reply

    Excelente tutorial.
    I have one cuestion, how I install PHPMyAdmin?
    Thanks!

  13. Jack Wallen said on
    Reply

    Brian: Sorry about that. I blame spell check. ;-)

  14. brian said on
    Reply

    dude….it’s PERL, not “pearl”

    1. T-Bone said on
      Reply

      Brian,
      at least appreciate the effort… idiot..

  15. Nick said on
    Reply

    Thank you. Your post came just right on time!

Leave a Reply

By commenting, you accept our privacy policy and keep the discussion respectful and on topic.