Installation Overview
This step-by-step documentation guides you through setting up the
RDA System—a robust backend environment powered by the
Laravel 10 Framework.
The architecture incorporates automated workflows, multi-role RBAC
(Role-Based Access Control), localized SMS notification APIs,
secured document encryption, and SSLCommerz payment integration
modules.
Target Audience: This setup expects
intermediate-to-advanced expertise in PHP runtime structures,
Composer dependencies, server vhost symlinks, and relational
migration handling.
Server Prerequisites
Verify that your local host environment or VPS server container
satisfies the configuration requirements listed below:
| Environment Stack | Minimum Requirement |
|---|---|
| PHP Runtime Engine | v8.1 or Higher (v8.2 recommended) |
| Database Engine | MySQL >= 5.7 / MariaDB >= 10.3 |
| Package Managers | Composer v2.x & Node.js >= v18.x (NPM v9+) |
| Web Servers | Nginx (Highly Recommended) or Apache with mod_rewrite enabled |
Required Core PHP Extensions:
bcmathctypefileinfo jsonmbstringopenssl
pdo_mysqltokenizerxml
gd / imagickcurl
Step 1: Codebase Initialization
Clone the target repository to your web directory and initialize the
backend/frontend dependency containers.
Terminal - Clone Repository
git clone https://github.com/rda-project/system.git rda-system
cd rda-system
Terminal - Dependency Installation
# Install server-side PHP dependencies composer install --no-dev --optimize-autoloader # Install client-side asset node modules npm install npm run build
Step 2: Environment Configuration
Generate your production environment profile and initialize the
application instance signature keys.
Terminal - Env & App Crypt Key
cp .env.example .env php artisan key:generate
Open the generated
.env file in a text editor and
update your database block variables:
.env Configuration Profile
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=rda_db_name DB_USERNAME=your_secure_user DB_PASSWORD=your_secure_password
Step 3: Database & Access Control Seeders
Execute structural table migrations and populate default
permissions, administrative roles, and structural systems.
Terminal - DB Migration
php artisan migrate --seed
What the Seeder Creates: The seeder instantly
scaffolds a primary
Super Admin user profile, defines
organizational structural departments, and establishes the
operational granular workflow permission layers.
Step 4: Directory Privileges & Storage Symlinks
Grant rewrite permissions to your web-server user (e.g.,
www-data) and execute structural document generation
symlinks.
Terminal - Linux Permissions
# Create safe target symbolic link for asset uploads
php artisan storage:link
# Set required permissions for file system processes
sudo chown -R www-data:www-data storage bootstrap/cache
sudo find storage bootstrap/cache -type d -exec chmod 775 {} \;
sudo find storage bootstrap/cache -type f -exec chmod 664 {} \;
Step 5: Production & Enterprise Tasks
For production servers, cache configuration schemas to dramatically
reduce system resource footprints and improve route matching speeds.
Terminal - Laravel Cache Optimizations
php artisan config:cache php artisan route:cache php artisan view:cache
To keep background email automation, service orders, and payment
tracking status sync loops running constantly, add a Cron Job
tracking interval:
Server Cron Job Syntax Configuration
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
Environment Ready
The environment setup phase is complete. Navigate to your base
application domain URL (e.g.,
https://your-domain.com)
to access the Admin Control Dashboard with your seeded credentials.