Sharealles Masuk dengan Google
Bab 02 · Ruang server

Server

Tujuan: VPS siap dipakai: sistem terbaru, zona waktu WIB, memori cadangan (swap), firewall, serta Node.js 22, Python, ffmpeg, dan pustaka yang dibutuhkan Chrome untuk merender video.

Masuk ke server

▭ Di laptopbash
# DI LAPTOP
ssh -i ~/.ssh/kantor_mini ubuntu@1.2.3.4

Semua perintah berikutnya dijalankan di dalam server (prompt berubah menjadi ubuntu@…).

Bila masuk sebagai root

Buat pengguna biasa bernama bos, beri hak sudo, salin kunci SSH-nya, lalu keluar dan masuk lagi sebagai bos:

▣ Di serverbash
adduser --disabled-password --gecos "" bos && usermod -aG sudo bos
echo "bos ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/bos
mkdir -p /home/bos/.ssh && cp ~/.ssh/authorized_keys /home/bos/.ssh/ && chown -R bos:bos /home/bos/.ssh

Langkah

1. Perbarui sistem & zona waktu

▣ Di serverbash
sudo apt-get update && sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y curl ca-certificates tzdata cron
sudo ln -sf /usr/share/zoneinfo/Asia/Jakarta /etc/localtime && echo "Asia/Jakarta" | sudo tee /etc/timezone
date

date harus menunjukkan jam WIB yang benar. Jadwal produksi di bab 09 memakai jam ini.

2. Memori cadangan (swap 4 GB)

Render video memakai banyak memori. Swap mencegah server kehabisan memori.

▣ Di serverbash
sudo fallocate -l 4G /swapfile && sudo chmod 600 /swapfile
sudo mkswap /swapfile && sudo swapon /swapfile
echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
free -h

3. Firewall: hanya SSH yang dibuka

▣ Di serverbash
sudo ufw allow OpenSSH && sudo ufw --force enable && sudo ufw status

4. Node.js 22, Python, ffmpeg

▣ Di serverbash
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs python3-venv python3-pip ffmpeg git

5. Pustaka untuk Chrome (dipakai Remotion saat render) + font emoji

▣ Di serverbash
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libnss3 libdbus-1-3 libatk1.0-0 libatk-bridge2.0-0 \
  libgbm1 libasound2t64 libxrandr2 libxkbcommon0 libxfixes3 libxcomposite1 libxdamage1 libpango-1.0-0 \
  libcairo2 libcups2t64 fonts-noto-color-emoji

Cek berhasil

▣ Di serverbash
node --version && npm --version && python3 --version && ffmpeg -version | head -1 && date +%Z

Berhasil bila: Node v22.x, Python 3.12.x, ffmpeg tampil, dan zona WIB.

Progres tersimpan di akun Anda.

Kalau gagal

E: Unable to locate package libasound2t64

Anda tidak memakai Ubuntu 24.04. Pakai libasound2 dan libcups2 (Ubuntu 22.04), atau buat ulang server dengan 24.04.

fallocate failed

Swap sudah ada (free -h menunjukkan Swap > 0). Lewati langkah 2.

ufw membuat SSH terputus

Jangan jalankan ufw enable sebelum ufw allow OpenSSH. Pulihkan lewat konsol penyedia.