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).
2.1 SFTP dengan menggunakan aplikasi Xftp di Windows
2.2 SFTP dengan menggunakan aplikasi FileZilla di Linux
2.3 SCP dengan menggunakan scp di Linux
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.
3.1 Menampilkan semua time zone
3.2 Menampilkan time zone Asia
3.3 Mengubah time zone ke Asia/Jakarta (WIB)
3.4 Menampilkan time zone yang terpasang
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.
4.1 Memasang Repository MariaDB
4.2 Install MariaDB
4.3 Mengamankan Instalasi MariaDB
4.4 Membuat User & Database
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.1 Install Apache
5.2 Virtual Host
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.1.1 Install PHP
5.5.1.2 Pengujian PHP
5.5.1.3 Konfigurasi PHP
5.5.2 PHPMYADMIN DENGAN APACHE?
phpMyAdmin adalah aplikasi manajemen database MySQL/MariaDB.
5.5.2.1 Install phpMyAdmin
5.5.2.2 Disable root login
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.3.1 Install Certbot
5.5.3.2 Install SSL untuk Apache
5.5.3.3 Memperbarui SSL
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.
5.5.4.1 Install WordPress
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.1 Install Nginx
6.2 Server Block
6.6.1 PHP DENGAN NGINX?
Nginx web server bisa menjalankan script PHP dengan menggunakan PHP-FPM.
6.6.1.1 Install PHP-FPM
6.6.1.2 Konfigurasi Server Block untuk PHP
6.6.1.3 Pengujian PHP
6.6.1.4 Konfigurasi PHP untuk PHP-FPM
6.6.2 PHPMYADMIN DENGAN NGINX?
phpMyAdmin adalah aplikasi manajemen database MySQL/MariaDB.
6.6.2.1 Install phpMyAdmin
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.3.1 Install Certbot
6.6.3.2 Install SSL untuk Nginx
6.6.3.3 Memperbarui SSL
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.
6.6.4.1 Install WordPress
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.
8.1 Cloud Firewall
8.2 IPTables
8.3 UFW
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.
9.1 htop – Interactive Process Viewer
9.2 df – Report File System Disk Space Usage
9.3 Hetrixtools – Uptime Monitoring
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.
10.1 auth.log – Authorization Log
10.2 lastlog – Login Terakhir
10.3 Apache Log File
10.4 Nginx Log File
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.
11.1 Bash Script Backup
11.2 cron – Job Scheduler