Di komputer lokal, jalankan:
# Berikan izin execute ke script
chmod +x deploy.sh
# Build project
./deploy.shAtau manual:
npm install
npm run buildFile hasil build akan ada di folder dist/.
# Ganti USER dan VPS_IP dengan milik kamu
scp -r dist/* USER@VPS_IP:/var/www/doeng.world/- Gunakan FileZilla atau WinSCP
- Upload semua file dari folder
dist/ke/var/www/doeng.world/
# Di VPS:
cd /var/www
git clone https://github.com/unkronnn/doeng.world.git
cd doeng.world
npm install
npm run build
# Copy hasil build
sudo cp -r dist/* /var/www/doeng.world/# Di VPS:
sudo nano /etc/nginx/sites-available/doeng.worldPaste isi dari file nginx.conf, lalu save (Ctrl+X, Y, Enter).
sudo ln -s /etc/nginx/sites-available/doeng.world /etc/nginx/sites-enabled/sudo nginx -tsudo systemctl restart nginx# Install certbot (jika belum)
sudo apt install certbot python3-certbot-nginx -y
# Generate SSL certificate
sudo certbot --nginx -d doeng.world -d www.doeng.world
# Auto-renewal sudah diatur otomatisDi provider domain kamu (Cloudflare, Namecheap, dll):
Type | Name | Value | TTL
------|------|-----------------|-----
A | @ | VPS_IP_ADDRESS | Auto
A | www | VPS_IP_ADDRESS | Auto
sudo chown -R www-data:www-data /var/www/doeng.world
sudo chmod -R 755 /var/www/doeng.world# Check logs
sudo tail -f /var/log/nginx/error.log- Pastikan port 80 dan 443 terbuka di firewall
- Check DNS sudah propagate (cek di https://dnschecker.org)
Jika ada perubahan, ulangi langkah 1 dan 2:
# Di lokal
npm run build
scp -r dist/* USER@VPS_IP:/var/www/doeng.world/VPS kamu sudah bisa host multiple sites. Setiap site punya:
- Folder sendiri:
/var/www/site1,/var/www/doeng.world, dll - Config Nginx sendiri:
/etc/nginx/sites-available/site1,/etc/nginx/sites-available/doeng.world
Nginx akan route berdasarkan server_name di config.
- Background image: Pastikan file
background.pngikut ter-upload dari folderasset/ - Node modules: JANGAN upload
node_modules/, cukup folderdist/saja - Environment: Production build sudah optimized dan minified
✅ Selesai! Website kamu seharusnya sudah live di https://doeng.world