Developer Kere Hore
Belajar berkolaborasi dalam sebuah proyek teknologi informasi menyenangkan. Menggelitik kreatifitas. Ceritanya, Sebagai pemuda harapan bangsa… eh, pemuda zaman now, ga keren dong kalo belum pernah nyobain yang namanya ngoprek website. Baru-baru ini, kebetulan ada kesempatan untuk ngoprek website berjamaah ama temen-temen. Di dalam oprek berjamaah ini, saya kebagian jatah meng-online-kan website hasil oprekan. Untuk meng-online-kan website tentu butuh hostingan. Mau sewa VPS, ndak mampu. Mau daftar cloud gratisan ndak punya kartu kridit. Dasar kere!.
Gimana ndak kere, saya cuma gawe sebagai “ngadimin kontrak tahunan”, temen yang satu gawe sebagai staf IT disebuah rumah sakit swasta, yang satunya lagi freelancer programmer yang baru meniti karir. Kebetulan juga setiap awal tahun, saya selalu kebagian jatah puasa gajian. Karena kondisi ini, diputuskan untuk menggunakan “Shared Hosting” sebagai tempat gentayangannya si website. Supaya hore, kita-kita ndak sewa hosting saja, tapi ambil paket reseller. Mudah-mudahan kedepannya bisa dapet tambahan uang jajan dari hasil resale-nya.
Walau kami kere, tapi “skill” temen-temen yang garap website lumayan hore kok. CMS website dikembangkan sendiri oleh teman-teman. Pengembangan menggunakan bahasa pemrogaraman PHP dengan framework Laravel. Disini bisa disimpulkan bahwa teman-teman lumayan hore, dan saya yang paling kere. Makanya, saat yang lain ngoding saya cuma kebagian jatah “deploy” saja. Eits.., karena saya punya temen-temen yang hore, dan punya keinginan untuk makin hore, tentu saja yang kita lakukan tidak berhenti sampai oprekan saja. Saat ini kita juga sedang mengembangkan potensi untuk bisa melayani permintaan, pembuatan website dan aplikasi. Untuk tahu lebih lanjut tentang kami yang kere hore ini, silahkan meilipir ke odis.web.id.
Derita Seorang Tukang Deploy
Derita Pertama
Ngoprek, kalau tidak ada ganjalan, tidak seru. Ganjalan pertama yang dihadapi adalah perbedaan nama direktori “Document Root” bawaan Laravel dengan Cpanel. Laravel menggunakan nama public, sementara Cpanel menggunakan nama public_html. Jadi saat deploy, direktori kudu di-rename mengikuti bawaan Cpanel.
Mengganti nama direktori pada sebuah framework tentu tidak bisa berakhir pada proses rename saja, karena setiap komponen dalam sebuah framework saling berkaitan. Berikut resep mengganti nama Document Root laravel dari public menjadi public_html:
Catatan: Versi yang digunakan disini adalah
PHP7
danLaravel 7.30.1
- Ganti nama direktori public menjadi public_html
- Tambahkan baris berikut pada berkas
public_html/index.php
setelah deklarasi variabel$app
.$app->bind('path.public', function() { return __DIR__; });
Baris tersebut berfungsi untuk binding Document Root ke direktori tempat eksekusi index.php.
- Selanjutnya agar
Artisan
mengenali direktoripublic_html
, tambahkan baris berikut pada berkasapp.php
didalam direktoribootstrap
yang ada di direktoriroot
laravel. Tepatnya:/bootstrap/app.php
.$app->bind('path.public', function() { return base_path().'/public_html'; })
Setelah melakukan langkah-langkah tersebut di atas. Deployment ke Cpanel sama seperti aplikasi pada umumnya. Misal:
- Zip direktori.
- Upload melalui ftp ke direktori
user
, bukan Document root. - Extract berkas zip.
- Buat database dan User.
- Import database.
- Sesuaikan berkas
.env
dengan konfigurasi database.
Seperti itu sederhananya cara untuk men-deploy ke CPanel secara umum, tapi disinilah muncul derita baru.
Derita Kedua
Bagian ini sebenarnya opsional saja. Dengan solusi di atas, website sudah bisa berjalan dan diakses dari internet. Hanya saja, kadang saya suka gatel matanya liat berkas berantakan di direktori user.
Konten direktori root
Laravel bertebaran bak dedaunan yang jatuh ke bumi dimusim gugur, membuat hati ingin segera ngambil sapu lidi ama pengki buat bersihin. Eh, emangnya di Indonesia ada musim gugur? Ah…, sudahlah. Waktunya bebenah, biar ga sakit mata.
- Satukan seluruh direktori di dalam Root direktori Laravel kecuali public_html ke sebuah direktori baru. Misal (karena disini website-nya odis) direktori dengan nama odis.
- Konfigurasi lagi berkas
public_html/index.php
, menyesuaikan dengan struktur direktori yang sekarang:// public_html/index.php $app = require_once __DIR__.'/../odis/bootstrap/app.php';
Perhatikan, ada tambahan direktori odis sebelum bootstrap pada path untuk inisiasi
$app
.
Cara deploy tetap sama seperti sebelumnya. Selesai sudah, sekarang mata sudah ndak sakit lagi.
Referensi: https://medium.com/@pixelvars/laravel-change-public-html-to-public-html-the-right-way-496431aed94