Kerjakode

Sedang menyiapkan sesuatu yang keren…

0%

💡 Tip: Kami menyediakan jasa pembuatan website profesional

👋 Selamat Pagi!

7 Langkah Mudah Deploy Laravel ke VPS Tanpa Pusing

Dewasa ini, memiliki website profesional bukan lagi sekadar pilihan, melainkan kebutuhan krusial bagi setiap bisnis maupun individu yang ingin eksis di dunia d...

7 Langkah Mudah Deploy Laravel ke VPS Tanpa Pusing

Dewasa ini, memiliki website profesional bukan lagi sekadar pilihan, melainkan kebutuhan krusial bagi setiap bisnis maupun individu yang ingin eksis di dunia digital. Namun, di balik kemudahan akses informasi dan interaksi yang ditawarkan website, tersembunyi kompleksitas teknis, terutama saat pertama kali ingin meluncurkan aplikasi web berbasis framework seperti Laravel ke server. Proses ini seringkali menjadi tantangan tersendiri, menimbulkan rasa khawatir akan kesalahan konfigurasi yang dapat berujung pada ketidakstabilan aplikasi.

Memang benar, memulai perjalanan deploy Laravel ke Virtual Private Server (VPS) bisa terasa seperti menjelajahi labirin teknis bagi sebagian orang. Mulai dari pemahaman mendalam tentang pengaturan server, berbagai macam konfigurasi file yang harus disesuaikan, hingga perintah-perintah terminal yang terkadang membingungkan. Kesalahan kecil saja dapat menimbulkan efek domino yang mempengaruhi performa dan keamanan aplikasi Anda.

Namun, Anda tidak perlu khawatir lagi. Artikel ini akan menjadi panduan komprehensif Anda dalam menaklukkan proses deploy Laravel ke VPS. Kami akan memandu Anda langkah demi langkah, mulai dari persiapan krusial sebelum Anda menyentuh baris kode server, hingga tahap akhir peluncuran aplikasi. Bersiaplah untuk memahami setiap tahapan dengan jelas, sehingga aplikasi Laravel Anda tidak hanya berjalan lancar, tetapi juga optimal dari segi performa dan keamanan.

Persiapan Krusial Sebelum Deploy Laravel ke VPS

Sebelum kita menyelami dunia perintah terminal dan konfigurasi server, ada baiknya kita memastikan semua persiapan telah matang. Ibarat membangun rumah, fondasi yang kuat akan menjamin bangunan yang kokoh. Dalam konteks deploy Laravel, fondasi ini meliputi pemilihan infrastruktur yang tepat dan pemahaman akan kebutuhan aplikasi Anda.

Memilih Infrastruktur VPS yang Tepat

Langkah fundamental pertama adalah memilih penyedia dan paket VPS yang sesuai. Laravel, sebagai framework PHP yang powerful, membutuhkan lingkungan server yang spesifik untuk berjalan optimal. Ini mencakup sistem operasi yang kompatibel, server web yang efisien, serta berbagai dependensi perangkat lunak lainnya. Memilih VPS yang tepat akan sangat memudahkan proses konfigurasi dan berpotensi meningkatkan performa aplikasi Anda secara signifikan.

Pertimbangkan beberapa faktor saat memilih VPS:

  • Spesifikasi Server: Sesuaikan CPU, RAM, dan ruang penyimpanan (SSD sangat direkomendasikan) dengan skala aplikasi Laravel Anda. Proyek kecil mungkin cukup dengan spesifikasi standar, sementara aplikasi yang lebih besar dan kompleks akan membutuhkan sumber daya lebih.
  • Sistem Operasi: Distribusi Linux seperti Ubuntu atau CentOS adalah pilihan paling umum dan direkomendasikan untuk deploy aplikasi web.
  • Lokasi Server: Pilih lokasi server yang dekat dengan target audiens Anda untuk meminimalkan latensi.
  • Dukungan Teknis: Pastikan penyedia hosting menawarkan dukungan teknis yang responsif jika Anda mengalami kendala.

Memahami Kebutuhan Sumber Daya Aplikasi

Setiap aplikasi Laravel memiliki kebutuhan sumber daya yang berbeda. Apakah aplikasi Anda akan menangani banyak traffic pengguna secara bersamaan? Apakah Anda akan menggunakan fitur-fitur berat seperti real-time broadcasting atau pemrosesan antrian yang intensif? Jawaban atas pertanyaan-pertanyaan ini akan membantu Anda menentukan spesifikasi VPS yang paling sesuai. Mengestimasi kebutuhan ini di awal akan menghemat biaya dan mencegah kendala performa di kemudian hari.

Anggaran yang Realistis

