Today I’m doing something a bit different from production and fabrication.
I recently started working on a site in Joomla! 2.5 that is currently being served by a web host. I wanted to be able to work on the site offline so I would only have to take the site down for maintinance when staging my new changes. It was a bit hard for me to find one tutorial on all the steps of doing this with Ubuntu 12.04, as most tend to focus on specific aspects of the installation process, so after collecting all the information from various sites, I decided to make a guide to the whole process of getting Joomla! up and running locally from scratch. This tutorial is for beginners and assumes that you have no lamp server components already installed.
Part 1: Install the LAMP Server
LAMP has all the fun stuff you need for Joomla like an apache server, mysql, and php. It comes in a nice package so you dont have to install everything individually (but you still can if you want).
First get tasksel installed so you can get all the lamp stuff you need:
$ sudo apt-get install tasksel
Then go ahead and install the lamp server using:
$ sudo tasksel install lamp-server
Note: I advise creating a password for mysql when it asks. This will be used later in setting up the database.
You can now serve files locally!
go to http://127.0.0.1 in your browser to see your hosted content.
At first there won’t be anything there but a default index.html file.
The content you are serving is stored in the directory /var/www.
We want to install Joomla! here.
Part 2: Download and Install Joomla!
For this install I’m using Joomla 2.5 since the site I want to sandbox is in 2.5 and partially built already. The Joomla! site recommends using 3.1 for new installs, but you can use whatever version you want.
Go to http://www.joomla.org/download.html and download whatever package you wish to use. Open the package in your Archive manager. We want to extract the files to /var/www, but that directory is root access only so you can do what I did, which was extract the files to a folder on the desktop and then using the command:
$ gksudo nautilus
to open up your file browser with root access, and then simply drag and drop the Joomla! filesfrom the desktop into /var/www and delete index.html.
Note: I extracted all my Joomla files to a new folder (named joomla) and kept them bundled together for the sake of keeping things tidy.
Now, if you go to http://127.0.0.1 you will see your Joomla! files in the apache server. If you put all your Joomla! files in a folder like I did that folder will be displayed in the server and to begin the install process you must click to open that folder. Otherwise It will simply begin the install process.
At this point follow the instructions in the Joomla! installation. You may run into some hangups during the pre-installation check, as its fairly common to be missing certain components. For me I had Database support(): No, so I had to create the mysql database by running:
$ sudo mysqladmin -u root -p create joomla
$ mysql -u root -p
and enter your root password to open the mysql monitor.
At the prompt run the command:
mysql> grant all privileges on joomla.* to root@localhost identified by ‘password’;
Note: I used ‘password’ as my mysql password. Use whatever password you chose earlier when installing mysql.
If all goes well you should get the response:
Query OK, 0 rows affected (0.18 sec)
Then, to activate the permissions run:
mysql> flush privileges
after this, quit using
now restart your apache server with the command:
$ sudo service apache2 restart
You should now be all set to go installing Joomla!
Some Considerations on Installation:
When setting up the database in Joomla! make sure to use the same hostname, user name, password and database name that you set up in mysql before.
After successful installation, you should probably remove the installation folder from /var/www/joomla or wherever your joomla files are.
Hope this helps. Happy developing!