First Open this video in video commands show here is commands below https://www.youtube.com/watch?v=e_cfDxrRGAs Install aaPanel From below command NOTE: server Must UBUNTU 20 Install aaPanel ###################### wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh aapanel press y presss n now take 1 minute to 2 minute only copy link and username & password Open youtube videos see everything ###################### location / { try_files $uri $uri/ /index.php; } location /install { try_files $uri $uri/ /install/index.php; } location / { proxy_pass http://localhost:7891; #whatever port your app runs on proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } Install Extension imap, exif, fileinfo, intl =========================================================== CRON 1 Minute sh -c 'cd /root/wa_server && node app' =========================================================== sudo apt-get install libnss3-dev libatk-bridge2.0-dev libcups2-dev libxkbcommon-dev libgtk-3-dev curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install nodejs sudo npm i pm2 -g wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo apt install ./google-chrome-stable_current_amd64.deb =========================================================== Run installation wizard as well =========================================================== Main Important Task Please do not remove or change webflop.net on config.js Go to modules & themes to activate license goto Settings->General change your own domain and isntance id or token for receiving OTPs =========================================================== Run the following sql on your phpMyAdmin: DELIMITER $$ CREATE TRIGGER `addPhone` BEFORE INSERT ON `sp_whatsapp_schedules` FOR EACH ROW BEGIN DECLARE vPhone mediumtext; SELECT name FROM sp_account_manager WHERE id = NEW.account_id INTO vPhone; SET NEW.phone = vPhone; Set NEW.phones_send = '[]'; Set NEW.phones_fail = '[]'; END $$ DELIMITER ; DELIMITER $$ CREATE TRIGGER `reportSender` BEFORE UPDATE ON `sp_whatsapp_schedules` FOR EACH ROW BEGIN DECLARE nNumber TEXT; DECLARE nArray TEXT; IF new.sent > old.sent THEN SELECT REPLACE(JSON_EXTRACT(new.result, CONCAT('$[',JSON_LENGTH(new.result)-1,']')), '"', '') into nNumber; SELECT JSON_ARRAY_INSERT(old.phones_send, '$[0]', nNumber) into nArray; set new.phones_send = nArray; END IF; IF new.failed > old.failed THEN SELECT REPLACE(JSON_EXTRACT(new.result, CONCAT('$[',JSON_LENGTH(new.result)-1,']')), '"', '') into nNumber; SELECT JSON_ARRAY_INSERT(old.phones_fail, '$[0]', nNumber) into nArray; set new.phones_fail = nArray; END IF; END $$ DELIMITER ; DELIMITER $$ CREATE TRIGGER `updatePhone` BEFORE UPDATE ON `sp_whatsapp_schedules` FOR EACH ROW BEGIN DECLARE vPhone mediumtext; SELECT name FROM sp_account_manager WHERE id = NEW.account_id INTO vPhone; SET NEW.phone = vPhone; END $$ DELIMITER ;