Selama ini kita ketahui bahwa instalasi eRapor SMK di sistem operasi Windows relatif mudah dan cepat untuk dilakukan. Namun instalasi eRapor SMK di Linux memiliki keunggulan tersendiri dibandingkan instalasi di Windows karena beberapa hal :
- Keamanan yang lebih baik karena umumnya dikhususkan untuk server saja, tidak digunakan untuk pekerjaan lain. Relatif mudah untuk mengimplementasikan teknologi TLS/SSL (misal via LetsEncrypt)
- Umumnya layanan web hosting dan VPS menggunakan sistem operasi Lunux
- Bebas dari ancaman virus yang dapat membuat layanan eRapor SMK terhenti dan mengganggu kegiatan penilaian maupun penerimaan rapor
- dsb.
Pada tutorial ini yang digunakan adalah distro Ubuntu Server 18.04.3 LTS (Long Term Support), tanpa desktop. Distro ini kami pilih karena relatif ringan dan kebetulan memiliki versi PHP bawaan sesuai dengan yang dibutuhkan oleh eRapor SMK versi 5, yaitu versi 7.2.x, sehingga tidak memerlukan langkah yang terlalu rumit untuk instalasi PHP. Selain itu, seri LTS tentunya memiliki keunggulan tersendiri karena dukungan yang diberikan oleh Ubuntu jauh lebih lama dibanding rilis reguler (baca: Ubuntu Release Cycle). Berikut adalah langkah-langkah yang perlu dilakukan saat melakukan instalasi eRapor SMK di Ubuntu Server 18.04.3 :
Install Sistem Operasi
Install Ubuntu Server 18.04.3 menggunakan file ISO yang dapat diunduh di sini : Ubuntu 18.04.3 LTS (Bionic Beaver). Gunakan jaringan dengan koneksi internet yang tersedia melalui setting DHCP, atau setting IP static pada saat instalasi jika Anda sudah memiliki IP address yang disiapkan secara khusus (misal: koneksi internet dedicated dengan IP public yang static)
Pada langkah untuk menginstall OpenSSH Server, silakan pilih untuk menginstallnya, karena akan sangat membantu saat mengelola server melalui jaringan (misal menggunakan aplikasi puTTY). Pada contoh yang digunakan ini, user biasa (sudo-er) yang dibuat pada saat instalasi adalah erapor, untuk itu sesuaikan langkah-langkah pada tutorial ini jika Anda menggunakan username yang berbeda.
*catatan: Jika Anda menggunakan layanan VPS, biasanya Anda cukup memilihnya saja dari paket OS yang ditawarkan, lalu akan diberikan akses ke sistem operasi menggunakan akun tertentu
Login ke Sistem Operasi
Setelah langkah instalasi selesai, Anda bisa masuk (login) ke command line interface menggunakan username dan password yang Anda tentukan pada saat instalasi.
Penggantian Setting IP Address ke IP Static
Penggantian alamat IP menjadi static diperlukan jika Anda lupa atau belum melakukan setting IP static pada saat instalasi. IP static mutlak diperlukan karena server memang seharusnya memiliki alamat IP yang tidak berubah-ubah setiap waktu (kecuali menggunakan static lease di DHCP server tentunya). Ketikkan perintah berikut, lalu masukkan password untuk user sistem operasi yang Anda tentukan pada saat instalasi. Setiap kali Anda menjalankan perintah menggunakan sudo untuk pertama kali setiap sesi, Anda harus memasukkan password.
Tips:
Jika Anda sedang memerlukan untuk menjalankan banyak perintah di CLI sebagai root / superuser, bisa menggunakan prompt selaku root menggunakan perintah :
sudo su
Maka berikutnya Anda tidak perlu lagi mengawali perintah menggunakan keyword sudo. Untuk kembali ke prompt sebagai user biasa, gunakan Ctrl-D, atau su namauser
$ sudo nano /etc/netplan/50-cloud-init.yaml
Edit konfigurasi tersebut menjadi seperti ini, atau menyesuaikan dengan konfigurasi yang ada di sekolah / server / VPS Anda :
PERHATIAN
Jangan gunakan Tab saat mengedit file ini, karena format yaml tidak membolehkannya. Gunakan spasi biasa.
Simpan konfigurasi dengan Ctrl-X, pilih Y, lalu Enter. Lalu restart netplan untuk menerapkan perubahan setting IP menggunakan perintah:
$ sudo nano netplan apply
Cek efektivitas setting IP yang baru saja Anda terapkan dengan menggunakan perintah ifconfig . Lakukan juga pengujian menggunakan ping dari komputer lain di jaringan.
Instalasi dan Setting Aplikasi Prasyarat (prerequisites) yang Dibutuhkan eRapor SMK
Ubuntu menggunakan APT (Application Packaging Tool) untuk manajemen paket aplikasi, seperti yang digunakan di Debian. Untuk memastikan bahwa index aplikasi yang akan diinstall sudah dimutakhirkan, jalankan perintah :
$ sudo apt update
Jika sukses, install aplikasi yang dibutuhkan menggunakan perintah berikut:
$ sudo apt install apache2 libapache2-mod-php7.2 php7.2 php7.2-xml php7.2-gd php7.2-opcache php7.2-mbstring php7.2-curl php7.2-zip php7.2-pgsql composer postgresql postgresql-contrib
Jika semua berjalan dengan lancar, seharusnya perintah tersebut (setelah Anda konfirmasi untuk memulai menginstall), akan berakhir seperti ini. Jika masih ada yang “Failed” atau “Error”, maka cek kembali konfigurasi IP address Anda.
Penambahan Ekstensi ionCube Loader bagi PHP 7.2
Download dan copy ionCube Loader menggunakan perintah berikut:
$ sudo su
# cd /tmp && wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
# tar xzf ioncube_loaders_lin_x86-64.tar.gz
# cp ioncube/ioncube_loader_lin_7.2.so /usr/lib/php/7.2/
Tambahkan ionCube Loader sebagai ekstensi PHP dengan mengedit file (bisa menggunakan nano) /etc/php/7.2/apache2/php.ini dan /etc/php/7.2/cli/php.ini pada bagian atas file yang bertanda [PHP] menjadi seperti ini:
[PHP]
zend_extension=/usr/lib/php/7.2/ioncube_loader_lin_7.2.so
Restart Apache menggunakan perintah:
# service apache2 reload
Uji coba apakah ionCube Loader sudah berhasil terpasang, dengan perintah:
# php -v
Jika sudah sesuai, seharusnya muncul tampilan semacam ini:
Pembuatan Akun dan Database
Jalankan perintah berikut untuk membuat akun baru bagi server database:
# sudo -u postgres createuser --interactive
Buat database sesuai dengan nama user yang dibuat pada langkah sebelumnya, menggunakan :
# sudo -u postgres createdb erapor
Tidak ada output apa2 dari langkah tersebut, namun tetap diperlukan untuk membuat database baru. Jika perintah tersebut dijalankan untuk kedua kalinya, maka akan ada pesan bahwa database yang akan dibuat sudah ada.
Set Password Akun Database
Set password bagi akun database yang dibuat pada langkah sebelumnya tadi, menggunakan :
# sudo -u postgres psql
Setelah mendapatkan prompt postgres=# , ketikkan perintah berikut lalu akhiri dengan enter (ganti passwordnya dengan password lain yang Anda kehendaki. Tetap gunakan tanda petik satu untuk mengapitnya.):
ALTER USER erapor WITH PASSWORD 'passwordnya';
Pesan yang muncul seharusnya hanyalah teks ALTER ROLE
Cloning aplikasi eRapor SMK dari repository
Untuk langkah berikut, pastikan Anda sudah mengaktifkan prompt sebagai user biasa, ditandai dengan tanda dollar ($). Jika belum, jalankan perintah berikut (sesuaikan “erapor” dengan username yang Anda gunakan saat menginstall):
# su erapor
Pindah ke home directory user :
$ cd ~
untuk memastikan, gunakan perintah pwd. Outputnya kurang lebih seperti ini:
Lakukan cloning repository :
$ git clone --depth=1 https://github.com/eraporsmk/eraporsmk.git erapor5
Masuk ke directory erapor5, dan hapus directory .git:
$ cd erapor5
$ rm -rf .git
Install dependencies menggunakan composer :
PERHATIAN:
proses ini dapat berlangsung cukup lama, tergantung beban server yang diakses dan koneksi internet yang Anda gunakan. Jika ada bagian yang “failed”, ulangi kembali menjalankan perintah tersebut
$ composer install
Contoh output perintah tersebut jika sukses:
Setting Koneksi Database
Copy sampel file .env untuk digunakan dalam menyimpan konfigurasi database, lalu edit dan sesuaikan dengan setting yang disiapkan pada langkah di atas :
$ cp .env.example .env
$ nano .env
Generate App Key
$ php artisan key:generate
Membuat struktur table
$ php artisan migrate
Menjalankan Seeder untuk mengisi database dengan data referensi
$ php artisan db:seed
Mengganti kepemilikan file dan directory web kepada webserver, serta memindah aplikasi ke /var/www/
$ sudo chown -R www-data:www-data /home/erapor/erapor5/
$ mv /home/erapor/erapor5/ /var/www/
Mengaktifkan mod_rewrite di Apache
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2
Menambahkan setting pada Apache untuk membolehkan penggunaan file .htaccess dan mengganti DocumentRoot ke directory public
Edit file konfigurasi Apache untuk default site:
$ sudo nano /etc/apache2/sites-enabled/000-default.conf
Sesuaikan bagian DocumentRoot menjadi sebagai berikut, serta tambahkan 3 baris seperti ini di bawahnya :
DocumentRoot /var/www/erapor5/public
<Directory /var/www/erapor5/public>
AllowOverride All
</Directory>
Reload service Apache :
$ sudo service apache2 reload
Akses halaman registrasi eRapor SMK
Akses web eRapor SMK melalui web browser di Windows menggunakan IP address yang sudah disetting sebelumnya :
E-RAPOR SMK DIREKTORAT PEMBINAAN SEKOLAH MENENGAH KEJURUAN