
Pertama Kali Beli VPS
Di akhir semster ini, saya memiliki beberapa final projek yang harus saya deploy agar bisa diakses publik. Aplikasi saya ini berupa backend yang dibuat menggunakan express js dan mysql. Oleh karena itu, saya membeli vps untuk melakukan deploy aplikasi.
Kenapa tidak pakai hosting gratis saja?
Saya tidak menggunakan hosting gratis karena aplikasi ini pernah saya hosting di gcp menggunakan cloud run. Dulu saat ikut Bangkit, credit saya yang masih sisa saya gunakan untuk deploy aplikasi ini dan sudah saya atur dns-nya. Jadi jika saya menggunakan hosting gratisan, biasanya diberikan domain random, maka perlu merubah base url pada aplikasi front end.
Bukannya lebih mudah merubah base url?
Benar, lebih mudah merubah base url di front end. Tapi saat ini, saya mencoba untuk belajar server langsung menggunakan vps dan saya ingin mencoba untuk eksplorasi deploy beberapa aplikasi sekaligus, yang mungkin berbeda bahasa pemrogrammannya.
Jadinya saya membeli vps di rumahweb tipe S, dengan CPU 1 core, RAM 1GB, dan harga normal 60 ribu perbulan, tetapi karena dapat diskon 50% menjadi 30 ribu perbulan. Saya menggunakan sistem operasi ubuntu 22.04 sebagai servernya. Di vps tipe S ini, kita tidak diberikan panel untuk konfigurasi server.
Konfigurasi
Hal pertama yang ingin saya lakukan setelah membeli vps adalah konfigurasi server. karena saya terbiasa menggunakan shared hosting yang sudah ada cpanel-nya, saya merasa bigung untuk pertama kali menggunakan teknologi vps ini. Di halaman client zone hanya ada ip dan root password yang akan digunakan. Jadi, berikut adalah langkah konfigurasi yang saya lakukan.
SSH ke server
Secure Shell (SSH) protocol adalah sebuah protokol yang digunakan untuk menghubungkan komputer clien ke server. Saya menganggap ssh ini sebagai remot kontrol ke server. Saya melakukan ssh ke server menggunakan terminal ubuntu dengan perintah ssh root@ip_vps
kemudian akan diminta untuk memasukkan root password
yang ada di client zone tadi.
Menambah pengguna
Langka selanjutnya yang saya lakukan adalah menambahkan pengguna. Dengan menambahkan pengguna, kita bisa ssh ke server tanpa menggunakan akun root, melainkan dengan akun yang kita buat. Selain itu, password dari akun yang dibuat akan saya buat mudah untuk diingat. Langkah untuk menambahkan pengguna:
- Pastikan masih terhubung di ssh sebagai root
- Masukkan perintah
adduser username
. ganti username sesuai yang kamu inginkan. - Setelah itu, kamu akan diminta untuk memasukkan password untuk username yang kamu buat, dan selanjutnya akan diminta untuk mengisi beberapa informasi. Kamu bisa langsung tekan enter untuk melanjutkannya.
- Menambahkan akun baru ke dalam grup sudo agar bisa menggunakan hak administrator. Untuk menambahkan ke akses sudo, gunakan perintah
usermod -aG sudo username
Setelah melakukan menambah pengguna, kita coba melakukan koneksi ssh menggunakan akun baru dengan perintah ssh username@ip_vps
dan masukkan password yang anda buat tadi.
Menginstall aplikasi dan konfigurasi
Setelah berhasil menambahkan akun dan login, saya melakukan installasi aplikasi yang diperlukan, seperti nginx, database dan pnpm. Untuk installasi ini sudah ada banyak referensi di internet, mungkin akan saya tulis di artikel yang berbeda.
Setelah menginstall aplikasi pokok di atas, barulah saya melakukan deploy aplikasi backend saya. Aplikasinya bisa di clone di github. Saya menggunakan pm2 untuk load balancer dengan instance berjumlah 2. Setelah aplikasi berjalan dan bisa bisa diakses dari dengan curl localhost:3000
di server, saya melakukan reverse proxy menggunakan nginx agar aplikasi ini bisa diakses menggunakan dns yang saya miliki. Tak lupa saya konfigurasi subdomain menggunakan cloudflade agar domain tersebut mengarah ke ip vps saya.
Kamu bisa mencoba untuk mengakses ini di tautan ini. Jika tidak bisa diakses, kemungkinan servernya mati atau ada error yang lain wkwkwk…
Penutup
Begitulah cerita pengalaman saya dalam membeli vps untuk belajar 😄 memang menjadi tantangan tersendiri ketika mencoba sendiri. Hal yang menjadi sorotan saya adalah penggunaan mysql server di vps ini mengambil banyak resource ram ketika saya lihat menggunakan perintah htop
.
Jika ada saran atau masukkan, bisa disampaikan melalui sosmed saya di twitter, email dan linkedin.