Cara Deploy Laravel ke VPS dengan Mudah (Tutorial 2024)

Laravel adalah framework aplikasi web PHP open-source yang sangat populer. Toolkit, library, dan fitur-fiturnya membantu meningkatkan efisiensi pengembangan karena pengguna tidak perlu menulis kode dari nol untuk semua fungsinya.

Framework ini memiliki komunitas developer yang besar, memudahkan siapa pun mendapatkan dukungan dan resource yang dibutuhkan. Namun, beberapa pengguna baru mungkin belum tahu cara menggunakan Laravel karena berbagai dependensi dan perintahnya.

Di artikel ini, kami akan menjelaskan cara deploy Laravel di VPS (virtual private server) Ubuntu. Tutorial Laravel ini juga akan membahas beberapa tips yang akan membantu Anda melakukan tugas-tugas tersebut. Mari simak selengkapnya di bawah ini!

Persiapan Awal sebelum Deploy Proyek Laravel

Sebelum lanjut ke tutorial Laravel kami, pastikan Anda sudah memiliki VPS hosting. Saat memilih paket hosting dan penyedia VPS terbaik untuk proyek Anda, pertimbangkan aspek-aspek berikut:

  • Kompatibilitas. VPS Anda harus mendukung sistem operasi yang dipilih, web server, Laravel, PHP versi terbaru, dan dependensi lainnya agar bisa berjalan dengan baik.
  • Akses. Server host harus menyediakan akses root penuh melalui koneksi secure shell (SSH) untuk memungkinkan deployment Laravel yang lancar dan aman.
  • Performa. Lingkungan hosting VPS yang ideal harus menyediakan bandwidth dan resource server yang memadai untuk memastikan performa aplikasi Laravel yang optimal.
  • Fitur tambahan. Beberapa penyedia web hosting memiliki fitur yang membantu menyederhanakan proses deployment aplikasi, seperti control panel dan installer sekali klik.

Paket hosting VPS Hostinger kompatibel dengan berbagai distribusi Linux, software, dan framework, termasuk Laravel.

Selain itu, user Hostinger bisa setup server dengan sekali klik melalui hPanel menggunakan template sistem operasi. Template ini sudah menyertakan berbagai software dan dependensi untuk mempermudah proses deployment.

Semua paket VPS kami juga menyediakan akses root penuh untuk menghindari masalah terkait izin. Di samping itu, Anda bisa menggunakan terminal Browser bawaan untuk tersambung ke server remote. Tool ini lebih praktis daripada klien SSH karena Anda bisa menjalankan perintah Linux langsung dari browser.

Mulai dari Rp80900.00/bulan, solusi VPS kami menyediakan penyimpanan NVMe hingga 400 GB, bandwidth sebesar 8 TB, RAM 32 GB, dan 8 core vCPU, cocok untuk proyek-proyek perusahaan berskala besar. Semua paket kami juga dilengkapi dengan jaminan uang kembali 30 hari.

Cara Deploy Laravel di Hostinger

Bagi user Hostinger, cara termudah untuk deploy proyek Laravel di VPS adalah dengan menggunakan template sistem operasi. Metode ini bisa diakses melalui browser, cocok untuk pemula yang belum terbiasa dengan command-line interface.

Penting! Backup VPS Anda lebih dulu sebelum menginstal template sistem operasi karena langkah ini akan menghapus semua data server Anda secara permanen.

Berikut adalah langkah-langkah untuk menginstal Laravel di VPS Hostinger menggunakan template:

  1. Login ke hPanel, lalu klik VPS pada menu bagian atas.
  2. Pilih paket VPS hosting yang ingin Anda gunakan untuk menginstal Laravel.
  3. Dari sidebar, klik PengaturanOS & PanelSistem operasi.
  4. Di bagian Ubah Sistem Operasi Anda, klik Aplikasi.
  5. Pilih Ubuntu 22.04 with Laravel dari menu drop-down. Klik Ubah OS untuk mengonfirmasinya.
  1. Akan muncul pop-up konfirmasi tentang penghapusan data. Centang kotak persetujuan setelah Anda membaca peringatan tersebut, lalu klik Konfirmasi.
  2. Masukkan password baru untuk control panel hosting. Klik Konfirmasi untuk melanjutkan.

