Step-by-Step Setup Guide & Server Requirements
Server Requirements
Before installing ViserTube, make sure your hosting server meets the following requirements:
- PHP 8.2 or higher
- MySQL 5.7+ / MariaDB 10.4+
- Apache or Nginx Web Server
- PHP cURL Extension
- PHP FileInfo Extension
- PHP GD Extension
- PHP Mbstring Extension
- PHP OpenSSL Extension
- PHP PDO Extension
- PHP Tokenizer Extension
- PHP XML Extension
- PHP ZIP Extension
- PHP BCMath Extension
- PHP JSON Extension
- PHP Intl Extension
- PHP Process Control Extension
- MySQL Database
- SSL Certificate (HTTPS)
- SSH Access recommended
- Cron Job support
- Sufficient storage for video files
Recommended hosting environment:
- Ubuntu 22.04 / 24.04 LTS
- 4 GB+ RAM
- 2+ CPU Cores
- SSD Storage
- PHP 8.2+
- MySQL 8.0+
- Nginx or Apache
- SSL/HTTPS enabled
For video-heavy websites, more CPU, RAM, storage, and bandwidth may be required depending on traffic and video uploads.
---
Step 1: Download the Source Code
Download the ViserTube source code package from your purchase/download area.
Extract the ZIP file on your computer.
Upload the complete project files to your server.
Example:
/home/username/public_html/
---
Step 2: Create a Database
Login to your hosting control panel such as cPanel or your server terminal.
Create a new MySQL database.
You will need:
- Database Name
- Database Username
- Database Password
- Database Host
Usually the database host is:
localhost
Keep these details safe because they will be required during installation.
---
Step 3: Upload the Project
Upload all ViserTube files to your website's document root.
For example:
public_html/
Make sure the Laravel project files are uploaded correctly and are not placed inside an unnecessary extra folder.
---
Step 4: Configure Environment
Locate the environment configuration file:
.env
Update your database configuration:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DBDATABASE=yourdatabase
DBUSERNAME=yourusername
DBPASSWORD=yourpassword
Replace the values with your actual database credentials.
Also configure your application URL:
APP_URL=https://yourdomain.com
---
Step 5: Set File Permissions
Make sure Laravel has permission to write to the required directories.
Important directories include:
storage/
bootstrap/cache/
Example Linux permissions:
chmod -R 775 storage
chmod -R 775 bootstrap/cache
Avoid using 777 permissions unless absolutely necessary.
---
Step 6: Configure the Web Server
For Apache, make sure mod_rewrite is enabled.
Your domain should point to the Laravel public directory.
Recommended document root:
/path-to-visertube/public
Do not expose the Laravel project root directly when your server configuration allows you to use the public directory.
---
Step 7: Install Dependencies
If SSH access is available, open your project directory:
cd /path/to/visertube
Install Composer dependencies:
composer install --optimize-autoloader --no-dev
If Node.js assets are included in the package, install and build them:
npm install
npm run build
---
Step 8: Generate Application Key
Run:
php artisan key:generate
This generates the application encryption key required by Laravel.
---
Step 9: Run Database Migration
Run the database migrations:
php artisan migrate --force
If the package includes database seeders, run them according to the official installation instructions:
php artisan db:seed --force
---
Step 10: Create Storage Link
Run:
php artisan storage:link
This allows uploaded files to be accessed correctly through the public directory.
---
Step 11: Configure Cron Job
Add the Laravel scheduler to your server's Cron Jobs.
Example:
* cd /path/to/visertube && php artisan schedule:run >> /dev/null 2>&1
Cron jobs are important for scheduled tasks such as notifications, advertisements, subscriptions, cleanup jobs, and other automated processes.
---
Step 12: Configure Queue Workers
If your installation uses Laravel queues, configure a queue worker.
Example:
php artisan queue:work --tries=3
For production servers, use Supervisor or another process manager to keep the worker running.
---
Step 13: Configure SSL
Install an SSL certificate for your domain.
Your website should load using:
https://yourdomain.com
Update the application URL in your .env file if necessary:
APP_URL=https://yourdomain.com
HTTPS is strongly recommended for login, payments, user accounts, video uploads, and API requests.
---
Step 14: Configure Video Storage
Configure your preferred storage system from the administration panel.
Depending on your requirements, you can use:
- Local Server Storage
- Cloud Storage
- Object Storage
- Other supported storage providers
For a large video platform, external/object storage can help reduce the storage and bandwidth load on the main application server.
---
Step 15: Configure Payment Gateways
Open the administration panel and configure your required payment methods.
Add the required:
- API Keys
- Secret Keys
- Merchant Information
- Webhook URLs
- Currency Settings
Always use live credentials only after testing the payment gateway in sandbox/test mode.
---
Step 16: Configure Email
Configure your SMTP provider for:
- Registration emails
- Password reset emails
- Notifications
- Subscription emails
- System emails
Example configuration:
MAIL_MAILER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_USERNAME=your-email
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=tls
MAILFROMADDRESS=your-email
MAILFROMNAME="Your Website"
---
Step 17: Configure Admin Panel
Login to the ViserTube administration panel.
Configure:
- Website Name
- Logo
- Favicon
- Homepage
- Categories
- Video Settings
- Upload Settings
- Advertisement Settings
- Payment Methods
- Subscription Settings
- Email Settings
- Social Media
- SEO Settings
- Storage Settings
- User Settings
---
Step 18: Configure SEO
Configure your website's:
- Website Title
- Meta Description
- Keywords
- Logo
- Favicon
- Sitemap
- Robots.txt
- Social Sharing Images
- Canonical URLs
Submit your sitemap to Google Search Console after your website is live.
---
Step 19: Test the Website
Before launching your website publicly, test:
- User Registration
- Login / Logout
- Password Reset
- Video Upload
- Video Playback
- HD Streaming
- Shorts/Reels
- Comments
- Likes/Dislikes
- Subscriptions
- Payments
- Advertisements
- Notifications
- Creator Channels
- Admin Panel
- Search
- Playlists
- Mobile Responsiveness
- Email Notifications
---
Step 20: Production Optimization
After successful installation, optimize the application for production.
Recommended commands:
php artisan config:cache
php artisan route:cache
php artisan view:cache
Also make sure:
- APP_ENV=production
- APP_DEBUG=false
- HTTPS is enabled
- Database backups are configured
- Server backups are configured
- PHP upload limits are suitable for video uploads
- PHP execution limits are suitable for large files
- Server storage has sufficient free space
---
Important Video Upload Settings
For a video-sharing platform, review your PHP/server limits.
Example:
uploadmaxfilesize = 2G
postmaxsize = 2G
maxexecutiontime = 600
maxinputtime = 600
memory_limit = 512M
The exact values should be adjusted according to your server resources and maximum video size.
---
Final Checklist
Before going live, confirm:
[✓] Domain connected
[✓] SSL installed
[✓] Database created
[✓] Source code uploaded
[✓] .env configured
[✓] Composer dependencies installed
[✓] Application key generated
[✓] Database migrated
[✓] Storage link created
[✓] File permissions configured
[✓] Cron job configured
[✓] Queue worker configured if required
[✓] Email/SMTP configured
[✓] Payment gateways configured
[✓] Video storage configured
[✓] SEO configured
[✓] Admin account secured
[✓] Website tested on desktop and mobile
[✓] Backup system configured
Your ViserTube platform is now ready for production after completing the configuration and testing steps above.
Be the First Verified Reviewer
Purchase this script to publish your feedback and help independent creators improve.