Instalasi di cPanel

  • Diperbarui
  • 4 menit baca
  • Untuk operator sekolah
  • Waktu pengerjaan 30–60 menit

RingkasnyaBuat database MySQL, ekstrak paket rilis di luar public_html, arahkan document root ke folder public, isi .env, lalu jalankan php artisan pondok:install. Seluruh proses bisa dilakukan dari panel cPanel, dengan atau tanpa Terminal.

Daftar isi

Panduan ini untuk operator sekolah yang memasang Pondok CMS di shared hosting cPanel. Anda perlu akses ke File Manager, MySQL Databases, Cron Jobs, dan bila ada, Terminal.

Contoh di panduan ini memakai akun cPanel akun dengan folder rumah /home/akun dan domain pondok.sch.id. Sesuaikan dengan milik Anda.

Sebelum mulai

Pastikan hosting memenuhi kebutuhan server: PHP 8.3, ekstensi yang diperlukan, dan MySQL 8.0 atau MariaDB 10.6.

1. Membuat database Tautan ke bagian 1. Membuat database

  1. Buka MySQL Databases di cPanel.
  2. Buat database baru, misalnya akun_pondok.
  3. Buat user database baru, misalnya akun_pondok, dengan password yang kuat. Simpan passwordnya.
  4. Tambahkan user tersebut ke database dengan hak ALL PRIVILEGES.

2. Mengunggah dan mengekstrak paket Tautan ke bagian 2. Mengunggah dan mengekstrak paket

  1. Unduh paket rilis pondok-<versi>.zip. Unduh juga berkas .sha256 bila ingin mencocokkan checksum.
  2. Buka File Manager, lalu masuk ke folder rumah /home/akun, bukan public_html.
  3. Unggah zip, lalu pilih Extract. Hasilnya folder /home/akun/pondok.
Jangan mengekstrak ke public_html

Folder aplikasi harus berada di luar public_html. Bila seluruh aplikasi berada di folder web, berkas .env yang berisi password database bisa diunduh siapa saja.

Paket berisi berkas .htaccess di root aplikasi yang menolak semua akses. Bila setelah instalasi semua halaman menampilkan 403 Forbidden, aplikasi terekstrak di dalam folder web. Lihat Semua halaman 403.

Gunakan paket rilis resmi, bukan unduhan kode sumber. Paket rilis sudah berisi vendor/ dan aset tampilan di public/build.

3. Mengatur document root Tautan ke bagian 3. Mengatur document root

Situs harus dibuka dari folder public aplikasi, bukan dari folder aplikasi. Pilih salah satu cara.

Cara A (disarankan): arahkan document root ke folder public Tautan ke bagian Cara A (disarankan): arahkan document root ke folder public

Di menu Domains (atau Subdomains / Addon Domains), ubah document root domain menjadi:

TEXT
/home/akun/pondok/public

Cara B: document root tidak bisa diubah Tautan ke bagian Cara B: document root tidak bisa diubah

Pakai cara ini bila domain harus tetap memakai public_html.

  1. Isi di .env:

    .env
    PONDOK_PUBLIC_PATH=/home/akun/public_html
  2. Setelah instalasi (langkah 5), jalankan:

    Terminal
    php artisan pondok:publish-public

Perintah ini menyalin isi public/ (aset public/build, Filament, ikon) ke public_html dan menulis index.php yang menunjuk ke folder aplikasi. Folder lain di public_html, misalnya cgi-bin dan .well-known, tidak disentuh. Blok cPanel-generated handler di public_html/.htaccess juga dipertahankan.

4. Mengisi .env Tautan ke bagian 4. Mengisi .env

Berkas .env berisi pengaturan server. Templatnya .env.production.example. Perintah pondok:install menyalinnya menjadi .env secara otomatis bila .env belum ada, jadi Anda bisa menjalankan instalasi sekali lalu mengisi .env, atau menyalinnya sendiri lebih dulu.

Buka .env lewat File Manager (aktifkan Show Hidden Files), lalu isi minimal:

.env
APP_URL=https://pondok.sch.id

DB_HOST=localhost
DB_DATABASE=akun_pondok
DB_USERNAME=akun_pondok
DB_PASSWORD=password-database-anda