Selesai! Setelah proses penginstalan selesai, klik URL Login di bawah Akses Strapi, dan Anda akan melihat layar sambutan Laravel. Template ini juga akan secara otomatis menyiapkan CloudPanel untuk deploy aplikasi.

Untuk melakukannya, klik URL akses CloudPanel lalu login sebagai administrator. Klik domain VPS Anda → File ManagerAdd NewUpload file. Pilih file proyek Anda, kemudian klik Open.

Karena deployment melalui control panel mungkin kurang optimal, sebaiknya Anda menggunakan metode lain seperti Git. Kami akan membahasnya nanti di artikel ini.

Perlu diperhatikan bahwa Anda tidak bisa memilih software lain ketika menginstal Laravel menggunakan template VPS. Apabila ingin menggunakan sistem operasi lain atau kalau proyek Anda memerlukan software tambahan, Anda bisa menggunakan cara manual.

Cara Deploy Laravel secara Manual

Kami akan menjelaskan cara menggunakan Laravel secara manual di VPS hosting yang menjalankan Ubuntu 22.04. Tergantung pada distro dan versi Linux yang digunakan, command yang perlu dijalankan mungkin berbeda.

1. Siapkan Server untuk Laravel

Mulai proses deployment dengan menginstal dependensi untuk mempersiapkan lingkungan hosting. Anda bisa menggunakan aplikasi SSH seperti PuTTY, Terminal, atau Terminal Browser Hostinger.

Login ke server Anda menggunakan user root. Di VPS Hostinger, akses kredensial Anda di bagian hPanelVPS pada menu bagian atas. Kemudian, buka paket VPS Anda lalu RingkasanAkses SSH.

tab akses ssh di hpanel

Penting! Daripada menggunakan user root, kami sarankan agar Anda membuat akun baru dengan hak istimewa superuser untuk menghindari eksekusi perintah yang salah secara tidak sengaja.

Persyaratan Laravel meliputi web server, database, database PHP, dan Composer. Anda juga memerlukan software lain seperti Git untuk meneruskan (push) file aplikasi dari komputer lokal ke perangkat remote. Berikut langkah-langkahnya:

  1. Update repositori package manager APT Anda menggunakan command berikut:
sudo apt update && sudo apt upgrade
  1. Instal web server. Di tutorial ini, kami akan menggunakan Apache:
sudo apt install -y apache2
  1. Jalankan command berikut untuk menyiapkan PHP dan ekstensinya:
sudo apt install -y php php-cli php-fpm php-mysql php-xml php-mbstring
  1. Konfigurasikan database. Kami akan menginstal MySQL menggunakan command berikut:
sudo apt install -y mysql-server
  1. Instal Composer untuk mengelola dependensi Laravel menggunakan:
sudo apt install -y composer
  1. Masukkan command berikut untuk menyiapkan sistem kontrol versi Git:
sudo apt install -y git

Apabila tidak ingin menyiapkan server produksi secara manual, Anda bisa membeli Laravel Forge. Dengan harga mulai dari $12,99/bulan (sekitar Rp215.000), platform ini menyediakan area yang terpusat untuk menginstal dan mengelola semua aplikasi yang diperlukan untuk proyek Anda.

2. Deploy Aplikasi

Buat virtual host untuk proyek Laravel Anda dengan menyiapkan file konfigurasi web server menggunakan editor teks nano. Untuk Apache, jalankan perintah berikut:

sudo nano /etc/apache2/sites-available/laravel.conf

Di dalam file tersebut, tuliskan konfigurasi berikut ini. Pastikan untuk mengganti placeholder direktori dengan path yang sebenarnya dan domain.com dengan alamat IP server Anda:

