Instalasi di cPanel
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.
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
- Buka MySQL Databases di cPanel.
- Buat database baru, misalnya
akun_pondok. - Buat user database baru, misalnya
akun_pondok, dengan password yang kuat. Simpan passwordnya. - Tambahkan user tersebut ke database dengan hak ALL PRIVILEGES.
2. Mengunggah dan mengekstrak paket Tautan ke bagian 2. Mengunggah dan mengekstrak paket
- Unduh paket rilis
pondok-<versi>.zip. Unduh juga berkas.sha256bila ingin mencocokkan checksum. - Buka File Manager, lalu masuk ke folder rumah
/home/akun, bukanpublic_html. - Unggah zip, lalu pilih Extract. Hasilnya folder
/home/akun/pondok.
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:
/home/akun/pondok/publicCara 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.
Isi di
.env:.envPONDOK_PUBLIC_PATH=/home/akun/public_htmlSetelah instalasi (langkah 5), jalankan:
Terminalphp 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:
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-karakterAPP_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
cd ~/pondok
/opt/cpanel/ea-php83/root/usr/bin/php artisan pondok:installBila PHP default Terminal sudah 8.3, cukup:
php artisan pondok:installBila SUPER_ADMIN_* di .env kosong, perintah menanyakan nama, email, dan password. Anda juga bisa memberikannya lewat opsi:
php artisan pondok:install --admin-name="Super Admin" --admin-email=admin@pondok.sch.id --admin-password=password-andaTanpa Terminal (cron sekali jalan) Tautan ke bagian Tanpa Terminal (cron sekali jalan)
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>&1Tunggu satu sampai dua menit.
Buka
storage/logs/install.logdi File Manager dan baca hasilnya.Hapus cron tersebut.
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:
PUBLIC_STORAGE_ROOT=/home/akun/pondok/public/storageUntuk 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:
/opt/cpanel/ea-php83/root/usr/bin/php /home/akun/pondok/artisan schedule:run >> /dev/null 2>&1Variasi path PHP dan cara bila proc_open dimatikan dijelaskan di Cron dan antrean.
8. Login pertama Tautan ke bagian 8. Login pertama
- Buka
https://pondok.sch.id/admin. - Masuk dengan email dan password super-admin dari langkah 4.
- Setelah berhasil login, hapus nilai
SUPER_ADMIN_PASSWORDdari.env.
Aktifkan HTTPS lalu jalankan php artisan pondok:doctor untuk memastikan semuanya siap. Lihat HTTPS dan pemeriksaan.