diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9d8439e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM php:8.2-apache + +# Menginstall ekstensi pdo_mysql agar PHP bisa terhubung ke MySQL/MariaDB +RUN docker-php-ext-install pdo pdo_mysql + +# Mengaktifkan mod_rewrite pada Apache (opsional, tapi sering digunakan di PHP) +RUN a2enmod rewrite + +# Menyalin seluruh source code aplikasi ke direktori web server di dalam container +COPY . /var/www/html/ + +# Mengatur hak akses file agar web server bisa mengaksesnya +RUN chown -R www-data:www-data /var/www/html \ + && chmod -R 755 /var/www/html diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ff8a2b4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,31 @@ +version: '3.8' + +services: + web: + build: . + ports: + - "8080:80" + volumes: + - .:/var/www/html + depends_on: + - db + environment: + - DB_HOST=db + - DB_PORT=3306 + - DB_NAME=webgis_rumah_ibadah + - DB_USER=root + - DB_PASS=rootpassword + + db: + image: mysql:8.0 + restart: always + environment: + MYSQL_DATABASE: webgis_rumah_ibadah + MYSQL_ROOT_PASSWORD: rootpassword + ports: + - "3306:3306" + volumes: + - db_data:/var/lib/mysql + +volumes: + db_data: diff --git a/koneksi.php b/koneksi.php index 69c3050..204c872 100644 --- a/koneksi.php +++ b/koneksi.php @@ -2,12 +2,12 @@ // ============================================================ // KONFIGURASI DATABASE — Sesuaikan dengan Laragon Anda // ============================================================ -define('DB_HOST', '127.0.0.1'); -define('DB_PORT', '3306'); -define('DB_NAME', 'webgis_rumah_ibadah'); -define('DB_USER', 'root'); -define('DB_PASS', ''); // Laragon default: kosong -define('DB_CHAR', 'utf8mb4'); +define('DB_HOST', getenv('DB_HOST') ?: '127.0.0.1'); +define('DB_PORT', getenv('DB_PORT') ?: '3306'); +define('DB_NAME', getenv('DB_NAME') ?: 'webgis_rumah_ibadah'); +define('DB_USER', getenv('DB_USER') ?: 'root'); +define('DB_PASS', getenv('DB_PASS') !== false ? getenv('DB_PASS') : ''); +define('DB_CHAR', getenv('DB_CHAR') ?: 'utf8mb4'); function getDB(): PDO { static $pdo = null;