How to update rConfig V8 Core
After reading this page, you can update an existing rConfig V8 Core installation to the latest release. You will back up the database, configuration, and storage directory, pull the newest code from GitHub, run database migrations, clear caches, restart services, and verify the upgrade on RHEL-based systems or Ubuntu.
When to use this
Section titled “When to use this”Use this guide when you already have rConfig V8 Core running and want to move it to a newer release for new features, security fixes, or bug fixes. If you are deploying a fresh environment instead, complete the V8 Core installation steps first, then return here for future updates.
rConfig V8 Core follows a continuous release cycle, and updates are distributed through the GitHub repository. Review the GitHub Releases page for the version you are moving to before you start, in case it includes breaking changes or special instructions.
Prerequisites
Section titled “Prerequisites”- A running rConfig V8 Core installation with shell access to the server
- The database user and password from your
.envfile (needed for the backup) - A backup directory the web user can write to (this guide uses
/home/backups) git,composer,mysqldump, andtaravailable on the host- Knowledge of your platform: RHEL-based (CentOS, Rocky, RHEL, Alma) or Ubuntu
Back up your data
Section titled “Back up your data”Complete all four backup steps before touching the update commands.
Step 1: Back up the database
Section titled “Step 1: Back up the database”# Navigate to a backup directorycd /home/backups
# Create database backup with timestampmysqldump -u rconfig_user -p --no-tablespaces rconfig > rconfig_backup_$(date +%Y%m%d_%H%M%S).sql
# Verify the backup file was createdls -lh rconfig_backup_*.sqlYou are prompted for the database password. Use the same password configured in your .env file.
Step 2: Back up the configuration files
Section titled “Step 2: Back up the configuration files”# Backup .env filecp /var/www/html/rconfig/.env /home/backups/.env.backup_$(date +%Y%m%d_%H%M%S)
# Backup Apache virtual host configuration# For CentOS/Rocky/RHEL:cp /etc/httpd/conf.d/rconfig-vhost.conf /home/backups/rconfig-vhost.conf.backup_$(date +%Y%m%d_%H%M%S)
# For Ubuntu:cp /etc/apache2/sites-enabled/rconfig-vhost.conf /home/backups/rconfig-vhost.conf.backup_$(date +%Y%m%d_%H%M%S)Step 3: Back up the storage directory
Section titled “Step 3: Back up the storage directory”# Create compressed backup of storage directorytar -czf /home/backups/rconfig_storage_backup_$(date +%Y%m%d_%H%M%S).tar.gz /var/www/html/rconfig/storage
# Verify the backup file was createdls -lh /home/backups/rconfig_storage_backup_*.tar.gzStep 4: Verify the backups
Section titled “Step 4: Verify the backups”# List all backup filesls -lh /home/backups/
# Check database backup file size (should not be 0 bytes)ls -lh /home/backups/rconfig_backup_*.sqlUpdate rConfig V8 Core
Section titled “Update rConfig V8 Core”Once your backups are complete and verified, work through these steps in order.
Step 1: Check the current version
Section titled “Step 1: Check the current version”cd /var/www/html/rconfig
# Check current installed versionphp artisan --version
# Check Git statusgit statusStep 2: Stash local changes (if needed)
Section titled “Step 2: Stash local changes (if needed)”If you have local modifications that conflict with the update, stash them:
# Stash your local changesgit stash
# You can restore them later with:# git stash popStep 3: Pull the latest release
Section titled “Step 3: Pull the latest release”

cd /var/www/html/rconfig
# Pull latest changes from GitHubgit pull
# If you encounter conflicts, review them and resolve manually# or restore from your backup and try again
cd /var/www/html/rconfig
# Pull latest changes from GitHubgit pull
# If you encounter conflicts, review them and resolve manually# or restore from your backup and try againStep 4: Update dependencies
Section titled “Step 4: Update dependencies”# Update Composer dependenciescomposer install --no-dev
# This may take several minutesStep 5: Run database migrations
Section titled “Step 5: Run database migrations”# Run any new database migrationsphp artisan migrate
# When prompted, confirm by typing 'yes'Step 6: Sync scheduled tasks
Section titled “Step 6: Sync scheduled tasks”# Sync scheduled tasks with the systemphp artisan rconfig:sync-tasksStep 7: Clear caches
Section titled “Step 7: Clear caches”# Clear all application cachesphp artisan rconfig:clear-allStep 8: Restart the web server
Section titled “Step 8: Restart the web server”

