130 lines
5.4 KiB
PHP
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(); ?>
|