Skip to content

rConfig - Upgrade: V6 Pro to V7 Pro

30 mins V7 Pro V6 Core

We have spent a lot of time developing rConfig V7 so that the upgrade from V6 is seamless, intuitive and simple. We have also made it easy to rollback to V6 Pro in case of issues. There are some breaking changes as we continue to develop the codebase rConfig V7. We have also made some changes to the UI but most things will be familiar to long term V6 users.

Note: These steps are a one time process. Once you have upgraded to V7, you will not need to do this again. Future updates will be done via the in-app update process as documented in the Update rConfig section.

Changes in V7

TypeFeatureNotes
High ImpactRolesWe have a RBAC System. RBAC will be installed, and all existing ‘admin’ users with have full rights assigned. Please see RBAC docs for more details.
High ImpactUpdating DependenciesrConfig V7 now requires PHP 8.2 or greater. (See notes below to update)
Medium ImpactRBACrConfig V7 has a complete RBAC feature. The upgrade will install RBAC and assign all existing ‘admin’ users with full rights. We have taken great care to ensure this is seamless, but contact us if any problems.

How to upgrade from V6 to V7 on CentOS, RHEL, or Rocky Linux

This guide assumes your running rConfig V6 fully installed and working on a support operating system with the correct dependencies for that version. If you are running a different version of rConfig please contact support.

If you are running rConfig V6 on Ubuntu, please see the Ubuntu specific instructions below.

Backup rConfig V6

✅ Ensure you have a full system backup of rConfig v6.

Update your OS

✅ This may take a few minutes, but let it finish for both commands below.

Note: If you are running Ubuntu, please see the Ubuntu specific instructions below.

Terminal window
yum -y update
yum -y upgrade

If you get a MariaDB error during the update, please see the note below.

If you get this error during the update, please run the following command and then re-run the update command above.

Terminal window
rm -fr /etc/yum.repos.d/MariaDB*

Update your PHP Version

✅ If you experience any issues with this, please contact support.

Terminal window
cd /home
yum -y install wget
wget https://www.rconfig.com/downloads/php-updates/centos-php8-update.sh -O /home/centos-php8-update.sh
chmod +x centos-php8-update.sh
./centos-php8-update.sh

✅ Verify PHP Version is 8.2 or 8.3

Terminal window
php -v

Update directory name

To keep with rConfig convention, we will rename the rConfig directory to rconfig7. This is to ensure that the rConfig directory name is the same as the version number. This will help with future upgrades. If your existing rConfig directory is rconfig5, and you are running a version of rConfig 6, please rename the directory to rconfig6 before proceeding. If you are running rConfig V5, do not proceed with the upgrade. Please contact support.

✅ Run the following command to rename the rConfig directory

Terminal window
cd /var/www/html/
mv /var/www/html/rconfig6 /var/www/html/rconfig7
ls -ahl

Also, edit the rConfig apache configuration file and the Supervisord conf files

NOTE: The file paths may be different on your system. The path may be either sites-available or sites enabled or conf.d. Please check your system and edit accordingly.

NOTE: Deployments using SSL (hopefully most!), will need to update the path in the SSL configuration conf file. Please ensure the SSL configuration is updated to point to the new rConfig7 directory. This file is usually located in the same directory as the rconfig-vhost conf file and might be named something like rconfig-ssl-vhost.conf.

Terminal window
vi /etc/httpd/conf.d/rconfig-vhost.conf
# change the DocumentRoot to /var/www/html/rconfig7/current on two lines
# DocumentRoot /var/www/html/rconfig7/current/public
# <Directory "/var/www/html/rconfig7/current/public">
# Save and exit

NOTE: The extension of the file may be different on your system. It maybe a .conf file. Please check your system and edit accordingly. If it is a .conf, please rename the file to .ini using the following command mv /var/www/html/rconfig7/persistentdata/horizon_supervisor.ini /var/www/html/rconfig7/persistentdata/horizon_supervisor.ini

