Tips & Best Practices
Panduan praktis untuk operasional server ujian yang lancar.
Persiapan Sebelum Ujian
H-7: Persiapan Server
- Jalankan
examtool status— pastikan semua hijau - Jalankan
examtool update— update ke versi terbaru - Cek SSL certificate belum expired
- Cek disk space tersedia minimal 20% free
- Pastikan backup database terjadwal
H-1: Uji Coba
- Test akses dari 2-3 PC di lab ujian
- Test login peserta dan dosen
- Test SEB (jika digunakan) dari PC lab
- Cek koneksi internet/intranet stabil
- Siapkan nomor kontak tim pengelola pusat
- Catat IP server dan kredensial di tempat aman
H-0: Hari Ujian
- Restart semua service 30 menit sebelum ujian
- Monitor
examtool statusselama ujian - Siapkan akses SSH untuk troubleshooting darurat
- Jangan jalankan update/backup selama ujian berlangsung
Sizing yang Tepat
Pemilihan tier yang tepat sangat penting:
| Jumlah PC | Tier | RAM Minimum | CPU Minimum |
|---|---|---|---|
| 1-100 | SMALL | 4 GB | 2 core |
| 101-250 | MEDIUM | 8 GB | 4 core |
| 251-500 | LARGE | 16 GB | 8 core |
Tips:
- Hitung jumlah PC fisik + 10-20% cadangan
- Lebih baik over-provision daripada under-provision
- Jika ragu antara dua tier, pilih tier yang lebih tinggi
Keamanan
Password
- Gunakan password minimal 12 karakter
- Kombinasi huruf besar, kecil, angka
- Jangan gunakan password yang sama untuk server lain
- Ganti password secara berkala (minimal per semester)
- Simpan password di password manager, bukan di sticky note
SSH
- Gunakan SSH key authentication jika memungkinkan
- Ganti port SSH default (22) ke port lain
- Batasi akses SSH hanya dari IP admin:
ufw delete allow 22/tcp ufw allow from 192.168.1.0/24 to any port 22
Firewall
- Jangan buka port yang tidak diperlukan
- Review
ufw statussecara berkala - Di jaringan lab, gunakan VLAN terpisah untuk ujian
File .env
- File
.envberisi kredensial sensitif - Jangan share file
.envvia email/chat - Jangan commit file
.envke git - Permission harus 0600:
chmod 600 /etc/examtool.env
Backup
Rutin
# Backup database harian (crontab)
0 2 * * * /usr/local/bin/examtool backup-db
Sebelum Update
Selalu backup sebelum menjalankan update:
examtool backup-db
examtool update
Verifikasi Backup
Sesekali test restore ke server lain untuk memastikan backup valid:
# Di server test
examtool restore-db --file=/path/to/backup.sql.gz
Retensi
- Simpan backup minimal 30 hari
- Backup sebelum ujian penting: simpan lebih lama
- Pindahkan backup ke storage external secara berkala
Monitoring
Cek Rutin (Harian)
# Quick health check
examtool status
Yang Perlu Diperhatikan
- Disk usage > 80%: Bersihkan log lama, backup lama
- Swap usage > 50%: Server butuh lebih banyak RAM
- Memcached hit ratio < 80%: Cek konfigurasi cache
- Error log banyak: Investigasi sebelum ujian
- SSL expiry < 30 hari: Segera perpanjang certificate
Log Rotation
Log otomatis di-rotate oleh logrotate. Jika disk penuh karena log:
# Cek ukuran log
du -sh /var/log/nginx/ /var/log/mysql/ /var/log/php*/
# Bersihkan log lama manual
find /var/log/ -name "*.gz" -mtime +30 -delete
Update & Maintenance
Jadwal Update
- Aplikasi (
examtool update): Setiap ada notifikasi dari tim pusat - Script (
examtool self-update): Setiap ada versi baru - OS (
apt update && apt upgrade): Bulanan, di luar jadwal ujian - SSL Certificate: Sebelum expired
Window Maintenance
- Lakukan update di luar jam ujian
- Idealnya hari Sabtu/Minggu atau malam hari
- Informasikan ke pengguna jika ada downtime
Rollback
Jika update bermasalah:
# Aplikasi: rollback git
cd /var/www/ujian && git checkout <commit-sebelumnya>
# Database: restore backup
examtool restore-db --file=/var/backups/examtool/backup_terbaru.sql.gz
# Script: download versi lama
# Hubungi tim pengelola pusat
Jaringan Lab Ujian
Topologi Ideal
Internet → Router → Switch Utama → Server Ujian
│
Switch Lab → PC 1..N
Rekomendasi
- Server dan PC lab di VLAN yang sama (atau routing cepat)
- Bandwidth minimal 100 Mbps antara server dan switch lab
- Gunakan kabel ethernet, bukan WiFi untuk PC ujian
- Siapkan spare switch dan kabel
DNS Internal
examtool menginstall DNSMasq untuk resolve domain dari LAN. Pastikan PC lab menggunakan IP server sebagai DNS server, atau tambahkan entry di hosts file masing-masing PC.