Halo para guru, administrator sekolah, dan developer pemula! 👋
Apakah Anda punya aplikasi absensi siswa berbasis PHP MySQL tapi bingung cara menjalankannya di laptop Fedora tanpa menginstall Apache, PHP, atau MySQL langsung di sistem?
Kali ini, saya bagikan tutorial lengkap dan terbukti berhasil untuk menjalankan aplikasi absensi siswa secara isolated menggunakan Podman di Fedora 43. Semua komponen (web app, database, phpMyAdmin) berjalan di container – aman, ringan, dan mudah di-manage!
Aplikasi yang saya gunakan adalah open-source populer dari GitHub: Unduh aplikasi absensi siswa di sini: (Klone repo ini untuk mendapatkan file PHP dan schema database SQL.)
Keunggulan Pakai Podman untuk Aplikasi Ini
Sudah bawaan Fedora 43 (tidak perlu install Docker).
Lebih aman: Daemonless & rootless, tidak berisiko seperti Docker tradisional.
Isolasi total: Tidak mengotori sistem host.
Mudah backup & pindah: Data database persist di volume.
Multi-container: App PHP, MySQL, dan phpMyAdmin saling terhubung otomatis.
Hasil akhirnya? Dashboard absensi siswa seperti ini muncul di browser lokal Anda!
Persiapan Awal
Pastikan Fedora 43 Anda up-to-date:
sudo dnf update -yInstall podman-compose (untuk manage multi-container):
sudo dnf install podman-compose -yKlone atau salin aplikasi absensi ke folder kerja.
Langkah-Langkah Step-by-Step
Buat Folder Project
mkdir ~/absensi-podman
cd ~/absensi-podman
mkdir srcSalin semua file aplikasi (dari GitHub) ke folder
src(termasuk config.php, index.php, folder absen/kelas/siswa, dan file .sql).Buat Dockerfile (untuk tambah ekstensi mysqli) Buat file
Dockerfile:FROM php:8.4-apache
RUN docker-php-ext-install mysqli pdo_mysqlBuat File compose.yaml Buat file
compose.yaml:version'3.8'
services
web
build.
container_nameabsensi-web
depends_on
db
volumes
./src:/var/www/html:Z
ports
"8080:80"
restartunless-stopped
db
imagemysql8.0
container_nameabsensi-db
environment
MYSQL_ROOT_PASSWORDrootpass123 # Ganti dengan password kuat!
MYSQL_DATABASEabsensi_db
MYSQL_USERabsensi_user
MYSQL_PASSWORDuserpass123 # Ganti
volumes
dbdata:/var/lib/mysql:Z
restartunless-stopped
phpmyadmin
imagedocker.io/phpmyadmin/phpmyadminlatest
container_nameabsensi-pma
depends_on
db
environment
PMA_HOSTdb
PMA_PORT3306
MYSQL_ROOT_PASSWORDrootpass123 # Sama dengan atas
ports
"8081:80"
restartunless-stopped
volumes
dbdata
Edit config.php Ubah host database menjadi
'db'(bukan localhost), dan sesuaikan username/password sesuai compose.yaml.Fix Permission (SELinux di Fedora)
podman unshare chown -R 33:33 srcJalankan Semua Container
podman-compose up -d --buildImport Database Buka http://localhost:8081 (phpMyAdmin), login sebagai root, lalu import file .sql dari aplikasi.
Akses Aplikasi Absensi Buka http://localhost:8080 – dashboard absensi siswa siap pakai!
Tips Praktis
Stop semua:
podman-compose downBackup database:
podman exec absensi-db mysqldump -u root -prootpass123 absensi_db > backup.sqlUpdate kode: Edit file di folder
src, refresh browser – langsung berubah!
Tutorial ini sudah saya praktekkan dan 100% berhasil pada Desember 2025. Cocok untuk sekolah yang butuh sistem absensi sederhana tapi handal.
Unduh aplikasinya sekarang:
Ada pertanyaan atau error? Komentar di bawah ya! Semoga bermanfaat untuk rekan guru dan developer.


