Magnolia CMS is probably the most popular Java-based content management system. There are free and commercial versions available. We are going to show you an easy way to deploy Magnolia on Microsoft IIS web server using Helicon Zoo with a single .war file.
This instruction is outdated as Helicon Zoo repository now include Magnolia CMS Community Edition, that you can easily install by choosing Zoo –> Applications –> Magnolia CMS.
First we need to configure our Windows server to run Java Servlet applications. Follow these steps to accomplish this task.
- Download and install Web Platform Installer.
- Run Web Platform Installer and click “Options”.
- Add Helicon Zoo feed into “Display additional scenarios” box: http://www.helicontech.com/zoo/feed. New “Zoo” tab will appear.
- Go to the “Zoo” tab and find “Jetty” among the products list. Click on “Add” against “Jetty”.
- Also find “Helicon Zoo Module” or “Helicon Zoo Module for IIS Express” depending on the server you are using. Click “Add” respectively.
- Click “Install” to start installation process.
Alternatively, instead of installing Helicon Zoo Module and Jetty separately you may just go to Packages section of Zoo tab and install Java Hosting Package. This will install Helicon Zoo Module for IIS, Jetty and all other requirements to run Java Servlet applications under Microsoft IIS web server. If you want to run Java Servlets under IIS Express and WebMatrix in your development environment, then you need to install Helicon Zoo Module for IIS Express form Engines section.
This is enough configuration to run most of Java Servlet applications directly form IIS.
There are many ways to install Magnolia. Some of them you may find in the documentation. We are going to use a free Community edition which can be downloaded here sourceforge.net/projects/magnolia/files/magnolia/
Please download “magnolia-bundled-webapp…” package as it already contains required components to run Magnolia CMS. Open folder with latest version of CMS and download the .war file available. After downloading .war file, please launch IIS Manager and create new web-site or application. Copy downloaded .war file into this web-site’s root folder and create the following web.config near it:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <heliconZoo> <application name="magnolia.project" > <environmentVariables> <add name="WAR_FILE" value="magnolia-bundled-webapp-4.5.1.war" /> <add name="WAR_EXTRACT_PATH" value="%APPL_PHYSICAL_PATH%" /> </environmentVariables> </application> </heliconZoo> <handlers> <add name="magnolia.project#x86" scriptProcessor="java.jetty" path="*" verb="*" modules="HeliconZoo_x86" preCondition="bitness32" resourceType="Unspecified" requireAccess="Script" /> <add name="magnolia.project#x64" scriptProcessor="java.jetty" path="*" verb="*" modules="HeliconZoo_x64" preCondition="bitness64" resourceType="Unspecified" requireAccess="Script" /> </handlers> </system.webServer> </configuration>
Please take a look at <environmentVariables> section. Only “WAR_FILE” variable is required and should contain either path to a WAR file or to a folder containing unpacked Java Servlet application.
WAR_EXTRACT_PATH variable can be used to configure location where to unpack WAR file content. By default it is IIS application root folder. CONTEXT_PATH variable needed by Java application and contains IIS application virtual path by default.
That’s it. You may now open the web-site in browser to start Magnolia. Please note, first launch is going to be long and will start with installation page:
Click “Start install” to begin installation:
When installation is complete, click “Start up Magnolia” and you’ll see login form. Enter default login “superuser” and password “superuser”.
Magnolia comes with demo data and templates:
As you can see we’ve installed Magnolia CMS easily in very few steps. Naturally you may deploy any .war file in the same way.