Skip to content

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.

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.

  • 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

The installation runs in seven steps:

  1. OS configuration: install required software dependencies
  2. Database setup: create the database and user
  3. Application installation: clone the repository and configure
  4. Web server configuration: set up the Apache virtual host
  5. Queue worker configuration: set up Supervisor
  6. Run installation wizard: complete setup
  7. Final configuration: set permissions and clear caches

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.

Create a dedicated database and user for rConfig.

  1. Log in to MySQL or MariaDB:

    Terminal window
    # For systems with a MariaDB/MySQL root password set
    mysql -u root -p
    # For systems without a root password (Ubuntu often defaults to this)
    sudo mysql
  2. Create the database, user, and grants:

    -- Create the rConfig database
    CREATE DATABASE rconfig;
    -- Create a dedicated user (recommended)
    CREATE USER 'rconfig_user'@'localhost' IDENTIFIED BY 'your_secure_password';
    -- Grant all privileges to the rConfig database
    GRANT ALL PRIVILEGES ON rconfig.* TO 'rconfig_user'@'localhost';
    -- Apply privileges
    FLUSH PRIVILEGES;
    -- Exit MySQL
    EXIT;
  3. Verify the new credentials connect:

    Terminal window
    # Test the database connection
    mysql -u rconfig_user -p rconfig
    # Enter your password when prompted.
    # If successful, you reach the MySQL prompt. Type 'EXIT;' to return to the shell.

Clone the rConfig repository and prepare the application.

  1. Clone the repository into the web directory:

    Terminal window
    # Navigate to the web directory
    cd /var/www/html
    # Clone the repository
    git clone https://github.com/rconfig/rconfig.git
    # Navigate into the application directory
    cd rconfig
  2. Create the environment file from the example:

    Terminal window
    # Copy the example environment file
    cp .env.example .env
    # Edit the environment file with your settings
    nano .env
  3. Update the application and database variables in .env:

    Terminal window
    # Application Settings
    APP_URL="https://your-server.domain.com"
    APP_DIR_PATH=/var/www/html/rconfig
    # Database Settings
    DB_HOST=localhost
    DB_PORT=3306
    DB_DATABASE=rconfig
    DB_USERNAME=rconfig_user
    DB_PASSWORD=your_secure_password

    Key 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 2
    • DB_PASSWORD: the database password created in Step 2
  4. Install the PHP dependencies with Composer:

    Terminal window
    # Allow Composer to run as root
    export COMPOSER_ALLOW_SUPERUSER=1
    # Update Composer to version 2
    composer self-update --2
    # Install application dependencies
    yes | composer install --no-dev

    This step downloads all required PHP packages and may take several minutes.

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.

  1. Run the Apache setup script, which creates the virtual host configuration:

    Terminal window
    # Make the setup script executable
    chmod +x setup_apache.sh
    # Run the setup script
    ./setup_apache.sh
  2. Edit the virtual host to match your server hostname, then restart Apache:

Red Hat Enterprise Linux logoRocky Linux logoAlmaLinux logo
Terminal window
# Edit the virtual host configuration
nano /etc/httpd/conf.d/rconfig-vhost.conf

Update the ServerName and ServerAlias lines:

ServerName your-server.domain.com
ServerAlias your-server.domain.com

Save and restart Apache:

Terminal window
systemctl restart httpd

Configure Supervisor to manage background jobs.

  1. Run the Supervisor setup script:

    Terminal window
    # Make the setup script executable
    chmod +x setup_supervisor.sh
    # Run the setup script
    ./setup_supervisor.sh
  2. Verify Supervisor is running, and start it if needed:

    Terminal window
    # Check Supervisor status
    systemctl status supervisord
    # If not running, start and enable it
    systemctl start supervisord
    systemctl enable supervisord

Run the rConfig installation wizard to complete setup:

Terminal window
# Run the installation wizard
php artisan v8core:install

During the wizard, you are prompted to:

  1. Confirm the database connection
  2. Run database migrations
  3. Seed initial data
  4. Generate the application key
  5. Configure cron scheduling: type yes when asked

The wizard displays progress and confirms successful completion.

Set the correct file ownership and clear application caches.

Red Hat Enterprise Linux logoRocky Linux logoAlmaLinux logo
Terminal window
cd /var/www/html/rconfig
# Set ownership to the Apache user
chown -R apache storage bootstrap/cache
# Clear all caches
php artisan rconfig:clear-all

Open a web browser and navigate to your server URL or IP address:

http://your-server.domain.com

or

http://your-server-ip

Log in with the default credentials:

  • Email: admin@domain.com
  • Password: admin
  1. Log in with the default credentials.
  2. Navigate to Settings then Users.
  3. Click Add User.
  4. Create a new user with the admin role and your real email address.
  5. Log out and confirm the new account works.

For full account management detail, see managing users in rConfig.

After confirming your new admin account works:

  1. Log in with your new account.
  2. Navigate to Settings then Users.
  3. Disable or delete the admin@domain.com account.

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.

Download the latest vendor templates from GitHub:

Terminal window
cd /var/www/html/rconfig
php artisan rconfig:clone-templates
  1. Navigate to Devices then Add Device.
  2. Enter the device details (name, IP, credentials).
  3. Assign the device to a category (command group).
  4. Save and test connectivity.

For the full workflow, see adding and managing devices.

After installation, confirm each item:

Check the Apache service and restart it:

Terminal window
# CentOS/Rocky/RHEL
systemctl status httpd
systemctl restart httpd
# Ubuntu
systemctl status apache2
systemctl restart apache2

Check that the firewall allows HTTP and HTTPS:

Terminal window
# CentOS/Rocky/RHEL
firewall-cmd --list-all
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
# Ubuntu
ufw status
ufw allow 80/tcp
ufw allow 443/tcp
Terminal window
cd /var/www/html/rconfig
# CentOS/Rocky/RHEL
chown -R apache:apache /var/www/html/rconfig
chmod -R 755 /var/www/html/rconfig
chmod -R 775 storage bootstrap/cache
# Ubuntu
chown -R www-data:www-data /var/www/html/rconfig
chmod -R 755 /var/www/html/rconfig
chmod -R 775 storage bootstrap/cache

How do I resolve database connection errors?

Section titled “How do I resolve database connection errors?”

Test the connection directly:

Terminal window
mysql -u rconfig_user -p rconfig

Then verify the .env settings:

  • DB_USERNAME matches your database user
  • DB_PASSWORD is correct
  • DB_DATABASE is set to rconfig

Check and restart Supervisor, then review its logs:

Terminal window
# Check status
systemctl status supervisord
# Restart if needed
systemctl restart supervisord
# Check logs
tail -f /var/log/supervisor/supervisord.log

Clear caches:

Terminal window
cd /var/www/html/rconfig
php artisan rconfig:clear-all

Re-set ownership on the writable directories:

Terminal window
# CentOS/Rocky/RHEL
chown -R apache:apache storage bootstrap/cache
# Ubuntu
chown -R www-data:www-data storage bootstrap/cache

Then check the application log:

Terminal window
tail -f /var/www/html/rconfig/storage/logs/laravel.log
  • 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/

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.