Set up Joomla! on Windows in Minutes!

DZone 's Guide to

Set up Joomla! on Windows in Minutes!

· Web Dev Zone ·
Free Resource
The latest release of Web Platform Installer reduces the already dead simple process of installing PHP apps on Windows down to a single click. By handling all of the pre-requisites and configuration for you, Web Platform Installer, and Microsoft’s new web development offering WebMatrix, let you throw down even a robust Content Management System in minutes. This walkthrough takes you through the install process of one such app, Joomla!, and demonstrates the ease of use that makes it one of the most popular CMS apps on the market today.

The launch of Web Platform Installer 3.0 coincides with the unveiling of a new Microsoft web dev product: WebMatrix. This free app gets bundled with most, if not all, of the installs done through WPI. WebMatrix has a lot to offer web developers and is a convenient tool to use either for rapid site design or for getting started with web development on Windows. As such, it deserves, and will get, deeper exploration in other articles on this site. But for now, take a look at how Web Platform Installer drops you directly into PHP development.

First, download and install the latest version of WPI.

The crown jewel of WPI is its ease of use. If you’ve attempted PHP development on Windows in the past, you’re probably still scarred by all the under-the-hood tweaks required to configure your system. And that’s just getting a basic PHP page to work, much less a full-fledged CMS like Joomla! with a back-end MySQL database.

As you’ll discover, WPI undercuts all of that. A single automatic install configures all of your pre-requisites, IIS, database, hookups, and even a sample site to help you get started. In Web Platform Installer, go to Applications and find the latest version of Joomla!. Click Add.

You’ll notice the lower left now reads “1 Item to be installed”. Click it and you’ll see a list of everything that will be added to your system automatically. With that one click, WPI will sniff out everything you still need to get started and install it for you. This includes any or all of the following:

·               Joomla!

·               Microsoft WebMatrix

·               Microsoft .NET Framework 4

·               Microsoft SQL Server Compact 4

·               Microsoft SQL Server Compact 4 Tools

·               ASP.NET Web Pages

·               ASP.NET Web Pages Language Packs

·               SQL Server 2008 R2 Management Objects

·               SQL Server Native Client

·               SQL Server System CLR Types

·               Web Deployment Tool 2.0

·               IIS Express

·               PHP for WebMatrix

·               Web Deployment Tool 2.0 without bundled SQL support

·               MySQL Connector/Net

While it may look like a lot, WPI will only install the software needed to run your PHP app or WebMatrix, which you’ll use later to manage your web apps.  
Most of the items below the WebMatrix bullet point are the required components for WebMatrix.

Click Install to get it going.

If this is your first time installing MySQL, you’ll get some prompts to set up your database. First, you’ll be prompted from the MySQL installation script to install MySQL locally or remotely.

After that, you’ll be prompted to create a new password for your “root” account. Keep track of this password. Not only will you need it for the Joomla! install, you’ll also need it for any other app installation, from either Web Platform Installer or WebMatrix, that relies on MySQL. Even if you later blow away your data and uninstall MySQL entirely, it’s tricky to completely remove all its remnants from your system. A brand new installation of MySQL will still expect the password you enter here.

When you come to the Joomla! portion of the install, you’ll get a form for entering all the properties of your app. This includes:

·               Whether you’ll create a new database or use an existing one (you’ll only have the option to create a new database if this is your first MySQL app)

·               Database Administrator username (default = “root”)

·               Database Administrator Password (see why you should write these things down?)

·               Database User Name

·               Database (user) Password and Password Confirmation

·               Database Server (default = localhost)

·               Database Name for your Joomla! database

·               Database Prefix

·               Load Sample Data – choose Yes on this one (see below)

·               Website Name

·               Site Administrator (default = admin)

·               Site Administrator Password and Confirmation

For this walkthrough, it’s highly recommended that you elect to Load Sample Data. Not only does this give you a great headstart to creating your own site, but the sample pages Joomla! gives you comprise helpful documentation in their own right.

