rConfig V4 Alpha Available for testing

After months of re-factoring, code tidying, bug fixing, multiple releases and a big promise of v4 with the most required feature of true multi-vendor support... it's finally here! I've released a v4 Alpha version for testing and community feedback. Our main train is current at 3.6.7, and we will continue to release on the 3 train for bug fixes. All new features will be built into v4 from here on out. For those that want to test and develop on V4 alpha, I have outlined that process below. I have also detailed how to use the new 'Profiles' feature in rConfig v4. I cannot stress enough that you absolutely should not use V4 Alpha on your production network.

So, lets get started

The easiest way to get started with v4 alpha is by setting up a new dev server as if you were installing the latest rConfig for the first time. Follow the instructions here,

Once rConfig 3.6.x is completely installed and working (i.e. you can login to rConfig), we now need you setup to 'pull' the v4 development code from git hub. First thing is to rename the 3.6.x directory from 'rconfig' to 'rconfig.old'

[root@localhost rconfig]# cd /home

[root@localhost home]# mv rconfig rconfig.old

Next let's get clone the development branch from rConfigs github repo

[root@localhost rconfig]# git clone -b develop

Cloning into 'rconfig'...

remote: Counting objects: 2855, done.

remote: Compressing objects: 100% (85/85), done.

remote: Total 2855 (delta 41), reused 0 (delta 0), pack-reused 2769

Receiving objects: 100% (2855/2855), 18.20 MiB | 6.04 MiB/s, done.

Resolving deltas: 100% (1792/1792), done.

[root@localhost rconfig]# ll | grep rconfig

drwxr-xr-x 13 root root 4096 Aug 29 12:01 rconfig


Now you will want to run the full rConfig installer again as there are changes to the DB schema that need to take effect for the v4 build. just go to https://YourHostname/install, and complete the installation.

Finally, as always, don't forget to set rConfig directory permissions.

[root@localhost rconfig]# chown -R apache /home/rconfig

When your rConfig v4 Alpha git clone is setup, you will want to check for updates frequently. As this is a working code base, we should expect multiple changes and fixes in the coming weeks. You can check for updates by running the following commands from inside the rconfig directory.

[root@localhost rconfig]# git pull


The new feature - Profiles

Lets take a look at the new feature that will allow us to customize the login process for multi-vendor support. For the alpha release, there are some limitations for multi-vendor support, so let's get those out of the way first.  

1. Only SSH connections are editable
2. Only show command connections are editable (i.e. sending configuration level commands is not customisable right now)
3. Telnet customizion is not available, yet!

The above limits will change as we go through the development process, but in order to get an alpha release out for feedback, I have decided to get one feature at a time working perfectly. 

The basics of the profile feature is that the main sections of code for running commands on devices are directly editable. This means for given device types you can create a whole new section of PHP code to connect to that device, take terminal paging into account, and run regexps to match and gather output from the SSH session. 

Head over to Devices and you will see a new sub menu item called Connection Profiles.

prof 1

On this page you can add, edit and delete profiles. You can also directly edit the profile code. See below

prof 2


You will need to configure new devices for their specific profiles. Please head over to the device configuration pages, and select the correct profile per below.

prof 4 

Below I am going to explain the Code for SSHv2 connections per the above profile. This profile is for a HP switch. Please do not Delete or Edit the 'TelnetDefault' or' sshDefault' profiles code. It may not be easy for all to understand how this works. But think of it as a simple, read and write process. I (being rConfig) will read the output sent back to me until I get a match (read below and think prompt), and when I get a match I will move to the next line and write, or send a command. For this not used to code, just try to avoid typos, and the live editor has a syntax checker so it will tell you when their is an issue. 

My goal here is to build a library of these profiles on

prof 3

Please use github to log issues and for bug tracking and code commits.


Facebook LinkedIn Twitter RSS