Baru sewa VPS terus bengong nggak tahu mau diapain? Santai, wajar kok. Di sini kita bakal ambil VPS Ubuntu yang masih polos dan nyiapin dari nol sampai siap dipakai buat development atau produksi — pelan-pelan, dengan perintah yang tinggal kamu copy.
Semua contoh di sini pakai Ubuntu (22.04/24.04). Login pertama kali biasanya masuk sebagai root lewat SSH.
1. Bikin user baru
Kerja sehari-hari sebagai root itu bahaya, jadi mending hindari. Bikin dulu user biasa:
adduser newuser
Isi password pas diminta. Nah, user inilah yang bakal kita pakai buat kerja sehari-hari.
2. Masukin user ke grup sudo
Biar user tadi bisa jalanin perintah admin (pakai sudo):
usermod -aG sudo newuser
3. Login SSH tanpa password (SSH key ed25519)
Login pakai SSH key itu jauh lebih aman daripada password — bonusnya, kamu nggak perlu ngetik password tiap mau masuk.
Di komputer lokalmu
Bikin dulu pasangan kunci (kalau belum punya):
ssh-keygen -t ed25519 -C "newuser key"
Terus salin kunci publiknya ke VPS:
ssh-copy-id -i ~/.ssh/id_ed25519.pub newuser@IP_VPS_KAMU
Cara manual (di VPS)
Kalau ssh-copy-id nggak ada, kamu bisa lakuin manual:
mkdir -p /home/newuser/.ssh
nano /home/newuser/.ssh/authorized_keys
Tempel isi kunci publikmu, simpan, lalu set izinnya yang bener:
chmod 700 /home/newuser/.ssh
chmod 600 /home/newuser/.ssh/authorized_keys
chown -R newuser:newuser /home/newuser/.ssh
💡 Begitu SSH key udah jalan, sangat disarankan matiin login password di
/etc/ssh/sshd_config(PasswordAuthentication no) biar bot nggak bisa brute-force.
4. Sudo tanpa password (opsional)
Biar nggak ditanyain password tiap kali sudo:
sudo visudo
Tambahin baris ini:
newuser ALL=(ALL) NOPASSWD:ALL
⚠️ Ini ngilangin lapisan password buat
sudo. Aman cuma kalau SSH key-mu bener-bener kejaga. Buat server yang penting, mending tetap pakai password sudo.
5. Install & setup MySQL
sudo apt update
sudo apt install -y mysql-server
Sekarang bikin user database. Pakai password yang kuat, dan kasih akses cuma ke database yang emang dibutuhin (least privilege) — jangan ke semua-semua:
sudo mysql -e "CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'PASSWORD_KUAT_DI_SINI';"
sudo mysql -e "CREATE DATABASE appdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
sudo mysql -e "GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';"
sudo mysql -e "FLUSH PRIVILEGES;"
🔒 Jangan pakai password yang gampang ketebak (kayak
secureatau123456). Generate yang acak aja, misalnyaopenssl rand -hex 16.
6. Install & setup PostgreSQL (opsional)
Kalau kamu butuh PostgreSQL:
sudo apt install -y postgresql postgresql-contrib
sudo -u postgres psql -c "CREATE USER appuser WITH PASSWORD 'PASSWORD_KUAT_DI_SINI';"
sudo -u postgres psql -c "CREATE DATABASE appdb OWNER appuser;"
Jangan kasih SUPERUSER kalau nggak bener-bener perlu — cukup jadiin dia owner database-nya aja.
7. Install nginx
sudo apt install -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx
Coba buka IP VPS di browser — harusnya muncul halaman default nginx.
8. Install PHP terbaru
Buat dapetin versi PHP paling baru, pakai PPA-nya Ondřej:
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install -y php php-fpm php-cli php-mysql php-pgsql php-curl php-xml php-mbstring php-zip
9. Install Node.js lewat NVM
Enaknya pakai NVM, gonta-ganti versi Node jadi gampang:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
Terus install Node-nya (misalnya versi LTS):
nvm install --lts
node -v
10. Ganti password user
Kalau mau ganti password user lain (butuh sudo):
sudo passwd username
Kalau ganti password sendiri:
passwd
11. Lihat semua user
Buat nampilin semua akun di sistem:
cut -d: -f1 /etc/passwd
Sedangkan buat lihat siapa aja yang lagi login sekarang:
who
12. Hapus user
Hapus user-nya doang:
sudo deluser username
Hapus user sekalian sama folder home-nya:
sudo deluser --remove-home username
Penutup
Nah, VPS-mu sekarang udah punya fondasi yang lengkap: user yang aman, login SSH key, database, web server, PHP, sampai Node. Tinggal deploy aplikasimu deh.
Buat keamanan lanjutan, ada beberapa hal yang sangat kusaranin: aktifin firewall (UFW), pasang fail2ban, dan matiin login password SSH. Tapi itu kita bahas di tutorial berikutnya. 🔐
💡 Simpen baik-baik perintah-perintah di atas — bakal sering kamu pakai tiap nyiapin server baru.
Langkah selanjutnya
VPS-mu udah siap pakai. Sekarang giliran ngamanin dan ngoptimalin:
- Cara hardening VPS Ubuntu dari serangan — wajib banget dilakukan abis setup.
- Pasang SSL Let's Encrypt gratis di nginx — nyalain HTTPS dan ikon gembok.
- Deploy aplikasi Node.js ke VPS dengan PM2 — jalanin aplikasi produksi.
- Setup nginx untuk banyak domain di satu VPS — host beberapa situs sekaligus.
- Backup otomatis database MySQL dengan cron — lindungi data biar nggak hilang.
- 20 perintah Linux dasar untuk developer — kuasai terminal dengan pede.