<VirtualHost *:80>
   ServerName thedomain.com
ServerAdmin webmaster@thedomain.com
   DocumentRoot /var/www/html/test-laravel/public
   <Directory /var/www/html/test-laravel/public>
      AllowOverride All
   </Directory>
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Penting! Isi file konfigurasi akan berbeda kalau Anda menggunakan web server lain seperti NGINX.

Deploy kode proyek aplikasi Laravel dari repositori Git dengan menjalankan command berikut ini secara berurutan. Ganti URL dengan link yang sebenarnya:

cd /var/www/html
udo git clone https://github.com/username_anda/laravel-test.git

Apabila Anda belum memasukkan file proyek Laravel ke repositori, baca tutorial Git kami untuk mempelajari lebih lanjut tentang cara melakukannya.

Untuk deploy file proyek, Anda bisa menggunakan metode seperti utilitas rsync atau aplikasi SFTP (secure file transfer protocol). Namun, kami lebih merekomendasikan kontrol versi dalam deployment Laravel demi kenyamanan dan keamanan Anda.

Buka path direktori proyek Anda dan jalankan penginstalan composer untuk mengonfigurasi dependensi:

cd test-laravel
sudo composer install

Apabila Terminal menampilkan pesan error, coba jalankan command update composer. Selain itu, tambahkan opsi –ignore-platform-req=ext-curl untuk melihat apakah masalah sudah berhasil diatasi.

3. Konfigurasikan File .env

Saat Anda membuat aplikasi Laravel, Composer akan menghasilkan template file .env.example. File ini menyimpan konfigurasi khusus terkait lingkungan, menentukan berbagai variabel untuk aplikasi Anda seperti informasi database.

Untuk menyiapkan file .env bagi proyek Laravel Anda, salin template di bawah ini dan buka menggunakan nano:

sudo cp .env.example .env
sudo nano .env

Dalam konfigurasinya, file tersebut menggunakan sintaksis pasangan KEY=VALUE. Sebagai contoh, entri berikut ini menentukan password pengguna database Laravel:

DB_PASSWORD=password_anda

Untuk mengubah konfigurasi, hapus nilai dan ganti dengan yang baru. Tekan Ctrl + X, Y, dan Enter untuk menyimpan perubahan.

Secara default, Laravel akan menetapkan DB_USERNAME sebagai root dan membiarkan DB_PASSWORD kosong. Namun, hal ini bisa menyebabkan error saat Anda menjalankan PHP artisan, utilitas command-line framework ini, untuk migrasi database.

Untuk mengatasinya, ubah kata sandi root default lalu perbarui nilai DB_PASSWORD sesuai perubahan yang dilakukan. Kemudian, Anda sebaiknya membuat database non-default dan user khusus untuk proyek saat ini agar lebih mudah dikelola.

Tips Berguna

Baca tutorial kami untuk mempelajari lebih lanjut tentang cara mengonfigurasi user, password, dan izin MySQL di Ubuntu.

4. Jalankan Aplikasi

Untuk memulai aplikasi Laravel Anda, ubah pengaturan folder proyek agar bisa dieksekusi dengan memperbarui hak akses dan kepemilikannya:

sudo chown -R www-data /var/www/html/test-laravel
sudo chmod -R 755 /var/www/html/test-laravel/storage

Jalankan PHP artisan untuk menghasilkan kunci aplikasi dan memulai migrasi database. Berikut perintahnya:

sudo php artisan key:generate
sudo php artisan migrate

Kapan pun Anda memodifikasi skema database, perbarui file migrasinya agar konfigurasi untuk aplikasi Anda tetap konsisten. Baca panduan migrasi Laravel untuk mempelajari selengkapnya.

Nonaktifkan file konfigurasi default virtual host di Apache menggunakan command berikut:

sudo a2dissite 000-default.conf

