40024-vm/install.php
Flatlogic Bot 88752efa83 Hhh
2026-05-17 16:07:02 +00:00

130 lines
5.4 KiB
PHP

<?php
declare(strict_types=1);
require_once __DIR__ . '/includes/site.php';
require_once __DIR__ . '/includes/layout.php';
function manual_source_label(string $source): string
{
switch ($source) {
case 'manual_file':
return 'file manual db/database.php';
case 'env':
return 'environment server';
case 'legacy_installer_file':
return 'file legacy db/installer-config.php';
default:
return 'belum ada';
}
}
$status = site_installation_status();
$nextPath = safe_install_next_path((string)($_GET['next'] ?? '/'));
$configPath = db_manual_config_relative_path();
$configTemplate = db_export_settings_file([
'DB_HOST' => 'localhost',
'DB_PORT' => '3306',
'DB_NAME' => 'usernamecpanel_namadb',
'DB_USER' => 'usernamecpanel_userdb',
'DB_PASS' => 'password_database',
]);
render_page_start([
'title' => 'Konfigurasi Database Manual',
'description' => 'Panduan isi file db/database.php untuk koneksi MySQL atau MariaDB.',
'canonical' => canonical_for('install.php'),
'robots' => 'noindex,nofollow',
'keywords' => 'konfigurasi database manual, mysql cpanel, database php',
'body_class' => 'install-page',
]);
?>
<main id="main-content" class="page-wrap py-5">
<div class="container">
<section class="hero-panel mb-4">
<div class="row g-4 align-items-center">
<div class="col-lg-7">
<span class="eyebrow">Setup manual</span>
<h1 class="hero-title mt-3 mb-3">Installer form dinonaktifkan. Isi database lewat file PHP saja.</h1>
<p class="hero-copy mb-0">Sekarang koneksi MySQL/MariaDB memakai file <code><?= e($configPath) ?></code>. Jadi saat pindah ke cPanel/shared hosting, Anda cukup edit satu file lalu reload website.</p>
</div>
<div class="col-lg-5">
<div class="panel-card h-100">
<div class="card-label">Yang perlu disiapkan</div>
<ul class="mb-0 ps-3 small">
<li>Host database, biasanya <code>localhost</code>.</li>
<li>Port MySQL, default <code>3306</code>.</li>
<li>Nama database dari cPanel atau hosting.</li>
<li>Username dan password database.</li>
</ul>
</div>
</div>
</div>
</section>
<div class="row g-4">
<div class="col-lg-4">
<section class="panel-card h-100">
<div class="card-label">Status saat ini</div>
<?php if (!empty($status['ready'])): ?>
<div class="alert alert-success mb-3">Aplikasi sudah terhubung ke database.</div>
<p class="section-copy mb-2">Sumber konfigurasi aktif: <strong><?= e(manual_source_label((string)$status['source'])) ?></strong>.</p>
<p class="section-copy mb-0">Kalau website sudah normal, file <code><?= e($configPath) ?></code> tidak perlu diubah lagi.</p>
<?php else: ?>
<div class="alert alert-warning mb-3">
<strong><?= e((string)$status['message']) ?></strong>
<?php if (!empty($status['details'])): ?>
<div class="small mt-2"><?= e((string)$status['details']) ?></div>
<?php endif; ?>
</div>
<p class="section-copy mb-0">Setelah file manual terisi benar, website akan membuat tabel blog otomatis saat halaman utama dibuka.</p>
<?php endif; ?>
</section>
</div>
<div class="col-lg-8">
<section class="panel-card">
<div class="section-heading mb-4">
<span class="section-kicker">File yang diedit</span>
<h2 class="section-title mb-2">Buka <code><?= e($configPath) ?></code> lalu isi seperti ini</h2>
<p class="section-copy mb-0">Anda tidak perlu submit form. Cukup simpan file, lalu refresh browser.</p>
</div>
<pre class="mb-4"><code><?= e($configTemplate) ?></code></pre>
<div class="alert alert-secondary small mb-4">
Untuk cPanel, nama database dan username sering wajib memakai prefix akun. Contoh: jika akun cPanel <code>kawaii</code>, maka bisa menjadi <code>kawaii_appdb</code> dan <code>kawaii_appuser</code>.
</div>
<div class="row g-3">
<div class="col-md-6">
<div class="panel-card h-100 bg-light border-0">
<div class="card-label">Urutan setup</div>
<ol class="mb-0 ps-3 small">
<li>Buat database MySQL di cPanel.</li>
<li>Import <code>db/database.sql</code> lewat phpMyAdmin.</li>
<li>Edit file <code><?= e($configPath) ?></code>.</li>
<li>Buka ulang halaman website.</li>
</ol>
</div>
</div>
<div class="col-md-6">
<div class="panel-card h-100 bg-light border-0">
<div class="card-label">Langkah berikutnya</div>
<div class="d-flex flex-wrap gap-2">
<?php if (!empty($status['ready'])): ?>
<a class="btn btn-dark" href="<?= e($nextPath) ?>">Masuk ke website</a>
<?php else: ?>
<a class="btn btn-dark" href="index.php">Coba reload beranda</a>
<?php endif; ?>
<a class="btn btn-outline-dark" href="healthz.php">Cek health</a>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</main>
<?php render_page_end(); ?>