Skip to content

Vector CM Manual Offline Installation

Vector CM Manual Installation: Offline Setup Guide for rConfig Central Manager

Section titled “Vector CM Manual Installation: Offline Setup Guide for rConfig Central Manager”

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 preparation.

RequirementSupported Versions
Operating SystemCentOS/RHEL/Rocky Linux 8.0+
Web ServerApache 2.4+
Database ServerMariaDB 11+ • MySQL 5.7+ • PostgreSQL 13+ (Enterprise only)
PHP Version8.4+ (strictly required)
Redis5.0+
Message QueueRabbitMQ 4+ (required)

System Preparation:

  • Check OS Version: CentOS, RHEL, or Rocky Linux 8.0+
  • Disable SELinux & reboot (advanced users can skip)
  • Update system to latest packages

Package Installation:

  • Core tools: yum-utils, vim, zip, unzip, wget, curl
  • Security: openssl-devel, openssl, mod_ssl
  • Services: supervisord, redis, apache 2.4+, mariadb 11+/mysql 5.7+, RabbitMQ 4+
  • PHP 8.4+: 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

Service Configuration:

  • Set permissions: chown -R apache:apache /var/www/html
  • Start services: httpd, mariadb, redis, supervisord
  • Open firewall ports: 80, 443
  • Verify versions match requirements above
  • Run MySQL secure installation

Beginners: Disable SELinux by editing /etc/selinux/config → set SELINUX=disabled → reboot

Advanced users: Configure SELinux policies for Vector CM and Apache

Make sure to follow the installation steps for new installations ONLY. For updates, see the update section below.

Step 1: Download rConfig

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)

Step 2: Create Directory Structure

Terminal window
currentReleaseDir=$(date '+%Y%m%d%H%M%S')
mkdir /var/www/html/rconfigcm
mkdir /var/www/html/rconfigcm/releases
mkdir /var/www/html/rconfigcm/releases/$currentReleaseDir
mkdir /var/www/html/rconfigcm/persistentData

Step 3: Extract Files

If required, copy the previously downloaded zip file to the offline server. Unzip the file to the release directory:

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/{,.[^.]}* .

Step 4: Copy Configuration Files

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/.env
cp /var/www/html/rconfigcm/releases/$currentReleaseDir/horizon_supervisor.ini /var/www/html/rconfigcm/persistentData/horizon_supervisor.ini
cp /var/www/html/rconfigcm/releases/$currentReleaseDir/rconfig-vhost.conf /var/www/html/rconfigcm/persistentData/rconfig-vhost.conf
cp -r /var/www/html/rconfigcm/releases/$currentReleaseDir/storage /var/www/html/rconfigcm/persistentData/storage
mv /var/www/html/rconfigcm/releases/$currentReleaseDir/storage /var/www/html/rconfigcm/releases/$currentReleaseDir/storage_old

Step 5: Cleanup

Delete the zip file:

Terminal window
cd /var/www/html/
rm -f download-vector-cm-customername.zip

Step 6: Create Symlinks

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:

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

Step 7: Create Database

Create a new database in MySQL:

Terminal window
mysql -u root -p
create database rconfig;
exit

Step 8: Configure Environment

Change to current directory:

Terminal window
cd /var/www/html/rconfigcm/current

Edit the .env file and replace the placeholder text with the correct values:

Terminal window
vim .env
ENVOY_HOSTNAME=SERVER.YOUHOSTNAME.COM
ENVOY_APP_DEBUG=false
ENVOY_APP_URL=https://YOUHOSTNAME.COM
ENVOY_DBHOST=localhost
ENVOY_DBPORT=3306
ENVOY_DBNAME=rconfig
ENVOY_DBUSER=
ENVOY_DBPASS=
ENVOY_RCONFIG_API_TOKEN=
RABBITMQ_HOST="servername.rconfig.com"
RABBITMQ_PORT="5672"
RABBITMQ_USER="guest"
RABBITMQ_PASS="guest"
RABBITMQ_VHOST="/"

Step 9: Configure Supervisor

Edit the supervisor config file and replace placeholder text:

Terminal window
vi /var/www/html/rconfigcm/persistentData/horizon_supervisor.ini
ENVOY_ARTISAN = /var/www/html/rconfigcm/current/artisan
ENVOY_STORAGE = /var/www/html/rconfigcm/current/storage

Link the supervisor config file:

Terminal window
ln -s /var/www/html/rconfigcm/persistentData/horizon_supervisor.ini /etc/supervisord.d/horizon_supervisor.ini

Step 10: Configure Apache

Setup Apache to use the rconfig.conf file:

Terminal window
cp /var/www/html/rconfigcm/persistentData/rconfig-vhost.conf /etc/httpd/conf.d/rconfig-vhost.conf

Edit the Apache config file:

Terminal window
vim /etc/httpd/conf.d/rconfig-vhost.conf
ENVOY_SERVERNAME=YOUHOSTNAME.COM
ENVOY_SERVERALIAS=YOUHOSTNAME.COM
ENVOY_DOCROOT=/var/www/html/rconfigcm/

Step 11: Add 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'

Step 12: Set Permissions

Reset directory permissions:

Terminal window
chown -R apache:apache /var/www/html/rconfigcm
chmod -R 775 /var/www/html/rconfigcm/current/storage

Step 13: Migrate Database

Migrate the DB files. If any errors occur, check your DB credentials in the .env file:

Terminal window
cd /var/www/html/rconfigcm/current
php artisan migrate

Step 14: Run Setup Commands

Run the following setup commands for Laravel Horizon:

Terminal window
php artisan config:clear
php artisan key:generate
php artisan rconfig:clear-all
php artisan nova:user
chown -R apache:apache /var/www/html/rconfigcm
chmod -R 775 /var/www/html/rconfigcm/current/storage

Step 15: Restart Services

Restart the following services:

  • httpd
  • mariadb
  • supervisord
Terminal window
systemctl restart httpd
systemctl restart mariadb
systemctl restart supervisord

Step 16: Verify Installation

Verify that the following services are running and versions are correct:

  • httpd 2.4+
  • mariadb 11+/mysql 5.7+
  • redis 5.0+
  • php 8.4+
  • supervisord 4.0+
  • RabbitMQ 4+

Verify that the following ports are open:

  • 80
  • 443

Step 17: Access Web Interface

Check the install has completed by opening the rConfig web interface in a browser and login with the default credentials: