Deploy Laravel ke VPS sering jadi tantangan bagi pemula. Setting server, konfigurasi file, dan menjalankan aplikasi kadang terasa rumit. Salah langkah saja bisa memicu error yang mempengaruhi stabilitas aplikasi Anda.
Tanpa panduan yang tepat, proses deploy bisa makan waktu dan bikin frustasi. Bagi yang baru belajar, berbagai command terminal serta konfigurasi server terasa membingungkan dan mengintimidasi. Kesalahan kecil bisa menyebabkan kegagalan aplikasi.
Namun tidak perlu khawatir, kali ini kami akan membagikan tutorial cara deploy Laravel ke VPS untuk pemula sampai mahir. Mulai dari persiapan server hingga menjalankan aplikasi, setiap langkah dirancang untuk mengoptimalkan performa dan keamanan proyek Laravel Anda.
Daftar Isi
Persiapan Sebelum Deploy Laravel
Sebelum mulai deploy aplikasi Laravel ke VPS, ada beberapa hal yang harus kamu ketahui dan persiapkan. Berikut beberapa persiapan sebelum deploy laravel ke VPS:
Memilih VPS Hosting
Memilih VPS hosting adalah langkah pertama yang penting. Laravel membutuhkan lingkungan server yang mendukung banyak komponen, seperti sistem operasi, server web, serta dependensi lain. VPS yang kompatibel memudahkan pengaturan dan mengoptimalkan performa proyek:
- Kompatibilitas Sistem: Pastikan VPS yang Anda pilih kompatibel dengan sistem operasi yang dibutuhkan (seperti Linux, yang sering disarankan untuk Laravel), serta mendukung web server (seperti Apache atau NGINX), PHP versi terbaru, dan dependensi lainnya.
- Akses Root dan SSH: Akses root sangat penting dalam deployment Laravel, karena ini memungkinkan Anda mengontrol penuh konfigurasi server. Selain itu, server yang menawarkan akses Secure Shell (SSH) membuat proses pengelolaan lebih aman.
- Performa Server: Untuk memastikan aplikasi Laravel berfungsi dengan baik, pilih server yang menyediakan bandwidth, RAM, dan CPU yang cukup.
- Fitur Tambahan Hosting: Banyak penyedia VPS menyediakan fitur tambahan untuk mempermudah deployment, seperti control panel yang intuitif atau opsi instalasi satu klik untuk framework seperti Laravel.
Manfaatkan hPanel
Beberapa penyedia hosting menyediakan hPanel, Anda bisa memanfaatkan hPanel ini untuk mengelola server. Dalam hPanel, tersedia template sistem operasi yang telah dilengkapi dengan berbagai software dan dependensi yang dibutuhkan Laravel. Hal ini akan menghemat waktu dan usaha karena sebagian besar persiapan teknis telah diatur.
Estimasi Biaya VPS
Menentukan anggaran untuk proyek Laravel penting untuk memastikan performa aplikasi terjaga tanpa melebihi biaya yang direncanakan. Silahkan pilih VPS sesuai dengan anggaran yang sudah kamu siapkan.
Biaya VPS di Exabytes Indonesia dimulai dari Rp70.000 per bulan untuk paket SSD 1, dengan promo hemat 25% jika pembayaran dilakukan untuk periode satu tahun, yaitu Rp840.000. Paket ini menyediakan penyimpanan SSD yang dapat mendukung berbagai kebutuhan hosting, termasuk untuk proyek skala kecil hingga menengah.
Selain itu, Exabytes juga menawarkan paket lainnya dengan harga yang lebih tinggi, seperti SSD 4 yang dihargai Rp280.000 per bulan, atau Rp3.360.000 per tahun.
Paket-paket VPS dari Exabytes Indonesia memberikan berbagai opsi sesuai kebutuhan, mulai dari penyimpanan yang lebih kecil hingga lebih besar, mendukung pertumbuhan aplikasi dan proyek dengan lebih optimal.
Cara Deploy Laravel ke VPS
Jika Anda sudah menyelesaikan pengembangan proyek Laravel dan siap melakukan deployment, VPS adalah pilihan tepat untuk hosting yang lebih stabil dan aman. Berikut panduan lengkap untuk melakukan deploy Laravel ke server VPS dengan sistem operasi Ubuntu 22.04.
Siapkan Server VPS untuk Deploy
Langkah pertama dalam deployment Laravel adalah mempersiapkan server dengan komponen yang diperlukan agar proyek bisa berjalan tanpa masalah.
Langkah 1: Login ke Server melalui SSH
Gunakan aplikasi SSH seperti PuTTY, Terminal, atau Terminal Browser bawaan dari hPanel. Masuk dengan kredensial root yang diberikan oleh penyedia hosting. Biasanya, kredensial ini dapat ditemukan di bagian hPanel → VPS → Ringkasan → Akses SSH.
Catatan: Disarankan untuk membuat user baru dengan hak istimewa superuser untuk menghindari kesalahan saat menjalankan perintah kritis pada server.
Langkah 2: Update dan Instal Dependensi Utama
Mulailah dengan memperbarui repositori server menggunakan perintah berikut:
sudo apt update && sudo apt upgrade
Langkah 3: Instal Web Server (Apache)
Install web server untuk meng-host aplikasi yang akan dibuat. DIsini kita akan menggunakan apache, berikut cara instalnya:
sudo apt install -y apache2
Langkah 4: Instal PHP dan Ekstensi Tambahan
Setelah itu, install juga PHP versi terbaru beserta dengan ekstensinya. Berikut adalah perintah yang digunakan:
sudo apt install -y php php-cli php-fpm php-mysql php-xml php-mbstring
Langkah 5: Konfigurasi Database (MySQL)
Untuk menyimpan data aplikasi, kita juga harus menggunakan database. Berikut adalah cara install dan konfigurasi database MySQL:
sudo apt install -y mysql-server
Langkah 6: Instal Composer
Composer adalah manajer paket PHP yang digunakan untuk mengelola dependensi Laravel. Berikut cara perintah yang digunakan untuk menginstal composer:
sudo apt install -y composer
Langkah 7: Instal Git untuk Kontrol Versi
Terakhir, Anda juga harus menginstal Git jika proyek Laravel Anda disimpan di repositori Git. Silahkan instal Git dengan perintah berikut:
sudo apt install -y git
Deploy Aplikasi
Langkah berikutnya untuk upload project Laravel ke VPS adalah melakukan deploy aplikasi atau project. Jadi setelah server siap, Anda bisa melanjutkan ke langkah deployment aplikasi Laravel berikut ini:
Langkah 1: Klon Repository Proyek dari Git
Masuk ke direktori web server dan klon repository proyek Laravel Anda:
cd /var/www/html
sudo git clone https://github.com/username_anda/laravel-test.git
Gantilah https://github.com/username_anda/laravel-test.git dengan URL repositori proyek Anda.
Langkah 2: Instal Dependensi Laravel Menggunakan Composer
Setelah repository berhasil diklon, masuk ke direktori proyek dan jalankan Composer untuk menginstal semua dependensi:
cd laravel-test
sudo composer install
Jika terjadi error, Anda bisa menjalankan composer update atau menambahkan opsi –ignore-platform-req=ext-curl.
Langkah 3: Atur Virtual Host
Buat file konfigurasi virtual host untuk Laravel di Apache, gunakan perintah berikut:
sudo nano /etc/apache2/sites-available/laravel.conf
Kemudian, tulis konfigurasi berikut dalam file tersebut, lalu simpan perubahan yang ada:
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/html/laravel-test/public
<Directory /var/www/html/laravel-test/public>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Pastikan untuk mengganti yourdomain.com dengan alamat IP server atau domain Anda.
Konfigurasi File .env
Jika aplikasi atau project sudah selesai di deploy, langkah berikutnya adalah melakukan konfigurasi. Laravel menggunakan file .env untuk menyimpan konfigurasi lingkungan, termasuk informasi database. Berikut cara konfigurasi file .env:
Langkah 1: Buat dan Edit File .env
Laravel sudah menyertakan template .env.example. Jadi, silahkan buat salinan file tersebut untuk file .env dengan perintah berikut:
sudo cp .env.example .env
sudo nano .env
Edit nilai variabel dalam file ini, terutama bagian yang menentukan informasi database:
DB_DATABASE=nama_database
DB_USERNAME=user_database
DB_PASSWORD=password_database
Gantilah dengan kredensial database yang sesuai.
Langkah 2: Perbarui Konfigurasi Database
Jika Anda menggunakan MySQL, sesuaikan pengaturan pengguna database agar memiliki hak akses sesuai kebutuhan aplikasi Anda. Pastikan untuk membuat password yang kuat untuk keamanan.
Jalankan Aplikasi
Setelah semua konfigurasi selesai, langkah terakhir yang harus Anda lakukan adalah coba jalankan aplikasi yang telah di deploy. Lakukan langkah berikut untuk memastikan aplikasi Laravel berjalan lancar di VPS.
Langkah 1: Atur Izin dan Kepemilikan Folder
Atur izin dan kepemilikan folder untuk memastikan Laravel bisa mengakses file yang diperlukan:
sudo chown -R www-data /var/www/html/laravel-test
sudo chmod -R 755 /var/www/html/laravel-test/storage
Langkah 2: Hasilkan Kunci Aplikasi dan Migrasikan Database
Laravel memerlukan kunci aplikasi untuk mengenkripsi data. Jalankan perintah berikut untuk menghasilkan kunci dan memigrasikan database:
sudo php artisan key:generate
sudo php artisan migrate
Aktifkan Virtual Host dan Modul Rewrite
Nonaktifkan virtual host default dan aktifkan virtual host yang baru serta modul rewrite Apache:
sudo a2dissite 000-default.conf
sudo a2ensite laravel.conf
sudo a2enmod rewrite
Langkah 3: Mulai Ulang Apache
Untuk menerapkan semua perubahan, mulai ulang server Apache:
sudo systemctl restart apache2
Setelah semua langkah selesai, Anda dapat memeriksa apakah aplikasi Laravel sudah berjalan dengan benar dengan membuka alamat IP server atau domain Anda di web browser. Jika semuanya benar, Anda akan melihat halaman sambutan Laravel yang menandakan deployment berhasil.
Tutorial Deploy Laravel ke VPS Lengkap
Nah, itulah tadi langkah-langkah cara deploy Laravel ke VPS lengkap. Mulai dari menyiapkan server, mengatur file konfigurasi, hingga menjalankan aplikasi. Tiap tahapan memiliki peran penting untuk memastikan kelancaran, keamanan, dan performa aplikasi Laravel Anda.
Pemahaman dalam menyiapkan server, mengkonfigurasi file .env, serta memastikan hak akses direktori sangat diperlukan. Dengan mengikuti langkah-langkah ini, Anda bisa mengurangi risiko error dan memaksimalkan stabilitas aplikasi saat dijalankan di VPS.
Dengan panduan lengkap ini, deploy Laravel menjadi lebih mudah bahkan bagi pemula. Proses deployment yang tepat tidak hanya melindungi aplikasi, tetapi juga memberi fondasi kuat untuk pengembangan dan peningkatan lebih lanjut sesuai kebutuhan proyek Anda.
Untuk kebutuhan server yang stabil dan hemat biaya, pastikan Anda menggunakan VPS terbaik. Coba VPS murah dari Exabytes Indonesia untuk performa optimal aplikasi Laravel Anda! Dapatkan layanan handal dengan harga terjangkau yang siap mendukung proyek Anda.
Kunjungi Exabytes Indonesia sekarang untuk mengetahui penawaran VPS terbaik yang sesuai dengan kebutuhan Anda!