Cara Install dan Setting VPS: Hosting WordPress Sendiri Part 1

Setelah melakukan berbagai perhitungan, akhirnya aku memutuskan untuk pindah dari shared hosting ke vps. Selain pertimbangan harga yang lebih murah (ada banyak web yang dikelola), aku juga sudah dikecewakan beberapa perusahaan web hosting di Indonesia. Jadi aku putuskan saja untuk berpindah dari shared hosting ke VPS.

Oleh karena itu, aku mau bikin tulisan tentang bagaimana membeli VPS, install vps, mengamankan VPS hingga konfigurasi website di vps sehingga dapat dijalankan dengan baik. Kumpulan tulisan dengan topik ini bisa kamu baca pada link di bawah ini

Berikut topik tulisan tentang hosting wordpress sendiri yang bisa kamu ikuti

Membeli VPS

Ada banyak penyedia layanan VPS seperti digitalocean dan vultr. Namun pada kesempatan ini aku akan menggunakan vultr. Dengan pertimbangan harga yang sama namun mendapatkan spesifikasi server yang mirip dengan DO. Kalau mau coba, kamu bisa dapatkan $100 di Vultr.

Sebelum membeli VPS, kita harus menentukan lokasi server dan sistem operasi yang digunakan. Aku memilih lokasi server di Singapura dan sistem operasi Ubuntu 20.04 serta spesifikasi yang dibandrol $10/bulan. Sudah lebih dari cukup untuk menampung 5 website yang dikelola saat ini.

Kenapa Server di Singapura? Karena lokasi servernya cukup dekat dengan Indonesia yang notabene semua website yang akan diletakkan di vps adalah website yang diakses oleh pengunjung dari Indonesia. Sehingga lebih cepat diakses oleh pengunjung.

Kenapa menggunakan ubuntu? Selain sudah sepuluh tahun menggunakannya di desktop maupun laptop, sistem operasi ini cukup populer dan ada banyak resource yang bisa digunakan untuk mengatasi masalah pada server.

Kamu bisa menambahkan credits di akun dulu, pembayaran akan ditagihkan setiap bulan. Jadi bisa isi credits dengan top up setiap bulan. Kamu bisa bayar pakai Jenius kalau nggak punya kartu kredit.

Install Sistem Operasi

Pada halaman dashboard vultr, tekan tombol + lalu pilih Deploy New Server. Lalu kita akan diminta untuk memilih jenis server. Karena untuk hosting satu blog yang belum terlalu besar, pilih cloud compute

Pilih Jenis Server

Setelah memilih jenis server, di bawahnya kita diminta untuk memilih lokasi server. Seperti yang sudah aku tulis sebelumnya, apabila target pengunjung merupakan Indonesia, pilih server Indonesia.

Pilih lokasi server

Kemudian kita diminta memilih sistem operasi. Aku pilih menggunakan ubuntu 20.04, karena ini merupakan versi paling baru dari ubuntu yang kebetulan juga merupakan versi LTS (Long Time Support) yang masih akan terus mendapatkan update selama 5 tahun kedepan

Pilih sistem operasi server

Kemudian pilih harga yang sesuai dengan kebutuhanmu. Kalau kamu cuma mau jalankan 1 blog di server ini, lebih baik menggunakan yang paling murah, yaitu $5/tahun. Itu sudah lebih dari cukup kok untuk 1 blog.

Pilih ukuran server

Kemudian Enter Server Label terserah mau dinamakan apa. Tunggu proses install sistem operasi server selesai (sekitar 5 menit) sampai kita mendapatkan IP Server VPS yang baru.

Proses install server

Aku sengaja deploy server baru buat tutorial ini, setelah itu akan aku hapus setelah menyelesaikan tutorialnya :)). Kalau sudah selesai kita akan mendapatkan ip adress server seperti gambar di bawah ini

Install Server Selesai

Informasi servermu akan tampak seperti gambar dibawah ini. Mulai dari ip, username dan passwordnya.

Informasi server

Login VPS

Setelah proses instalasi sistem operasi selesai, kamu akan mengetahui ip server, root dan password. Kemudian kamu bisa login menggunakan terminal di mac maupun ubuntu dengan cara

ssh root@ipserver

Install Software Update

Seperti halnya sistem operasi yang baru diinstall, hal yang perlu dilakukan adalah melakukan cek repository apakah ada update software dengan cara

apt-get update

Setelah melakukan cek update software, langkah selanjutnya adalah install software yang sudah ada updatenya dengan cara

apt-get upgrade

Tunggu sampai proses selesai, dan untuk menghemat space pada vps, kamu bisa hapus software yang sudah nggak dipakai oleh sistem dengan cara

apt-get autoremove

Membuat User

Langkah selanjutnya dalam setting vps adalah membuat user baru. Kenapa?

Demi alasan keamanan, user root tidak akan bisa login ke server. Sehingga kita butuh user baru untuk login ke server. Karena user root terlalu luas privilegenya, sehingga cukup berbahaya apabila langsung bisa login sebagai root. Berbahayanya ketika ada orang yang tau passwordnya

Bagaimana cara membuat user baru? Gunakan perintah di bawah ini

adduser namauser

Kamu akan diminta untuk mengisi data dasar user seperti passwordnya juga. Aku sarankan sih pakai password generator dan menyimpannya menggunakan password manager seperti 1password. Untuk memastikan akun tetap aman sih.

Add User VPS

Setelah membuat user, langkah selanjutnya masukkan user ke dalam sudo group dengan cara

usermod -a -G sudo namauser

