Beberapa hal yang kamu perlukan :
- project Laravel
- VPS / Virtual Private Server
- Domain (jika punya)
-
Letakkan project Laravelmu ke source code management (github/gitlab/yang lain)
Disini saya akan menggunakan repository company-management saya.
https://github.com/alfajrimutawadhi/company-management -
Buat personal access token
Token ini digunakan untuk mengkloning project kalian ke server nanti. Kalian bisa langsung membuat personal access token di https://github.com/settings/tokens/new
Tulis catatan sesuai keinginan dan centang pada bagian repo saja, lalu langsung klik generate dibagian paling bawah
Setelah berhasil, copy atau simpan token tersebut untuk dipakai nanti
-
Setup server
Kalian dapat masuk ke terminal server menggunakan ssh, untuk menginstall database dan beberapa dependencies yang diperlukan-
Install database sesuai dengan database Laravel kalian (disini saya menggunakan mysql)
sudo apt-get install mysql-server
*jangan lupa membuat database setelah melakukan instalasi ini
-
Install PHP-FPM dan beberapa ekstensi PHP
sudo apt-get install software-properties-common sudo add-apt-repository -y ppa:ondrej/php sudo apt update
*sesuai dengan versi PHP yang kalian butuhkan
sudo apt install php8.1-fpm php8.1-common php8.1-mysql php8.1-xml php8.1-ctype php8.1-curl php8.1-gd php8.1-dom php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-soap php8.1-zip php8.1-bcmath php8.1-fileinfo php8.1-pdo php8.1-tokenizer -y
-
Install NGINX
sudo apt install -y nginx
-
Install composer
sudo apt install -y composer
-
-
Cloning aplikasi Laravel
-
Resetup aplikasi laravel
-
Masuk ke folder aplikasi kalian dan ubah file .env.example menjadi file .env
cd /srv/app mv .env.example .env
-
Atur ulang file .env menggunakan vim
vim .env
-
Menambahkan folder vendor, migrasi dan optimasi
composer update composer install --optimize-autoloader --no-dev php artisan migrate php artisan key:generate php artisan config:cache php artisan route:cache php artisan view:cache sudo chmod -R 775 public && sudo chmod -R 777 storage
-
-
Mengatur configurasi NGINX
vim /etc/nginx/sites-enabled/default
- Hapus semua isi file dan silahkan paste dengan configurasi dibawah ini :
server { listen 80; listen [::]:80; server_name domain.com; root /srv/app/public; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; index index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } }
- restart NGINX
nginx -s reload
- Hapus semua isi file dan silahkan paste dengan configurasi dibawah ini :
Jika kalian punya domain dan kalian ingin aplikasi web kalian dapat diakses menggunakan HTTPS, kalian bisa mengikuti cara dibawah ini :
-
Masuk ke folder Laravel anda
cd /srv/app
-
Tambahkan code ini di folder
app/Providers/AppServiceProvider.php
menggunakan vimpublic function boot() { if(config('app.env') === 'production') { \URL::forceScheme('https'); } }
-
Rubah file .env Laravel dan resetup config
vim .env
rubah APP_URL menjadi
https://domain.com
lalu resetup configphp artisan config:cache
-
Install certbot
sudo apt install certbot python3-certbot-nginx
-
Membuat SSL certificate
certbot --nginx -d domain.com
-
Reload NGINX
nginx -s reload