Aktifkan virtual host baru dan modul rewrite menggunakan:

sudo a2ensite laravel.conf
sudo a2enmod rewrite

Mulai ulang Apache menggunakan perintah systemctl:

sudo systemctl restart apache2

Setelah proses deployment selesai, masukkan alamat IP VPS atau nama domain Anda ke web browser untuk mengecek apakah aplikasi Anda berfungsi dengan benar. Apabila filenya kosong, Anda akan melihat halaman sambutan Laravel.

Tips dan Trik Terbaik untuk Deploy Laravel

Nah, di bagian ini, kami akan membagikan beberapa tips terbaik deployment Laravel untuk membantu Anda melakukan prosesnya dengan lebih mudah.

Gunakan Konfigurasi Caching di Laravel

Framework Laravel memungkinkan Anda menyimpan data yang sering diakses sebagai cache. Hal ini akan menghemat waktu yang diperlukan untuk mengambil informasi dan memberikan kueri database sehingga meningkatkan performa aplikasi web Anda.

Konfigurasi ini juga menyediakan berbagai backend dan driver penyimpanan cache. Pengguna bisa memilih opsi yang paling sesuai dengan kebutuhan mereka dan mengonfigurasinya dengan mudah melalui key CACHE_DRIVER dari file .env.

Apabila Anda tidak menentukan driver cache, Laravel akan menggunakan file secara default. Atau, Anda bisa mengaturnya menjadi array, database, redis, atau memcached.

Untuk mengaktifkan cache, tambahkan metodenya ke codebase aplikasi Anda. Sebagai contoh, tulis Cache::put() untuk menyimpan data selama durasi tertentu:

Cache::put(‘key’, ‘value’, $minutes);

Sementara itu, gunakan metode Cache:rememberForever() untuk menyimpan cache tanpa batas waktu:

Cache::rememberForever( ‘key’, function);

Framework ini menyediakan banyak metode caching untuk berbagai tujuan, seperti mengambil, menghapus, atau menambah data yang tersimpan. Untuk mempelajari metode-metode tersebut lebih lanjut, baca dokumentasi caching Laravel.

Untuk mengelola cache, Anda bisa menjalankan command artisan PHP di direktori kerja proyek Anda. Sebagai contoh, masukkan command berikut ini untuk menghapus data yang tersimpan:

php artisan cache:clear

Gunakan Tool Deployment Laravel Otomatis

Mengotomatiskan deployment Laravel membantu Anda menghemat waktu dan tenaga. Sebab, tanpa automasi ini, ada banyak langkah yang perlu Anda lakukan. Tersedia juga berbagai tool dan platform untuk tugas ini.

Anda bisa menggunakan layanan CI/CD (continuous integration/continuous deployment) seperti GitHub Actions atau software seperti Jenkins. Layanan-layanan ini memungkinkan Anda mengotomatiskan pipeline deployment Laravel khusus.

Untuk menyiapkan automasi di GitHub Actions, buat file .yml di direktori proyek Anda. Tentukan alur kerja dan peristiwa pemicunya, seperti meneruskan perubahan ke branch main (utama). Kemudian, tuliskan tugas, langkah, dan variabel lingkungannya. Baca panduan cepat GitHub Actions untuk mempelajari selengkapnya.

Contohnya, Anda bisa menerapkan aturan agar setiap kali pengguna meneruskan perubahan kode baru ke branch main, file .yml secara otomatis menjalankan perintah PHP artisan untuk menghasilkan kunci aplikasi dan memulai ulang web server Anda.

Gunakan Kodee dari Hostinger untuk Mempermudah Deployment

Hostinger memiliki Kodee, asisten AI gratis yang membantu meningkatkan efisiensi deployment. Anda bisa mempelajari cara deploy Laravel di Hostinger serta menghasilkan instruksi dan command dengan cepat untuk tugas apa pun menggunakan prompt manajemen VPS.