Setelah itu coba logout dengan perintah

logout

Kemudian login lagi dengan perintah

ssh namauser@ipserver 

Login VPS Tanpa Password

Setelah user baru dibuat, langkah selanjutnya adalah membuat ssh keypair. Buat apa? Untuk memudahkan kita login. Sehingga kita nggak butuh login menggunakan password di komputer yang akan kita gunakan. Ini membuat kita hanya bisa login ke server menggunakan perangkat yang sudah kita daftarkan.

Caranya, buka terminal di linux maupun mac dan ketikkan perintah di bawah ini

ssh-keygen -t rsa

Kamu bisa pilih dimana akan menyimpan kunci server tersebut. Langsung enter kalau mau di lokasi default. Setelah itu kamu akan diminta untuk mengisi passphrase. Yang merupakan password untuk kunci yang kamu buat. Jadi kamu harus memasukkan passphrase ini apabila ingin login ke dalam vps.

Jalankan perintah di bawah ini

cat ~/.ssh/id_rsa.pub

Copy hasil yang keluar dari perintah tersebut dan untuk sementara letakkan di text editor.

Masuk ke VPS dengan user baru yang sudah dibuat, kemudian bikin folder .ssh dan atur permissionnya dengan cara di bawah ini

mkdir   ~/.ssh
chmod 700 ~/.ssh

Dalam folder .ssh, buat file dengan nama authorized_keys dengan cara

nano ~/.ssh/authorized_keys

Kalau mau pakai vim ya tinggal ganti nano dengan vim. Kemudian isi dengan hasil random teks yang sudah kita simpan sebelumnya setelha menjalanknan perintah cat.

Setelah itu, ganti lagi permission file dari authorized_keys menjadi 600 dengan cara

chmod 600 ~/.ssh/authorized_keys

Nah, sekarang kamu gak perlu masukin password ketika login ke VPS. Coba aja logout dan masuk lagi dengan cara ssh username@ipserver.

Kamu harus tetap memasukkan password, apabila mengatur passphrase ketika generate ssh.

Disable Login Root

Untuk alasan keamanan, login menggunakan root disarankan untuk dinonaktifkan. sehingga akan muncul error seperti contoh di bawah ini apabila ada yang berusaha login dengan root

Disable Root Login

Caranya gimana? Ikuti langkah-langkah berikut ini

sudo nano /etc/ssh/sshd_config

Cari tulisan PermitRootLogin yes dan ganti menjadi PermitRootLogin no. Kemudian simpan. Setelah itu kamu harus restart ssh dengan cara

sudo service ssh restart

Setelah itu coba login dengan user root, maka kamu tidak akan bisa dan mengalami seperti yang aku alami di atas.

Setelah disable root, selanjutnya adalah menolak user login ke VPS dengan password. Sehingga hanya komputer yang punya ssh key aja yang bisa login ke VPS. Jadi, ada baiknya menyimpan backup SSH Key.

sudo nano /etc/ssh/sshd_config

Cari PasswordAuthentication yes dan ubah menjadi PasswordAuthentication no. Kemudian simpat dan restart lagi service ssh supaya bisa bekerja dengan cara

sudo service ssh restart

Sebelum keluar, coba buka terminal baru dan coba login. Nanti kamu akan mengalami pesan error seperti yang ada di gambar atas.

Firewall

Firewall merupakan salah satu layer keamanan dari server yang cara kerjanya melakukan block pada jaringan. Ada software yang bernama ufw (Unncomplicated Firewall) yang seharusnya sudah terinstall secara default, kalau belum kamu bisa gunakan perintah di bawah ini

sudo apt-get install ufw

Setelah berhasil terinstall, langkah selanjutnya adalah menambahkan rules defaultnya, ytiu membuka port 22 untuk SSH dan 80 untuk HTTP, selain itu juga perlu menambahkan porot 443 untuk HTTPS karena website akan dijalankan pada mode HTTPS.

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https

Setelah itu kita bisa cek rules yang diatur pada firewall dengan cara

sudo ufw show added

Hasilnya kurang lebih akan tampak seperti screenshot di bawah ini

Firewall VPS

Fail2ban

Langkah selanjutnya adalah install Fail2ban yang berfungsi untuk memonitor dan memblokir aktivitas mencurigakan dalam jangka waktu tertentu. Cara kerjanya dengan memasukkan ip address yang melakukan aktivitas mencurigakan ke dalam rules firewall.

Secara default, aplikasi ini tidak terinstall. Jadi kamu bisa install dengan cara

sudo apt-get install fail2ban

Setelah install, kemudian cukup jalankan perintah

sudo service fail2ban start

Default dari aplikasi ini sudah cukup dengan memblokir selama 10 menit setelah gagal login sebanyak 6x melalui ssh.

Selesai!

Setup awal VPS sudah selesai, sekarang kamu sudah memiliki vps yang siap digunakan untuk beberapa hal sesuai dengan kebutuhan. Dengan metode di atas, kamu sudah berhasil melakukan setting keamanan dasar untuk VPS.

Pada artikel selanjutnya, aku akan berbagi tentang bagaimana install nginx, konfigurasi server block hingga membuat website di vps bisa diakses. Kalau ada pertanyaan, bisa tulis di kolom komentar yak!

Btw, kalau ada kesalahan dalam penulisan artikel di atas let me know yak! Biar aku koreksi sehingga nggak menyesatkan banyak orang.

Nelateni nganggur dengan menulis blog. Ikuti aku di Facebook, Instagram, Twitter maupun Linkedin

Artikel Terkait

Leave a Comment