# Restart Apachesystemctl restart httpd
# Verify Apache is runningsystemctl status httpd
# Restart Apachesudo systemctl restart apache2
# Verify Apache is runningsystemctl status apache2Step 9: Restart queue workers
Section titled “Step 9: Restart queue workers”# Restart Supervisor to reload queue workerssystemctl restart supervisord
# Verify Supervisor is runningsystemctl status supervisordVerify the update
Section titled “Verify the update”After updating, confirm everything is working.
Step 1: Check the application version
Section titled “Step 1: Check the application version”cd /var/www/html/rconfigphp artisan --versionStep 2: Access the web interface
Section titled “Step 2: Access the web interface”Open your browser and navigate to your rConfig URL. Verify you can log in, the dashboard loads correctly, and any new features appear as expected.
Step 3: Test core functionality
Section titled “Step 3: Test core functionality”- Add or view a device to confirm device management works
- Run a manual device backup
- Open an existing configuration to confirm stored configs are accessible
- Review the logs for errors:
# Check application logstail -f /var/www/html/rconfig/storage/logs/laravel.logStep 4: Verify services
Section titled “Step 4: Verify services”# Check Apache statussystemctl status httpd # CentOS/Rocky/RHELsystemctl status apache2 # Ubuntu
# Check Supervisor statussystemctl status supervisord
# Check queue workersphp artisan queue:work --onceCommon gotchas
Section titled “Common gotchas”Fix permissions after an update
Section titled “Fix permissions after an update”If you hit permission errors, a blank page, or 500 errors, reset ownership and permissions, then clear caches:


cd /var/www/html/rconfig
# Fix ownershipchown -R apache:apache /var/www/html/rconfig
# Fix permissionschmod -R 755 /var/www/html/rconfigchmod -R 775 storage bootstrap/cache
# Clear cachesphp artisan rconfig:clear-all
cd /var/www/html/rconfig
# Fix ownershipchown -R www-data:www-data /var/www/html/rconfig
# Fix permissionschmod -R 755 /var/www/html/rconfigchmod -R 775 storage bootstrap/cache
# Clear cachesphp artisan rconfig:clear-allRoll back an update
Section titled “Roll back an update”If an update causes problems, roll back to your previous version using the backups you took.
Step 1: Stop services
Section titled “Step 1: Stop services”# Stop Apachesystemctl stop httpd # CentOS/Rocky/RHELsystemctl stop apache2 # Ubuntu
# Stop Supervisorsystemctl stop supervisordStep 2: Restore the database
Section titled “Step 2: Restore the database”# Replace 'YYYYMMDD_HHMMSS' with your backup timestampmysql -u rconfig_user -p rconfig < /home/backups/rconfig_backup_YYYYMMDD_HHMMSS.sqlStep 3: Restore the configuration
Section titled “Step 3: Restore the configuration”# Restore .env filecp /home/backups/.env.backup_YYYYMMDD_HHMMSS /var/www/html/rconfig/.env
# Restore storage directorycd /var/www/html/rconfigrm -rf storagetar -xzf /home/backups/rconfig_storage_backup_YYYYMMDD_HHMMSS.tar.gz -C /Step 4: Revert the code
Section titled “Step 4: Revert the code”cd /var/www/html/rconfig
# View recent commitsgit log --oneline -n 10
# Revert to previous commit (replace COMMIT_HASH with the actual hash)git reset --hard COMMIT_HASH
# Or revert to the last working versiongit checkout HEAD~1Step 5: Restart services
Section titled “Step 5: Restart services”# Start Apachesystemctl start httpd # CentOS/Rocky/RHELsystemctl start apache2 # Ubuntu
# Start Supervisorsystemctl start supervisordWhen should you apply each update?
Section titled “When should you apply each update?”Use these guidelines to plan your update cadence. Always test major versions in a non-production environment first.
| Update type | Recommended action |
|---|---|
| Critical security fix | Apply the same day |
| High-severity security fix | Apply within one week |
| Medium or low security fix | Apply during the next maintenance window |
| Patch release (8.0.x) | Low risk, apply during regular maintenance |
| Minor release (8.x.0) | Apply during a scheduled maintenance window |
| Major release (x.0.0) | Plan carefully and test in non-production first |
For production systems, run updates during low-usage periods and keep multiple backup versions so you can roll back if needed.
Where to get help
Section titled “Where to get help”When you need help with an update, gather this information first:
- Current rConfig version (
php artisan --version) - Operating system and version
- Error messages from the logs
- Steps you have already tried
- Output of
git statusandgit log --oneline -n 5
Then reach out through one of these channels:
- Bug reports: GitHub Issues
- Community forums: community.rconfig.com
- Video tutorials: rConfig YouTube channel
What’s next
Section titled “What’s next”- Install rConfig V8 Core from scratch if you are setting up a new environment
- rConfig CLI commands reference for the
php artisancommands used during updates - Troubleshoot device connectivity if backups fail after an update