| Component | Minimum | Recommended |
|---|---|---|
| PHP | 7.4 | 8.1 or higher |
| MySQL | 5.7 | 8.0 |
| Hosting | Shared (cPanel/Hostinger) | VPS or Cloud |
| Disk Space | 50 MB | 1 GB (for uploads) |
| PHP Extensions | PDO, PDO_MySQL, mbstring, json, openssl | |
TourRova-SelfHosted.zip on your computer. You will see a folder called tourrova/.
tourrova/ folder to your public_html/ directory.public_html/
βββ .htaccess
βββ index.php
βββ assets/
β βββ css/app.css
β βββ js/app.js
βββ src/
β βββ config/db.php β you will edit this
β βββ auth/auth.php
βββ templates/
β βββ sidebar.php
β βββ topbar.php
βββ public/
βββ login.php
βββ dashboard.php
βββ inquiries/
βββ bookings/
βββ customers/
βββ ... (all modules)
.htaccess. See section 5.yourdomain_tourrovadatabase/01_schema.sql from your extracted folderdatabase/02_sample_data.sql (optional β test data)Open src/config/db.php in a text editor and update these values:
<?php
// =====================================================
// TourRova Database Configuration
// =====================================================
define('DB_HOST', 'localhost'); // usually localhost
define('DB_NAME', 'yourdomain_tourrova'); // your database name
define('DB_USER', 'yourdomain_user'); // your database username
define('DB_PASS', 'YourStrongPassword'); // your database password
define('DB_CHARSET', 'utf8mb4');
// JWT Authentication
define('JWT_SECRET', 'CHANGE_THIS_TO_RANDOM_64_CHAR_STRING');
define('JWT_EXPIRY', 86400); // 24 hours in seconds
// Application
define('APP_URL', 'https://yourdomain.com'); // your domain, no trailing slash
define('APP_NAME', 'TourRova');
function db(){
static $pdo;
if(!$pdo){
$dsn = "mysql:host=".DB_HOST.";dbname=".DB_NAME.";charset=".DB_CHARSET;
$pdo = new PDO($dsn, DB_USER, DB_PASS, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]);
}
return $pdo;
}
openssl rand -hex 32 or any 64-character random string. Never share this!After uploading files, visit your site to create the first admin account:
https://yourdomain.com/public/createadmin.php
This page will:
createadmin.php immediately after creating your account! This is a security requirement.For booking confirmation emails, add SMTP settings to src/config/db.php:
// Email (add at bottom of db.php)
define('SMTP_HOST', 'smtp.gmail.com');
define('SMTP_PORT', 587);
define('SMTP_USER', 'your@gmail.com');
define('SMTP_PASS', 'your_app_password');
define('MAIL_FROM', 'your@agency.com');
define('MAIL_FROM_NAME', 'Your Agency Name');
| Folder/File | Purpose |
|---|---|
src/config/db.php | Database connection + config (EDIT THIS) |
src/auth/auth.php | JWT auth functions |
src/plan_limits.php | SaaS plan enforcement (optional) |
assets/css/app.css | Global stylesheet |
templates/sidebar.php | Navigation sidebar |
templates/topbar.php | Top navigation bar |
public/login.php | Login page |
public/dashboard.php | Main dashboard |
public/inquiries/ | Inquiry management module |
public/bookings/ | Booking management module |
public/customers/ | Customer management module |
public/quotes/ | Quote/proposal generator |
public/itinerary/ | Itinerary builder module |
public/vouchers/ | Voucher generator module |
public/payments/ | Payment tracking module |
public/reports/ | Revenue reports + charts |
public/settings/ | Agency settings + password change |
public/admin/ | Super admin panel (org 1 only) |
database/01_schema.sql | Database tables (import this first) |
database/02_sample_data.sql | Optional test data |
| Task | Status |
|---|---|
| Files uploaded to public_html | β |
| Database created and schema imported | β |
| db.php configured with DB credentials | β |
| JWT_SECRET set to random string | β |
| APP_URL set to your domain | β |
| Admin account created via createadmin.php | β |
| createadmin.php deleted from server | β |
| SSL certificate active (https://) | β |
| Login tested successfully | β |
| First inquiry created successfully | β |
| What to change | Where to find it |
|---|---|
| Agency name (sidebar + all pages) | Settings page inside the app β Agency Profile |
| "TourRova" text in sidebar logo | templates/sidebar.php line ~15 |
| Blue color (#2563eb) | assets/css/app.css + inline styles |
| Logo icon (fa-route) | templates/sidebar.php β change Font Awesome icon |
| Quote/voucher footer text | public/quotes/view.php and public/vouchers/print.php |
Your license includes: