Jika Anda memiliki project Laravel dan ingin menguploadnya ke hosting, menurut saya Serv00 adalah pilihan yang tepat dibanding hosting lain karena banyak fitur yang tersedia secara gratis dan tanpa iklan. Serv00 mendukung koneksi SSH, sehingga Anda bisa melakukan update komponen web dengan mudah. Selain itu, Serv00 juga memiliki server email yang bisa digunakan untuk mencoba fitur email.
Pada artikel ini, saya akan memberikan langkah-langkah dalam mengupload project Laravel ke Serv00. Tetapi sebelum memulai, pastikan Anda sudah mendownload dan menginstall program berikut: Jika Anda sudah mendownload dan menginstall program diatas, langung saja masuk ke langkah-langkah upload project Laravel.- Login ke Serv00. Jika Anda belum memiliki akun Serv00, klik Register, klik Create account dan isi data-data yang ada.
- Buka halaman WWW websites. Biasanya domain website sudah dibuat otomatis setelah membuat akun. Jika Anda ingin membuat domain website baru, klik tab Add new website. Masukkan nama domain dengan format <Nama subdomain tanpa spasi>.<USERNAME>.serv00.net, lalu klik Add. Setelah domain website berhasil dibuat, silahkan Anda coba membuka website tersebut. Jika berhasil terbuka, maka tampilannya adalah sebagai berikut.
- Klik tab Manage SSL certificates. Pada daftar seperti gambar di bawah biasanya sudah ada dua alamat IP, satu untuk website dan satu lagi untuk Email. Untuk mencari tahu alamat IP yang tepat, buka halaman E-mail dan perhatikan pada Outgoing IP. Jadi, dari kedua gambar di atas menunjukkan 213.189.54.126 adalah alamat IP Email, berarti 31.186.83.254 adalah alamat IP website. Kembali ke halaman sebelumnya, lalu klik Manage pada alamat IP website.
- Klik tab Add certificate, pilih Generate Let's Encrypt certificate pada kolom Type. Pada kolom Domain, pilih domain yang akan digunakan dan klik Add.
- Kembali ke WWW websites. Klik Manage pada domain yang akan digunakan dan klik Details. Atur GZIP compression, Allow PHP eval() function, dan Allow PHP exec() function menjadi On. Jika Anda menyalakan Force SSL, pastikan Anda sudah membuat sertifikat SSL pada domain yang akan digunakan. Pada kolom Open Basedir directories, ganti menjadi /usr/home/<USER NAME>/domains/<Domain tujuan> dan klik Save.
- Buka halaman MySQL pada dashboard Serv00, lalu klik tab Add database. Isikan nama database, lalu pilih New user. Isikan username dan password database, lalu klik Add. Jika Anda menggunakan Random password, catat password yang dibuat untuk digunakan pada konfigurasi Laravel.
- Silakan buka folder yang berisi project Laravel yang akan Anda upload, lalu pilih semua file dan folder kecuali .git, .fleet, .idea, .vscode, dan node_modules. Compress file dan folder yang dipilih dengan cara klik kanan pada file atau folder yang dipilih lalu pilih Add to archive.
- Pada bagian Archive format, pilih ZIP atau RAR dan klik OK. Tunggu sampai prosesnya selesai.
- Kembali ke dashboard. Klik File Manager untuk membuka file manager Serv00. Masuk ke folder domains -> <Domain Tujuan>. Silakan upload file zip atau rar yang sudah dibuat tadi dan tunggu sampai proses upload selesai.
-
Masukkan perintah cd domains/<Domain Tujuan> diikuti perintah unzip <Nama file zip>.zip (jika menggunakan ZIP) atau unrar x <Nama file rar>.rar (Jika menggunakan RAR). Tunggu sampai proses ekstrak selesai, lalu refresh File Manager.
-
Impor database dari komputer Anda ke Serv00 phpMyAdmin. Jika Anda tidak ingin mengimpor database, jalankan perintah php artisan migrate pada PuTTY.
-
Masuk ke folder app -> Providers. Edit AppServiceProvider.php dengan menambahkan baris berikut di dalam function register, lalu simpan.
$this->app->bind('path.public',function(){ return base_path('public_html'); });
Tambahan
Cara membuat link simbolik untuk upload file atau foto (Penting)
Jika project Laravel Anda menggunakan upload file atau foto, Anda perlu
membuat link simbolik ke folder storage dengan perintah
php artisan storage:link. Sayangnya perintah ini tidak bisa
berjalan karena link simbolik yang akan dibuat mengarah ke folder public,
bukan public_html sehingga muncul pesan error
symlink(): No such file or directory. Cara
yang bisa dilakukan adalah membuat routing khusus untuk membuat link simbolik.
-
Buka file web.php di dalam folder routes pada
hosting, lalu tambahkan routing berikut dan simpan.
Route::get('/linkstorage', function() { $target = base_path().'/storage/app/public'; $link = $_SERVER['DOCUMENT_ROOT'].'/storage'; symlink($target, $link); });
- Pada browser, buka <Nama Domain Anda>/linkstorage. Jika muncul halaman kosong, berarti pembuatan link berhasil dan upload file atau foto sudah bisa digunakan.
- Hapus routing di atas setelah berhasil.
Cara connect FTP dengan FileZilla
Jika Anda ingin menggunakan FileZilla, ikuti langkah-langkah berikut untuk
menyambungkan koneksi FTP:
- Buka halaman FTP pada dashboard Serv00 dan klik tab Add account.
- Isikan kolom Login dengan nama yang Anda inginkan tanpa spasi dan isi password. Pada kolom Directory, silakan pilih mau ke domain tujuan atau Home directory (Root folder) atau lainnya, kalau saya Home directory supaya bisa memanajemen semua domain yang ada. Klik Add setelahnya.
- Buka FileZilla, dan klik menu File -> Site Manager untuk membuka Site Manager.
- Isikan Host dengan sX.serv00.com, lalu isi Username dan Password yang sudah dibuat tadi dan klik Connect.
Catatan: Sebaiknya jangan gunakan FileZilla untuk menghapus folder
yang berisi banyak file dan folder karena prosesnya yang cukup lama.
Cara connect ke server email Serv00
Serv00 memiliki email server sendiri. Jika Anda ingin menggunakan fitur
Email pada project Laravel, Anda bisa mengikuti langkah-langkah berikut.
- Buka halaman Email pada Dashboard. Pada daftar biasanya sudah ada nama domain yang dibuat sejak akun dibuat.
- Jika menggunakan domain yang ada, klik Details lalu klik tab Add new mailbox. Jika menggunakan domain lain, klik tab Add new e-mail. Isikan alamat email dan password, lalu klik Add.
- Buka file .env pada project Laravel yang diupload. Atur MAIL_MAILER menjadi smtp, MAIL_HOST menjadi mailX.serv00.com, dan MAIL_PORT menjadi 25. Atur juga MAIL_USERNAME dan MAIL_PASSWORD berdasarkan akun email yang sudah dibuat tadi. Samakan MAIL_FROM_ADDRESS dengan MAIL_USERNAME (Gunakan tanda kutip).
- Silakan Anda mencoba fitur email pada project Laravel. Usahakan gunakan email Anda sebagai email tujuan dan cek folder spam pada email tujuan karena email yang dikirim melalui project Laravel tidak terlihat pada Serv00.com Webmail.
Cara deploy project Laravel dari GitHub
Serv00 memiliki fitur repository, sehingga Anda bisa menggunakan Git yang
disediakan Serv00. Jika Anda memiliki project Laravel yang tersimpan di
GitHub, ikuti langkah berikut untuk mendeploynya:
- Setelah Anda membuat database, silakan buka PuTTY dengan Host Name USERNAME@sX.serv00.com lalu klik Open. Masukkan password, lalu masuk ke folder domain tujuan dengan perintah cd domains/<Domain Tujuan>.
- Masukkan perintah git clone <Link GitHub Anda>.git. Ini akan mendeploy project dari GitHub ke folder sesuai nama project Laravel. Tunggu sampai proses clone selesai.
- Masuk ke folder berisi project yang di-clone, dan pindahkan isi folder public ke folder public_html di folder domain tujuan.
- Edit file index.php yang ada pada folder public_html, lalu sesuaikan baris 19, 34, dan 47 seperti pada gambar lalu simpan.
- Hapus file index.html, dan hapus juga folder public pada folder project yang di-clone.
- Ganti nama .env.example menjadi .env, lalu buka file .env. Sesuaikan DB_HOST, DB_DATABASE, DB_USERNAME, dan DB_PASSWORD.
- Kembali ke PuTTY, masuk ke folder yang diclone tadi dengan perintah cd <Folder Hasil Clone>. Jalankan perintah composer2 install dan tunggu sampai proses install selesai, lalu jalankan perintah php artisan key:generate diikuti perintah php artisan migrate dan website sudah siap untuk digunakan.
Catatan: Jika muncul folder public setelah menjalankan perintah git
pull, pindahkan isi folder public ke folder public_html, lalu hapus folder
public.
Cara reset password MySQL
Jika Anda lupa password MySQL, ikuti langkah berikut untuk mereset password
MySQL:
Penyelesaian Masalah
Website tidak terbuka dan muncul banyak pesan Warning: open_basedir() restiction in effect diikuti Fatal Error
Pastikan username dan domain tujuan pada
Open basedir directories sudah benar. Jika project Laravel
dideploy dari GitHub, konfigurasi
Open basedir directories tetap usr/home/<USER NAME>/domains/<Domain tujuan>.
Muncul pesan Fatal Error: Composer detected issues in your platform: Your Composer dependencies require a PHP version... saat membuka website atau menjalankan php artisan
Serv00 menggunakan PHP versi 8.1.27, biasanya terjadi jika Laravel yang
digunakan adalah versi paling baru dan tidak support PHP versi lama. Buka file
composer.json pada folder project Laravel, dan tambahkan "platform-check": false di dalam "config" seperti gambar di bawah, lalu simpan.
Jalankan perintah composer2 dump-autoload pada PuTTY. Jika masih error,
hapus folder vendor dan file composer.lock, lalu jalankan
perintah composer2 install.
Muncul pesan peringatan Composer 1 is deprecated saat menjalankan composer
Serv00 menyediakan dua versi composer, yakni composer 1.10.26 dan composer
2.5.5. Composer yang berjalan secara default adalah composer 1, sehingga
muncul pesan tersebut. Gunakan perintah composer2 untuk
menggunakan composer terbaru.
Muncul pesan Network error: Software caused connection abort pada PuTTY
Biasanya terjadi karena koneksi yang tidak stabil atau tidak ada aktivitas
dalam waktu yang cukup lama. Saat terjadi network error, sesi SSH langsung
menjadi inactive dan Anda tidak bisa mengetik apa-apa. Klik kanan pada
titlebar, lalu klik Restart session. Masukkan kembali password, dan
kembali ke folder sebelumnya dengan perintah cd <Folder tujuan>.
Supaya sesi SSH tetap berjalan saat tidak ada aktivitas, Anda perlu membuka
pengaturan PuTTY.
- Buka pengaturan PuTTY dengan mengklik Change Settings pada menu tadi.
- Pada panel Category, klik Connections, lalu isi dengan angka 120 pada Seconds between keepalives. Dengan konfigurasi ini, PuTTY mengirim ping ke server setiap 120 detik (2 menit) supaya koneksi tetap berjalan.
- Klik Session pada panel Category, lalu klik Save.
Catatan: Jika Anda menggunakan WinSCP dan mendapatkan pesan serupa,
klik tombol Reconnect.
Komentar
Posting Komentar