Powering Websites with Zikula

PCQ Bureau
New Update

Sufyan bin Uzayr, Freelance Writer, Graphic Artist, Photographer,


In this article, we shall be taking a detailed look at Zikula, an Open Source Content Management System and Web Application Framework. Zikula has been around for quite some time now (formerly known as PostNuke), and though it is not as popular as Joomla or Drupal, its usage is fairly concentrated among enterprise websites and it is well known for its ease of use.

Applies to:

Web Developers

USP: A secure and flexible Open Source CMS

Related articles:

Search engine keywords: zikula, cms, web, app, open source

Implementing Zikula: Installation


To install Zikula, download the package from (If your web host offers a one-click install, you may use that as well). After uploading the extracted package to the desired directory on the server, you can optionally edit the .htaccess file as follows:

php_flag register_globals off

php_flag magic_quotes_gpc off

Next, in your web browser, open the install.php file. If, for instance, you've uploaded Zikula to a directory named zikula in the root directory on the server, the file will be accessible at



The installation steps are fairly simple and need no further elaboration. You'll be required to review the GPL, following which you can choose a language and enter your admin credentials for the CMS.

After that, Zikula Installer will review the settings on your server. In the MySQL database settings, be sure to select MyISAM as the Database Table Type.

You can also choose between a basic or a complete install. I'd recommend a complete install as the basic install will not suffice for a full fledged website. As a last step, you will have to choose the default theme. This option can also be changed after the installation. Once done, Zikula is installed on your server and you can start creating your website!

The user account panel


Zikula offers administrative options at two levels: one is the User Account Panel which is available to each logged in user (depending on the user's role, the User Account Panel may have different set of options). Second is the Site Admin Panel which, obviously, is available only to users with administrative privileges. The User Account Panel by default lets you change the website language, your password and profile settings as well as other website settings that affect only your user account. Administrators also see a link to the Site Admin Panel in their User Account Panel itself.

The site admin panel

As mentioned above, the Site Admin Panel is available only to users with administrative privileges. It lets you control and modify the website. It has many tabs such as Third Party, Content, Hooked, Layout, Security, System and Users.


Adding content

Basically, Zikula consists of modules which are directly related to the content itself, such as 'Articles' and 'Comments'. The Content tab consists of Admin Messages Manager, Categories Manager, Legal Info Manager and Site Search Engine. This is where the enterprise friendly credentials of Zikula come to play. The Admin Messages Manager is a tool that lets you make announcements about the developments with the website in particular and the enterprise itself in general. The Categories Manager lets you categorize the website's content for easy organization. However, since Zikula is not a blogging tool, its pre-defined set of categories seems to be insufficient for an SME and thus, you'll be better off if you create your own set of categories. Legal Info Manager has a one-time use and may occasionally be employed for revision purposes. It lets you create a legal statement for your enterprise (Terms and Conditions, to be precise). The Site Search Engine lets you search the entire website for a given keyword.


Additional extensions

If the default extension do not seem to serve your purpose, fear not! Hooked modules are Zikula's version of plugins, that are meant to provide additional functionality. You can consider these add-ons to existing modules. For instance, if your website is receiving a lot of spam comments, you may consider implementing a captcha hook module. In this case, you'll 'hook' the captcha module to the already existing 'Comments' module. The hooked captcha module will function only as a child of the Comments module, and in the absence of the latter, the hooked module will also cease to exist.

Securing the website


The Security Tab controls the website's security. Zikula is well-known for its security features. It comes with a default module installed that acts as a security checker. It keeps track of the modified files as well as the file type permissions on the server. It also logs attempted hacks and provides security alerts. Also, if you run into problems with your Zikula installation, this is where you will come for troubleshooting. It also provides a detailed summary of the system.

System-wide changes and managing users

The System page lists core modules that are central to the website's functioning. It lets you modify the layout of the admin panel itself (Zikula is perhaps one of the most flexible CMSes out there). Also, you can setup the mailer for sending newsletters and updates to subscribers. Furthermore, Under System --> Modules Manager, you can configure the various modules.

The Users tab lets you add, edit or delete user accounts and profiles. You can create user groups and set up permissions. In the groups page, you can specify permissions and roles for different types of user groups. For example, a group 'Contributor' will not have privileges to the admin section, while a group 'Editor' can edit or modify the content create by 'Contributor(s)'.

Managing layout and themes

Zikula treats website elements in terms of 'blocks'. The 'Layout' menu has three sub-categories: Blocks Manager, Rendering Engine and Themes Manager.

Let's begin with the Blocks Manager. In Zikula, almost any layout component of a webpage can be treated as a block (unless its an integrated photo gallery or blogging platform, in which case the associated modules and hooks are used for managing the same).

You can activate or deactivate a given block, as well as edit or delete it. Some of the pre-defined blocks include menu, languages, and user logged in status. Of course, you can add as many number of blocks as you wish to. Under Layout, Zikula also offers a Smarty based rendering engine that control layout and presentation. If you wish to implement caching on your website (in order to attain faster page loading time as well as reduce server load), navigate to Layour --> Rendering Engine and then enable cache. This option will suffice for a medium sized website, but if yours is a large website with a lot of dynamic content, I'd recommend downloading the External Cache Module from the Zikula repository.

Zikula also offers many themes and templates that make designing the appearance of your website a breeze. You can preview the default ones, but most probably you'd prefer having something beyond that. For that purpose, you can download themes from

Overall, Zikula is a great framework cum CMS that has an active community, is highly flexible and can be used to cater to enterprise websites' special needs. Unlike Joomla and other CMSes, it is totally customizable as per your needs (even the admin section can be built absolutely from scratch, if need be). Furthermore, Zikula comes with pre-installed security checkers that inform you about possible security issues. It is one of the fastest evolving CMS in terms of enterprise usage and thus, if you are planning to implement a new CMS for your website, you should give it a try!