Once the install finishes, WebMatrix will launch automatically. As a standalone app and an integral part of the Web Platform Installer experience, WebMatrix serves as your hub for your web applications. It gives you a central place to manage your pages or your databases, edit app settings, or publish your sites.

From here, click the URL to load your app. If everything went well with the install, you should see the front page of your new Joomla! site.

As noted, the sample pages you installed give you a huge jumpstart on building your first site. But it gives you more than that. Browse around and you’ll see a Getting Started guide, sample sites, and tips for Beginners, Upgraders, and Pros.

If this is your first time using Joomla!, here are a couple of simple site edits to help you get a sense of the possibilities. As with any Content Management System, Joomla! separates page content from styling and layout, then stores that content in your MySQL database. To see how site updates work from an editor’s perspective, click on Site Administrator to log in to the back-end of your site. Use the Site Administrator login and password you created during the installation. (Hopefully you wrote that down, as well.)

As Administrator, you have access to the content of the pages, known as “Articles” in Joomla! parlance, as well as all aspects of the site structure. This includes Menus, Categories, Users, Modules, Extensions, Components, Media, and a host of other features. Click on Article Manager.

Here you’ll see a list of the Articles, or pages, currently published to the site or available to be published. They’re organized into individual Articles, Categories, and Featured Articles.

Click on the article titled “Joomla!”. Alternately, you can check the box next to it and click Edit. This is the front page of your site.

Notice that while editing an Article, you have access to relatively few aspects of that page. The menus, the sidebars, even major components of the page, are all controlled from different areas of the CMS. From here, you have access to the page Title, the alias used for this page (which appears in the URL), its Category, its Published State, and the body text itself.

As an experiment, change the text of the page, which should currently start with “Congratulations! You have a Joomla! site!”

Click Save & Close at the top. Go back to your site and reload the first page. All of the structure of the page will remain the same, but the content should reflect your change.

This is just a small taste of the editing process your end users will likely go through when updating a Joomla! site. For most people, especially those without technical skills, a CMS like this offers the power to maintain fresh content without taking up your time as a developer.

But sometimes your users need to do more than update text on a page. On a typical CMS, once users want to step outside of a very small box, they call in the developer to build additional components or add interactivity. Fortunately for you, Joomla! comes with a ton of that stuff prebuilt and ready to drop in where needed. This makes your life easier, if you’re the one doing the enhancements. But it also gives your advanced users autonomy to add major changes of their own, something Windows web apps are not usually known for.

As an example, do a little exploration on your sample site. Under “About Joomla!”, drill down to:

-       Using Joomla!

 -  Using Extensions

   -  Components

    -  News Feeds Component

      -  News Feed Category


Joomla! comes with a collection of pre-rolled Components, including an RSS feed component. The News Feed Category article demonstrates what the Newsfeed component looks like when deployed.

To manage this particular component, go back to your admin page. From the top nav, select Components -> Newsfeeds -> Feeds.

From here you’ll see a list of the RSS feeds you were just looking at. Click New to add a new feed, then enter the following information:


            Title:                        DZone

            Link:                        http://www.dzone.com/links/feed/frontpage/rss.xml

            Category:            Sample Data-Newsfeeds

            Alias:                        dzone-feed

            State:                        Published

            Order:                        5


Hit Save & Close, then go back to your Joomla! site and refresh the page. The Sample Newsfeed page should look something like Figure 15.

In addition to components like this one, Joomla! lets you take advantage of Modules, Plug-ins, Templates, and literally thousands of Joomla! Extensions. Be sure to check out Joomla!’s Extension site to find new ways to enhance your CMS.

Again, this barely scratches the surface of the power of Joomla!. But it’s enough to show you some of the potential of using a prebuilt PHP app on Windows. Web Platform Installer and WebMatrix allow you to enjoy the power and usability of the most popular, and free, PHP apps on the market right now but without all the headaches of IIS configuration. Best of all, you’re still able to develop ASP.NET apps side-by-side on the same box, leveraging any existing Windows infrastructure you may have while maintaining the maximum number of options for future site development.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}