How to Install Waziper on a VPS: Complete Installation Guide
A complete step-by-step guide to installing Waziper on a VPS. Covers server requirements, PHP, Node.js, database setup, environment configuration, web server configuration, PM2 process management, and WhatsApp connection.
Before You Begin: Server Requirements
Before installing Waziper, confirm that your VPS meets the basic requirements. Waziper is a Laravel-based PHP application with a Node.js WhatsApp gateway component, so your server needs to support both environments.
- Operating System: Ubuntu 20.04 LTS or 22.04 LTS (recommended)
- PHP: 8.0 or higher (verify with your Waziper version documentation)
- Node.js: 16 or higher (verify with your Waziper version)
- Database: MySQL 5.7 or MariaDB 10.3+
- Composer: Latest version
- Web Server: Apache or Nginx
- RAM: 1GB minimum, 2GB recommended
- SSH access with root or sudo privileges
Important: Always check your specific Waziper version's documentation for the exact requirements, as they can vary between versions.
Step 1: Update Your Server
Start with a fresh server update to ensure all base packages are current:
sudo apt update && sudo apt upgrade -yStep 2: Install PHP and Required Extensions
Install PHP and the extensions typically required by Laravel-based applications like Waziper:
sudo apt install php php-cli php-mbstring php-xml php-bcmath php-curl php-mysql php-zip php-gd unzip -yVerify your PHP version:
php --versionStep 3: Install Composer
Composer manages PHP dependencies. Install it globally:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer --versionStep 4: Install Node.js and npm
Node.js is required for the Waziper WhatsApp gateway component:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
node --version
npm --versionNote: Use the Node.js version compatible with your specific Waziper release.
Step 5: Install PM2 (Process Manager)
PM2 keeps your Node.js gateway running reliably in production:
sudo npm install -g pm2Step 6: Install MySQL and Create the Database
sudo apt install mysql-server -y
sudo mysql_secure_installationThen create your Waziper database:
mysql -u root -p
CREATE DATABASE waziper_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'waziper_user'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON waziper_db.* TO 'waziper_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;Step 7: Upload and Extract Waziper Files
Upload your Waziper zip file to your server using SCP, SFTP, or your hosting panel file manager. Extract it to your web root:
unzip waziper.zip -d /var/www/waziperStep 8: Install PHP Dependencies
cd /var/www/waziper
composer install --no-dev --optimize-autoloaderStep 9: Configure the Environment File
Copy the example environment file and edit it:
cp .env.example .env
nano .envSet the following key values in your .env:
APP_URL— your domain or server IPDB_DATABASE,DB_USERNAME,DB_PASSWORD— your MySQL credentials
Then generate the application key:
php artisan key:generateStep 10: Run Database Migrations
php artisan migrate --forceIf Waziper includes database seeders, run them too:
php artisan db:seed --forceStep 11: Set Storage Permissions
sudo chown -R www-data:www-data /var/www/waziper
sudo chmod -R 755 /var/www/waziper
sudo chmod -R 775 /var/www/waziper/storage
sudo chmod -R 775 /var/www/waziper/bootstrap/cache
php artisan storage:linkStep 12: Configure the Web Server
For Nginx, create a server block pointing to the public/ directory. For Apache, configure your virtual host and ensure mod_rewrite is enabled and AllowOverride All is set.
Step 13: Start the Node.js Gateway
Navigate to the Node.js component directory within Waziper and start it with PM2:
pm2 start your-gateway-script.js --name waziper-gateway
pm2 save
pm2 startupNote: The gateway script name and location depends on your Waziper version. Refer to your version's documentation for the exact commands.
Step 14: Connect WhatsApp
Open your Waziper application in the browser, navigate to the WhatsApp connection section, and scan the QR code with your WhatsApp mobile app under Settings → Linked Devices → Link a Device.
Step 15: Verify the Installation
- Confirm the application loads at your domain
- Verify the WhatsApp connection status shows as connected
- Send a test message to confirm messaging is working
- Check PM2 logs for any errors:
pm2 logs waziper-gateway
Common Installation Errors
Composer Out of Memory
If composer install runs out of memory, increase PHP memory limit or run with the COMPOSER_MEMORY_LIMIT=-1 prefix.
Permission Denied Errors
Almost always a storage or bootstrap/cache permissions issue. Re-run the chmod and chown commands from Step 11.
QR Code Not Appearing After Installation
Verify that the Node.js gateway process is running (PM2 list). Check gateway logs for errors. Refer to our Waziper QR Code Troubleshooting Guide for detailed steps.
500 Server Error After Installation
Check Laravel logs at storage/logs/laravel.log. Common causes include incorrect .env values, failed migrations, or missing PHP extensions.
Professional Waziper Installation Service
Not comfortable with server configuration? MQ Tech Guru offers a professional Waziper Installation Service where our team handles the complete installation on your VPS — including all server setup, database configuration, Node.js gateway, PM2, and WhatsApp connection.
Back to blog