Terminal window
vi /var/www/html/rconfig7/persistentdata/horizon_supervisor.ini
# change The below paths
# command=php /var/www/html/rconfig7/current/artisan horizon
# stdout_logfile=/var/www/html/rconfig7/persistentdata/storage/logs/horizon.log
#
# Save and exit
# if this is missing or empty, check it after the update below and edit accordingly.
rm -fr /etc/supervisord.d/horizon_supervisor.ini
ln -s /var/www/html/rconfig7/persistentdata/horizon_supervisor.ini /etc/supervisord.d/horizon_supervisor.ini
sudo service supervisord restart
sudo supervisorctl update
sudo supervisorctl reread

Update Cron Job. Make sure the cron job is pointing to the correct directory and remove the rconfig6 one if present

Terminal window
crontab -e
* * * * * php /var/www/html/rconfig7/current/artisan schedule:run >> /dev/null 2>&1
# save and exit
# verify cron with 'crontab -l'

Run the installer script

✅ Once verified, run the following envoy deploy script:

Terminal window
cd /var/www/html/rconfig7
rm -fr /var/www/html/rconfig7/Envoy.blade.php
wget https://www.rconfig.com/downloads/rconfig7-envoy.blade.php -O /var/www/html/rconfig7/Envoy.blade.php
envoy run deploy --apitoken=<YourToken>

Update the Database paths

✅ Run the following command to update the database paths, to rconfig7. This may take a few minutes depending on the quantity of configs in the database. Please be patient and do not interrupt the process.

Terminal window
cd /var/www/html/rconfig7/current
php artisan rconfig:updatedb7

Update ENV File

✅ Copy the next command into the CLI exactly as is

Terminal window
cd /var/www/html/rconfig7/
sed -i 's/APP_NAME="rConfig6 - Network Configuration Management"/APP_NAME="rConfig7 - Network Configuration Management"/g' persistentdata/.env

✅ The next command will update the APP_NAME variable in the .env file. But it needs to be done manually. Using the VIM or VI editor, open the .env file and replace the APP_NAME variable with the following:

Terminal window
vim persistentdata/.env
#APP_DIR_PATH="/var/www/html/rconfig6" DO NOT UMCOMMENT THIS LINE
=>
APP_DIR_PATH="/var/www/html/rconfig7/current"
# save and exit

Verify Backup Storage directory and permissions

✅ Run the following scripts to ensure the backup storage directory is created and has the correct permissions.

Terminal window
cd /var/www/html/rconfig7/current
mkdir /var/www/html/rconfig7/current/storage/app/rconfig/backups
chmod 0755 /var/www/html/rconfig7/current/storage/app/rconfig/backups
chown -R apache storage
php artisan rconfig:clear-all

Open rConfig URL in your browser. CTRL+SHIFT+r to hard refresh the browser

Login page

Upgrading from V6 to V7 on Ubuntu

Backup rConfig V6

✅ Ensure you have a full system backup of rConfig v6.

Update your OS

✅ This may take a few minutes, but let it finish for both commands below.

Terminal window
sudo apt-get update
sudo apt-get upgrade

Update your PHP Version

✅ If you experience any issues with this, please contact support.

Terminal window
cd /home
sudo apt-get install wget
wget https://www.rconfig.com/downloads/php-updates/ubuntu-php8-update.sh -O /home/ubuntu-php8-update.sh
chmod +x ubuntu-php8-update.sh
./ubuntu-php8-update.sh

✅ Verify PHP Version is 8.2 or 8.3

Terminal window
php -v

Update directory name

To keep with rConfig convention, we will rename the rConfig directory to rconfig7. This is to ensure that the rConfig directory name is the same as the version number. This will help with future upgrades. If your existing rConfig directory is rconfig5, and you are running a version of rConfig 6, please rename the directory to rconfig6 before proceeding. If you are running rConfig V5, do not proceed with the upgrade. Please contact support.

