Upload files to "/"
This commit is contained in:
+12
@@ -0,0 +1,12 @@
|
||||
FROM php:8.2-apache
|
||||
|
||||
RUN docker-php-ext-install mysqli pdo pdo_mysql
|
||||
RUN a2enmod rewrite
|
||||
|
||||
COPY . /var/www/html/
|
||||
|
||||
RUN mkdir -p /var/www/html/uploads \
|
||||
&& chown -R www-data:www-data /var/www/html \
|
||||
&& chmod -R 775 /var/www/html/uploads
|
||||
|
||||
EXPOSE 80
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
// File opsional untuk cek environment variable. Hapus setelah selesai debug.
|
||||
echo "<pre>";
|
||||
echo "DB_HOST = " . (getenv('DB_HOST') ?: '(kosong)') . "\n";
|
||||
echo "DB_PORT = " . (getenv('DB_PORT') ?: '(kosong)') . "\n";
|
||||
echo "DB_NAME = " . (getenv('DB_NAME') ?: '(kosong)') . "\n";
|
||||
echo "DB_USER = " . (getenv('DB_USER') ?: '(kosong)') . "\n";
|
||||
echo "DB_PASS = " . (getenv('DB_PASS') ? 'TERISI' : '(kosong)') . "\n";
|
||||
echo "</pre>";
|
||||
?>
|
||||
@@ -0,0 +1,77 @@
|
||||
-- Database UAS WebGIS Kemiskinan Tania
|
||||
-- Cocok untuk Coolify. Database dibuat dari Initial Database, jadi tidak perlu CREATE DATABASE.
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
DROP TABLE IF EXISTS bantuan;
|
||||
DROP TABLE IF EXISTS penduduk_miskin;
|
||||
DROP TABLE IF EXISTS rumah_ibadah;
|
||||
DROP TABLE IF EXISTS admin;
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
CREATE TABLE admin (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
username VARCHAR(100) NOT NULL UNIQUE,
|
||||
password VARCHAR(255) NOT NULL,
|
||||
nama_lengkap VARCHAR(150) DEFAULT 'Administrator',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE rumah_ibadah (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nama_rumah_ibadah VARCHAR(150) NOT NULL,
|
||||
alamat TEXT,
|
||||
lat DOUBLE NOT NULL,
|
||||
lng DOUBLE NOT NULL,
|
||||
jenis_rumah_ibadah ENUM('masjid','gereja') DEFAULT 'masjid',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE penduduk_miskin (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nama VARCHAR(150) NOT NULL,
|
||||
nik VARCHAR(30) DEFAULT NULL,
|
||||
alamat TEXT,
|
||||
pekerjaan VARCHAR(100) DEFAULT NULL,
|
||||
penghasilan INT DEFAULT 0,
|
||||
jumlah_anggota_keluarga INT DEFAULT 1,
|
||||
jumlah_tanggungan INT DEFAULT 0,
|
||||
kategori_kemiskinan ENUM('Miskin','Miskin Ekstrem','Hampir Miskin') DEFAULT 'Miskin',
|
||||
status_bantuan ENUM('Belum','Pernah','Sedang') DEFAULT 'Belum',
|
||||
keterangan TEXT,
|
||||
foto VARCHAR(255) DEFAULT NULL,
|
||||
lat DOUBLE NOT NULL,
|
||||
lng DOUBLE NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE bantuan (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
penduduk_id INT NULL,
|
||||
jenis_bantuan VARCHAR(100) NOT NULL,
|
||||
jumlah_bantuan VARCHAR(100) DEFAULT NULL,
|
||||
tanggal_bantuan DATE NOT NULL,
|
||||
keterangan TEXT,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_bantuan_penduduk
|
||||
FOREIGN KEY (penduduk_id) REFERENCES penduduk_miskin(id)
|
||||
ON DELETE SET NULL ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
INSERT INTO admin (username, password, nama_lengkap) VALUES
|
||||
('admin', 'password', 'Administrator');
|
||||
|
||||
INSERT INTO rumah_ibadah (nama_rumah_ibadah, alamat, lat, lng, jenis_rumah_ibadah) VALUES
|
||||
('Masjid Raya Mujahidin', 'Jl. Jenderal Ahmad Yani, Pontianak', -0.042338, 109.343906, 'masjid'),
|
||||
('Masjid Jami Sultan Syarif Abdurrahman', 'Kampung Beting, Pontianak Timur', -0.021844, 109.351909, 'masjid'),
|
||||
('Gereja Katedral Santo Yosef', 'Jl. Pattimura, Pontianak', -0.027104, 109.342337, 'gereja'),
|
||||
('Gereja HKBP Pontianak', 'Pontianak Kota', -0.033862, 109.333546, 'gereja');
|
||||
|
||||
INSERT INTO penduduk_miskin
|
||||
(nama, nik, alamat, pekerjaan, penghasilan, jumlah_anggota_keluarga, jumlah_tanggungan, kategori_kemiskinan, status_bantuan, keterangan, foto, lat, lng) VALUES
|
||||
('Ahmad Supriadi', '6171010101010001', 'Pontianak Kota', 'Buruh Harian', 900000, 5, 3, 'Miskin', 'Belum', 'Membutuhkan bantuan sembako', '', -0.030500, 109.336200),
|
||||
('Siti Aminah', '6171010101010002', 'Pontianak Barat', 'Ibu Rumah Tangga', 650000, 4, 2, 'Miskin Ekstrem', 'Sedang', 'Prioritas bantuan pangan', '', -0.025800, 109.315900),
|
||||
('Budi Santoso', '6171010101010003', 'Pontianak Timur', 'Nelayan', 1100000, 6, 4, 'Hampir Miskin', 'Pernah', 'Butuh bantuan modal usaha', '', -0.018900, 109.366800);
|
||||
|
||||
INSERT INTO bantuan (penduduk_id, jenis_bantuan, jumlah_bantuan, tanggal_bantuan, keterangan) VALUES
|
||||
(2, 'Sembako', '1 paket', CURDATE(), 'Bantuan awal'),
|
||||
(3, 'Uang Tunai', 'Rp 300.000', CURDATE(), 'Bantuan sosial');
|
||||
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
// install_database.php - installer sementara database UAS Tania
|
||||
// HAPUS file ini setelah database berhasil diimport.
|
||||
|
||||
set_time_limit(300);
|
||||
|
||||
$host = getenv('DB_HOST') ?: 'localhost';
|
||||
$user = getenv('DB_USER') ?: 'root';
|
||||
$pass = getenv('DB_PASS') ?: (getenv('DB_PASSWORD') ?: '');
|
||||
$db = getenv('DB_NAME') ?: 'webgis_kemiskinan';
|
||||
$port = (int)(getenv('DB_PORT') ?: 3306);
|
||||
|
||||
echo "<h2>Install Database UAS WebGIS Kemiskinan</h2>";
|
||||
echo "<p>Target koneksi: <b>" . htmlspecialchars($host) . ":" . htmlspecialchars((string)$port) . "</b>, database: <b>" . htmlspecialchars($db) . "</b>, user: <b>" . htmlspecialchars($user) . "</b></p>";
|
||||
|
||||
$conn = new mysqli($host, $user, $pass, $db, $port);
|
||||
|
||||
if ($conn->connect_error) {
|
||||
die("<p style='color:red'>Koneksi gagal: " . htmlspecialchars($conn->connect_error) . "</p>");
|
||||
}
|
||||
|
||||
$conn->set_charset('utf8mb4');
|
||||
$sqlFile = __DIR__ . '/database.sql';
|
||||
|
||||
if (!file_exists($sqlFile)) {
|
||||
die("<p style='color:red'>File database.sql tidak ditemukan di root project.</p>");
|
||||
}
|
||||
|
||||
$sql = file_get_contents($sqlFile);
|
||||
|
||||
// Buang CREATE DATABASE / USE agar cocok untuk Coolify normal user.
|
||||
$sql = preg_replace('/CREATE\s+DATABASE\s+(IF\s+NOT\s+EXISTS\s+)?`?[^`\s;]+`?.*?;/is', '', $sql);
|
||||
$sql = preg_replace('/USE\s+`?[^`\s;]+`?\s*;/is', '', $sql);
|
||||
|
||||
if ($conn->multi_query($sql)) {
|
||||
do {
|
||||
if ($result = $conn->store_result()) {
|
||||
$result->free();
|
||||
}
|
||||
} while ($conn->more_results() && $conn->next_result());
|
||||
|
||||
if ($conn->errno) {
|
||||
echo "<p style='color:red'>Ada error saat import: " . htmlspecialchars($conn->error) . "</p>";
|
||||
} else {
|
||||
echo "<p style='color:green;font-weight:bold'>Database berhasil diimport/reset.</p>";
|
||||
echo "<p>Akun login: <b>admin</b> / <b>password</b></p>";
|
||||
echo "<p>Setelah ini, hapus file <code>install_database.php</code> dari repo lalu redeploy.</p>";
|
||||
}
|
||||
} else {
|
||||
echo "<p style='color:red'>Import gagal: " . htmlspecialchars($conn->error) . "</p>";
|
||||
}
|
||||
|
||||
$conn->close();
|
||||
?>
|
||||
+18
-16
@@ -1,16 +1,18 @@
|
||||
<?php
|
||||
$host = 'localhost';
|
||||
$user = 'root';
|
||||
$password = '';
|
||||
$database = 'webgis_kemiskinan';
|
||||
|
||||
$conn = new mysqli($host, $user, $password, $database);
|
||||
|
||||
if ($conn->connect_error) {
|
||||
die(json_encode([
|
||||
'status' => 'error',
|
||||
'msg' => 'Koneksi database gagal: ' . $conn->connect_error
|
||||
]));
|
||||
}
|
||||
|
||||
$conn->set_charset("utf8");
|
||||
<?php
|
||||
$host = getenv('DB_HOST') ?: 'localhost';
|
||||
$user = getenv('DB_USER') ?: 'root';
|
||||
$password = getenv('DB_PASS') ?: (getenv('DB_PASSWORD') ?: '');
|
||||
$database = getenv('DB_NAME') ?: 'webgis_kemiskinan';
|
||||
$port = (int)(getenv('DB_PORT') ?: 3306);
|
||||
|
||||
$conn = new mysqli($host, $user, $password, $database, $port);
|
||||
|
||||
if ($conn->connect_error) {
|
||||
die(json_encode([
|
||||
'status' => 'error',
|
||||
'msg' => 'Koneksi database gagal: ' . $conn->connect_error
|
||||
]));
|
||||
}
|
||||
|
||||
$conn->set_charset('utf8mb4');
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user