Misalnya, beri tahu Kodee tentang, “Saya ingin deploy aplikasi Laravel ke server Ubuntu menggunakan Git. Jelaskan langkah-langkahnya dan buatkan command untuk tugas ini.”

Kodee kemudian akan memberikan respons yang mendetail, lalu Anda bisa mengikuti panduannya dan copy-paste command yang dihasilkan.

Anda juga bisa menggunakan Kodee untuk membantu mengatasi masalah selama deployment Laravel. Misalnya, “Saya sedang deploy aplikasi Laravel di server Ubuntu, tapi ada error saat menjalankan perintah PHP artisan untuk migrasi database. Apa kemungkinan penyebab dan solusinya?”

Untuk mengakses fitur ini, buka halaman konfigurasi VPS Anda di hPanel dan pilih Kodee dari sidebar.

Penting! Seperti saat menggunakan tool AI pada umumnya, sebaiknya selalu uji langkah dan command yang dihasilkan di lingkungan pengembangan lebih dulu untuk menghindari risiko yang bisa membahayakan server live Anda.

Gunakan Pengelolaan Dependensi yang Tepat

Composer memungkinkan developer menentukan dependensi aplikasinya dalam file composer.json. Selain mempermudah proses penginstalan, hal ini juga meningkatkan stabilitas lingkungan dan efisiensi kontrol versi.

Jalankan perintah update composer untuk memperoleh semua patch dependensi yang ditentukan dalam file. Namun, pastikan Anda meninjau versi yang baru lebih dulu untuk menghindari masalah kompatibilitas atau update yang merusak.

Untuk mengakses file tersebut, buka direktori root proyek Laravel Anda. Biasanya, file ini terletak di var/www/html/test-laravel.

isi file json composer di nano

File composer.json hanya berlaku di lingkungan tertentu. Untuk memastikan struktur proyek yang bersih dan efisien, simpan dokumentasi yang mendetail dari setiap konfigurasi dependensi komponen atau aplikasi.

Mengupdate dependensi proyek secara rutin memastikan Anda menerima patch keamanan dan perbaikan bug terbaru. Hal ini juga membantu menghindari masalah kompatibilitas dan konflik versi yang bisa membahayakan fungsi aplikasi Anda.

Optimalkan Performa Laravel

Pengoptimalan performa Laravel membantu meningkatkan kemampuan respons dan skalabilitas aplikasi. Apabila Anda menjalankan layanan yang langsung diakses oleh konsumen, langkah ini juga bisa membantu meningkatkan pengalaman pengguna dan persepsi brand Anda.

Ada beberapa metode untuk mengoptimalkan performa Laravel di VPS Ubuntu, seperti:

  1. Aktifkan caching. Laravel menyediakan backend dan perangkat caching untuk menyimpan data yang sering diminta dalam penyimpanan sementara. Konfigurasi ini membantu mengurangi beban server dan kueri database.
  2. Gunakan CDN (jaringan pengiriman konten). CDN menyimpan konten statis di beberapa server yang terletak di berbagai bagian dunia. Hal ini membantu memastikan aplikasi web Anda berperforma optimal bagi pengunjung di mana pun.
  3. Memanfaatkan queue worker. Queue worker adalah proses latar belakang yang menangani tugas-tugas yang membutuhkan resource intensif. Proses ini membantu mengesampingkan tugas-tugas tersebut dari alur aplikasi utama untuk meningkatkan performa.
  4. Terapkan eager loading. Eager loading mengambil data yang terkait dengan data yang diminta dalam satu permintaan. Hal ini membantu mengurangi beban karena database tidak perlu mengirim informasi satu per satu.

Selain itu, selalu pantau performa aplikasi web Anda untuk memastikan fungsinya berjalan optimal. Dengan begitu, Anda bisa segera tahu kalau ada potensi masalah yang memengaruhi uptime atau kegunaan.

Hostinger menawarkan fitur pemantauan resource server bawaan yang bisa diakses melalui hPanel.

