rConfig v1.2 released

rConfig version 1.2.4 is now available for download on

This release contains bug fixes and some new features, most notably an easy update feature. You can now update rConfig using a built-in updater, streamlining the process for future rConfig releases.

If you have already downloaded and are using rConfig v1.0.0 or 1.0.3, you will need to either start a fresh install, or manually upgrade to v1.2.4. Manual upgrade instructions are below.

Manual Upgrade

To manually upgrade from 1.0.0 or 1.0.3 to v1.2.4 follow these instructions

1. Take a backup of rConfig using the built-in backup utility in the settings section
2. Download the above backup zip file to a safe location
3. From the command line of the rConfig server, backup your main config file per the following command

cp /home/rconfig/config/ /home/rconfig/

4. Download the v1.2.4 from to your desktop and extract it
5. The update only affects 4 directories. Overwrite all of the contents of these directories on your rConfig server with the ones from the update file.

  • "rconfig/classes/"
  • "rconfig/config/"
  • "rconfig/lib/"
  • "rconfig/www/"

 6. Once the above is complete, replace the config file by running the following command

cp /home/rconfig/ /home/rconfig/config/

7. Last step is to manually update the rConfig version in the config file. Open the file per above step and change the line

$config_version = "1.0.0";


$config_version = "1.2.4";

Save the file, and open rConfig to ensure it is up to date and functioning as expected. You can view a full change log under "/home/rconfig/www/CHANGELOG"

Thanks for continuing to support rConfig.


Stephen Stack


in the beginning...

Well, it's finally released. rConfig made it, and I am pretty ecstatic. From original concept 16 months ago to fully fledged V.1 release – it’s been an amazing journey, full of challenges and obstacles with the final realization of an actual release. These are great times!

The elevator pitch

What is it? A Free, and Open Source, Network Configuration Management tool. Web based, fast, and customizable. Installs on CentOS and written completely in PHP/MySQL.
You can download the running-configs, cdp neighbor table, OSPF Neighbor table, BGP prefix table, routing table for routers, as well as show route for firewalls and show spanning-tree for switches easily... actually... whatever show command you care to choose for a given category of network devices.
Why? Well, for me, a 'show run' and 'show start' from my network device configuration management tool wasn't enough. I needed more. I needed to see what my routers routing table looked like last week. I needed to know how many hits were on a particular ACL entry on my edge firewall two months ago and compare it to today. I wanted to know, which interface was the root bridge path (spanning-tree) on my one of my core switches yesterday. That's why!

So, in this blog post, I’d like to take you through the past, present and future of rConfig so you can understand what it is you are getting.

Firstly, it’s free. It’s free because I owe so much of my career and learning to free software and free stuff (video, learning materials etc..) from the internet and it’s time to give back. Also, because I don’t like paying over-priced fees for bloated, feature poor, slow, clunky and badly written software. With rConfig, Network Engineers decide how it’s going to look, feel and function. We will decide it’s features, and we can add the features we need.


A little about me first. I am network engineer firstly (CCNP, CCDP, and more) and IT enthusiast second. Anything IT interests me, but I chose Cisco Networking specifically as a discipline. I’ve worked on many networks large and small, and have vast experience with network management systems. I’ve worked on a few of the available network configuration management tools out there, and have found them either feature lacking, clunky and slow, expensive or difficult to use. I also noticed that when asking for new features, more often than not, I was told a core re-writeof the application would be needed and the new feature was not possible. I was not pleased! So, i decided to do something about it.


So, while thinking about a new personal challenge for myself in terms of learning a new IT skill and having completed some Cisco exams a few months previous, I decided learning to write software was for me. I have always dabbled in web design, so HTML came easy to me, and PHP/ MySQL problems were easy to overcome with some clever googling as and when required. No need to go into the evaluation process of why I chose it, but PHP seemed like a natural progression from my amateur web design days. PHP has a lot to offer besides dynamic web pages. rConfig is testament to this.

While researching some PHP Scripts online I came across Ray Soucys ‘Cisco for PHP’ ( telnet script. I reviewed it and found that it was a most excellent and suitable PHP script as a core PHP class for a potential Configuration Management tool. Also, while learning some of PHPs functions and features (reading and writing files, and running exec commands from PHP etc..), It slowly came to me, that it was possible to write a full Cisco Configuration Management tool from standard web development languages. In particular PHP.

I started working out the component parts, and features and basically framed them up into working components. For example, the script that was needed to connect to a device and download text from it via telnet. The script that was needed to write that text to a file. The script that was needed to run multiple commands against a device and save the output of each to different files. Over a few months in part-time development, I had worked up and tested all of the components sections – Downloader, Comparison Script, Scheduler, Search Script, etc…


Now I had something tangible to work with… What was I going to do with it? What kind of configuration management tool would I like, as an engineer? Well, for me, it had to be a fast application, and web based. It had to be easy to use with enough features to make it worth my while. One key trade off was the fact that it had to be installed on a Linux server (CentOS 6+). I am aware not all engineers have Linux skills but a well-written CentOS installation guide would offset this issue easily.

The design of the rConfig console is built from the ground up. I added as much AJAX/ Web 2.0 stuff as functionality would allow to make the use of rConfig more fluid. Most code behind rConfig is hand written and designed from the ground up. A few PHP Classes and Libraries were brought in to the mix for convenience – no point in re-inventing the wheel.


The journey was awesome. PHP, MYSQL, Javascript, JQuery, Shell scripting, AJAX Concepts, Software Development concepts, OOP, Apache configuration, PHP Configuration, CentOS/ Linux Installs and configuration. That was just some of what I learned. Stackoverflow, Google, countless blog posts, forums and the internet in general all contributed to the project and I am forever grateful to those who have uploaded all of their material and given their help to others who were also trying to learn.It helped me immensely.

As this was my first venture into software design and coding, I expect any seasoned web/PHP developer to come back with enhancements, better ways of coding rConfig etc.. But I have carried out extensive testing and right now, even though I know the code could be optimized – rConfig is running well and has all the features I feel a version 1 would need. Code can be optimized and features added as the user base grows.


Well, as this is Version1, I deliberately left out some features which I would like to see added myself. I just felt I had to have an end to this development run and get it out there for people to download and try out. If for no other reason so see if there would be a take up or if it is to be a complete failure. (Hopefully the former). At this point, I want to rely heavily on community feedback for new features and bug fixes. If people want to get involved with the future development of the project, you can mail me at This email address is being protected from spambots. You need JavaScript enabled to view it. to get involved.

Final Word

Right now, i am very early in the release life cycle for this project and yet another learning curve. Stick with this project and help me grow it into a valuable tool for this and future generations of network engineers. I'll be posting mroe notes as the weeks and months pass by, so stay tuned to



Facebook LinkedIn Twitter RSS