6.5 KiB
Panduan Test SiLARAS 119 di Ubuntu 24.04
Arsip ini berisi aplikasi SiLARAS 119 berbasis CodeIgniter 4.7.2. PHP minimal yang dibutuhkan adalah PHP 8.2. Untuk Ubuntu 24.04, PHP 8.3 sudah cocok.
Ringkasan hasil pengecekan
- Framework: CodeIgniter 4.
- Web root yang benar: folder
public/. - Driver database:
MySQLi. - Database target yang diberikan:
- host:
10.10.123.199 - port:
5017 - user:
silaras_sys - database:
db_silaras
- host:
- File SQL/migration production tidak ditemukan di arsip asli, sehingga mode Docker simulasi memakai schema minimal yang saya susun dari controller, model, dan view.
- Syntax PHP di folder
app/danpublic/sudah dicek denganphp -ldan tidak ditemukan error syntax.
Catatan keamanan: jangan commit file
.envberisi credential database ke repository publik.
Opsi A — Jalankan dengan Docker Compose memakai database asli
Gunakan opsi ini jika komputer Ubuntu 24.04 berada di jaringan/VPN yang bisa mengakses database 10.10.123.199:5017.
1. Install Docker
sudo apt update
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
newgrp docker
Cek instalasi:
docker --version
docker compose version
2. Masuk ke folder project
Jika masih berbentuk RAR:
sudo apt install -y unrar
mkdir -p ~/apps/silaras119
unrar x silaras119.rar ~/apps/silaras119/
cd ~/apps/silaras119/silaras119
Jika sudah memakai folder hasil ekstrak dari paket ini:
cd silaras119
3. Jalankan aplikasi
docker compose up -d --build
Buka browser:
http://localhost:8080
Lihat log jika ada error:
docker compose logs -f app
Cek koneksi dari dalam container ke database asli:
docker compose exec app php -r '$m=new mysqli("10.10.123.199","silaras_sys","119-silaras","db_silaras",5017); echo $m->connect_error ? $m->connect_error.PHP_EOL : "DB OK\n";'
Jika hasilnya DB OK, koneksi database sudah berhasil.
Opsi B — Jalankan simulasi lokal dengan MariaDB dummy
Gunakan opsi ini untuk mencoba UI dan flow aplikasi tanpa konek ke database asli.
1. Jalankan mode simulasi
docker compose -f docker-compose.simulasi.yml up -d --build
Buka:
http://localhost:8080
Akun simulasi:
| Username | Password | Role |
|---|---|---|
admin119 |
119admin |
admin |
leader119 |
119mako |
leader |
perawat119 |
nurse119 |
perawat |
driver119 |
olo119 |
driver |
2. Jalankan smoke test sederhana
bash docker/smoke-test.sh
3. Reset database simulasi dari awal
docker compose -f docker-compose.simulasi.yml down -v
docker compose -f docker-compose.simulasi.yml up -d --build
4. Akses database simulasi dari host
Database simulasi dibuka ke host pada port 3307.
mysql -h 127.0.0.1 -P 3307 -u silaras_sys -p db_silaras
Password:
119-silaras
Opsi C — Jalankan native langsung di Ubuntu 24.04 tanpa Docker
1. Install dependency PHP
sudo apt update
sudo apt install -y php php-cli php-mysql php-mbstring php-intl php-curl php-xml php-zip unzip curl composer netcat-openbsd
Cek versi dan ekstensi penting:
php -v
php -m | grep -E 'mysqli|mbstring|intl|curl|xml|zip'
2. Edit file .env
Pastikan bagian database menjadi seperti ini:
CI_ENVIRONMENT = development
app.baseURL = 'http://localhost:8080/'
database.default.hostname = 10.10.123.199
database.default.database = db_silaras
database.default.username = silaras_sys
database.default.password = 119-silaras
database.default.DBDriver = MySQLi
database.default.port = 5017
encryption.key = silaras119-local-dev-key-change-me
3. Pastikan dependency vendor ada
Arsip ini sudah menyertakan folder vendor/. Jika folder vendor/ hilang, jalankan:
composer install
4. Set permission writable
chmod -R 775 writable
5. Test koneksi database
nc -vz 10.10.123.199 5017
php -r '$m=new mysqli("10.10.123.199","silaras_sys","119-silaras","db_silaras",5017); echo $m->connect_error ? $m->connect_error.PHP_EOL : "DB OK\n";'
6. Jalankan development server
php spark serve --host 0.0.0.0 --port 8080
Buka:
http://localhost:8080
Alur uji manual yang disarankan
- Buka
http://localhost:8080. - Login.
- Masuk ke menu Data Pasien Aktif.
- Klik Tambah Pasien Baru.
- Input data pasien/panggilan.
- Simpan.
- Pastikan pasien muncul pada halaman Pasien Aktif.
- Klik fase Pre Dispatch untuk melihat detail.
- Klik Lanjut untuk menggeser fase ambulans.
Untuk mode simulasi, data awal sudah tersedia sehingga setelah login seharusnya langsung ada data pasien aktif.
Troubleshooting
1. Halaman 500 / Whoops
Cek log:
docker compose logs -f app
# atau untuk simulasi:
docker compose -f docker-compose.simulasi.yml logs -f app
Cek log CodeIgniter:
ls -lah writable/logs
cat writable/logs/log-*.php
2. Database asli tidak bisa diakses
Cek apakah host dan port terbuka dari komputer:
nc -vz 10.10.123.199 5017
Jika gagal, biasanya penyebabnya:
- belum tersambung VPN/jaringan internal,
- firewall menutup port
5017, - user database belum diberi akses dari IP komputer/container,
- host database hanya menerima koneksi dari server tertentu.
3. Login gagal
Aplikasi mengecek tabel users dan memverifikasi password dengan password_verify(). Untuk database asli, pastikan tabel users memiliki kolom:
id, nama, username, password, role
Kolom password harus berisi hash dari password_hash(), bukan plain text.
4. Composer error karena versi PHP
Pastikan PHP minimal 8.2:
php -v
Ubuntu 24.04 umumnya memakai PHP 8.3 sehingga aman.
File Docker yang ditambahkan
Dockerfiledocker-compose.yml— mode database aslidocker-compose.simulasi.yml— mode MariaDB dummy lokaldocker/apache.confdocker/entrypoint.shdocker/mysql/init/001_schema_seed.sqldocker/smoke-test.sh