rConfig - Vector CM Manual Offline Installation
rConfig Vector Central Manager (VCM) is a centralized management system for rConfig. It provides a centralized dashboard for managing multiple rConfig instances. This guide will walk you through the manual installation of rConfig Vector Central Manager. This guide should be followed as part of an onboarding session with rConfig support, and is primarily used by internal teams for review and internal server preperation.
OS Setup
-
Check OS Version for Offline installation is CentOS, RHEL, or Rocky Linux 8.0 or later
-
Disable SELinux & reboot the system (advanced users can skip this step)
-
Recommend updating the system to the latest version and packages
-
Install the following packages:
- yum-utils
- vim
- telnet
- zip
- unzip
- wget
- curl
- openssl-devel openssl mod_ssl
- supervisord
- Redis
- apache 2.4+
- mariadb 11++/ Mysql5.7+
- php 8.3+
- Rabbit MQ 4+
- Following PHP extensions:
- php php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo php-pear php-mbstring php-common php-pdo php-ldap php-gmp php-snmp
Note: the addition for php-snmp from V7.3.0
-
chown -R apache:apache /var/www/html
-
Start and enable the following services:
- httpd
- mariadb
- redis
- supervisord
-
If Firewall is enabled, open the following ports:
- 80
- 443
-
Verify that the following services are running and versions are correct;
- httpd 2.4+
- mariadb 11++/ Mysql5.7+
- redis 5.0+
- php 8.3+
- supervisord
- Rabbit MQ 4+
-
Run the Mysql secure installation script:
- mysql_secure_installation
- configure your mysql root password
Manually Install rConfig
Make sure to follow the installation steps for new installations ONLY. Updates, see the update section below.
-
Download the latest rConfig Zip file from the rConfig website (replace APITOKEN with your API token)
Terminal window curl -sw '%{http_code}' -o vector_cm_customername_release.zip -d '{"api_token":"APITOKEN"}' -H "Content-Type: application/json" -X POST https://dl.rconfig.com/api/download-vector-cm-customername?=$(date +%s) -
Create the following directories:
Terminal window currentReleaseDir=$(date '+%Y%m%d%H%M%S')mkdir /var/www/html/rconfigcmmkdir /var/www/html/rconfigcm/releasesmkdir /var/www/html/rconfigcm/releases/$currentReleaseDirmkdir /var/www/html/rconfigcm/persistentData -
If required, copy the previously downloaded zip file to the offline server. Unzip the file to /var/www/html/rconfigcm/releases/$currentReleaseDir
Terminal window unzip download-vector-cm-customername.zip -d /var/www/html/rconfigcm/releases/$currentReleaseDir/cd /var/www/html/rconfigcm/releases/$currentReleaseDir/mv customername-vector-cm-main/{,.[^.]}* . -
From the newly created releases directory copy the following files:
Terminal window cp /var/www/html/rconfigcm/releases/$currentReleaseDir/.env.example /var/www/html/rconfigcm/persistentData/.envcp /var/www/html/rconfigcm/releases/$currentReleaseDir/horizon_supervisor.ini /var/www/html/rconfigcm/persistentData/horizon_supervisor.inicp /var/www/html/rconfigcm/releases/$currentReleaseDir/rconfig-vhost.conf /var/www/html/rconfigcm/persistentData/rconfig-vhost.confcp -r /var/www/html/rconfigcm/releases/$currentReleaseDir/storage /var/www/html/rconfigcm/persistentData/storagemv /var/www/html/rconfigcm/releases/$currentReleaseDir/storage /var/www/html/rconfigcm/releases/$currentReleaseDir/storage_old -
Delete the zip file
Terminal window cd /var/www/html/rm -f download-vector-cm-customername.zip -
Create a symlink to the current release directory
Terminal window ln -s /var/www/html/rconfigcm/releases/$currentReleaseDir /var/www/html/rconfigcm/current -
Create a symlink to the persistentData directory. This command creates a symbolic link (soft link) named storage inside the /var/www/html/rconfigcm/current/ directory that points to the directory /var/www/html/rconfigcm/persistentData
Terminal window ln -s /var/www/html/rconfigcm/persistentData/storage /var/www/html/rconfigcm/current/storage -
Create symlink for .env file
Terminal window ln -s /var/www/html/rconfigcm/persistentData/.env /var/www/html/rconfigcm/current/.env -
Create a new database in mysql
Terminal window mysql -u root -pcreate database rconfig;exit -
change to current directory
Terminal window cd /var/www/html/rconfigcm/current -
Edit the .env file and replace the follow placeholder text with the correct values for each of the following:
Terminal window vim .envENVOY_HOSTNAME=SERVER.YOUHOSTNAME.COMENVOY_APP_DEBUG=falseENVOY_APP_URL=https://YOUHOSTNAME.COMENVOY_DBHOST=localhost (if local)ENVOY_DBPORT=3306ENVOY_DBNAME=rconfigENVOY_DBUSER=ENVOY_DBPASS=ENVOY_RCONFIG_API_TOKEN=RABBITMQ_HOST="servername.rconfig.com"RABBITMQ_PORT="5672"RABBITMQ_USER="guest"RABBITMQ_PASS="guest"RABBITMQ_VHOST="/" -
Edit the supervisor config file (persistentData/horizon_supervisor.ini) and replace the follow placeholder text with the correct values for each of the following:
Terminal window vi /var/www/html/rconfigcm/persistentData/horizon_supervisor.iniENVOY_ARTISAN = /var/www/html/rconfigcm/current/artisanENVOY_STORAGE = /var/www/html/rconfigcm/current/storage -
Link the supervisor config file to the supervisor config directory
Terminal window ln -s /var/www/html/rconfigcm/persistentData/horizon_supervisor.ini /etc/supervisord.d/horizon_supervisor.ini -
Setup apache to use the rconfig.conf file, if required.
Terminal window cp /var/www/html/rconfigcm/persistentData/rconfig-vhost.conf /etc/httpd/conf.d/rconfig-vhost.conf -
Edit the apache config file (rconfig-vhost.conf) and replace the follow placeholder text with the correct values for each of the following:
Terminal window vim /etc/httpd/conf.d/rconfig-vhost.confENVOY_SERVERNAME=YOUHOSTNAME.COMENVOY_SERVERALIAS=YOUHOSTNAME.COMENVOY_DOCROOT=/var/www/html/rconfigcm/ -
Add the laravel Cron Job
Terminal window crontab -e* * * * * php /var/www/html/rconfigcm/current/artisan schedule:run >> /dev/null 2>&1# save and exit# verify cron with 'crontab -l' -
Reset dir permissions
Terminal window chown -R apache:apache /var/www/html/rconfigcmchmod -R 775 /var/www/html/rconfigcm/current/storage -
Migrate the DB files. If any errors here, check your DB credentials in the .env file
Terminal window cd /var/www/html/rconfigcm/currentphp artisan migrate -
Run the following setup commands for laravel horizon
Terminal window php artisan config:clearphp artisan key:generate# php artisan passport:installphp artisan rconfig:clear-allphp artisan nova:userchown -R apache:apache /var/www/html/rconfigcmchmod -R 775 /var/www/html/rconfigcm/current/storage -
Restart the following services:
- httpd
- mariadb
- supervisord
-
Verify that the following services are running and versions are correct;
- httpd 2.4+
- mariadb 10.3+/ Mysql5.7+
- redis 5.0+
- php 8.1+
- supervisord 4.0+
- Rabbit MQ 4+
-
Verify that the following ports are open:
- 80
- 443
-
Check the install has completed, by open the rConfig web interface in a browser and login with the default credentials:
- Username: [email protected]
- Password: admin
Manually Update rConfig
To manually update rConfig, follow the steps below:
-
Download the latest rConfig Zip file from the rConfig website (replace APITOKEN with your API token)
Terminal window curl -sw '%{http_code}' -o vector_cm_customername_release.zip -d '{"api_token":"APITOKEN"}' -H "Content-Type: application/json" -X POST https://dl.rconfig.com/api/vector_cm_customername_release?=$(date +%s) -
Create the following directories:
Terminal window currentReleaseDir=$(date '+%Y%m%d%H%M%S')mkdir /var/www/html/rconfigcm/releases/$currentReleaseDir -
If required, copy the previously downloaded zip file to the offline server. Unzip the file to /var/www/html/rconfigcm/releases/$currentReleaseDir
Terminal window unzip vector_cm_customername_release.zip -d /var/www/html/rconfigcm/releases/$currentReleaseDir/cd /var/www/html/rconfigcm/releases/$currentReleaseDir/mv customername-vector-cm-main/{,.[^.]}* . -
Unlink the current symlink
Terminal window cd /var/www/html/rconfigcmunlink /var/www/html/rconfigcm/current -
Create a symlink to the current release directory
Terminal window ln -s /var/www/html/rconfigcm/releases/$currentReleaseDir /var/www/html/rconfigcm/current -
Create a symlink to the persistentData directory. This command creates a symbolic link (soft link) named storage inside the /var/www/html/rconfigcm/current/ directory that points to the directory /var/www/html/rconfigcm/persistentData
Terminal window ln -s /var/www/html/rconfigcm/persistentData/storage /var/www/html/rconfigcm/current/storage -
Create symlink for .env file
Terminal window ln -s /var/www/html/rconfigcm/persistentData/.env /var/www/html/rconfigcm/current/.env -
Change to current directory
Terminal window cd /var/www/html/rconfigcm/current -
Restart apache, MariaDB, Redis, and supervisord
Terminal window systemctl restart httpdsystemctl restart mariadbsystemctl restart redissystemctl restart supervisord.chown -R apache:apache /var/www/html/rconfigcmchmod -R 775 /var/www/html/rconfigcm/current/storage