According to it's website, "Joomla is an award-winning content management system (CMS), which enables you to build Web sites and powerful online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla the most popular Web site software available. Best of all, Joomla is an open source solution that is freely available to everyone."
My background with Joomla: The webmaster of my daughters' Girl Scout Service Unit is leaving town, so they needed someone to take over. My wife asked me to do it, but I didn't want to run a site where I was the one who made all the updates. I looked for something that would let me administer a website, but let others add content. I came across a few choices of CMSs, including Joomla, Drupal, and Mambo. I chose Joomla, as it seemed to me to be the most complete system (your mileage/opinion may vary).
I've been thinking about writing this Instructable for a little bit, but was inspired by bunglesmate's recent Instructable to actually sit down and do it.
Step 1: Software Requirements
In order to run Joomla you need some sort of web server, PHP and MySQL. If you're not sure what these are, you might be in over your head here, but I'll explain what they are, and what we'll be using, as it really is pretty simple to get up and running.
Web server: A web server is a program that serves up web pages. Your browser (what you're most likely looking at this Instructable in) loads up web pages. To do this, you go to an address, such as https://www.instructables.com. Your browser than talks to the web server at that address, which sends back a web page, which in turn displays the page for you to see. (Yes, I know it can be much more complicated than that, but we'll stick with that for our purposes here.) We will be using a web server called Apache.
PHP: PHP is a scripting (programming) language that lets you write "programs" that run on the web server, and end up sending dynamic information to the web browser. For instance, let's say you go to a web page, and fill out a form with your personal information. That information has to be checked to make sure it's filled in completely. You can use PHP to process the data that was sent in, and make sure that it was all filled out completely, then, based on the information that was submitted, bring the user to web page specific to them. You won't be doing any actual coding for Joomla, but you need PHP installed to make Joomla work.
MySQL: MySQL is a database, plain and simple. It's going to store the actual contents of the website you'll eventually build with Joomla.
Joomla requires certain version of these software products, and those requirements can be found on the Joomla website.
Step 2: Installing the Software: Part 1
Installing a webserver, PHP and MySQL can be a daunting task. Luckily there's a very easy way to do it, called XAMPP. XAMPP stands for X (any of four operating systems), Apache, MySQL, PHP, and Perl (which we don't need, but we'll get anyway.) If you download XAMPP and unzip it to a folder on your hard drive, you have just installed all those products! Too easy!
So, first, we're going to download XAMPP Lite for Windows. Go to the download page, and download the XAMPP Lite ZIP package. Don't download the EXE, as it requires an actual install.
Once you have that downloaded, you'll want to open it with your favorite ZIP program. I'm using 7-Zip. You'll see a single folder called xampplite. Drag that folder to the root directory of your C drive. I know that you don't normally put stuff right there in the root directory, but in this case, it's the best place for it.
Congratulations, you just installed Apache, PHP, and MySQL!
Step 3: Installing the Software: Part 2
To install Joomla, you first need to download it from Joomla's website. Go to their download page, and download the full version of Joomla 1.5.
While that's downloading, go into the C:\xampplite\htdocs directory, and create a new folder called joomla.
Once again, you'll want to open up the downloaded file with your favorite ZIP program. This time, you'll want to extract all the files in it to the new C:\xampp\joomla directory.
Congratulations, you've just installed Joomla!
Step 4: Starting Your Servers
Now that you've installed everything, you need to start the web server (with PHP) and MySQL:
1) Start-up XAMPP by going to C:\xampplite, and running xampp-control.exe. This will bring up the XAMPP control panel.
2) Click on the start buttons next to Apache and MySQL.
Assuming you aren't having some issues with port conflicts and firewalls, you should now be able to go to http://localhost.
Step 5: Configuring MySQL
Joomla requires that MySQL have a password for it's root user. While this is great practice for a production site, it's not really necessary for the environment we're working in. But, Joomla requires it, so we have to do it.
To give MySQL a password:
1) Go to http://localhost/phpmyadmin.
2) Click on the Privileges tab.
3) Click on the Edit Privileges icon on the root row.
4) Scroll down to the Change Password section, and enter a new password for the root user. I'll be using rootpass (I'll also be destroying the site afterwards, so giving you my password really doesn't make a difference!)
5) Click the Go button.
6) Click the Privileges tab again.
7) Click on the reload the privileges link in the notes section towards the bottom of the page.
Now that you've changed your password in MySQL, you've got to let phpMyAdmin know what the new password is. So:
1) Open C:\xampplite\phpMyAdmin/config.inc.php in your favorite editor.
2) Find the line that starts $cfg['Servers'][$i]['password'], and enter your password between the single quotes. Save the file.
Step 6: Configuring Joomla
Next you need to configure Joomla by running the web based installer. This doesn't install any files on your hard drive, rather it configures your Joomla instance, and installs it to the database.
1) Go to http://localhost/joomla, to run the installation wizard. Joomla supports a ton of languages, but we'll be using English. Why? Because I'm mono-lingual, and English is all I know. Click Next.
2) Joomla runs a check on your system to make sure everything is compatible. You'll notice a red On under Display errors. We need to fix this. To do this:
a) Open C:\xampplite\php\php.ini in your favorite editor
b) Search for display_errors, and keep going until you find the line display_errors = On. Change it to say display_errors = Off
c) Save the file
d) Stop and restart Apache by going to the XAMPP control panel, and clicking on the Apache Stop button, then the Start button.
3) Now that we've fixed that, you can click on the Check Again button, and the red On should say Off, and be a color other than red. Click Next.
4) You have to decide for yourself to agree to the license. If you do, click Next. If you don't, then you have to stop here, because you can't go further without agreeing. It's up to you.
5) Now we need to enter the database information:
* Database Type: leave mysql
* Host Name: localhost
* Username: root
* Password: enter the password you created while configuring MySQL in the last step.
* Database name: you can enter whatever you want, but I like to use some form of joomla.
NOTE: DO NOT root@localhost like I did below!
When done, click Next.
6) On the FTP page, just click Next.
7) First, click the Install Sample Data button. This will install a bunch of sample data that will help you to get familiar with Joomla. While you can skip this step, I don't recommend it for first time Joomla users. It helps to see how everything is laid out. Next, enter the Site Name, Your E-mail, and an Admin Password, then click Next.
8) Now that the installation process is complete, you need to delete the C:\xampplite\htdocs\joomla\installation directory. You can't use Joomla until you do. Once you've done that, you can click on the Site button to go to the site, or the admin button to go to the admin back end.
Congratulations! You have installed and configured Joomla 1.5. You're now ready to start authoring your own site.
Step 7: Next Steps
There are a few things you can do once you've got it installed. In no particular order:
* Start authoring the stie
* Secure the site
* Find a host to run your new Joomla site for the public (My listing this link does not suggest an endorsement of any website listed there.)
* Get help for Joomla
* Read the documentation