• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Cara Install Laravel 7 dan SSL di Ubuntu 20.04 Focal Fossa

Last Updated on 24 April 2020 By tommy 2 Comments

Menginstall Laravel 7 di Ubuntu bisa berhari-hari, tetapi bisa juga hanya beberapa menit. Tergantung dari kemampuan menginstall dan konfigurasinya, belum lagi memasang SSL? Tutorial kali akan dibahas tahap demi tahap cara install Laravel 7 di Ubuntu Focal Fossa, tutorial ini cocok untuk pemula karena dipandu dari awal sampai akhir dengan contoh nyata.

Sebelum memulai install PHP Nginx MariaDB

Agar laravel bisa langsung diakses dari domain pilihan anda, yang perlu dilakukan , Set A (IP VPS) record ke domain pilihan anda contoh laravel.jaranguda.com
a record subdomain

Buat Database dan User Baru

Untuk koneksi ke database, kita akan membuat user dan database baru. Jalankan mysql lalu eksekusi

create database laravel;
GRANT ALL PRIVILEGES ON laravel.* TO "laravel"@"localhost" IDENTIFIED BY "K7XLHMhbvfKbLfprweJd";

Install Composer

Install composer langsung dari repository Ubuntu

apt install composer -y

Install Laravel

Install Laravel dengan composer. Kita akan meletakkan folder Laravel di /var/www/laravel.jaranguda.com agar lebih teratur dan rapi kalo dalam satu server ada banyak aplikasi.

cd /var/www/
composer create-project --prefer-dist laravel/laravel laravel.jaranguda.com

Jalankan composer install

Pindah ke folder /var/www/laravel.jaranguda.com, lalu jalankan composer install

composer install --no-dev

Buka file .env di /var/www/laravel.jaranguda.com, sesuaikan konfigurasi mysql diatas

APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=K7XLHMhbvfKbLfprweJd

Ubah file/folder permission, agar bisa diakses, dan ditulis oleh user nginx, dalam hal ini www-data

chown www-data:www-data -R /var/www/laravel.jaranguda.com

Buat Server Block Nginx

Agar website tersebut bisa diakses dari Nginx, kita harus membuat server block untuk domain tersebut. Buat file /etc/nginx/sites-enabled/laravel.jaranguda.com.conf

server {
    listen       80;
    server_name  laravel.jaranguda.com;
    root   /var/www/laravel.jaranguda.com/public/;
    index index.php index.html;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php(?:$|/) {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_intercept_errors on;
    }
}

Ingat untuk mengganti laravel.jaranguda.com dengan domain yang anda miliki. Setelah selesai, test dan restart nginx

nginx -t
# bila semuanya oke
systemctl restart nginx

Buka laravel.jaranguda.com, seharusnya sudah muncul halaman default Laravel
install laravel berhasil

Untuk test koneksi database, buka file routes/web.php, tambahkan code berikut ini

Route::get('/tes', function () {
   dd(\DB::connection()->getDatabaseName());
});

buka di browser domain/tes, harusnya tampil laravel, sesuai dengan database yang disetting di .env
laravel test database

Setelah semuanya di coba dan berjalan dengan lancar, saatnya install SSL.

Setting SSL

Untuk SSL kita akan menggunakan SSL gratis dari Lets Encrypt, untuk menginstallnya kita menggunakan bantuan acme.sh.
Download dan install acme.sh dengan

curl https://get.acme.sh | sh

karena acme.sh menambah file shortcut di .bashrc, kita harus me-reload file .bashrc

source ~/.bashrc
# atau
. ~/.bashrc

Karena kita akan menggunakan mode standalone untuk validasi domain, jadi kita perlu mematikan service nginx sebentar. Port 80 tersebut akan digunakan oleh acme.sh

systemctl stop nginx

Request SSL untuk domain laravel.jaranguda.com

acme.sh --issue -d laravel.jaranguda.com --standalone

tunggu 1 menit sampai muncul
ssl generated by server

Sekarang ini dimana-mana http diredirect langsung ke https, maka kita akan mengikuti konsep tersebut disini. Setiap user yang mengunjungi http://laravel.jaranguda.com akan dilempar ke https//laravel.jaranguda.com.
Sertifikat SSL telah diterima, sekarang waktunya menggunakan SSL tersebut di nginx. Ubah /etc/nginx/sites-enabled/laravel.jaranguda.com.conf menjadi

server {
    listen 80;
    server_name laravel.jaranguda.com;
    return 301 https://$server_name$request_uri;
}
 
server {
    listen 443 ssl http2;
    server_name  laravel.jaranguda.com;
    root   /var/www/laravel.jaranguda.com/public/;
    index index.php index.html;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
 
   ssl_certificate /root/.acme.sh/laravel.jaranguda.com/fullchain.cer;
   ssl_certificate_key /root/.acme.sh/laravel.jaranguda.com/laravel.jaranguda.com.key;
 
    location ~ \.php(?:$|/) {
        try_files $uri =404;   
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_intercept_errors on;
    }
}

Tes dan restart nginx

nginx -t
# bila semuanya oke
systemctl restart nginx

Buka kembali http://laravel.jaranguda.com/tes
redirect http ke https laravel
sudah kelihatan langsung diarahkan ke https

Tulisan menarik lainnya

  • Cara Install SSL di Mikrotik 6.29.1

    1. Generate Certificate Login lewat SSH, jalankan perintah /certificate add name=MikrotikJaranguda common-name=jaranguda.jrd key-size=2048 country=ID state=Jakarta…

  • Install Ampache Ubuntu 14.04

    Berikut ini adalah tutorial cara instalasi Ampache di Ubuntu 14.04. Install Apache, PHP dan MySQL…

  • Cara Install Kodi Jarvis – Mark XVI di Ubuntu

    Disini saya menggunakan Ubuntu 15.10. Install depedency dan upgrade software-software Ubuntu ke versi terbaru apt-get…

  • Install dig di Debian

    Tool dig mempermudah untuk mengecek DNS record melalui terminal Linux. bash: dig: command not found…

Filed Under: Linux, PHP

Reader Interactions

Comments

  1. Haikal says

    21 June 2020 at 21:13

    bang saya ikutin tutor diatas tapi masih error HTTP ERROR 500

    salah dimana yah kira kira ?
    padahal udah buat block di nginx.

    tolong pencerahannya

    trims

    Reply
    • Andre Haxor says

      2 December 2020 at 12:57

      Sepertinya config nginx nya salah

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Cara Mengganti Port Screen Sharing macOS
  • Cara Menonaktifkan Pager di macOS
  • Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway
  • Cara Force Delete Namespace di Kubernetes
  • Install PHP MariaDB di Mac Monterey

Komentar

  • mazda on Tutorial Lengkap Install Mail Server Postfix Dovecot MariaDB di CentOS 7
  • adi on Menggunakan Mikrotik Sebagai SSH Client
  • aris u on Solusi Simple Queue Mikrotik Tidak Berjalan
  • Bowo on Cara Mematikan SSID Molecool Balifiber
  • aris on Solusi Simple Queue Mikrotik Tidak Berjalan

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.2m views
  • Password Terbaru ZTE F609 Indihome 784.5k views
  • Password Superadmin Huawei HG8245A 318.8k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 273.1k views
  • Cara Setting Wireless ZTE F609 Indihome 257.3k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 170k views
  • Akses UseeTV Indihome via Wireless ZTE F609 156.9k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 153.5k views
  • Cara Reset Password ZTE F609 Indihome 147.6k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 113.6k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
carakami.com
kuotabisa.com
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java