Checklist setup VPS berbasis Ubuntu
Tags: ubuntu, linux, indonesia
Published: 2021-02-27 04:49:18

Artikel ini memuat daftar checklist saya untuk melakukan setting awal pada VPS baru yang berbasis Ubuntu, setelah sebelumnya sudah dipublikasikan artikel yang memuat checklist untuk VPS berbasis CentOS.

Perlu saya ingatkan kembali bahwa checklist setup VPS untuk tiap orang itu berbeda, karena disesuaikan dengan peruntukkan VPS yang dimaksud. Dan pada artikel ini saya menuliskan checklist umum yang wajib dilakukan. 

## Ganti root login

Login sebagai `root`.

Ketik perintah dibawah ini, ganti `demo` dengan nama user sesuai keinginan.
```
adduser demo
```

Selanjutnya set user `demo` kedalam grup `sudo`.
```
visudo
```

Carilah baris yang terlihat seperti ini.
```
root    ALL=(ALL:ALL) ALL
```

Salin baris tersebut pada baris dibawahnya, kemudian ganti menjadi,
```
root    ALL=(ALL:ALL) ALL
demo    ALL=(ALL:ALL) ALL
```

Simpan perubahan yang dilakukan.
 

## Konfigurasi SSH Daemon

Pada langkah ini akan ditunjukkan cara membatasi login remote SSH ke akun `root`.

Login sebagai `root`.

Buka file konfigurasi SSH dengan perintah,
```
sudo vi /etc/ssh/sshd_config
```

Cari baris yang memiliki entri berikut `PasswordAuthentication`.

Tekan `i` untuk mengaktifkan mode edit, lalu hapus tanda pagar `#` pada awal baris tersebut, dan ganti `yes` dengan `no` seperti dibawah ini.
```
PasswordAuthentication no
```

Tekan tombol `Esc` untuk keluar dari mode Insert.

Kemudian simpan perubahan diatas dengan menekan tombol `:x` dan tekan Enter.

Restart dengan mengeksekusi perintah berikut.
```
sudo systemctl reload sshd
```


## Pasang SSH key

Ketik perintah dibawah lalu masukkan password.
```
su - demo
```

Selanjutnya secara berurutan eksekusi perintah berikut.
```
mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
```

Gunakan PuTTY Key Generator untuk generate SSH RSA key, sesudah itu salin SSH key tersebut. Catatan: Kolom passphrase biarkan kosong.

Tekan tombol `i` untuk mengaktifkan mode edit, dan lanjutkan dengan menekan kombinasi `Shift+Insert` untuk menyalin SSH key yang di-generate pada langkah sebelumnya kedalam editor.

Tekan `Esc` untuk keluar dari mode Insert, dan ketik `:x` lalu Enter untuk menyimpan file dan keluar dari editor.

Setelah keluar, ketik perintah berikut.
```
chmod 600 ~/.ssh/authorized_keys
exit
```

Keluar dari PuTTY dan login kembali. 


## Update Ubuntu

Hal ini dilakukan supaya instalasi VPS selalu dalam keadaan up-to-date, dan sebaiknya dijalankan secara berkala.
```
sudo apt-get update && apt-get upgrade
```


## Konfigurasi Timezone

Eksekusi perintah dibawah ini secara berurutan.
```
sudo timedatectl set-timezone Asia/Makassar
sudo timedatectl
```
```
                      Local time: Tue 2020-04-21 21:38:19 WITA
                  Universal time: Tue 2020-04-21 13:38:19 UTC
                        RTC time: Tue 2020-04-21 13:38:20
                       Time zone: Asia/Makassar (WITA, +0800)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no
```

Apabila muncul pesan error seperti dibawah ini,
```
Failed to set time zone: Invalid time zone 'Asia/Makassar'
```

Kemungkinan besar timezone yang ingin dipasang tidak ada/hilang, coba dicek dengan menggunakan perintah berikut.
```
timedatectl list-timezones
```

Kalau outputnya hanya muncul satu timezone yaitu UTC, jalankan perintah berikut.
```
sudo apt install -y ntp
```

Dan ikuti langkah yang ditampilkan untuk memilih timezone yang diinginkan.

Untuk setup CentOS,
{% embed https://dev.to/erolj/checklist-setup-vps-berbasis-centos-7-1bfh %}

Jika ada kesalahan atau ternyata ada langkah penting (menurut Anda) yang tidak sempat saya tulis diatas, silahkan komentar dibawah yah.

Semoga bermanfaat, dan nantikan update lanjutan untuk artikel ini.