rConfig V8 Core Installation Guide for Linux
After reading this page, you can install rConfig V8 Core on a supported Linux server from a fresh OS, configure the database, web server, and queue worker, and log in to the web interface for the first time. This covers the free, open-source edition end to end.
When to use this
Section titled “When to use this”Follow this guide for a manual installation of rConfig V8 Core directly onto a Linux host. Use it for a first-time deployment on a fresh server. If you prefer containers, follow the Docker setup guide instead, and if you are moving from an older release, see the update process.
Prerequisites
Section titled “Prerequisites”- A fresh installation of one of the supported operating systems:
- Rocky Linux 8/9+ (recommended)
- CentOS 8/9+
- RHEL 8/9+
- Ubuntu 22.04+
- AlmaLinux 8/9+
- AWS Linux 2023
- Root or sudo access to the server
- Basic command-line familiarity
- The dependencies installed by the automated setup script in the OS Configuration Guide
- Around 30 to 45 minutes to complete the installation
Installation overview
Section titled “Installation overview”The installation runs in seven steps:
- OS configuration: install required software dependencies
- Database setup: create the database and user
- Application installation: clone the repository and configure
- Web server configuration: set up the Apache virtual host
- Queue worker configuration: set up Supervisor
- Run installation wizard: complete setup
- Final configuration: set permissions and clear caches
Step 1: OS configuration
Section titled “Step 1: OS configuration”Install the software dependencies rConfig V8 Core requires before configuring the database and application. The fastest path is the automated setup script for your operating system, which installs PHP, the web server, the database, and supporting packages in one pass.
See the OS Configuration Guide to download and run the script for your OS (Rocky, RHEL, Alma, CentOS, or Ubuntu). Once it completes, continue with the database setup below.
Step 2: Database setup
Section titled “Step 2: Database setup”Create a dedicated database and user for rConfig.
-
Log in to MySQL or MariaDB:
Terminal window # For systems with a MariaDB/MySQL root password setmysql -u root -p# For systems without a root password (Ubuntu often defaults to this)sudo mysql -
Create the database, user, and grants:
-- Create the rConfig databaseCREATE DATABASE rconfig;-- Create a dedicated user (recommended)CREATE USER 'rconfig_user'@'localhost' IDENTIFIED BY 'your_secure_password';-- Grant all privileges to the rConfig databaseGRANT ALL PRIVILEGES ON rconfig.* TO 'rconfig_user'@'localhost';-- Apply privilegesFLUSH PRIVILEGES;-- Exit MySQLEXIT; -
Verify the new credentials connect:
Terminal window # Test the database connectionmysql -u rconfig_user -p rconfig# Enter your password when prompted.# If successful, you reach the MySQL prompt. Type 'EXIT;' to return to the shell.
Step 3: Application installation
Section titled “Step 3: Application installation”Clone the rConfig repository and prepare the application.
-
Clone the repository into the web directory:
Terminal window # Navigate to the web directorycd /var/www/html# Clone the repositorygit clone https://github.com/rconfig/rconfig.git# Navigate into the application directorycd rconfig -
Create the environment file from the example:
Terminal window # Copy the example environment filecp .env.example .env# Edit the environment file with your settingsnano .env -
Update the application and database variables in
.env:Terminal window # Application SettingsAPP_URL="https://your-server.domain.com"APP_DIR_PATH=/var/www/html/rconfig# Database SettingsDB_HOST=localhostDB_PORT=3306DB_DATABASE=rconfigDB_USERNAME=rconfig_userDB_PASSWORD=your_secure_passwordKey variables to set:
APP_URL: the URL where rConfig is accessed (use your server hostname or IP)APP_DIR_PATH: path to the rConfig installation (keep as/var/www/html/rconfig)DB_USERNAME: the database user created in Step 2DB_PASSWORD: the database password created in Step 2
-
Install the PHP dependencies with Composer:
Terminal window # Allow Composer to run as rootexport COMPOSER_ALLOW_SUPERUSER=1# Update Composer to version 2composer self-update --2# Install application dependenciesyes | composer install --no-devThis step downloads all required PHP packages and may take several minutes.
Step 4: Web server configuration
Section titled “Step 4: Web server configuration”Configure Apache to serve the rConfig application. The setup script is the same on all distributions. Only the virtual host file path and the restart command differ, so run the script first, then follow the tab for your OS.
-
Run the Apache setup script, which creates the virtual host configuration:
Terminal window # Make the setup script executablechmod +x setup_apache.sh# Run the setup script./setup_apache.sh -
Edit the virtual host to match your server hostname, then restart Apache:


# Edit the virtual host configurationnano /etc/httpd/conf.d/rconfig-vhost.confUpdate the ServerName and ServerAlias lines:
ServerName your-server.domain.comServerAlias your-server.domain.comSave and restart Apache:
systemctl restart httpd
# Edit the virtual host configurationsudo nano /etc/apache2/sites-enabled/rconfig-vhost.confUpdate the ServerName and ServerAlias lines:
ServerName your-server.domain.comServerAlias your-server.domain.comSave, enable mod_rewrite, and restart Apache:
sudo a2enmod rewritesudo systemctl restart apache2Step 5: Queue worker configuration
Section titled “Step 5: Queue worker configuration”Configure Supervisor to manage background jobs.
-
Run the Supervisor setup script:
Terminal window # Make the setup script executablechmod +x setup_supervisor.sh# Run the setup script./setup_supervisor.sh -
Verify Supervisor is running, and start it if needed:
Terminal window # Check Supervisor statussystemctl status supervisord# If not running, start and enable itsystemctl start supervisordsystemctl enable supervisord
Step 6: Run installation wizard
Section titled “Step 6: Run installation wizard”Run the rConfig installation wizard to complete setup:
# Run the installation wizardphp artisan v8core:installDuring the wizard, you are prompted to:
- Confirm the database connection
- Run database migrations
- Seed initial data
- Generate the application key
- Configure cron scheduling: type
yeswhen asked
The wizard displays progress and confirms successful completion.
Step 7: Final configuration
Section titled “Step 7: Final configuration”Set the correct file ownership and clear application caches.


