Using PyroCMS to Manage Content With Simplicity

Not everyone’s completely tech-savvy, which is the main reason why a lot of businesses or individuals spend large sums of money to get a website up and running. Many of these people don’t realize that maintaining a website on a budget can be much simpler and cheaper than you would expect. In fact, all you seem to need nowadays is a good web host and the rest can be done quickly, and at almost no cost whatsoever.

But what about the rest? With a really nifty content-management system called PyroCMS, this needn’t be something to worry about. In this article, I’ll be showing you how to get PyroCMS installed on a LAMP web server and the basics of creating content and working with the highly-extensible system it offers.


PyroCMS is a free and open source content management system — meaning that it’s always being improved and the working files can be accessed before each official release through the code repository. Sporting a great design and one of the best interfaces out there, the control panel is one of the easiest to use, regardless of technical skill.



Despite being a newcomer, it has already gathered a community of fans, ensuring that fresh addons and themes are developed to ensure webmasters can make the most of their shiny new Pyro-powered websites.


To install PyroCMS, you’re going to need the following:

  • A web hosting account or a server with Apache installed (other HTTP servers may work but for best results, Apache is recommended).
  • PHP 5.2 or higher and MySQL installed and configured for use.
  • The GD2 graphics library (optional) configured to work with the server (some hosts may install or enable this upon request).
  • The cURL library (optional).

I’m not going to go into the finer details of finding a web host but for the purposes of this article, I’m going to be using a web server running Linux with Apache as the HTTP server.


The first step to using PyroCMS is to install it onto your web server or hosting account. To do this, navigate to the PyroCMS website and download the latest version of the script. Either by doing this on your computer first and then uploading the files, or doing it entirely on the server, extract all of the files to the desired location.

Extracting the PyroCMS Files

Extracting the PyroCMS Files

For example, if you’re going to be installing the script in a sub-folder of your website (such as “” ), all you need to do is rename the folder contained within the ZIP file to “pyrocms” and then upload this to your website’s root folder. You can then begin the installation process by visiting the location on your server in which you placed the files.

Database Details

The first step of the installer requires you to enter your the MySQL user details associated with the database that will be used. If your website is hosted on a shared hosting plan, chances are that you’ll be able to modify and create users through your control panel quite easily.

Database and Server Configuration

Database and Server Configuration

Once you’ve got these details, enter them into the PyroCMS installer along with your database host and port (in most cases, these can be left as “localhost” and “3306”). You’re then required to choose which server you’re running and the configuration for it you’d like to use. I’ve chosen “Apache (with mod_rewrite)” because I prefer to use pretty URLs where possible and I know that my server is correctly configured but if you don’t know if your server is set up to use mod_rewrite, keep this setting as it is.

Server Checks

After this step, the script will automatically check your server for the necessary requirements and if they are all met, setup will continue.

Server Requirements Check

Server Requirements Check

The script will then check for the required file permissions on each of the folders that is required to be made writeable. Should these be incorrect, you can modify these manually using a file manager, FTP client or via the command line (which is probably the easiest option as the installer automatically generates the commands that need to be run).

Checking File Permissions

Checking File Permissions

Finishing the Installation

The final step requires you to enter the name of the database and also some basic details for the main administrator user account of the PyroCMS installation. To add the database details, the database must already exist on your server but failing this, it’s possible to let the installer attempt to create it for you or you can use your hosting panel, a web-based database manager such as phpMyAdmin or the more lightweight SQLBuddy, or even create it at the command line.

Creating the Default User and Choosing a Database

Creating the Default User and Choosing a Database

