Vexio Documentation
Complete guide for installing and configuring the Vexio invoicing system
Welcome to Vexio
Vexio is a professional invoicing and subscription management platform built with Laravel. It enables freelancers, agencies, and businesses to create invoices, manage clients, accept payments, and handle subscriptions with a powerful admin panel.
Invoice Management
Create, send, and track professional invoices with automated reminders and payment status tracking.
Subscription Plans
Configure recurring subscription plans with monthly or yearly billing cycles and automated activation.
Client Portal
Give clients a dedicated portal to view invoice history, make payments, and manage their profile.
Multi-Language Support
Full support for 7 languages including English, Czech, Slovak, Spanish, French, Portuguese, and German.
Documentation Purpose
This guide covers system requirements, installation procedures for cPanel and VPS environments, configuration steps, and troubleshooting for the Vexio platform.
Server Requirements
Before installing Vexio, ensure your server meets the following minimum requirements. These are essential for the application to run correctly.
Software Requirements
- PHPVersion 8.4 or higher (recommended: 8.5+)
- ComposerVersion 2.x (PHP dependency manager)
- DatabaseMySQL 8.0+ or MariaDB 10.5+
- Web ServerApache with mod_rewrite or Nginx
- Node.jsVersion 18+ (required for Vite asset compilation)
- NPMVersion 9+ (included with Node.js)
- PHP ExtensionsBCMath, Ctype, Fileinfo, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML, GD, Curl
- SSL/HTTPSValid SSL certificate for secure connections
Recommended Hardware
- RAMMinimum 2GB (recommended: 4GB+)
- StorageMinimum 10GB free disk space
- CPUMinimum 2 cores
cPanel Requirements
For installation on cPanel-based hosting, verify the following items are available:
- PHP VersioncPanel PHP Selector with PHP 8.4+ enabled
- PHP ExtensionsThe required PHP extensions must be enabled via PHP Selector
- MySQL DatabaseAbility to create databases and users
- SSH AccessTerminal access or Composer availability
- Node.jsSetup Node.js app or SSH-based Node.js
- Domain/SubdomainDomain or subdomain pointed to the server
- SSL CertificateLet's Encrypt via cPanel or installed certificate
Shared Hosting Notice
Some shared hosting plans may not support Node.js or SSH. We recommend a VPS or cloud server for full functionality. Verify with your hosting provider before purchasing.
VPS Requirements
For VPS installation, you have full control over the environment. We recommend the following specifications:
- OSUbuntu 22.04/24.04 LTS or Debian 12
- Root AccessRoot or sudo privileges required
- CPUMinimum 2 cores (recommended: 4)
- RAMMinimum 2GB (recommended: 4GB+)
- Web ServerNginx or Apache
- DatabaseMySQL 8.0+ or MariaDB 10.5+
- PHPPHP 8.4+ with required extensions (supports 8.5)
- FirewallUFW or iptables (ports 80, 443, 22)
cPanel Installation
Quick Install (Recommended)
The fastest way to install Vexio on cPanel in just 3 steps.
Create MySQL Database
Go to cPanel → MySQL Databases. Create a new database and a user with All Privileges. Save the credentials.
Upload & Configure .env
Upload the Vexio files to public_html (or subdomain folder). Rename
.env.example to .env and fill in your database credentials:
DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=your_database_name DB_USERNAME=your_database_user DB_PASSWORD=your_database_password
Tip
Set directory permissions: chmod -R 775 storage/ bootstrap/cache/ via
SSH or cPanel File Manager.
Visit /install
Open your browser and go to https://yourdomain.com/install. Click the install
button. The system will automatically:
- Run database migrations
- Seed default data (admin user, plans, settings, mail templates)
- Import and activate all available addons
- Create an installation lock
After completion, login at /login with:
Email: admin@demo.com Password: 123456
Security
Change the default admin password immediately after the first login!
Follow the steps below to install Vexio on your cPanel server manually:
Create MySQL Database
Go to cPanel → MySQL Databases. Create a new database and a user with All Privileges. Save the credentials for later.
Tip
Use a strong password. You will need these for the .env file.
Upload Source Code
Upload the Vexio ZIP archive to your desired directory (public_html or subdomain
folder) via cPanel File Manager or FTP.
Extract Files
Right-click the ZIP file in File Manager and select Extract. Ensure all
files including hidden ones like .env.example are extracted.
Set Directory Permissions
Set proper permissions for Laravel storage and cache directories:
# Via SSH terminal chmod -R 775 storage/ chmod -R 775 bootstrap/cache/ chmod -R 775 public/uploads/
Configure PHP Version
In cPanel → PHP Selector, set PHP to version 8.4+. Enable: BCMath, Ctype, Fileinfo, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML, GD, Curl.
Install Dependencies
Access SSH Terminal and run Composer to install PHP dependencies:
# Navigate to the app directory cd ~/public_html composer install --optimize-autoloader --no-dev
If Composer is unavailable via SSH, run it locally and upload the vendor/
directory.
Configure Environment
Copy .env.example to .env and update database credentials:
cp .env.example .env
Generate Application Key
php artisan key:generate
Run Database Migrations
php artisan migrate --force
Build Frontend Assets
Install Node.js deps and compile assets via Vite:
npm install npm run build
Create Storage Link
php artisan storage:link
Access the System
Visit your domain. The first registered user becomes the admin. Complete setup at
/admin/settings.
Security Warning
Never commit the .env file. Ensure storage/ and
bootstrap/cache/ are not publicly accessible. Change default credentials
immediately.
VPS Installation
Follow the steps below to install Vexio on a fresh Ubuntu 22.04/24.04 VPS:
Update the System
Connect via SSH and update packages:
sudo apt update && sudo apt upgrade -y
Install PHP & Extensions
# Add PHP repository sudo apt install -y software-properties-common sudo add-apt-repository -y ppa:ondrej/php sudo apt update # Install PHP 8.4 (minimum) or PHP 8.5 (recommended) sudo apt install -y php8.4 php8.4-cli php8.4-common php8.4-mysql php8.4-xml php8.4-mbstring php8.4-curl php8.4-gd php8.4-bcmath php8.4-zip php8.4-fpm # For PHP 8.5, replace 8.4 with 8.5 in the package names sudo apt install -y php8.5 php8.5-cli php8.5-common php8.5-mysql php8.5-xml php8.5-mbstring php8.5-curl php8.5-gd php8.5-bcmath php8.5-zip php8.5-fpm
Install Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php composer-setup.php --install-dir=/usr/local/bin --filename=composer php -r "unlink('composer-setup.php');"
Install MySQL
sudo apt install -y mysql-server sudo mysql_secure_installation # Create database sudo mysql -u root -p -- Inside MySQL: CREATE DATABASE vexio CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'vexio'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON vexio.* TO 'vexio'@'localhost'; FLUSH PRIVILEGES; EXIT;
Install Nginx
sudo apt install -y nginx sudo systemctl enable nginx sudo systemctl start nginx
Install Node.js
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs node --version
Deploy the Application
Clone or upload files to /var/www/vexio:
sudo mkdir -p /var/www/vexio sudo chown -R $USER:$USER /var/www/vexio git clone [repo] /var/www/vexio
Install PHP Dependencies
cd /var/www/vexio composer install --optimize-autoloader --no-dev
Configure Environment
cp .env.example .env nano .env APP_NAME=Vexio APP_ENV=production APP_DEBUG=false APP_URL=https://yourdomain.com DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=vexio DB_USERNAME=vexio DB_PASSWORD=strong_password
Generate Key & Migrate
php artisan key:generate php artisan migrate --force php artisan storage:link
Build Frontend Assets
npm install npm run build
Set Permissions
sudo chown -R www-data:www-data storage/ bootstrap/cache/ public/uploads/ sudo chmod -R 775 storage/ bootstrap/cache/ public/uploads/
Configure Nginx
Create the Nginx server block:
sudo nano /etc/nginx/sites-available/vexio server { listen 80; server_name yourdomain.com www.yourdomain.com; root /var/www/vexio/public; index index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/var/run/php/php8.4-fpm.sock (or php8.5-fpm for PHP 8.5); fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } location ~ \.env { deny all; } } sudo ln -s /etc/nginx/sites-available/vexio /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx
Install SSL Certificate
sudo apt install -y certbot python3-certbot-nginx sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com sudo certbot renew --dry-run
Configure Queue Worker
Set up Laravel queue worker with Supervisor:
sudo apt install -y supervisor sudo nano /etc/supervisor/conf.d/vexio-worker.conf [program:vexio-worker] process_name=%(program_name)s_%(process_num)02d command=php /var/www/vexio/artisan queue:work --sleep=3 --tries=3 --max-time=3600 autostart=true autorestart=true user=www-data numprocs=2 redirect_stderr=true stdout_logfile=/var/www/vexio/storage/logs/worker.log sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start vexio-worker:*
Schedule Cron Job
Add Laravel scheduler to crontab:
sudo crontab -u www-data -e
* * * * * cd /var/www/vexio && php artisan schedule:run >> /dev/null 2>&1
Installation Complete
Visit https://yourdomain.com. Register the first account to become the
administrator. Configure settings at /admin/settings.
Post-Installation Steps
After installation, complete the following to configure your Vexio instance:
- Configure System Settings — Go to
/admin/settingsto set site name, logo, currency, timezone, and contact info. - Set Up Payment Gateways — Navigate to
/admin/settings/payment-gatewayto configure Stripe, PayPal, etc. - Create Subscription Plans — Go to
/admin/plansto set up pricing tiers. - Configure Mail Settings — Set up SMTP in
/admin/settingsfor sending invoices. - Test the System — Create a test client, generate an invoice, and verify the payment flow.
First User is Admin
The first registered user becomes the system administrator with full access to the admin panel.
License Activation
To activate your Vexio license, enter the following license key at /license/activate.
# License Key: 31CB1-4F278-E94A7-A3F71 # User: Vexio
License Management
After activation, the admin can verify the license status or deactivate it at any time via the License button in the admin panel top bar, or directly:
Open /licenseDemo Access
You can test the full functionality of Vexio using the demo environment below.
Demo URL: https://vexio.ooguy.com/login Email: admin@demo.com Password: 123456
Security Notice
Change the password immediately after first login. These credentials are for testing only.
Environment Configuration
The .env file contains essential configuration. Key variables:
Database Settings
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=vexio DB_USERNAME=vexio_user DB_PASSWORD=your_secure_password
Application Settings
APP_NAME=Vexio APP_ENV=production APP_DEBUG=false APP_URL=https://yourdomain.com
Mail Configuration
MAIL_MAILER=smtp MAIL_HOST=smtp.yourprovider.com MAIL_PORT=587 MAIL_USERNAME=your@email.com MAIL_PASSWORD=your_password MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=noreply@yourdomain.com MAIL_FROM_NAME=${APP_NAME}
Security
Set APP_DEBUG=false in production. Never expose your .env file. Add it
to .gitignore.
Admin Panel Setup
Configure your system through the admin panel at /admin after logging in with the first
registered account.
Branding
Upload logo, favicon, set site name at /admin/settings.
Payment Gateways
Configure Stripe, PayPal, Razorpay, Mollie and more at
/admin/settings/payment-gateway.
Subscription Plans
Create pricing plans with monthly/yearly billing at /admin/plans.
Mail Templates
Customize email templates for invoices and notifications at /admin/mail-templates.
Telegram Integration
Configure Telegram bot for real-time notifications at /admin/telegram.
Localization
Set timezone, date format, currency, and manage 7-language translations.
Technical Support
Our support team is ready to help with any questions or issues related to Vexio.
Need Help?
Contact our technical support team. We will respond as quickly as possible!
phplicenser@gmail.comBusiness Hours
Monday to Friday, 9am to 6pm (CET)
Response Time
We respond within 24 business hours
Documentation
Review this documentation before contacting us
Before Contacting Us
Provide details about the issue, including error messages, server logs, Laravel log files
(storage/logs/laravel.log), and the installation step where the problem occurs.
Frequently Asked Questions (FAQ)
Can I install Vexio on shared hosting?
Yes, if your host supports PHP 8.4+, Composer, MySQL, and SSH. We recommend VPS for best performance.
How do I update Vexio?
Backup database and files, replace with
new version, then run composer install --no-dev,
npm install && npm run build, php artisan migrate --force,
php artisan optimize:clear.
Is SSL required?
Yes, SSL is required for secure payment processing and Telegram API integration.
Which VPS provider do you recommend?
We recommend DigitalOcean, Vultr, Linode, or Hetzner. Choose a plan with at least 2GB RAM.
What should I include in a support request?
Include error messages, Laravel logs
(storage/logs/laravel.log), server details, and the step where the issue occurs.