cd /var/www/html/rconfig
# Set ownership to the Apache userchown -R apache storage bootstrap/cache
# Clear all cachesphp artisan rconfig:clear-all
cd /var/www/html/rconfig
# Set ownership to the Apache userchown -R www-data storage bootstrap/cache
# Clear all cachesphp artisan rconfig:clear-allAccess rConfig for the first time
Section titled “Access rConfig for the first time”Open a web browser and navigate to your server URL or IP address:
http://your-server.domain.comor
http://your-server-ipLog in with the default credentials:
- Email:
admin@domain.com - Password:
admin
Post-installation steps
Section titled “Post-installation steps”Create a new admin user
Section titled “Create a new admin user”- Log in with the default credentials.
- Navigate to Settings then Users.
- Click Add User.
- Create a new user with the admin role and your real email address.
- Log out and confirm the new account works.
For full account management detail, see managing users in rConfig.
Remove the default admin
Section titled “Remove the default admin”After confirming your new admin account works:
- Log in with your new account.
- Navigate to Settings then Users.
- Disable or delete the
admin@domain.comaccount.
Configure SSL/TLS
Section titled “Configure SSL/TLS”For production deployments, encrypt traffic with SSL/TLS. Use Let’s Encrypt for free certificates, or your organisation’s PKI. See the SSL configuration guide for the full procedure.
Update device templates
Section titled “Update device templates”Download the latest vendor templates from GitHub:
cd /var/www/html/rconfigphp artisan rconfig:clone-templatesAdd your first device
Section titled “Add your first device”- Navigate to Devices then Add Device.
- Enter the device details (name, IP, credentials).
- Assign the device to a category (command group).
- Save and test connectivity.
For the full workflow, see adding and managing devices.
Verification checklist
Section titled “Verification checklist”After installation, confirm each item:
Common gotchas
Section titled “Common gotchas”Troubleshooting
Section titled “Troubleshooting”Why can’t I access the web interface?
Section titled “Why can’t I access the web interface?”Check the Apache service and restart it:
# CentOS/Rocky/RHELsystemctl status httpdsystemctl restart httpd
# Ubuntusystemctl status apache2systemctl restart apache2Check that the firewall allows HTTP and HTTPS:
# CentOS/Rocky/RHELfirewall-cmd --list-allfirewall-cmd --permanent --add-service=httpfirewall-cmd --permanent --add-service=httpsfirewall-cmd --reload
# Ubuntuufw statusufw allow 80/tcpufw allow 443/tcpHow do I fix permission errors?
Section titled “How do I fix permission errors?”cd /var/www/html/rconfig
# CentOS/Rocky/RHELchown -R apache:apache /var/www/html/rconfigchmod -R 755 /var/www/html/rconfigchmod -R 775 storage bootstrap/cache
# Ubuntuchown -R www-data:www-data /var/www/html/rconfigchmod -R 755 /var/www/html/rconfigchmod -R 775 storage bootstrap/cacheHow do I resolve database connection errors?
Section titled “How do I resolve database connection errors?”Test the connection directly:
mysql -u rconfig_user -p rconfigThen verify the .env settings:
DB_USERNAMEmatches your database userDB_PASSWORDis correctDB_DATABASEis set torconfig
Why aren’t queue jobs processing?
Section titled “Why aren’t queue jobs processing?”Check and restart Supervisor, then review its logs:
# Check statussystemctl status supervisord
# Restart if neededsystemctl restart supervisord
# Check logstail -f /var/log/supervisor/supervisord.logWhy do I get a blank page or 500 error?
Section titled “Why do I get a blank page or 500 error?”Clear caches:
cd /var/www/html/rconfigphp artisan rconfig:clear-allRe-set ownership on the writable directories:
# CentOS/Rocky/RHELchown -R apache:apache storage bootstrap/cache
# Ubuntuchown -R www-data:www-data storage bootstrap/cacheThen check the application log:
tail -f /var/www/html/rconfig/storage/logs/laravel.logLog file locations
Section titled “Log file locations”- Application logs:
/var/www/html/rconfig/storage/logs/ - Apache logs (RHEL/CentOS):
/var/log/httpd/ - Apache logs (Ubuntu):
/var/log/apache2/ - Supervisor logs:
/var/log/supervisor/
Getting help
Section titled “Getting help”- Documentation: v8coredocs.rconfig.com
- Bug reports and feature requests: GitHub Issues
- Community forums: community.rconfig.com
For business-critical environments, rConfig V8 Pro (a separate edition) adds priority support with an SLA, advanced features, and enterprise integrations. See the Pro documentation and rconfig.com for details.
What’s next
Section titled “What’s next”- Get started with rConfig V8 Core: learn the basic operations
- Add and manage devices: configure your first devices
- Harden your installation: secure the deployment for production