DIY

DIY: Installing the Joomla! CMS

With the Joomla! content management system, you can create amazing sites, tools, and more. Jack Wallen presents a walkthrough on how to install the Joomla! platform.

Some users are still unsure whether a content management system (CMS) is a website builder, an internal tool for managing documents and other content, or an application framework that can serve as a sort of cloud-based companywide tool. The free, open source Joomla! can do all of those things and more, as I describe in my 2009 TechRepublic review of the CMS.

This tutorial is a walkthrough on how to install the Joomla! platform. Since many of the tools I use are the same or similar on each platform, I run this installation on a Linux Apache MySQL PHP (LAMP) server. In future DIY posts, I'll provide tips on how to use Joomla!

What you'll need

Read this DIY post first

Before you begin the Joomla! installation process, please read my post DIY: Troubleshooting Apache installations, so your .php files are being processed and not downloaded.

Database

Joomla! is a database-driven CMS, and the database best suited for it is MySQL. There are a number of ways to create the database for the site, but I find the easiest way is with the MySQL Workbench tool. Once the MySQL Workbench tool is installed, it can easily create the necessary database for the Joomla! installation. Here's how.

The first step is to connect to your MySQL server, which will require the MySQL administrator credentials. After a successful authentication to the server, click the Create New Schema button in the Overview tab (Figure A). Figure A

The Create New Schema button in this image is right above the Bacula tab. (Click the image to enlarge.)

After the Create New Schema button is clicked, follow these steps:

  1. Enter the schema name. I recommend naming the schema joomla.
  2. Select utf8-default-collation as the Default Collation option.
  3. Click the Apply button. This will open a new window where you can review the configuration. If the configuration looks correct, click the Apply button, and the new schema will be created.

Once the database is created, it's time to move on to the actual installation of Joomla!.

Unpack the download

The Joomla! download will be in the form Joomla_XXX-Full_Package.zip (XXX is the release number). Follow these steps:

  1. Move the file to /var/www/.
  2. Unzip the package with the command sudo unzip Joomla_XXX-Full_Package.zip (XXX is the release number).

You need to understand that unpacking the Joomla file will not create a handy sub-directory where all of Joomla!'s pieces will be then unpacked; the above command will explode the contents of the Joomla! file into the document root of the Apache server. If that is not a desired end result, try the following:

  1. Create a new directory with the command sudo mkdir /var/www/joomla.
  2. Move the Joomla zip file into the newly created directory.
  3. Unpack the Joomla file within the newly created directory.

Follow the final installation steps below (if a sub-directory has been created for the Joomla! installation, make sure those changes are added to these steps):

  1. Rename the /var/www/installation/configuration.php-dist file to /var/www/configuration.php.
  2. Give the configuration.php file write access with the command sudo chmod 777 /var/www/configuration.php.

Now all of those bits and pieces won't be cluttering up your document root. If Joomla! will be the only site hosted on your server, it's fine to unpack in the document root (that will avoid users having to use the address http://ADDRESS_TO_SERVER/joomla/).

With the database created and the file unpacked, it's time to point your web browser to http://ADDRESS_TO_SERVER/index.php. If Joomla! was packed into a sub-directory, you need to make sure that sub-directory is in the URL (before /index.php).

The next step is to follow the installation wizard, which covers these areas:

  • Language For Installation. This is not the language for your Joomla! site; this is the language to be used for the installation only.
  • Pre-installation Checks. If any checks fail, the fix(es) should be obvious here.
  • License agreement.
  • Database Settings. The default is MySQLi with this installation. You should switch to MySQL and fill out the necessary information.
  • FTP. Unless you need FTP access, don't bother enabling this feature. If you do need FTP access, an FTP server will have to be installed first.
  • Site Configuration. This is where the Site Name and site administrator are configured. I highly recommend installing the Sample Data (it's a simple click of a button prior to clicking the Next button). From the Advanced Settings, the site metadata can be configured.
  • Remove The Installation Directory. This is a new feature, where the installation directory can be removed automatically by clicking the Remove Installation Folder button on the final page of the installation. If this button errors out, the installation directory can be removed with the command sudo rm -rf /var/www/installation. That command should be run after first visiting the Administrator control panel (Figure B) or the Site (click either button in the top right of the final installation page).
Figure B

The Administrator panel is where the bulk of the Joomla! work is done. (Click the image to enlarge.)

Now you can log in as the administrator (go to http://ADDRESS_TO_SERVER/administrator/ to log in) and begin configuring your site.

Congratulations! The Joomla! CMS is now installed and ready to serve.

About

Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.

11 comments
svenie
svenie

Hello, I have written an article containing a pragmatic step-by-step instruction on how to make websites using Artisteer, Joomla and Bluehost. Walking the talk I have turned the article into a website: http://www.easywebsitedevelopment.com. You might like it.

rab
rab

Suggest you look at CMS Made Simple as an alternative to Drupal and Joomla - in a contest between the 3, CMS MS wins hands down!

djsesso
djsesso

I have used both and found Joomla to be easier to use. I do like editing the templates CSS on Drupal more. The only thing I didnt like about Joomla was having to install JCE in order to use Javascript on my pages.

pgit
pgit

The first step is to connect to your MySQL server, which will require the MySQL administrator credentials. There's a world of troubles right there on some platforms. But the Mandriva package gives you everything out of the box. Step one is make the database, step 2 is use joomla! The package manager installs and sets up apache, php, MySQL (if not already installed) and of course joomla!, but more important it's all set up correctly in working order. joomla! is one thing I go straight to Mandriva to set 'er up whenever the need for a CMS arises. As for drupal, God bless you if you can get it going. Obviously "it can be done," as they say, but I've never seen it. I would love to get it going, I do hear it has a lot more going for it than joomla. (more built in, less add-on type of feature?) What OS did you work on drupal with?

whoiskevin
whoiskevin

That is almost impossible to answer. Requirements, skill set, etc. all come into play. I think that Drupal has a more powerful content management system that is oriented around content and data while Joomla seems to have fewer features around custom content types in exchange for less of a learning curve and some ease of installation/admin. Drupal has gained a lot of ground with installations at the White House as well as the private company Acquia that supports a hosted version as well as a variety of other services. So my opinion is that Drupal is going to be the more dominant of the two going forward and is a good skill to know.

jkameleon
jkameleon

... and start learning it while working on a small project. I'm not sure about it, though. Should I switch to Joomla?

Jaqui
Jaqui

2007 was their last release I tested with that installing mysql worked with phpmyadmin. they screwed the password thing to be able to add users, assign permissions, made databases and fill them with tables, for mysql after that.

pgit
pgit

"The" bug... :\ I wish there was only one. Alas it is a very possible likelihood Mandriva's next release will be it's death knell. As it is (2011 beta) they have more bugs than features. It seems anything that used to make Mandriva the go-to has been broken, and it's hard to tell where they have been applying their development. To be fair they are trying to make a LOT of HUGE changes all at once, rpm5 being an example. But I wouldn't have released this and called it a beta... But yes, "the" bug(s) that made php a bear to work with seemed to have been ironed out, so long as you set things up and installed in the correct order. Install drakwizard, restart mcc and run the apache setup under "sharing" make sure httpd is running and works, if so, install joomla, php and mysql come on as dependencies. Everything works. I've added phpmyadfmin AFTER setting up basic joomla and it's worked fine. I'm afraid "The" bug is soon to be renamed "Mandriva 2011." I hope they get it together, but then I run fedora 15 beta on a laptop we all use here daily. Hard to find what needs to be done to make it a release... a couple context menus perhaps.

pgit
pgit

After I get a server set up I uninstall the DE and set X and any DM to not run, default runlevel easily takes care of that. It's a lot faster for me, and the visualization helps both in fixing any problems I've run into but also making sure things are running right, as I intend them to. There's the ability to 'self test' eg with a browser or some client, without the machine having to be connected to any network. That's all for more complex setups, apache + whatever else. Actually, for most servers I don't install any UI. The topic here was about CMS, I try to avoid these things and thankfully mostly do. But when I am tasked with getting joomla! running I'm thankful for the kick start I get out of Mandriva. I'm crossing my fingers for a positive outcome with 2011, though not holding my breath. They just announced a video interview with the CEO on their forums, but could provide no link to the video. What's worse is the fellow announcing this also asked the community if anyone could help with converting the thing to text and translating, as he didn't have sound capabilities on his own computer atm. A Mandriva developer with broken sound on his computer... argh~ lessons from the "image is everything" department. For all I know the guy's sound card was taken out in a power surge, but the casual reader is not left with this or any good impression.

Jaqui
Jaqui

I'll stick with compiling from sources and avoid the bloatware of KDE or GNOME completely thanks. There is zero to draw me to any distro that defaults to either of those environments, they are so badly designed for usability as to make them useless. and this unity thing for the latest kludge of unbutu, well it just makes it even less usable than it was with gnome.

Editor's Picks