new configs for deployment
This commit is contained in:
+6
-33
@@ -1,45 +1,18 @@
|
|||||||
# Git
|
|
||||||
.git
|
.git
|
||||||
.gitignore
|
.gitignore
|
||||||
.gitattributes
|
*.md
|
||||||
|
**/README.md
|
||||||
# Docker files (tidak perlu masuk image)
|
|
||||||
docker-compose.yml
|
docker-compose.yml
|
||||||
.dockerignore
|
.dockerignore
|
||||||
|
|
||||||
# Dokumentasi
|
|
||||||
README.md
|
|
||||||
**/README.md
|
|
||||||
|
|
||||||
# SQL files (hanya dipakai untuk init DB, bukan bagian app)
|
|
||||||
**/setup.sql
|
**/setup.sql
|
||||||
**/schema.sql
|
**/schema.sql
|
||||||
**/database.sql
|
**/database.sql
|
||||||
**/seed.sql
|
**/seed.sql
|
||||||
database/
|
|
||||||
|
|
||||||
# Seed scripts (hanya untuk dev)
|
|
||||||
**/seed.php
|
**/seed.php
|
||||||
|
database/
|
||||||
# OS & editor junk
|
|
||||||
.DS_Store
|
|
||||||
Thumbs.db
|
|
||||||
desktop.ini
|
|
||||||
*.swp
|
|
||||||
*.swo
|
|
||||||
*~
|
|
||||||
|
|
||||||
# IDE
|
|
||||||
.vscode/
|
|
||||||
.idea/
|
|
||||||
*.code-workspace
|
|
||||||
|
|
||||||
# Logs
|
|
||||||
*.log
|
|
||||||
logs/
|
|
||||||
|
|
||||||
# Environment files (jangan masuk image)
|
|
||||||
.env
|
.env
|
||||||
.env.*
|
.env.*
|
||||||
!.env.example
|
!.env.example
|
||||||
|
.DS_Store
|
||||||
|
.vscode/
|
||||||
|
*.log
|
||||||
@@ -1,17 +1,12 @@
|
|||||||
FROM php:8.2-apache
|
FROM php:8.2-apache
|
||||||
|
|
||||||
# Enable mod_rewrite for clean URLs and .htaccess support
|
|
||||||
RUN a2enmod rewrite
|
RUN a2enmod rewrite
|
||||||
|
|
||||||
# Install PHP extensions needed: mysqli (sig-03), pdo + pdo_mysql (sig-01, sig-02)
|
|
||||||
RUN docker-php-ext-install mysqli pdo pdo_mysql
|
RUN docker-php-ext-install mysqli pdo pdo_mysql
|
||||||
|
|
||||||
# Allow .htaccess overrides in /var/www/html
|
|
||||||
RUN sed -i 's/AllowOverride None/AllowOverride All/g' /etc/apache2/apache2.conf
|
RUN sed -i 's/AllowOverride None/AllowOverride All/g' /etc/apache2/apache2.conf
|
||||||
|
|
||||||
# Copy all project files into Apache web root
|
|
||||||
COPY . /var/www/html/
|
COPY . /var/www/html/
|
||||||
|
|
||||||
# Fix file permissions
|
|
||||||
RUN chown -R www-data:www-data /var/www/html \
|
RUN chown -R www-data:www-data /var/www/html \
|
||||||
&& chmod -R 755 /var/www/html
|
&& chmod -R 755 /var/www/html
|
||||||
+6
-14
@@ -1,7 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
// FILE INI HANYA UNTUK INISIALISASI DATABASE
|
// HAPUS FILE INI SETELAH DIPAKAI!
|
||||||
// HAPUS SETELAH DIPAKAI!
|
|
||||||
|
|
||||||
$host = getenv('DB_HOST') ?: 'localhost';
|
$host = getenv('DB_HOST') ?: 'localhost';
|
||||||
$user = getenv('DB_USER') ?: 'root';
|
$user = getenv('DB_USER') ?: 'root';
|
||||||
$pass = getenv('DB_PASS') ?: '';
|
$pass = getenv('DB_PASS') ?: '';
|
||||||
@@ -12,8 +10,6 @@ if ($conn->connect_error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$sqls = file_get_contents(__DIR__ . '/database/init.sql');
|
$sqls = file_get_contents(__DIR__ . '/database/init.sql');
|
||||||
|
|
||||||
// Pisah per statement
|
|
||||||
$statements = array_filter(array_map('trim', explode(';', $sqls)));
|
$statements = array_filter(array_map('trim', explode(';', $sqls)));
|
||||||
|
|
||||||
$success = 0;
|
$success = 0;
|
||||||
@@ -29,16 +25,12 @@ foreach ($statements as $sql) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
echo "<h2>DB Init Result</h2>";
|
echo "<h2>DB Init Result</h2>";
|
||||||
echo "<p style='color:green'>✅ $success statements executed successfully.</p>";
|
echo "<p style='color:green'>✅ $success statements OK</p>";
|
||||||
|
|
||||||
if (!empty($errors)) {
|
if (!empty($errors)) {
|
||||||
echo "<h3 style='color:red'>Errors (" . count($errors) . "):</h3>";
|
echo "<h3 style='color:orange'>Errors (" . count($errors) . "):</h3>";
|
||||||
foreach ($errors as $e) {
|
foreach ($errors as $e) echo "<pre style='background:#fee;padding:8px'>$e</pre>";
|
||||||
echo "<pre style='background:#fee;padding:8px'>$e</pre>";
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
echo "<p style='color:green'>✅ All done! Semua database berhasil dibuat.</p>";
|
echo "<p style='color:green'><b>✅ Semua database berhasil dibuat!</b></p>";
|
||||||
echo "<p style='color:red'><b>⚠️ HAPUS FILE INI SEKARANG dari repo!</b></p>";
|
echo "<p style='color:red'><b>⚠️ Sekarang hapus file ini dari repo!</b></p>";
|
||||||
}
|
}
|
||||||
|
|
||||||
$conn->close();
|
$conn->close();
|
||||||
@@ -3,30 +3,8 @@ services:
|
|||||||
build: .
|
build: .
|
||||||
expose:
|
expose:
|
||||||
- "80"
|
- "80"
|
||||||
depends_on:
|
|
||||||
db:
|
|
||||||
condition: service_healthy
|
|
||||||
environment:
|
environment:
|
||||||
DB_HOST: swc8c4cgcg0s40g04c8k0gso
|
DB_HOST: swc8c4cgcg0s40g04c8k0gso
|
||||||
DB_USER: mysql
|
DB_USER: mysql
|
||||||
DB_PASS: yPsQNavb6V4loDnXIQz1uluEaQBflV7YsrZBx6HSOXgnK54L85vi1nTdAfWmswDl
|
DB_PASS: yPsQNavb6V4loDnXIQz1uluEaQBflV7YsrZBx6HSOXgnK54L85vi1nTdAfWmswDl
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
db:
|
|
||||||
image: mysql:8.0
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
MYSQL_ROOT_PASSWORD: Cb6aGo2ccTVo10wdtU3QM0Ch2yEE8Z1PR9OIXUvmKfAQrCmntWabaQa3JFqi0Vz0
|
|
||||||
MYSQL_DATABASE: sig_spbu
|
|
||||||
volumes:
|
|
||||||
- db_data:/var/lib/mysql
|
|
||||||
- ./database/init.sql:/docker-entrypoint-initdb.d/init.sql
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -u root -prootpassword || exit 1"]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 15
|
|
||||||
start_period: 30s
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
db_data:
|
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
// Konfigurasi koneksi database
|
|
||||||
// Mendukung environment variable Docker (DB_HOST) maupun hardcoded untuk Laragon
|
|
||||||
define('DB_HOST', getenv('DB_HOST') ?: 'localhost');
|
define('DB_HOST', getenv('DB_HOST') ?: 'localhost');
|
||||||
define('DB_NAME', 'sig_spbu');
|
define('DB_NAME', 'sig_spbu');
|
||||||
define('DB_USER', getenv('DB_USER') ?: 'root');
|
define('DB_USER', getenv('DB_USER') ?: 'root');
|
||||||
@@ -10,11 +8,7 @@ define('DB_CHARSET', 'utf8mb4');
|
|||||||
function getDB(): PDO {
|
function getDB(): PDO {
|
||||||
static $pdo = null;
|
static $pdo = null;
|
||||||
if ($pdo !== null) return $pdo;
|
if ($pdo !== null) return $pdo;
|
||||||
|
$dsn = sprintf('mysql:host=%s;dbname=%s;charset=%s', DB_HOST, DB_NAME, DB_CHARSET);
|
||||||
$dsn = sprintf(
|
|
||||||
'mysql:host=%s;dbname=%s;charset=%s',
|
|
||||||
DB_HOST, DB_NAME, DB_CHARSET
|
|
||||||
);
|
|
||||||
try {
|
try {
|
||||||
$pdo = new PDO($dsn, DB_USER, DB_PASS, [
|
$pdo = new PDO($dsn, DB_USER, DB_PASS, [
|
||||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||||
|
|||||||
@@ -1,17 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* Koneksi database (PDO).
|
|
||||||
* Mendukung environment variable Docker (DB_HOST) maupun hardcoded untuk Laragon.
|
|
||||||
*/
|
|
||||||
|
|
||||||
define('DB_HOST', getenv('DB_HOST') ?: '127.0.0.1');
|
define('DB_HOST', getenv('DB_HOST') ?: '127.0.0.1');
|
||||||
define('DB_PORT', '3306');
|
define('DB_PORT', '3306');
|
||||||
define('DB_NAME', 'sig_mapping');
|
define('DB_NAME', 'sig_mapping');
|
||||||
define('DB_USER', getenv('DB_USER') ?: 'root');
|
define('DB_USER', getenv('DB_USER') ?: 'root');
|
||||||
define('DB_PASS', getenv('DB_PASS') ?: '');
|
define('DB_PASS', getenv('DB_PASS') ?: '');
|
||||||
|
|
||||||
function db(): PDO
|
function db(): PDO {
|
||||||
{
|
|
||||||
static $pdo = null;
|
static $pdo = null;
|
||||||
if ($pdo === null) {
|
if ($pdo === null) {
|
||||||
$dsn = sprintf('mysql:host=%s;port=%s;dbname=%s;charset=utf8mb4', DB_HOST, DB_PORT, DB_NAME);
|
$dsn = sprintf('mysql:host=%s;port=%s;dbname=%s;charset=utf8mb4', DB_HOST, DB_PORT, DB_NAME);
|
||||||
|
|||||||
+5
-7
@@ -1,16 +1,14 @@
|
|||||||
<?php
|
<?php
|
||||||
define('DB_HOST', getenv('DB_HOST') ?: 'localhost');
|
$host = getenv('DB_HOST') ?: 'localhost';
|
||||||
define('DB_USER', getenv('DB_USER') ?: 'root');
|
$user = getenv('DB_USER') ?: 'root';
|
||||||
define('DB_PASS', getenv('DB_PASS') ?: '');
|
$pass = getenv('DB_PASS') ?: '';
|
||||||
define('DB_NAME', 'sig_bansos');
|
$db = 'sig_bansos';
|
||||||
|
|
||||||
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
|
|
||||||
|
|
||||||
|
$conn = new mysqli($host, $user, $pass, $db);
|
||||||
if ($conn->connect_error) {
|
if ($conn->connect_error) {
|
||||||
http_response_code(500);
|
http_response_code(500);
|
||||||
die(json_encode(['success' => false, 'message' => 'Koneksi database gagal: ' . $conn->connect_error]));
|
die(json_encode(['success' => false, 'message' => 'Koneksi database gagal: ' . $conn->connect_error]));
|
||||||
}
|
}
|
||||||
|
|
||||||
$conn->set_charset('utf8mb4');
|
$conn->set_charset('utf8mb4');
|
||||||
|
|
||||||
header('Content-Type: application/json');
|
header('Content-Type: application/json');
|
||||||
|
|||||||
Reference in New Issue
Block a user