Setup Web Server & CasaOS di VPS
January 02, 2026
Menyewa VPS memberi kebebasan penuh dalam mengelola server sesuai kebutuhan aplikasi. Dengan konfigurasi yang tepat, satu VPS dapat berfungsi sebagai web server modern untuk menjalankan aplikasi Laravel, REST API, hingga backend service lain yang membutuhkan performa dan stabilitas.
Pada artikel ini, kita akan membangun lingkungan web server dari kondisi awal VPS hingga siap digunakan untuk pengembangan dan deployment aplikasi.
Gambaran Umum Setup
Server yang akan kita bangun memiliki fungsi utama :
- Web Server menggunakan Nginx
- Backend PHP dengan PHP 8.2
- Database Server MySQL (mendukung koneksi remote)
- Cache & Queue Redis
- Frontend Tooling Node.js (LTS)
- Home Server Dashboard CasaOS
Memulai: Update Sistem
Langkah pertama yang tidak boleh dilewatkan adalah memastikan sistem dalam kondisi terbaru. Ini penting untuk keamanan dan kompatibilitas package.
sudo apt update && sudo apt upgrade -y
Menyiapkan Tool Dasar
Sebelum masuk ke instalasi utama, kita pasang beberapa paket pendukung yang hampir selalu dibutuhkan dalam pengelolaan server.
sudo apt install -y curl wget git net-tools htop
Paket ini membantu kita untuk:
- Mengunduh script dan resource eksternal
- Mengelola repository kode
- Mengecek jaringan dan port aktif
- Memantau performa server secara real-time
Mengubah Mesin Menjadi Home Server dengan CasaOS
CasaOS memberikan antarmuka web yang memudahkan pengelolaan server, terutama untuk Docker, storage, dan service lain.
curl -fsSL https://get.casaos.io | sudo bash
Secara default, CasaOS berjalan di port 80. Karena itu, nantinya kita akan menyesuaikan konfigurasi Nginx agar tidak terjadi bentrok port.
Menyiapkan Web Server: Nginx
Kita lanjutkan dengan memasang Nginx sebagai web server utama.
sudo apt install nginx -ysystemctl status nginx
Karena port 80 sudah digunakan CasaOS, kita ubah port Nginx menjadi 8080.
sudo nano /etc/nginx/sites-available/default
Ubah baris berikut:
listen 8080;
Setelah itu, restart Nginx:
sudo systemctl restart nginx
Sekarang Nginx bisa diakses melalui :
http://IP_SERVER:8080
Menyiapkan PHP 8.2
Agar Laravel berjalan optimal, kita pasang PHP 8.2 beserta ekstensi yang umum digunakan.
sudo apt install -y php8.2 php8.2-cli php8.2-fpm php8.2-common \ php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip php8.2-gd \ php8.2-mysql php8.2-bcmath php8.2-intl php8.2-readline
Jika sistem tidak menemukan package PHP 8.2, tambahkan repository resmi PHP:
sudo apt install -y software-properties-commonsudo add-apt-repository ppa:ondrej/php -ysudo apt update
Restart PHP-FPM:
sudo systemctl restart php8.2-fpm
Pastikan versi PHP sudah sesuai:
php -v
Menghubungkan Nginx dengan PHP-FPM
Agar Nginx bisa memproses file PHP, kita perlu menghubungkannya ke PHP-FPM.
sudo nano /etc/nginx/sites-available/default
Tambahkan konfigurasi berikut di dalam blok server {}:
location ~ \.php$ {include snippets/fastcgi-php.conf;fastcgi_pass unix:/run/php/php8.2-fpm.sock;}
Restart Nginx:
sudo systemctl restart nginx
Menguji PHP
Untuk memastikan semuanya berjalan, buat file test sederhana.
sudo nano /var/www/html/info.php
Isi dengan:
<?php phpinfo();
Akses melalui browser:
http://IP_SERVER:8080/info.php
Jika halaman informasi PHP muncul, berarti Nginx dan PHP sudah terhubung dengan baik.
Mengelola Dependency dengan Composer
Composer adalah tool wajib untuk pengembangan Laravel.
sudo apt install composer -ycomposer -v
Menyiapkan Database Server: MySQL
Instal MySQL server:
sudo apt install mysql-server -ysystemctl status mysql
Agar database bisa diakses dari luar server, kita ubah konfigurasi bind address.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Ubah menjadi:
bind-address = 0.0.0.0
Restart MySQL:
sudo systemctl restart mysql
Membuat User MySQL untuk Akses Remote
Masuk ke MySQL:
sudo mysql
Jika koneksi masih bermasalah, ubah metode autentikasi:
ALTER USER 'nama_user'@'%' IDENTIFIED WITH mysql_native_password BY 'password_user';FLUSH PRIVILEGES;
Menambahkan Redis untuk Cache & Queue
Redis sering digunakan Laravel untuk cache, session, dan queue.
sudo apt install redis-server -y
Edit konfigurasi Redis:
sudo nano /etc/redis/redis.conf
Ubah:
supervised system
Restart Redis:
sudo systemctl restart redis-server
Test Redis:
redis-cli ping
Jika muncul PONG, Redis siap digunakan.
Menyiapkan Node.js (LTS)
Node.js dibutuhkan untuk build asset frontend seperti Vite, Vue, atau React.
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -sudo apt install -y nodejs
Cek versi:
node -v npm -v
Penutup
Dengan mengikuti langkah-langkah di atas, Server VPS Anda kini telah berubah menjadi home server dan web server multifungsi.