Panduan Lengkap: Cara Deploy Laravel ke VPS Ubuntu dengan Repositori GitHub Privat

Panduan Lengkap: Cara Men-deploy Laravel ke VPS Ubuntu dengan Repositori GitHub Privat


Deploy Project Laravel ke VPS itu penting banget buat ngembangin dan maintenance aplikasi web yang bisa diakses sama banyak orang. Kalau pake repo GitHub privat , prosesnya butuh beberapa langkah lagi supaya bisa di clone dari github.

Artikel ini bakal nuntun kamu step by stepnya, mulai dari awal deploy aplikasi Laravel ke VPS Ubuntu dan integrasi repo GitHub pribadi kamu.


Langkah 1: Persiapan VPS

Login ke VPS : ssh username@your-vps-ip

Update dan Upgrade Sistem: sudo apt update & sudo apt upgrade

Instal Dependensi : sudo apt install nginx php-fpm php-mysql git unzip

Instal Composer:

curl -sS https://getcomposer.org/installer | php

sudo mv composer.phar /usr/local/bin/composer


Konfigurasi Nginx: sudo nano /etc/nginx/sites-available/your-app

server {
    listen 80;
    server_name your-domain.com/ip;

    root /var/www/your-app/public;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}


Buat symlink ke sites-enabled dan restart Nginx:

sudo ln -s /etc/nginx/sites-available/your-app /etc/nginx/sites-enabled/

sudo nginx -t

sudo systemctl restart nginx



Langkah 2: CloneRepositori dari GitHub Privat

ssh-keygen -t rsa -b 4096 -C "your-email@example.com"

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

cat ~/.ssh/id_rsa.pub

Salin hasil output dan tambahkan ke akun GitHub kamu di GitHub SSH and GPG keys.


kalo udah 

ssh -T git@github.com

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

cd /var/www

sudo git clone git@github.com:username/your-private-repo.git your-app . (Titik diahir fungsinya supaya pass clone gak bikin folder lagi)

cd your-app


Instal Dependensi Laravel:

composer install

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

Setel File .env:

cp .env.example .env

Edit .env dengan:

nano .env
Sesuaikan variabel lingkungan seperti DB_DATABASE, DB_USERNAME, dan DB_PASSWORD.


Generate key Aplikasi Laravel:

php artisan key:generate


sudo chown -R www-data:www-data /var/www/your-app

sudo chown -R $USER:$USER /var/www/your-app

sudo chmod -R 755 /var/www/your-app/storage

sudo chmod -R 755 /var/www/your-app/bootstrap/cache


Lebih baru Lebih lama