SUPER_ADMIN_NAME="Super Admin"
SUPER_ADMIN_EMAIL=admin@pondok.sch.id
SUPER_ADMIN_PASSWORD=password-minimal-8-karakter

APP_URL harus persis sama dengan alamat yang dibuka pengunjung, termasuk https://. Alamat ini dipakai QR pada surat dan gambar di portal.

Biarkan APP_ENV=production dan APP_DEBUG=false. Penjelasan semua kunci, termasuk email SMTP, ada di Konfigurasi .env.

5. Menjalankan instalasi Tautan ke bagian 5. Menjalankan instalasi

Perintah pondok:install memeriksa server, membuat APP_KEY, membuat tabel, mengisi data awal (jenjang, tahun ajaran, peran, pengaturan), membuat akun super-admin, dan menghubungkan folder unggahan publik.

Perintah ini aman dijalankan ulang. Data yang sudah ada tidak ditimpa dan password super-admin tidak diubah.

Dengan Terminal cPanel Tautan ke bagian Dengan Terminal cPanel

Terminal
cd ~/pondok
/opt/cpanel/ea-php83/root/usr/bin/php artisan pondok:install

Bila PHP default Terminal sudah 8.3, cukup:

Terminal
php artisan pondok:install

Bila SUPER_ADMIN_* di .env kosong, perintah menanyakan nama, email, dan password. Anda juga bisa memberikannya lewat opsi:

Terminal
php artisan pondok:install --admin-name="Super Admin" --admin-email=admin@pondok.sch.id --admin-password=password-anda

Tanpa Terminal (cron sekali jalan) Tautan ke bagian Tanpa Terminal (cron sekali jalan)

  1. Buka Cron Jobs, lalu tambahkan cron setiap menit:

    TEXT
    /opt/cpanel/ea-php83/root/usr/bin/php /home/akun/pondok/artisan pondok:install --no-interaction >> /home/akun/pondok/storage/logs/install.log 2>&1
  2. Tunggu satu sampai dua menit.

  3. Buka storage/logs/install.log di File Manager dan baca hasilnya.

  4. Hapus cron tersebut.

Hapus cron instalasi

Cron sekali jalan hanya untuk instalasi. Jangan biarkan cron pondok:install tetap aktif setelah selesai.

Cara yang sama bisa dipakai untuk perintah lain, misalnya pondok:publish-public pada cara B: ganti nama perintahnya, tunggu, baca log, lalu hapus cron.

6. Menghubungkan folder unggahan publik Tautan ke bagian 6. Menghubungkan folder unggahan publik

Foto portal dan gambar lain disimpan di storage/app/public dan ditampilkan lewat tautan public/storage. pondok:install membuat tautan ini otomatis, setara php artisan storage:link.

Bila hosting mematikan fungsi symlink, instalasi tetap selesai tetapi menampilkan peringatan dan baris yang perlu ditambahkan ke .env, misalnya:

.env
PUBLIC_STORAGE_ROOT=/home/akun/pondok/public/storage

Untuk cara B, nilainya /home/akun/public_html/storage. Dengan pengaturan ini unggahan publik disimpan langsung di folder web tanpa symlink. Jalankan ulang pondok:install setelah mengubah .env.

Dokumen pribadi santri tetap disimpan di luar folder web.

7. Menambahkan cron Tautan ke bagian 7. Menambahkan cron

Pondok CMS butuh satu cron yang berjalan setiap menit untuk antrean email, tagihan bulanan, dan pemeriksaan kesehatan. Di Cron Jobs, pilih “Once Per Minute”, lalu isi:

TEXT
/opt/cpanel/ea-php83/root/usr/bin/php /home/akun/pondok/artisan schedule:run >> /dev/null 2>&1

Variasi path PHP dan cara bila proc_open dimatikan dijelaskan di Cron dan antrean.

8. Login pertama Tautan ke bagian 8. Login pertama

  1. Buka https://pondok.sch.id/admin.
  2. Masuk dengan email dan password super-admin dari langkah 4.
  3. Setelah berhasil login, hapus nilai SUPER_ADMIN_PASSWORD dari .env.
Periksa instalasi

Aktifkan HTTPS lalu jalankan php artisan pondok:doctor untuk memastikan semuanya siap. Lihat HTTPS dan pemeriksaan.

Langkah berikutnya Tautan ke bagian Langkah berikutnya

Perbaiki halaman ini di GitHub