Setting Up a LAMP Stack on Ubuntu
Local web development on a Ubuntu Linux powered computer needs a LAMP stack installation. That is, the Apache web server, PHP for coding, and the MySQL database. Here is a method for setting it all up for the latest version of Ubuntu Linux.
Just before we begin, you might be wondering why you would bother with Linux at all.
The answer is simple. It is very easy to set up a virtual machine (VM), with Linux running inside it. Then, you can mess round with code, such as trying out WordPress, or building web applications, without having to mess with your main computer. If something goes wrong, you can reset the VM, and nothing is lost (apart from some time to set it back up again).
Right, let’s crack on.
Installing the LAMP Stack on Ubuntu
I wrote this up from a clean installation of Ubuntu 12.10. There are various components we need:
- Apache web server
Ubuntu makes it easy to get the entire LAMP stack in one hit. But you have use the command line. In fact, we’ll be using the command line a fair bit. It’s not as scary as you might think though.
Open up the Terminal app up, and enter the following command:
<code>sudo apt-get install lamp-server^
If this looks totally alien to you, I suggest you spent some time on Google, finding resources about the basic use of the command line with Linux.
What the command actually does, is fetch and prepare for installation, all the files needed to setup your LAMP stack:
Most of the process is automated, but when it gets to MySQL, you will be prompted to add a password:
Once the process completes, you can open your browser and go to http://localhost:
Next, we need a way to administer the MySQL database. There is a great tool called phpMyAdmin that will do the job nicely.
Back on the command line do:
<code>sudo apt-get install phpmyadmin
During the installation process, you will be asked which web server you want to set up. We’re using Apache:
Once installed, it will be available at:
So far then, we have: Apache, PHP, MySQL, and phpMyAdmin installed and ready to go. The next thing we need to do, is create a virtual host so that we can use our
home folder to develop in.
Warning: this next bit contains command line shenanigans aplenty…
First, we must make sure we are in the correct directory:
Just before we start creating a virtual host, we’ll make sure that Apache can serve pretty url’s. To do that, we’ll install mod rewrite:
<code>sudo a2enmod rewrite
Next, we’ll create our first virtual host. Apache comes with a default one, so we’ll copy that, and edit it to suit our purposes:
<code>sudo cp defaultyourname.dev
<code>sudo gedit yourname.dev
Add the following to the file (replacing
yourname with your actual name, the same name you gave the file)
Options Indexes FollowSymLinks MultiViews
allow from all
Save and close the file. Next, we must enable the site we have created. That is done in 2 steps:
sudo a2ensite yourname.dev. Ubuntu will respond telling you to restart the Apache service. No need to yet though. We’ll do the other step first.
sudo edit /etc/hostsand add this line:
127.0.0.1 yourname.dev. Save and close the file
Now you can restart Apache:
<code>sudo service apache2 restart
Before you can try this out, you’ll need to create the
www folder in your home directory:
Now we can try out our new host. Create a new file using Gedit or your favourite code editor and add:
Then save the file in as:
info.php in the
/home/www folder. In your browser, go to:
http://yourname.dev/info.php. You should be greeted with the info file that shows you the PHP configuration:
So now, you can build a web application and store and test it from your WWW folder. You can of course, create other virtual hosts in the same way, for different projects.