Saran Bacaan

Perlu mengonfigurasi Laravel di VPS? Simak tutorial kami tentang cara instal Laravel di Ubuntu 18.04 menggunakan Apache dan PHP untuk mempelajari langkah-langkahnya lebih lanjut.

Kesimpulan

Laravel adalah framework aplikasi web PHP open-source yang membantu meningkatkan efisiensi dalam proses pengembangan. Untuk menggunakannya di VPS Hostinger, buka menu Sistem Operasi di hPanel lalu instal template Ubuntu 22.03 with Laravel. Kemudian, upload proyek Anda melalui file manager CloudPanel.

Atau, kalau memerlukan metode yang lebih fleksibel, Anda bisa deploy Laravel secara manual menggunakan command. Berikut langkah-langkahnya:

  1. Persiapkan server baru. Instal Composer, web server Apache, PHP, dan software lain di lingkungan produksi Anda. Atau, gunakan Laravel Forge untuk mengelolanya dalam satu platform.
  2. Deploy aplikasi. Siapkan virtual host dengan membuat file konfigurasi Apache. Masukkan (push) kode aplikasi Anda dari repositori Git ke server live.
  3. Konfigurasikan file .env. Salin template .env.example ke folder aplikasi Anda lalu ubah key-value pair file .env untuk mengubah pengaturannya.
  4. Jalankan aplikasi Laravel. Ubah izin dan kepemilikan folder proyek. Jalankan perintah install composer dan PHP artisan, lalu nonaktifkan virtual host default Apache.

Untuk meningkatkan efisiensi deployment aplikasi Laravel, gunakan Kodee dari Hostinger, tool automasi, dan pengelola dependensi Composer. Selain itu, gunakan CDN, aktifkan cache, dan optimalkan kueri database untuk meningkatkan performa aplikasi Anda.

Tanya Jawab (FAQ) Cara Deploy Laravel ke VPS

Di bagian ini, kami akan menjawab beberapa pertanyaan umum tentang cara deploy Laravel ke VPS.

Apa Saja yang Dibutuhkan untuk Deploy Laravel?

Untuk menggunakan aplikasi Laravel, Anda membutuhkan server dengan sistem operasi yang kompatibel seperti Ubuntu. Anda juga membutuhkan beberapa dependensi, seperti web server, PHP, ekstensi PHP, Composer, Git, dan database.

Atau, Anda bisa menggunakan NGINX atau Apache. Sementara itu, database yang populer untuk Laravel meliputi MySQL dan MongoDB.

Apakah Bisa Deploy Beberapa Aplikasi Laravel di Satu Server?

Ya, Anda bisa menggunakan beberapa aplikasi dalam satu server Laravel dengan direktori, dependensi, dan lingkungan konfigurasi khusus.

Untuk melakukannya, buat folder terpisah untuk aplikasi Laravel di /var/www/html. Siapkan virtual host khusus untuk setiap proyek, lalu salin file .env ke setiap direktori.

Bisakah Saya Mengatur Aplikasi Laravel Sesuai Kebutuhan?

Ya. Anda bisa menggunakan metode umum seperti mengonfigurasi load balancer, meningkatkan resource server, dan menyiapkan mekanisme caching seperti Redis atau Memcached.

Selain itu, framework ini memiliki sistem antrean bawaan yang mengesampingkan tugas-tugas yang perlu resource intensif dari alur utama. Hal ini membantu meningkatkan performa untuk mengatur aplikasi Laravel sesuai kebutuhan.

Author
Penulis

Faradilla A.

Faradilla, yang lebih akrab disapa Ninda, adalah Content Marketing Specialist di Hostinger. Ia suka mengikuti tren teknologi, digital marketing, dan belajar bahasa. Melalui tutorial Hostinger ini, Ninda ingin berbagi informasi dan membantu pembaca menyelesaikan masalah yang dialami. Kenali Ninda lebih dekat di LinkedIn.