Friday 17 June 2022

Moodle : Instalasi Sistem E-Learning pada Ubuntu Server 20.04

moodle thumbnail

Pada tutorial ini, kita akan belajar bagaimana cara untuk menginstal learning management system pada Ubuntu Server 20.04.

LMS adalah singkatan dari Learning Management System, merupakan sistem untuk mengelola catatan pelatihan dan pendidikan, perangkat lunaknya untuk mendistribusikan program pembelajaran melalui internet dengan fitur untuk kolaborasi yang dilakukan secara online.

Friday 10 June 2022

osTicket : Instalasi Sistem Ticketing pada Ubuntu Server 20.04

ticketing thumbnail

Pada tutorial ini, kita akan belajar bagaimana cara untuk menginstal ticketing sistem pada Ubuntu Server 20.04.

Ticketing System adalah sebuah sistem manajemen dan pengelola daftar isu atau masalah yang di request oleh client untuk diselesaikan, tiket ini bisa berupa permintaan, pertanyaan, ataupun keluhan tertentu. Umumnya sistem ini dimiliki oleh instansi atau perusahaan yang memiliki banyak staff karyawan yang membutuhkan seorang Support Staff untuk menyelesaikan masalah teknis yang berkaitan dengan perangkat IT.

Wednesday 1 June 2022

Certbot : Mengamankan Web Server Apache dengan Lets Encrypt - Ubuntu Server 20.04

lets encrypt thumbnail

Sebelum memulai tutorial ini, kita akan mengenal dulu apa itu TLS dan SSL.

TLS (Transport Layer Security) dan SSL (Secure Socket Layer), adalah sebuah protokol yang akan membentuk koneksi terenkripsi antara web server dengan client atau sebaliknya, sehingga koneksi antara client dan server dapat berjalan secara aman dari pihak lain yang tidak berkepentingan. Protokol ini penting untuk ada pada sebuah website, terlebih jika website tersebut berbentuk e-commerce jual beli barang yang menyimpan banyak informasi client seperti username/password, informasi kartu kredit, dll.

Tuesday 10 May 2022

Konfigurasi Apache Mod_Rewrite pada Ubuntu Server 20.04

module-rewrite-thumbnail

Pada tutorial ini kita akan membahas tentang konfigurasi modul Rewrite pada service Apache Ubuntu Server 20.04

Modul Rewrite adalah sebuah modul pada service Apache yang berfungsi untuk memanipulasi sebuah URL pada webserver. Sederhananya, modul Rewrite ini akan menyesuaikan url pada sebuah website, agar url yang digunakan terlihat rapi, bersih dan SEO friendly.
Secara default, Apache tidak secara otomatis mengaktifkan modul ini, jadi disini kita akan melakukan beberapa konfigurasi agar modul rewrite ini bisa kita gunakan.
Implementasi dari modul rewrite ini akan berbentuk file .htaccess yang biasanya ada didalam folder sebuah website. File .htaccess sendiri akan berisikan script rule sederhana yang disesuaikan pada framework atau bahasa yang digunakan pada proses pembangunan website tersebut. Pada tutorial ini, kita akan melakukan konfigurasi modul rewrite pada apache web server yang berisikan website yang dibuat dengan framework Codeigniter 4.

Kalian bisa buka dokumentasi dari framework yang kalian gunakan dan cari bagian setup apache web server. Dibawah ini adalah dokumentasi dari framework Codeigniter 4, terlihat pada bagian Apache Web Server dijelaskan bagaimana cara untuk menggunakan mod_rewrite menggunakan simple rule. Pada konfigurasi ini, kita akan menggunakan script .htaccess versi lengkapnya.

codeigniter-4-documentation

Kita mulai proses konfigurasi modul rewrite ini.

1. Aktifkan Modul Rewrite
Untuk mengaktifkan modul rewrite, gunakan perintah :

sudo a2enmod rewrite

Selanjutnya, restart service apache menggunakan perintah :

sudo systemctl restart apache2

2. Konfigurasi site-enable Apache
Selanjutnya, kita perlu melakukan konfigurasi pada site-enable Apache agar bisa melakukan fungsi URL rewrite yang nantinya akan di jalankan oleh file .htaccess.

Ketikan perintah :
sudo nano /etc/apache2/sites-enabled/000-default.conf

Output
<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Di dalam file konfigurasi diatas, tambahkan script dibawah ini setelah string <VirtualHost *:80> :

<Directory /var/www/html>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow, deny
    Allow from All
</Directory>

Kemudian save pengaturan konfigurasi yang sudah kita setting. Tekan CTRL+X untuk melakukan penyimpanan konfigurasi, lalu konfirmasi dengan mengetik Y, lalu terakhir tekan Enter untuk kembali ke terminal utama server. Selanjutnya kita lakukan restart kembali pada service Apache.
3. File .htaccess
Selanjutnya, kita buat file .htaccess, kalian bisa langsung membuat file .htaccess ini didalam folder website atau project kalian. Disini kita akan membuat file .htaccess pada directory html, diluar folder website atau project, untuk membuat file .htaccess gunakan perintah :

sudo nano /var/www/html/.htaccess

Lalu kita buat rule mod_rewrite dengan mengetikan script dibawah ini :

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule>

Setelah script diatas sudah diketikan, kita save konfigurasinya, tekan CTRL+X untuk melakukan penyimpanan konfigurasi, lalu konfirmasi dengan mengetik Y, lalu terakhir tekan Enter untuk kembali ke terminal utama server.

Setelah itu kalian bisa pindahkan file .htaccess ke dalam folder website atau project kalian.
Kesimpulan :
Dengan mengaktifkan mod_rewrite ini, kita dapat meningkatkan keamanan website sekaligus merapihkan URL website agar terlihat rapi, bersih dan SEO friendly.

Sebagai perbandingan, berikut adalah contoh URL website yang belum menggunakan modul rewrite :

https://website.com/posts.php?year=2022&month=05&day=09&title=mod-rewrite-apache

Sedangkan, dibawah ini adalah contoh URL website yang sudah menggunakan modul rewrite :

https://website.com/2022/05/09/mod-rewrite-apache

Sekian untuk tutorial cara melakukan konfigurasi modul rewrite pada Ubuntu Server 20.04, semoga ilmu yang kalian dapat dari tutorial ini bisa bermanfaat untuk kalian semua. Terima kasih.

Thursday 5 May 2022

Konfigurasi LAMP Server pada Ubuntu Server 20.04

Pada tutorial ini kita akan membahas tentang konfigurasi LAMP Server pada Ubuntu Server 20.04

LAMP Server, singkatan dari Linux, Apache, MySQL, PHP/Perl/Python, adalah setup yang sangat populer untuk Ubuntu Server. Dengan menggunakan beberapa aplikasi tambahan, Ubuntu dapat menjadi server sistem yang cukup andal. MySQL digunakan sebagai database dengan tambahan PHPMyAdmin untuk sistem pengelolaannya, lalu Apache digunakan sebagai server web itu sendiri dan PHP/Perl/Phyton digunakan untuk memproses konten yang dinamis.