Once this is complete, you’ll be presented with the login credentials you entered as well as the links to access your new website’s homepage and control panel. You’re required to delete the installation directory (“http://domain/pyrocms/installer/”) from your server for security reasons but once this is complete, you can begin to take full advantage of PyroCMS.

Finishing the Installation

Finishing the Installation

Update Site Settings

Now that PyroCMS is installed, one of the first things that you’re going to want to do is update the settings to reflect those of your website.



The main things that are going to need changing are the site name and slogan which are shown throughout the website but there are many other aspects of the installation that can be edited to provide a better experience using the CMS.

Integration Settings

Integration Settings

Some of these settings include Google Analytics integration, to allow site usage statistics to be gathered using Google’s popular service and a graph showing these to be shown inside the control panel. Additionally, there is also fairly good Twitter support, allowing new articles to automatically be pushed to a Twitter account as they are published, as well as support for Akismet spam removal and many other useful integrations without requiring third-party plugins.

Creating Content

Managing content is what PyroCMS is good at and its built-in editors ensure that it can be done in the easiest and most user-friendly way. All of the settings are self-explanatory, making them ideal for the less technologically-advanced users and there are several types of content you can create using PyroCMS:

News: This is a blog-style system in which administrators can post content regularly and allow visitors to comment on them. Articles can be added and categorised for easy-navigation for visitors and it’s also possible to add an introduction if you’d prefer users to click onto the article’s link before being allowed to read the remainder of the article.

Pages: These are static pages that contain content that is unlikely to change regularly. It’s possible to enable comments on static pages as well as an RSS feed where any child pages will automatically show when created. Typical uses for this type of page are “about us”, “contact us”, etc. pages.

Galleries: This is self-explanatory and using this method, administrators are allowed to create virtual image galleries and upload files to these without having to go to the trouble of uploading each image manually and then linking to or including them on another page.

Comments can also be easily-managed within the PyroCMS admin panel through the link in the sidebar.

Using the Content Editors

Using the Content Editors

Themes & Modules

Because PyroCMS has a focus on simplicity whilst still giving full control, this is no different in relation to the various extensible aspects of the CMS. It supports the installation of third-party themes and modules, giving administrators an easy environment in which they can install and manage these.

Managing Modules

Managing Modules

Themes and modules can be downloaded from the PyroCMS store either for free or for a small fee, and can then be installed to a PyroCMS installation by using the purpose-built uploaders in the “Theme” and “Add-ons” sections of the control panel.

Final Thoughts

I’ve been following PyroCMS since before its first beta release and from the start, I’ve had high hopes for the CMS. Despite being fairly new, it looks and feels incredible to use, and the fact that it’s still the early days for the software certainly holds a lot of promise.

PyroCMS takes everything good about some of the more powerful CMSes and brings them to the table without making the mistake many others have made — implementing them in a way that makes the features impossibly difficult to use. I think that one of the current problems is the lack of community-contributed plugins, but as the software grows, I believe that this will cease to be a hinderance.

Overall, I believe that PyroCMS, while still a newcomer in this field, has managed to do the impossible and make managing content both simple and pleasant.


PyroCMS is a modular open source content management system that focuses on making managing content simple yet elegant, with no advanced technical knowledge required.



Add Yours
  • PyroCMS is very interesting and solid new cms. Glad to see that there is still innovation in this field. Other new one that I have my eyes on is ProcessWire: It is more like Drupal, but without all the bloat.

    • Drupal 7 FTW

  • Is this better than WordPress? Why?

  • I have tried pyro and i must underline its utter disgrace on the cms community.I think the author is over leveraging on the fact its made out of codeigniter to jump on ‘lightweight’ keyword much to the dismay of serious coders like i(trumpet blowing).

    The templating part is the most horrifying and the clueless support is something that needs investigation by the Incompetence Council of the united kingdom)(just sayin).

    Any who its a good distraction from better solutions like EE for anyone wanting free things and i mean that in a good way :)

    • Unnamed Coward is right, what is your deal?

      EE is great, I’ve written several plugin’s for it and use it on a few sites. I even gave a talk at EECI2009, so it’s nothing new to me 😉

      PyroCMS supports a very different use-case, when you don’t want or need that much power for a client. The templating is simple, you make a HTML file with a few tags to represent content. How is that clueless?

      Besides if the CMS sucks so bad, why did Ryan bother to review it? And why would we have 5,000 installs this month?

      You don’t like it, fine, but don’t be a jerk about it and potentially put off users who might find it to be useful.

      • I go with Phil.

        Pyro is awesome when compared to the other around the web. It clearly says that it is not build for nerds. It really mean the term lightweight. Perhaps it lacks proper documentation.

        Just sitting in front of your workstation and criticizing someone’s hard work who spend most of the restless nights doesn’t sounds good for a developer/designer.

        If you dont like it, just dont use it.

      • How many of them used it at least a week ?

  • This is the first time I’ve heard of PyroCMS, so I instantly visited the site and checked out the live demos of the 2 available Pyro themes. They look very clean, smooth, and professional that I’m actually thinking of choosing this as my alternative CMS in case I grow out of my current one. I can’t wait to see more PyroCMS themes! :)

  • Thank you so much for this write up Ryan. I owe you a beer for sure.

    PyroCMS has come a long way since it’s beta a year ago and it’s starting to gain some real traction outside of the CodeIgniter community which it was originally limited to.

    The guy behind the front-end design and default theme (Scott Parry) is also working on making more professional themes for the Add-on Store and we’ll have another out tomorrow. He’ll get a few more done then work on making the backend design even better.

    We’re also hard at work on PyroCMS v1.1 which will have a few small but really useful changes based on the feedback we’ve been getting recently. Plenty more to do but we’re catching up on WordPress pretty quickly.

  • I just found out about Pyro last night. One of the folks I’m doing some work on a site with had a friend do an alternate site and they used Pyro. I haven’t really had a chance to get into it but I have to say the alternate site itself (the design) is pretty damn sweet.

    There are a few things that give me a bit of pause at first glance (I think I saw some tables in the layout which I don’t like) and I’m always a bit leery of “new” when I’m doing stuff for other folks (early adoption never really goes well unless you have time to sit by it a lot IMHO). But I really need to get stuck in with it a bit before I really decide, besides WordPress et. al are starting to annoy me a bit.

  • Oh my!

    This doesn’t look anymore like the version I tested for Softpedia Webscritps!

    Maybe I should check it out again.

    These are the screenshots I did for ver. if someone is interested:

  • The most easy and well structure Codeigniter base CMS I have seen so far. I have tried a couple but no one came close to PyroCMS. Just create my custom theme in a manner of hours.

  • Glad to know this existed!
    I use WordPress extensively and over these years, I have grown tired of its non-MVC architecture. It is good for blogs and simple sites, but for complex builds, I need something between Drupal and WordPress. This looks like a good fit.


  • I have to say, the main developer of the pyrocms project is extremely rude and poorly organized. I just checked out their site and IRC chat room and I was less than impressed with the attitudes. The fact that they cant even setup a documentation area that works with the browsers back button is sad and lazy. Also, if the project was based on being a true open source project with a basis on community involvement, it wouldn’t have a “store” on its site and would be running such a service as a separate entity. Ive been developing and working with CMS’s for almost 10 years and this project is definitely not one I would use, promote, or contribute to. Just my honest opinion of course, so feel free to have your own.

    • I became short and frustrated with you consistently refusing to understand that I had understood your point, but was not interested in working with it. We choose to make our documentation as downloadable and hosted static HTML, and for now we are using some cheeky JS hash-tag stuff to stop us having to replicate huge amounts of HTML. Docs will be improved someday, but it’s not a massive priority at this point and I explained this to you several times.

      Now, wether or not this project can be considered open-source purely because we have a business model is not really a relevant conversation for this comment thread. I’ll be happy to discuss it on Forrst in this thread I have started on “What makes a project truely Open-Source?”

  • I think PyroCMS is great for a small to middle sized website and that’s all I need for the most of the websites. I have been reading the codes and I found it is very easy to create a theme and addon if you have used CodeIgniter before. I have decided to use it for my next project rather than my own CMS based on BackendPro. There are some features missing but the forum is encouraging to submit or request new features. It is still a rather small community compare to Joomla or Drupal, but developers and community members are willing to give you help and the development is active. As far as I know PyroCMS is the one of best CodeIgniter CMS.

  • I use Joomla! for several years, when I tried PyroCMS, I was very impressed by his simplicity and light weight. I find the templating system very nice, and easy to learn. I think I’ll use for the site of my company, creating an own theme.

    PS: Does anyone know which editor use for content?

    • We use CKEditor 3.x for the editor and have written a few custom pugins for it – which was not fun at all.

  • Guys Do NOT try pyroCMS if you expect it to work after installation.. If you had a luck getting through the installation without any additional config of your server then you will find that many thing don’t work… as soon as you enable plugins and modules like image gallery, file uploader, you will find that there is nowhere said “after screating first image gallery and uploading first image you need to chmod 777 “/uploads/galleries” …. this one is simple, one of many examples when I lost a lot of time trying to find an answer why the built in plugins don’t work after enabling…. none of the plugins have instructions saying what to do after enabling to make it work and display properly… You will wast a lot of time trying to find an answer. I think it is enough to say that 70% of documentation on pyroCMS functionality simply does not exist, the programmers pack acts like “Oh we are so cool, we made CMS, but who needs to template and use it” .. I’ll risk and say that 4500 out of 5000 weekly installations want to have it working and ready for templating, and when enabling plugins or installing new plugins you EXPECT info how to install them….. PyroCMS website says “forget about plugin installation – simply copy files and start using plugins” …. well I’ve wasted 3 weeks. This sucks. The idea of the CMS is for people to use and template it without digging into the full sourcecode. If I wanted to recode or debug PyroCMS I find it easier to write my own cms or go back to wordpress where everything worked and installation proccess and dependacies were clearly laid out.

  • I started writing a site with php/ajax that was geared mostly for iPhone/iPad. Then what I wanted to add next became a bit complicated. So I started looking around and found CodeIgniter. It was simple enough. Then I started looking for authentication modules. Tried a bunch, and figured I might as well look at some CMS solutions. I came across PyroCMS (2.1) and was impressed by the simplicity. Navigating around the file system was simple enough (but it need a bit more documentation) and I was able to edit the php files in my own editor or use the PyroCMS editing tools. I’ve encountered a few weird errors, but fixed them with just a few google searches. Bottom line, I got the added functionality that I needed in far less time than it would have taken me to add it on my own.

  • Hi Philip, Thanks a lot for your hard working and sharp thinking that gave us a CMS (PyroCMS).This is what every developer needed and you converted this dream into reality (No Doubt) … as being a developer, during my career i faced many common problems which wasted alot of time but after getting PyroCMS my progress of development has been increased more than 50% :) … would like to buy you a beer … Cheersss

  • Well done! Totally devalue the work of every web designer and web developer in the world with your opening paragraph! Nice work. It’s bad enough that everyone’s concept of a website is that it’s something anyone can throw together in their bedroom in an hour without people who should know better re-enforcing that fallacy.