Membangun server dengan Ubuntu 20.04 di VPS/PC Lokal

  • Course level: Intermediate

Description

Panduan Ubuntu Server 20.04 LTS adalah panduan bagaimana cara menggunakan Ubuntu sebagai sistem operasi server untuk membangun sebuah web server. Aplikasi server yang dibahas yaitu Apache dan Nginx web server, MariaDB database, PHP, dan SSL dengan Let’s Encrypt. Selain itu, dibahas juga bagaimana cara install WordPress, sekaligus menjadi bahan pengujian untuk menjalankan website berbasis PHP dan MariaDB database. Panduan ini menggunakan Virtual Private Server (VPS)/Server Lokal/Virtual OS sehingga tidak ada pembahasan tentang bagaimana cara instalasi Ubuntu.

Keterampilan dan Pengetahuan Pendukung

Hal-hal yang dapat mendukung dalam memahami langkah-langkah konfigurasi server dalam panduan ini:

  • Pengetahuan jaringan komputer
  • Paham struktur direktori di Linux
  • Paham atribut file dan hak akses di Linux
  • Dapat menggunakan perintah dasar Linux
  • Dapat menggunakan text editor berbasis CLI (Command Line Interface)

Perangkat yang Dibutuhkan

Sebelum mempraktikkan panduan ini, siapkan terlebih dahulu perangkat yang dibutuhkan, yaitu:

  1. VPS/Server Lokal/Virtual OS  dengan sistem operasi Ubuntu 20.04 LTS
  2. Aplikasi SSH client
    • Windows: PuTTY atau Xshell
    • Linux/macOS: OpenSSH client (tersedia default berbasis command line)
  3. Aplikasi SFTP client
  4. Web Browser: Mozilla Firefox atau Google Chrome
  5. Code Editor: Sublime Text
  6. Jaringan internet yang stabil

Topics for this course

48 Lessons

1. SECURE SHELL (SSH)?

Untuk bisa mengakses VPS digunakan protokol SSH (Secure Shell). SSH server secara default telah aktif di VPS agar dapat langsung kita remote. Informasi VPS yang dibutuhkan untuk SSH remote adalah Public IP address, username, password, dan nomor port SSH.
1.1 Mengakses VPS di Windows
1.2 Mengakses VPS di Linux

2. FILE TRANSFER?

Selain digunakan untuk melakukan remote shell ke server, protokol SSH juga dapat digunakan untuk melakukan file transfer. File transfer melalui protokol SSH ada 2 yaitu Secure File Transfer Protocol (SFTP) dan Secure Copy (SCP).

3. TIME ZONE?

Kekeliruan pengaturan waktu atau tanggal pada server dapat mengakibatkan kekeliruan data pada aplikasi, waktu log sistem, waktu penjadwalan otomatis (cron), dan aplikasi lain yang membutuhkan tanggal. Contohnya tanggal yang terdapat di nota pemesanan dan pembelian pada aplikasi e-commerce, atau kesalahan waktu diskon.

4. MARIADB DATABASE?

MariaDB adalah RDBMS yang merupakan forking dari MySQL yang sekarang sudah dimiliki oleh Oracle. Sudah banyak distro Linux yang telah memasukkan MariaDB ke dalam official repository dan XAMPP pun sudah migrasi dari MySQL ke MariaDB. Website besar yang menggunakan MariaDB yaitu Wikipedia, Google, booking.com, dan Craiglist.

5. APACHE WEB SERVER?

Apache HTTP Server adalah aplikasi server untuk menyediakan layanan web atau berfungsi sebagai web server (HTTP server). Apache HTTP Server (httpd) terlahir pada tahun 1995 dan telah menjadi web server paling populer sejak April 1996.

5.5.1 PHP DENGAN APACHE?

PHP adalah salah satu bahasa pemrograman paling populer di dunia untuk membangun aplikasi web. Agar bisa menjalankan aplikasi PHP, kita harus memasang PHP engine beserta modul Apache untuk membaca PHP.

5.5.2 PHPMYADMIN DENGAN APACHE?

phpMyAdmin adalah aplikasi manajemen database MySQL/MariaDB.

5.5.3 LET’S ENCRYPT UNTUK APACHE (SSL)?