Menentukan anggaran adalah bagian tak terpisahkan dari perencanaan. Harga VPS sangat bervariasi tergantung pada spesifikasi, lokasi, dan fitur tambahan yang ditawarkan. Buatlah estimasi biaya yang realistis berdasarkan kebutuhan Anda. Ingatlah bahwa berinvestasi pada VPS yang sedikit lebih mahal namun memiliki performa dan stabilitas lebih baik seringkali lebih hemat dalam jangka panjang dibandingkan menghadapi masalah teknis yang berulang.

Langkah-langkah Teknis Deploy Laravel ke VPS

Setelah semua persiapan matang, kini saatnya kita masuk ke bagian teknis. Proses ini melibatkan interaksi langsung dengan server melalui terminal. Jangan khawatir jika Anda baru pertama kali melakukannya, setiap langkah akan dijelaskan secara detail.

1. Koneksi ke Server VPS Melalui SSH

Langkah pertama yang paling krusial adalah menghubungkan komputer Anda ke server VPS. Ini biasanya dilakukan menggunakan Secure Shell (SSH) protocol. Anda akan membutuhkan alamat IP VPS, username, dan password (atau kunci SSH jika Anda menggunakannya).

Gunakan klien SSH seperti PuTTY (untuk Windows) atau Terminal bawaan (untuk macOS dan Linux). Masukkan perintah berikut, ganti user dengan username Anda dan your_vps_ip dengan alamat IP VPS Anda:

ssh user@your_vps_ip

Setelah berhasil login, Anda akan berada di command line server.

2. Pembaruan Sistem dan Instalasi Dependensi Dasar

Sebelum menginstal aplikasi, selalu pastikan sistem operasi server Anda mutakhir. Ini penting untuk keamanan dan kompatibilitas.

Jalankan perintah berikut untuk memperbarui daftar paket dan meng-upgrade paket yang terinstal:

sudo apt update && sudo apt upgrade -y

Selanjutnya, kita perlu menginstal beberapa dependensi utama yang dibutuhkan oleh Laravel:

  • Web Server (Apache atau Nginx): Kita akan menggunakan Apache dalam tutorial ini. sudo apt install apache2 -y
  • PHP dan Ekstensi yang Dibutuhkan: Laravel membutuhkan versi PHP yang spesifik beserta beberapa ekstensi. sudo apt install php php-cli php-fpm php-mysql php-xml php-mbstring php-curl php-zip -y (Versi PHP yang terinstal akan mengikuti default dari repositori Ubuntu Anda. Jika Anda memerlukan versi spesifik, Anda mungkin perlu menambahkan PPA seperti Ondrej/php)
  • Database Server (MySQL/MariaDB): Pilih salah satu database yang Anda inginkan. sudo apt install mysql-server -y Setelah instalasi, amankan instalasi MySQL Anda dengan: sudo mysql_secure_installation
  • Composer: Manajer paket PHP yang sangat penting untuk mengelola dependensi Laravel. sudo apt install composer -y
  • Git: Untuk mengelola versi kode Anda dan menariknya dari repositori. sudo apt install git -y

3. Konfigurasi Database MySQL

Setelah MySQL terinstal, Anda perlu membuat database baru untuk aplikasi Laravel Anda dan memberikannya hak akses yang sesuai.

Masuk ke MySQL command line:

sudo mysql -u root -p

Kemudian, jalankan perintah berikut (ganti nama_database, user_database, dan password_database dengan informasi yang Anda inginkan):

CREATE DATABASE nama_database; CREATE USER 'user_database'@'localhost' IDENTIFIED BY 'password_database'; GRANT ALL PRIVILEGES ON nama_database.* TO 'user_database'@'localhost'; FLUSH PRIVILEGES; EXIT;

Pastikan Anda mencatat detail kredensial database ini, karena akan dibutuhkan saat konfigurasi file .env Laravel.

4. Mengunggah Kode Laravel ke Server

Ada beberapa cara untuk mengunggah kode Laravel Anda ke VPS. Metode yang paling umum dan direkomendasikan adalah menggunakan Git.

Pertama, navigasikan ke direktori root web server Anda. Biasanya ini adalah /var/www/html/.

cd /var/www/html/

Kemudian, kloning repositori Laravel Anda dari platform seperti GitHub, GitLab, atau Bitbucket:

sudo git clone https://github.com/username_anda/nama_proyek_laravel.git

Gantilah URL di atas dengan URL repositori Git proyek Laravel Anda. Pastikan Anda memiliki akses ke repositori tersebut.

Setelah selesai dikloning, masuk ke direktori proyek Anda:

cd nama_proyek_laravel

Selanjutnya, instal semua dependensi PHP yang dibutuhkan oleh Laravel menggunakan Composer:

sudo composer install --no-dev --optimize-autoloader

Opsi --no-dev penting untuk deployment produksi karena menginstal hanya dependensi yang diperlukan untuk menjalankan aplikasi, bukan dependensi pengembangan. Opsi --optimize-autoloader akan mempercepat proses loading aplikasi.

5. Konfigurasi File .env

File .env adalah tempat Anda menyimpan konfigurasi spesifik lingkungan, seperti kredensial database, kunci API, dan pengaturan lainnya. Laravel menyediakan file .env.example yang bisa Anda salin.

Salin file .env.example menjadi .env:

sudo cp .env.example .env

Kemudian, edit file .env menggunakan editor teks seperti nano:

sudo nano .env

Temukan dan sesuaikan baris-baris berikut dengan informasi yang sesuai:

DB_DATABASE=nama_database DB_USERNAME=user_database DB_PASSWORD=password_database

Anda mungkin juga perlu mengatur APP_URL ke alamat domain atau IP server Anda, dan APP_KEY.

Untuk menghasilkan APP_KEY baru (jika belum ada atau ingin diganti):

sudo php artisan key:generate

Perintah ini akan menghasilkan kunci unik yang digunakan Laravel untuk enkripsi.

6. Konfigurasi Virtual Host Apache

Agar Apache dapat menyajikan aplikasi Laravel Anda, kita perlu membuat konfigurasi virtual host.

Buat file konfigurasi baru untuk Apache:

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

Isi file tersebut dengan konfigurasi berikut, sesuaikan yourdomain.com dengan domain Anda atau alamat IP VPS jika Anda belum memiliki domain:

<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName yourdomain.com DocumentRoot /var/www/html/nama_proyek_laravel/public

<Directory /var/www/html/nama_proyek_laravel/public>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined

Simpan file tersebut dan keluar dari editor.

Selanjutnya, aktifkan konfigurasi virtual host yang baru dibuat dan nonaktifkan konfigurasi default:

sudo a2dissite 000-default.conf sudo a2ensite nama_proyek_laravel.conf

Kita juga perlu mengaktifkan modul rewrite agar Laravel dapat menangani routing dengan baik:

sudo a2enmod rewrite

Terakhir, restart Apache agar perubahan diterapkan:

sudo systemctl restart apache2

Menjalankan dan Mengamankan Aplikasi Laravel

Setelah kode terunggah dan konfigurasi dasar selesai, ada beberapa langkah penting untuk memastikan aplikasi berjalan dengan benar dan aman.

7. Mengatur Izin dan Kepemilikan Folder

Laravel membutuhkan izin tulis pada beberapa folder untuk menyimpan log, cache, dan file-file sementara lainnya.

Atur kepemilikan folder storage dan bootstrap/cache agar dapat ditulis oleh user web server (biasanya www-data untuk Apache di Ubuntu):

sudo chown -R www-data:www-data /var/www/html/nama_proyek_laravel/storage sudo chown -R www-data:www-data /var/www/html/nama_proyek_laravel/bootstrap/cache

Kemudian, atur izin folder storage agar lebih aman:

sudo chmod -R 775 /var/www/html/nama_proyek_laravel/storage

8. Migrasi Database

Jika Anda menggunakan database, Anda perlu menjalankan migrasi untuk membuat tabel-tabel yang dibutuhkan oleh aplikasi Laravel Anda.

Jalankan perintah migrasi:

sudo php artisan migrate

Perintah ini akan mengeksekusi semua file migrasi yang ada di direktori database/migrations proyek Anda.

9. Optimasi Performa (Opsional namun Sangat Direkomendasikan)

Untuk aplikasi produksi, sangat disarankan untuk melakukan optimasi performa lebih lanjut:

  • Cache Konfigurasi: sudo php artisan config:cache
  • Cache Rute: sudo php artisan route:cache
  • Cache View: sudo php artisan view:cache

Perintah-perintah ini akan membuat file cache yang mempercepat proses loading aplikasi Anda.

10. Mengamankan Aplikasi dengan HTTPS (SSL/TLS)

Keamanan adalah prioritas utama. Menggunakan HTTPS mengenkripsi komunikasi antara browser pengguna dan server Anda, melindungi data sensitif. Anda bisa mendapatkan sertifikat SSL gratis dari Let's Encrypt.

Instal Certbot:

sudo apt install certbot python3-certbot-apache -y

Kemudian, jalankan Certbot untuk mendapatkan dan menginstal sertifikat SSL untuk domain Anda:

sudo certbot --apache -d yourdomain.com

Ikuti instruksi yang diberikan oleh Certbot. Ini akan secara otomatis mengkonfigurasi Apache untuk menggunakan HTTPS dan memperbarui virtual host Anda.

Mengatasi Masalah Umum Saat Deploy

Meskipun sudah mengikuti panduan, terkadang kendala bisa saja muncul. Berikut beberapa masalah umum yang mungkin Anda hadapi dan solusinya:

  • Error 500 Internal Server Error: Ini adalah error generik yang seringkali disebabkan oleh masalah pada konfigurasi file .env, izin folder yang salah, atau error pada kode PHP. Periksa log error Apache (/var/log/apache2/error.log) dan log error Laravel (storage/logs/laravel.log) untuk detail lebih lanjut.
  • Aplikasi Terlihat Kosong atau Halaman Default Muncul: Pastikan Anda sudah mengarahkan DocumentRoot di konfigurasi virtual host ke direktori public proyek Laravel Anda. Periksa juga apakah modul rewrite sudah aktif.
  • Masalah Koneksi Database: Periksa kembali kredensial database di file .env Anda. Pastikan user database memiliki hak akses yang cukup dan MySQL server berjalan.
  • Composer Install Gagal: Periksa versi PHP Anda dan pastikan semua ekstensi PHP yang dibutuhkan sudah terinstal. Terkadang, masalah ini juga bisa karena keterbatasan memori pada VPS.

Kesimpulan

Deploying aplikasi Laravel ke VPS mungkin terdengar menakutkan pada awalnya, namun dengan pemahaman yang tepat dan panduan langkah demi langkah, proses ini menjadi jauh lebih mudah dikelola. Mulai dari persiapan infrastruktur yang matang, konfigurasi server yang cermat, hingga pengamanan aplikasi, setiap tahapan memiliki peran penting dalam memastikan aplikasi Anda berjalan stabil, aman, dan optimal.

Dengan mengikuti panduan ini, Anda telah membekali diri dengan pengetahuan yang cukup untuk meluncurkan proyek Laravel Anda ke dunia maya. Ingatlah bahwa praktik terbaik dalam pengembangan web terus berkembang, jadi jangan ragu untuk terus belajar dan bereksperimen.

Jika Anda menemukan artikel ini bermanfaat, jangan ragu untuk membagikannya kepada rekan-rekan developer Anda. Dan jika Anda ingin mendalami lebih jauh tentang dunia pengembangan web, jelajahi panduan-panduan menarik lainnya di blog ini.

FAQ Seputar Deploy Laravel ke VPS

Berapa biaya rata-rata untuk deploy aplikasi Laravel ke VPS?

Biaya deploy aplikasi Laravel ke VPS sangat bervariasi tergantung pada spesifikasi VPS yang Anda pilih, lokasi server, dan fitur tambahan dari penyedia hosting. Namun, untuk memulai, Anda bisa menemukan paket VPS yang terjangkau mulai dari ratusan ribu rupiah per bulan untuk kebutuhan dasar, hingga jutaan rupiah untuk VPS dengan performa tinggi dan sumber daya besar.

Apa saja tools wajib yang harus disiapkan sebelum deploy Laravel?

Tools wajib yang perlu Anda siapkan meliputi klien SSH (seperti PuTTY atau Terminal), Composer untuk manajemen dependensi PHP, Git untuk kontrol versi kode, serta editor teks untuk mengedit file konfigurasi (seperti Nano atau VS Code jika Anda menggunakan SSH remote editing).

Apakah setiap website harus menggunakan SSL (HTTPS)?

Ya, sangat disarankan. Penggunaan SSL (HTTPS) tidak hanya meningkatkan keamanan dengan mengenkripsi data yang ditransfer antara browser pengguna dan server, tetapi juga merupakan faktor positif untuk SEO. Mesin pencari seperti Google memberikan peringkat lebih baik pada situs yang menggunakan HTTPS.

CMS apa yang terbaik untuk pemula yang ingin membuat website sederhana?

Untuk pemula yang ingin membuat website sederhana tanpa perlu coding mendalam, CMS seperti WordPress, Wix, atau Squarespace adalah pilihan yang sangat baik. WordPress khususnya sangat populer karena fleksibilitasnya, banyaknya tema dan plugin yang tersedia, serta komunitas pengguna yang besar.

Ajie Kusumadhany
Written by

Ajie Kusumadhany

admin

Founder & Lead Developer KerjaKode. Berpengalaman dalam pengembangan web modern dengan Laravel, Vue.js, dan teknologi terkini. Passionate tentang coding, teknologi, dan berbagi pengetahuan melalui artikel.

Promo Spesial Hari Ini!

10% DISKON

Promo berakhir dalam:

00 Jam
:
00 Menit
:
00 Detik
Klaim Promo Sekarang!

*Promo berlaku untuk order hari ini

0
User Online
Halo! 👋
Kerjakode Support Online
×

👋 Hai! Pilih layanan yang kamu butuhkan:

Chat WhatsApp Sekarang