Command History for Futher use
# පරණ Git සැකසුම් මකන්න
rm -rf .git
# අලුතින් Git එකක් ආරම්භ කරන්න
git init
# ඔබේ විස්තර ලබා දෙන්න
git config user.email "sumanaweera50659@gmail.com"
git config user.name "erandiya"
# රහස්ය දත්ත සහ විශාල ෆයිල් ඉවත් කිරීමට .gitignore තහවුරු කරගන්න
nano .gitignore
# ෆයිල් එකතු කරන්න
git add .
# Commit එකක් කරන්න
git commit -m "Final cleanup and merged system"
# GitHub එක සම්බන්ධ කරන්න
git branch -M main
git remote add origin https://github.com/erandiya/Telegram-WhatsApp-Forwarder.git
# ගිට් ෙටා්කන් Cache temporarily (restart/logout වෙනකම් හෝ timeout එකකට)
git config --global credential.helper cache
# Custom timeout (e.g. 1 hour = 3600 sec):
git config --global credential.helper 'cache --timeout=3600'
# Save permanently in plaintext file (~/.git-credentials)
git config --global credential.helper store
cat ~/.git-credentials
# https://USERNAME:TOKEN@github.com //Example format
# නෝර්මල් Push කරන්න
git push origin main
# බලහත්කාරයෙන් Push කරන්න
git push origin main --force
# ෆයිල් අයින් කරන්න
git rm README.md.save* index.js.bak sync.php.bak
ඔබේ VPS එකේ කටයුතු පහසු කර ගැනීම සඳහා ** PM2 (Process Manager 2)** හි භාවිතා වන වැදගත්ම කමාන්ඩ් (Commands) ටික මෙන්න. මෙය ඔබට ඕනෑම වෙලාවක බලා ගැනීමට "Cheat Sheet" එකක් ලෙස පාවිච්චි කළ හැක.
- අලුතින් ස්ක්රිප්ට් එකක් නමක් සහිතව ආරම්භ කිරීමට:
pm2 start index.js --name "whatsapp-api" - සර්වර් එකේ සියලුම CPU Cores භාවිතා කරමින් (Cluster mode) රන් කිරීමට:
pm2 start index.js -i max
-
දැනට රන් වන වැඩසටහන් ලැයිස්තුව සහ ඒවායේ තත්ත්වය (Online/Stopped) බැලීමට:
pm2 status
(නැතහොත්
pm2 listභාවිතා කළ හැක) -
සියලුම වැඩසටහන් වල සජීවී ලොග් (Messages/Errors) බැලීමට:
pm2 logs
-
එක් විශේෂිත වැඩසටහනක ලොග් පමණක් බැලීමට:
pm2 logs whatsapp-api
-
සර්වර් එකේ CPU සහ RAM භාවිතය Dashboard එකක් ලෙස බැලීමට:
pm2 monit
- දැනට රන් වන සියලුම වැඩසටහන් නැවැත්වීමට:
pm2 stop all
- සියලුම වැඩසටහන් නැවත පණ ගැන්වීමට (Restart):
pm2 restart all
- වැඩසටහන සම්පූර්ණයෙන්ම නතර නොකර අලුත් කේතයන් ලබා ගැනීමට (Zero-downtime):
pm2 reload all
- ලැයිස්තුවෙන් සියලුම වැඩසටහන් සම්පූර්ණයෙන්ම ඉවත් කිරීමට:
pm2 delete all
- දැනට රන් වන ලිස්ට් එක සේව් කිරීමට:
(සර්වර් එක Restart වුවහොත් මේ ලිස්ට් එකම නැවත පණ ගැන්වේ)
pm2 save
- සර්වර් එක ඔන් වන විටම PM2 ස්වයංක්රීයව ආරම්භ වීමට අවශ්ය කේතය ලබා ගැනීමට:
(සටහන: මෙය ගැසූ පසු ටර්මිනල් එකේ ලැබෙන පේළිය කොපි කර පේස්ට් කර රන් කරන්න)
pm2 startup
- පරණ Log ෆයිල්ස් මකා දමා Disk Space නිදහස් කිරීමට (ඉතා වැදගත්):
pm2 flush
- PM2 මෘදුකාංගය අලුත් (Update) කිරීමට:
pm2 update
ඔබ කේතයේ (Code) වෙනසක් කළ පසු පද්ධතිය සම්පූර්ණයෙන් පිරිසිදු කර නැවත පණ ගැන්වීමට මෙය භාවිතා කරන්න:
pm2 flush && pm2 restart all && pm2 statusමෙම ලේඛනය මගින් පද්ධතියේ සේවාවන් පාලනය කරන ආකාරය සහ VPS එකේ නඩත්තු කටයුතු සිදුකරන ආකාරය පැහැදිලි කරයි.
PM2 භාවිතා කරන්නේ WhatsApp API එක පසුබිමින් දිගටම ක්රියාත්මක කර තැබීමටයි.
- අලුතින් සේවාවක් ආරම්භ කිරීමට:
pm2 start index.js --name "whatsapp-api" - සර්වර් එකේ උපරිම හැකියාව භාවිතා කරමින් රන් කිරීමට:
pm2 start index.js -i max
- දැනට රන් වන සේවාවන් ලැයිස්තුව බැලීමට:
pm2 status
- සජීවී ලොග් (Live Logs) පරීක්ෂා කිරීමට:
pm2 logs whatsapp-api
- CPU සහ RAM භාවිතය Dashboard එකක් ලෙස බැලීමට:
pm2 monit
- සේවාවන් නැවැත්වීමට (Stop):
pm2 stop all
- සේවාවන් නැවත පණ ගැන්වීමට (Restart):
pm2 restart all
- සේවාවන් ලැයිස්තුවෙන් ඉවත් කිරීමට:
pm2 delete all
- දැනට රන් වන ලිස්ට් එක සේව් කිරීමට:
pm2 save
- සර්වර් එක Restart වූ විගස PM2 ආරම්භ වීමට:
(මෙය ගැසූ පසු ලැබෙන පේළිය කොපි කර රන් කරන්න)
pm2 startup
ඩිස්ක් එක පිරීම වැළැක්වීමට සහ හිරවීම් ඉවත් කිරීමට මෙම විධානයන් භාවිතා කරන්න.
- ෆෝල්ඩරයට පූර්ණ අවසර ලබා දීම:
chmod -R 777 ~/WaNTg - ඉතිරිව ඇති ඉඩ පරීක්ෂා කිරීම:
df -h
- බාගත වූ මීඩියා මකා දැමීම:
rm -rf ~/WaNTg/downloads/*
- ලොග් ෆයිල් හිස් කිරීම (Reset Logs):
pm2 flush truncate -s 0 ~/WaNTg/*.log
- Ubuntu අනවශ්ය ෆයිල් පිරිසිදු කිරීම:
sudo apt clean && sudo apt autoremove -y
- බ්රවුසරය සහ PHP හිරවී ඇත්නම්:
pkill -9 -f chrome pkill -9 -f chromium pkill -9 -f php rm -f ~/WaNTg/*.lock
සර්වර් එකේ ඉඩ වැඩි කළ පසු (8GB -> 20GB) එය පද්ධතියට එක් කිරීමට:
sudo growpart /dev/sda 1
sudo resize2fs /dev/sda1- Cron Jobs සංස්කරණය කිරීමට:
crontab -e- Cron සේවාව Restart කිරීමට:
sudo systemctl restart cron- ඔබේ VPS එකේ RAM එක පිරුණු සැණින් පද්ධතිය Crash වීම වැළැක්වීමට අපි ඩිස්ක් එකෙන් 2GB ප්රමාණයක් "අතථ්ය මතකය" (Virtual Memory) ලෙස වෙන් කරමු. මෙය පද්ධතියේ ස්ථායීතාවය (Stability) 100% කින් වැඩි කරයි.
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# සර්වර් එක Restart වුණත් Swap එක වැඩ කරන්න:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab- ඔබේ VPS එකේ RAM එක පිරුණු සැණින් පද්ධතිය Crash වීම වැළැක්වීමට අපි ඩිස්ක් එකෙන් 2GB ප්රමාණයක් "අතථ්ය මතකය" (Virtual Memory) ලෙස වෙන් කරමු. මෙය පද්ධතියේ ස්ථායීතාවය (Stability) 100% කින් වැඩි කරයි.
for f in *.conf; do
cp "$f" "${f%.conf}.dlx"
done- Move (rename) කරන්න ඕනේ නම් copy නොවෙයි.
for f in *.conf; do
mv "$f" "${f%.conf}.dlx"
donefor f in *.dlx; do
mv "$f" "${f%.dlx}.conf"
doneපද්ධතිය සම්පූර්ණයෙන් පිරිසිදු කර නැවත පණ ගැන්වීමට මෙය එකවර රන් කරන්න:
pm2 flush && rm -f ~/WaNTg/*.lock && pm2 restart all && pm2 statusAdd Startup script
#!/bin/bash
apt update -y
useradd -m -s /bin/bash erandiya
echo 'erandiya:password' | chpasswd
usermod -aG sudo erandiya
echo 'root:password' | chpasswd
cat >/etc/ssh/sshd_config.d/custom.conf <<EOF
PasswordAuthentication yes
PermitRootLogin yes
PubkeyAuthentication yes
KbdInteractiveAuthentication yes
UsePAM yes
EOF
systemctl restart ssh || systemctl restart sshdDomain එක point කළාට පස්සේ, සර්වර් එකට කියන්න ඕනේ මේ domain එකෙන් එන request භාරගන්න කියලා.
- Apache පාවිච්චි කරනවා නම්: SSH හරහා VM එකට ඇතුළු වෙන්න. Configuration file එක open කරන්න:
sudo nano /etc/apache2/sites-available/000-default.confඑහි ServerName සහ ServerAlias එකතු කරන්න:
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/html- ඔයා Nginx පාවිච්චි කරනවා නම්:
sudo nano /etc/nginx/sites-available/defaultserver_name එකට ඔයාගේ domain එක දෙන්න:
server_name yourdomain.com www.yourdomain.com;සර්වර් එක restart කරන්න:
sudo systemctl restart apache2දැන් සයිට් එක වැඩ කළත් "Not Secure" කියලා පෙන්වයි. ඒක හදාගන්න Certbot පාවිච්චි කරලා නොමිලේ SSL දාගන්න පුළුවන්. VM එකේ මේ command එක ගහන්න:
-
(Apache සඳහා)
sudo apt install certbot python3-certbot-apache
# SSL active කරන්න:
sudo certbot --apache- (Nginx සඳහා)
sudo apt install certbot python3-certbot-nginx
# SSL active කරන්න:
sudo certbot --nginxසැලකිය යුතුයි: DNS update වෙන්න විනාඩි 10 සිට පැය කිහිපයක් දක්වා කාලයක් ගතවිය හැක.
Developed by Erandiya Sumanaweera.