Installation
This guide explains the standard way to install RoboExchanger on a live server or a local test server.
Before you start
You need these things before installation:
- A valid RoboExchanger license key
- A domain or subdomain connected to your server
- PHP 8.3 or higher
- MySQL or MariaDB
- Composer access
- Cron access
Node.js is not required for a normal application install. It is only needed if you want to rebuild frontend assets.
Server requirements
Your server must support:
- PHP
8.3or higher - MySQL or MariaDB
- PHP extensions:
bcmath,curl,ctype,fileinfo,gd,json,libxml,mbstring,openssl,pdo,pdo_mysql,simplexml,tokenizer,xml - Writable folders:
storageandbootstrap/cache
The built-in installer supports only mysql and mariadb.
Physical server size recommendation
The application does not force CPU, RAM, or disk limits by code.
These values are practical recommendations for a physical server based on normal RoboExchanger use, including:
- website traffic
- admin panel usage
- file uploads
- cron jobs
- queue and notification work
| Use case | CPU | RAM | Disk |
|---|---|---|---|
| Small test server | 1 core | 2 GB | 20 GB SSD |
| Minimum small production server | 2 CPU cores | 4 GB | 40 GB SSD |
| Better production starting point | 4 CPU cores | 8 GB | 80 GB SSD |
Which size should you choose
- Use
1 core / 2 GB / 20 GBonly for testing or low-use internal staging - Use at least
2 cores / 4 GB / 40 GB SSDfor a real small live website - Use
4 cores / 8 GB / 80 GB SSDif you expect regular traffic, more uploads, more orders, or frequent email and Telegram jobs
Important note about disk size
Disk usage depends on:
- customer KYC uploads
- logs
- cached files
- exported files
- backups you keep on the same server
If your business stores many customer documents, use more disk than the minimum.
Step 1: Upload the project
Upload the full project to your hosting account or server.
Point your domain or subdomain to the public directory of the project.
Make sure the .env.example file is present. If .env does not exist, the installer can create it from .env.example.
Step 2: Install PHP dependencies
Open terminal or SSH in the project root and run:
composer install --no-dev --optimize-autoloader
If you are installing on a test server and you want development packages too, you can run:
composer install
Step 3: Create a database
Create one new MySQL or MariaDB database and one database user.
Give the database user full access to that database.
Keep these details ready:
- Database host
- Database port
- Database name
- Database username
- Database password
Step 4: Set folder permissions
The application must be able to write inside these paths:
storagebootstrap/cache
On most Linux servers, this is a common command:
chmod -R 775 storage bootstrap/cache
If your host uses a different permission model, use the settings recommended by your hosting provider.
Step 5: Open the installer
Open this URL in your browser:
https://your-domain.com/install
The installer checks:
- Your license key
- PHP version
- Required PHP extensions
- Writable folders
- Environment file readiness
Step 6: Verify your license
In the installer:
- Check the detected domain.
- Enter your license key.
- Click the verify button.
The installer will not continue until the license is verified successfully.
Use the final domain you really want to use. The installer checks that your application URL host matches the detected install domain.
Step 7: Fill in the installation form
After license verification, complete the installation form with:
- Application name
- Application URL
- Database connection
- Database host
- Database port
- Database name
- Database username
- Database password
- Admin name
- Admin email
- Admin password
The admin email and password you enter here will become your first admin login.
Installation form field guide
| Field | What to enter | Important note |
|---|---|---|
| Application name | Your website or company name | This is the main name used in the application |
| Application URL | Your final live website URL | Use the full https:// URL and the real domain you activated |
| Database connection | mysql or mariadb | The built-in installer supports only these database types |
| Database host | Usually 127.0.0.1, localhost, or your DB server host | Ask your hosting provider if you are not sure |
| Database port | Usually 3306 | Use the real port from your database service |
| Database name | The database you created for this app | Make sure the name is correct |
| Database username | The database user with access to that database | This user must have permission to create tables |
| Database password | The password for that database user | Copy it carefully, including uppercase and symbols |
| Admin name | Your first administrator name | Use a real name so other admins know who owns the account |
| Admin email | Your first administrator login email | You will use this email to sign in later |
| Admin password | A strong first administrator password | Keep it safe because this is your first admin login |
Common installation mistakes
- Using
http://instead ofhttps://in the application URL - Activating the license on one domain and running the installer on another domain
- Using the wrong database host or port
- Pointing the domain to the project root instead of the
publicdirectory - Forgetting writable permission for
storageandbootstrap/cache - Running the app without the required cron job
Step 8: Run the installer
When you submit the form, RoboExchanger will:
- Save your application and database settings
- Run the database migrations
- Seed required base data
- Create the first admin account
- Activate the license for this installation
- Clear the application cache
After a successful install, you will be redirected to the admin login page.
Step 9: Sign in to the admin panel
Open:
https://your-domain.com/admin/login
Then sign in with the admin email and password you created during installation.
Required cron job
After installation, add this cron job on your server:
* * * * * php /full-path-to-your-project/artisan schedule:run >> /dev/null 2>&1
This is important. It runs scheduled tasks like:
- Exchange timeout updates
- Sitemap generation
- Daily cleanup tasks
- License refresh tasks
For best production performance, use Performance & Optimization and run queue workers with Supervisor instead of the scheduler.
Recommended after installation
Before you go live, review these items:
- Open the
.envfile and make sure production mode is enabled:
APP_ENV=production
APP_DEBUG=false
- Clear the config and cache:
php artisan config:clear
php artisan cache:clear
- Open the admin panel and configure:
- General settings
- SMTP or mail settings
- Payment gateways
- Currencies and exchange directions
- Logo, SEO, and content pages
- If media files do not load correctly, run:
php artisan storage:link
Common problems
Installer cannot continue
Check the failed requirement in the installer page. Most problems come from missing PHP extensions or folder permission issues.
License verification fails
Make sure:
- The license key is correct
- The domain is correct
- The app is opened on the same domain you want to activate
Database connection fails
Check the database host, port, database name, username, password, and database user privileges.
The installer says the URL or domain is invalid
Check these points:
- the application URL starts with
https:// - the domain matches the real domain you opened in the browser
- the license was verified for that same domain
The first admin cannot log in after install
Check these points:
- you are using the exact admin email from the installer form
- you are using the exact admin password from the installer form
- the installation finished completely and redirected correctly
- you are opening
/admin/login, not/login
The app opens the license center instead of the website
This means the installation needs a valid active license state. Refresh or reactivate the license from the license center.
Recommended next reading
After installation, continue with: