Memilih Sistem Operasi (OS) Pada Server (Ubuntu 20.04)
Pengertian
Operating System (OS) atau Sistem Operasi (selanjutnya disebut OS) adalah sistem yang mengatur hardware (perangkat keras) komputer, program (software), dan menyediakan layanan yang dibutuhkan oleh program-program yang berjalan pada komputer.
Secara umum, fungsi dari OS adalah:
- Memuat, mengeksekusi, dan menjalankan sebuah program.
- Mengatur disk (media penyimpanan).
- Mengatur proses yang berjalan.
- Mengontrol perangkat lain yang terhubung.
- Menyediakan antar muka (interface), baik berupa Graphical User Interface (GUI), maupun Command Line Interface (CLI)
Komponen
Komponen-komponen pada OS adalah sebagai berikut:
- Kernel
- Program execution
- Interrupts
- Modes
- Memory management
- Virtual memory
- Multitasking
- Disk access dan file systems
- Device drivers
- Networking
- Security
- User interface
Jenis OS Yang Digunakan Untuk Server
UNIX dan Turunannya
UNIX pertama kali dibuat oleh Ken Thompson, menggunakan bahasa pemrograman B berbasis BCPL, kemudian ditulis ulang menggunakan bahasa pemrograman C, dengan fitur yang lebih kompleks. Kemudian banyak pengembang yang mengembangkan UNIX untuk skala yang lebih besar, termasuk penggunaan untuk server. Berikut ini beberapa UNIX dan keturunannya yang digunakan untuk server, yang masih populer sampai saat ini:
- Turunan BSD (Berkeley Software Distribution)
Kenapa turunan BSD, bukan BSD nya? Karena BSD sendiri sudah tidak dikembangkan lagi, sehingga tidak memungkinkan lagi bagi kita di era sekarang untuk menggunakannya. Namun beberapa OS yang dikembangkan dari source code BSD, hingga sekarang masih dikembangkan dan dapat kita gunakan, yaitu FreeBSD, NetBSD, dan OpenBSD. - Linux
Dibuat pertama kali oleh Linus Torvalds pada tahun 1991, yang saat itu masih berstatus mahasiswa di salah satu Universitas di Finlandia. Meskipun disebut masih keluarga UNIX, Linus menulis kode untuk Linux, tidak menggunakan kode dari UNIX sama sekali. Karena bersifat open, Linux kemudian menjadi favorit komunitas programmer di dunia, untuk mengembangkan OS baru, berbasis kode sumber Linux, bahkan hingga saat ini. Sehingga OS yang dikembangkan dari Linux biasa disebut Linux Distribution, atau yang lebih dikenal dengan Distro Linux. Distro Linux yang sangat populer ada dua, yang kemudian ada banyak keturunannya lagi, yaitu RPM based dan Debian based. Keturunan RPM Based yang populer adalah Red Hat, Suse dan OpenSuse, CentOS, Fedora, Mandrake, dan lain-lain. Sementara keturunan Debian based yang populer adalah Ubuntu, Linux Mint, Raspberry OS, BlankOn (dari Indonesia), dan lain-lain. - MacOS (Macintosh OS) Server
Dikembangkan oleh Apple Inc, berbasis UNIX.
Windows Server
Berbeda dari kebanyakan OS, Windows tidak dikembangkan dari UNIX. Windows dikembangkan dari DOS (Disk Operating System) yang dikembangkan oleh Microsoft. Pada era awal komputasi, Windows adalah OS yang paling populer, dikarenakan kebanyakan industri lebih mempercayakan OS yang kode nya tertutup dan di support langsung secara jor-joran oleh pengembangnya, tidak masalah jika harus berbayar, karena industri sendiri sebagai institusi bisnis, memiliki anggaran untuk itu, yang terpenting bisnis merasa lebih aman dengan menggunakan OS berbayar, dan bisa menuntut pengembangnya jika Windows menyebabkan kerugian bisnis karena OS nya bocor, sementara OS berbayar lain (MacOS) saat itu belum siap melayani industri, karena penjualan OS Desktop nya saat itu sedang kembang kempis.
Namun, saat ini pamor Windows mulai dikalahkan oleh Linux, karena pengembangan Linux era sekarang jauh lebih cepat, dan di support oleh jutaan komunitas yang telah berkembang selama 30 tahun terakhir, di seluruh dunia. Selain itu MacOS pun mulai bangkit, karena kemudahan dan kestabilan sistem nya, meskipun masih kalah populer dengan Linux.
Rekomendasi
Setelah sedikit mengenal OS dan jenis-jenisnya, OS manakah yang menjadi rekomendasi, untuk server di lingkungan Program Digital Amoeba? OS yang menjadi rekomendasi adalah Distro Linux Ubuntu.
Pertama-tama, mengapa memilih Linux? Linux saat ini menjadi “raja” bagi OS yang diperuntukan untuk server. Segala macam techstack yang populer yang umum digunakan, bahkan techstack yang dipilih AMATECH (squad teknologi di Program Digital Amoeba) secara native memberikan support pada Linux.
Lalu mengapa Ubuntu? Memang ada Distro Linux lain yang menjadi favorit para penyedia jasa penyewaan server (mulai dari kelas hosting, VPS, hingga perusahaan Cloud kelas berat). Dikarenakan di masa lalu, Distro Linux yang menjadi favorit tersebut, menyediakan kestabilan yang lebih. Namun, di era sekarang Ubuntu Server juga menyediakan kestabilan yang setara, terutama pada versi LTS (Long Term Support).
Selain itu yang menjadi pamungkas kenapa pilihan jatuh pada Ubuntu Server adalah kemudahan penggunaannya, karena, ternyata Ubuntu versi Desktop adalah Distro Linux paling favorit di dunia, banyak Distro Linux yang dikembangkan dari Ubuntu, sehingga bagi mereka yang sudah familiar dengan Ubuntu Desktop, dapat dengan mudah menggunakan Ubuntu Server. Jadi lebih mudah juga bagi Program Digital Amoeba, untuk mencari DevOps yang sanggup mengelola server-servernya.
Selanjutnya versi Ubuntu Server yang dipilih hingga 2025 adalah Ubuntu Server 20.04 LTS, yang menyediakan support hingga 2030. Namun tidak menutup kemungkinan, jika versi LTS lain telah dirilis, akan upgrade ke versi LTS terbaru tersebut.
Instalasi Ubuntu Server 20.04 LTS
Berhubung Program Digital Amoeba kebanyakan menggunakan layanan Instance pada server Cloud, biasanya, secara default Instance tersebut telah terinstalasi Ubuntu Server 20.04 LTS, sehingga kita tidak perlu melakukan instalasi lagi, dari nol. Namun, jika bawaannya tidak terdapat pilihan Ubuntu Server 20.04 LTS, dapat memilih Ubuntu Server 18.04 LTS. Lalu melakukan upgrade ke versi 20.04 LTS. Dengan langkah-langkah sebagai berikut:
Masuk ke command line interface server melalui ssh dengan user root, menggunakan Terminal, atau Putty untuk pengguna Windows. Perintah login ssh via Terminal:
ssh user@ip_server
Untuk Putty, silahkan mengisi parameter server sesuai form yang disediakan oleh putty, lalu masukan password ketika diminta, atau dapat menggunakan private key (biasanya berupa ppk).
Lalu jalankan perintah:
sudo apt update
Tunggu proses nya selesai, lalu jalankan perintah:
sudo apt list --upgradable
Tunggu proses nya selesai, lalu jalankan perintah:
sudo apt upgrade
Tunggu proses nya selesai, lalu jalankan perintah:
sudo apt --purge autoremove
Tunggu proses nya selesai, lalu jalankan perintah:
sudo reboot command
Setelah itu akan keluar dari ssh. Login kembali, dan jalankan perintah berikut:
sudo apt install update-manager-core
Tunggu proses nya selesai, lalu jalankan perintah:
sudo do-release-upgrade
Tunggu proses nya selesai, lalu jalankan perintah:
sudo reboot
Setelah itu akan keluar dari ssh. Login kembali, dan jalankan perintah berikut:
sudo sed -i 's/bionic/focal/g' /etc/apt/sources.list
Tunggu proses nya selesai, lalu jalankan perintah:
sudo apt update && sudo apt -y dist-upgrade
Terakhir reboot OS kembali dengan perintah:
sudo reboot
Login kembali via ssh dengan user root. Lalu cek versi OS dengan perintah:
lsb_release -d
Jika berhasil, akan menampilkan:
Description: Ubuntu 20.04 LTS
Selanjutnya membuat user baru dengan akses sudo. Mengapa harus membuat user baru? Ini karena alasan keamanan, dengan membuat user baru, hak akses lebih mungkin untuk diatur, selain itu menghindari OS rusak total karena ketidaksengajaan. Langkah-langkah nya adalah dengan melakukan koneksi lagi ke server via ssh, kemudian jalankan perintah:
sudo adduser <NEWUSER>
sudo adduser <NEWUSER> sudo
Keluar dari server dengan perintah:
exit
Lalu login kembali via ssh dengan user baru tersebut. Selebihnya, lakukan yang perlu dilakukan pada server, seperti instalasi program-program penunjang, deploy aplikasi, dan lain-lain.
Penutup
Demikian panduan singkat mengenai OS untuk server, memilih OS untuk server di lingkungan Program Digital Amoeba, serta melakukan instalasi OS yang dipilih tersebut. semoga bermanfaat.