SSL (Secure Socket Layer) dan versi baru TLS (Transport Layer Security) adalah protokol kriptografi yang berfungsi untuk menyediakan jalur komunikasi yang aman melalui jaringan. Pada website SSL/TLS digunakan untuk mengamankan komunikasi antara web server dengan web browser. Google kini lebih mengutamakan website yang telah menggunakan SSL (HTTPS) di hasil pencarian. Secara default website berjalan pada port 80 dengan protokol HTTP, website yang menggunakan SSL/TLS berjalan pada port 443 dengan protokol HTTPS (HTTP Secure/HTTP over SSL/TLS).

5.5.4 WORDPRESS DENGAN APACHE?

WordPress adalah Content Management System (CMS) berbasis PHP yang paling populer di dunia, bisa digunakan sebagai blog, media online, profil perusahaan, profil institusi pendidikan, sampai menjadi toko online.

6. NGINX WEB SERVER?

Nginx (dibaca Egine X) adalah web server kedua yang paling banyak digunakan di internet setelah Apache. Nginx lebih hemat dalam penggunaan resource memori. Beberapa perusahaan teknologi yang menggunakan Nginx yaitu OpenDNS, CloudFlare, Adobe, BuzzFeed, ARM, dan WordPress.

6.6.1 PHP DENGAN NGINX?

Nginx web server bisa menjalankan script PHP dengan menggunakan PHP-FPM.

6.6.2 PHPMYADMIN DENGAN NGINX?

phpMyAdmin adalah aplikasi manajemen database MySQL/MariaDB.

6.6.3 LET’S ENCRYPT UNTUK NGINX (SSL)?

SSL (Secure Socket Layer) dan versi baru TLS (Transport Layer Security) adalah protokol kriptografi yang berfungsi untuk menyediakan jalur komunikasi yang aman melalui jaringan. Pada website SSL/TLS digunakan untuk mengamankan komunikasi antara web server dengan web browser. Google kini lebih mengutamakan website yang telah menggunakan SSL (HTTPS) di hasil pencarian. Secara default website berjalan pada port 80 dengan protokol HTTP, website yang menggunakan SSL/TLS berjalan pada port 443 dengan protokol HTTPS (HTTP Secure/HTTP over SSL/TLS).

6.6.4 WORDPRESS DENGAN NGINX?

WordPress adalah Content Management System (CMS) berbasis PHP yang paling populer di dunia, bisa digunakan sebagai blog, media online, profil perusahaan, profil institusi pendidikan, sampai menjadi toko online.

7. COMPOSER?

Composer adalah package manager untuk PHP. Fungsinya mirip dengan package manager di distro Linux. Dengan Composer, jika membutuhkan script tertentu, dependensi, dan update cukup menggunakan Composer. Composer akan mengunduh script yang dibutuhkan. Beberapa PHP framework membutuhkan Composer untuk instalasi.

8. FIREWALL?

Firewall adalah sistem keamanan yang berfungsi untuk mengelola dan memantau trafik jaringan yang masuk dan keluar berdasarkan aturan keamanan (security rules) yang sudah ditentukan. Firewall dapat berupa perangkat keras atau perangkat lunak.

9. SYSTEM MONITORING?

System Monitoring adalah pemantauan pemakaian sumber daya server seperti pemakaian CPU, pemakaian RAM, storage, network, dan process. Dengan mengetahui seberapa besar pemakaian sumber daya, dapat menjadi salah satu pertimbangan dalam memutuskan apakah perlu menaikkan atau menurunkan kapasitas sumber daya server.

10. LOG FILE?

Log file adalah file hasil rekaman dari kegiatan yang terjadi di sistem operasi atau perangkat lunak. Dengan menganalisa log fie seorang sysadmin dapat mendapatkan petunjuk jika terjadi kesalahan di dalam sistem atau aplikasi. Secara default lokasi log file berada di /var/log.

11. BACKUP DATA?

Melakukan backup data yang sudah berjalan di server sangat penting, karena hasil backup dapat dikembalikan lagi jika terjadi insiden keamanan yang tidak diinginkan. Contoh insiden yang bisa saja terjadi, website menjadi korban hacking, website terkena malware, atau bahkan kesalahan dari pemilik website sendiri (tidak sengaja menghapus file atau database). Data yang dibackup adalah file website beserta databasenya. Backup data dibuat dalam bash script kemudian dikombinasikan dengan cron untuk penjadwalan backup.
Rp50,000
Shopping Cart