✅ Run the following command to rename the rConfig directory

Terminal window
cd /var/www/html/
mv /var/www/html/rconfig6 /var/www/html/rconfig7
ls -ahl

Also, edit the rConfig apache configuration file and the Supervisord conf files.

NOTE: The file paths may be different on your system. The path may be either sites-available or sites enabled or conf.d. Please check your system and edit accordingly.

NOTE: Deployments using SSL (hopefully most!), will need to update the path in the SSL configuration conf file. Please ensure the SSL configuration is updated to point to the new rConfig7 directory. This file is usually located in the same directory as the rconfig-vhost conf file and might be named something like rconfig-ssl-vhost.conf.

Terminal window
vi /etc/apache2/sites-available/rconfig-vhost.conf
# change the DocumentRoot to /var/www/html/rconfig7/current on two lines
# DocumentRoot /var/www/html/rconfig7/current/public
# <Directory "/var/www/html/rconfig7/current/public">
# Save and exit

NOTE: The extension of the file may be different on your system. It maybe a .conf file. Please check your system and edit accordingly.

Terminal window
vi /var/www/html/rconfig7/persistentdata/horizon_supervisor.conf
# change The below paths
# command=php /var/www/html/rconfig7/current/artisan horizon
# stdout_logfile=/var/www/html/rconfig7/persistentdata/storage/logs/horizon.log
#
# Save and exit
# if this is missing or empty, check it after the update below and edit accordingly.
rm -fr /etc/supervisor/conf.d/horizon_supervisor.conf
ln -s /var/www/html/rconfig7/persistentdata/horizon_supervisor.conf /etc/supervisor/conf.d/horizon_supervisor.conf
sudo service supervisor restart
sudo supervisorctl update
sudo supervisorctl reread

Update Cron Job. Make sure the cron job is pointing to the correct directory and remove the rconfig6 one if present

Terminal window
crontab -e
* * * * * php /var/www/html/rconfig7/current/artisan schedule:run >> /dev/null 2>&1
# save and exit
# verify cron with 'crontab -l'

Run the installer script

✅ Once verified, run the following envoy deploy script:

Terminal window
cd /var/www/html/rconfig7
rm -fr /var/www/html/rconfig7/Envoy.blade.php
wget https://www.rconfig.com/downloads/rconfig7-ubuntu-envoy.blade.php -O /var/www/html/rconfig7/Envoy.blade.php
sudo -E env "PATH=$PATH" envoy run deploy --apitoken=<YourToken>

Update the Database paths

✅ Run the following command to update the database paths, to rconfig7. This may take a few minutes depending on the quantity of configs in the database. Please be patient and do not interrupt the process.

Terminal window
cd /var/www/html/rconfig7/current
php artisan rconfig:updatedb7

Update ENV File

✅ The next command will update the APP_DIR_PATH variable in the .env file. But it needs to be done manually. Using the VIM or NANO editor, open the .env file and replace the APP_NAME variable with the following:

Terminal window
cd /var/www/html/rconfig7/
sed -i 's/APP_NAME="rConfig6 - Network Configuration Management"/APP_NAME="rConfig7 - Network Configuration Management"/g' persistentdata/.env
Terminal window
vim persistentdata/.env
#APP_DIR_PATH="/var/www/html/rconfig6" DO NOT UMCOMMENT THIS LINE
APP_DIR_PATH="/var/www/html/rconfig7/current"
# save and exit

Verify Backup Storage directory and permissions

✅ Run the following scripts to ensure the backup storage directory is created and has the correct permissions.

Terminal window
cd /var/www/html/rconfig7/current
mkdir /var/www/html/rconfig7/current/storage/app/rconfig/backups
chmod 0755 /var/www/html/rconfig7/current/storage/app/rconfig/backups
chown -R www-data storage
php artisan rconfig:clear-all

Open rConfig URL in your browser. CTRL+SHIFT+r to hard refresh the browser

Login page