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

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Cara Install Laravel 8 Lengkap dengan SSL di Ubuntu 20.04

Last Updated on 10 October 2020 By tommy Leave a Comment

Laravel tidak bisa dipungkiri lagi sebagai framework yang paling banyak digunakan di dunia PHP. Baru-baru ini Laravel merilis versi 8, Larave 8 sendiri akan memiliki Bug Fix sampai 6 April 2021 dan security Fix sampai 8 September 2021.

Beberapa fitur baru di Laravel 8
– Laravel Jetstream
– Model Factory
– Migration squashing
– Job Batching
– Time Testing Helpers

Untuk kebutuhan SSL, setting A record domain/subdomain anda ke A record IP server.

laravel8.jaranguda.com.	3600 IN	A IP-SERVER

Untuk server Laravel 8 mewajibkan sudah terinstall
– PHP >= 7.3
– BCMath PHP
– Ctype PHP
– Fileinfo PHP
– JSON PHP
– Mbstring PHP
– OpenSSL PHP
– PDO PHP
– Tokenizer PHP
– XML PHP

Install PHP 7.4

Laravel 8 mensyaratkan minimal versi PHP 7.3 keatas, untuk itu kita akan menginstall versi 7.4. Untungnya versi ini sudah ada di Ubuntu 20.04, jadi tinggal install dengan package manager apt. Agar proses instalasi lebih cepat kita akan menginstall module PHP yang dibutuhkan oleh Laravel sekaligus.

sudo apt-get install php php-gd php-xmlrpc php-fpm php-curl php-intl php-imagick php-mysql php-zip php-xml php-mbstring php-bcmath php-redis -y

Install composer Depencency Manager

Untuk menginstall laravel kita membutuhkan composer, karena dependency nya akan di install atau update menggunakan composer. Bila di shared hosting biasanya copy semua folder ke root directory web server, di VPS/Server kita tidak perlu karena bisa menginstall dengan composer.

sudo apt install composer -y

Install Redis Server

Untuk kebutuhan cache, kita bisa memanfaatkan Redis yang sudah didukung oleh Laravel secara default.

sudo apt install redis-server -y

Install MariaDB Database Server

Sebagai databasenya install MariaDB

sudo apt install mariadb-server -y

Buat User dan Database untuk Laravel

Ditahap ini kita akan membuat user dan database untuk aplikasi Laravel yang akan kita buat. Sangat direkomendasikan untuk membuat user yang berbeda tiap aplikasi yang dibuat, agar lebih aman. Tahapannya sebagai berikut

1. Login sebagai root mysql

sudo mysql

2. Buat database dengan nama laravel8

create database laravel8;

3. Buat user baru dengan nama laravel8 dan berikan akses penuh ke database laravel8.

GRANT ALL PRIVILEGES ON laravel8.* TO "laravel8"@"localhost" IDENTIFIED BY "zTmLmMayi3hhdeTyELR9";

mysql membuat user dan database baru

Install Nginx Web Server

Nginx bisa dibilang sangat populer beberapa tahun belakangan ini, selain karena kecepatannya, juga karena kemudahan konfigurasinya dibandingkan dengan Apache web server. Sewaktu menginstall PHP 7.4 diatas, Ubuntu otomatis menginstall package apache2 dan menjalankannya. Untuk itu harus matikan service apache dan jalankan nginx.

# matikan service apache
sudo systemctl disable --now apache2
# jalankan service nginx
sudo systemctl enable --now nginx

Server Block Domain

Disini saya akan menggunakan domain laravel8.jaranguda.com, ganti dengan nama domain pilihan anda. Untuk kemudahan pengelolaan, server block dan folder saya memilih menggunakan nama domain yang digunakan.

cat >/etc/nginx/sites-enabled/laravel8.jaranguda.com.conf <<'EOL'
server {
    listen 80;
    server_name laravel8.jaranguda.com;
    root /var/www/html/laravel8.jaranguda.com/public;
    index index.php index.html;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php(?:$|/) {
        fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
        try_files $fastcgi_script_name =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param modHeadersAvailable true;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_intercept_errors on;
    }
}
EOL

Restart konfigurasi nginx

sudo systemctl restart nginx

Install Laravel 8

Sampai disini folder /var/www/html/laravel8.jaranguda.com belum ada, jadi akan kita buat di tahap instalasi Laravel 8.

sudo composer create-project --prefer-dist laravel/laravel:8.* /var/www/html/laravel8.jaranguda.com

Set permission file dan folder agar bisa diakses oleh nginx dan PHP-FPM

sudo chown www-data:www-data -R /var/www/html/laravel8.jaranguda.com

Coba cek di halaman http://namadomain, harusnya sudah tampil halaman default Laravel 8
laravel 8 bisa diakses

Sampai ditahap ini Laravel 8 sudah siap masuk ke production, tinggal di setting dibagian .env

Setting SSL Laravel 8

SSL di zaman sekarang ini bisa dibilang suatu kewajiban, dan merupakan standart untuk semua web server. Menggenerate SSL ini kita akan menggunakan acme.sh, dan menggunakan akun root

1. Login sebagai root user

sudo su -

2. Install acme.sh

apt install socat && curl https://get.acme.sh | sh

Pertama kali setelah menginstall acme.sh, reload konfigurasi .bashrc agar perintah acme.sh dikenali oleh shell.

source ~/.bashrc

3. Generate SSL
Sebelum menggenerate, matikan service nginx, karena kita akan menjalankan http dari socat untuk mempermudah instalasi SSL Lets Encrypt.

# matikan service nginx
systemctl stop nginx
# generate SSL untuk domain
acme.sh --issue -d laravel8.jaranguda.com --standalone
# jalankan service nginx
systemctl start nginx

Update Konfigurasi Nginx dengan SSL

Update konfigurasi nginx untuk menggunakan https dan juga meredirect http ke https secara otomatis

cat >/etc/nginx/sites-enabled/laravel8.jaranguda.com.conf <<'EOL'
server {
    listen 80;
    server_name laravel8.jaranguda.com;
    return 301 https://$host$request_uri;
}
 
server {
    listen 443 ssl http2;
    server_name laravel8.jaranguda.com;
    root /var/www/html/laravel8.jaranguda.com/public;
    index index.php index.html;
    ssl_certificate /root/.acme.sh/laravel8.jaranguda.com/fullchain.cer;
    ssl_certificate_key /root/.acme.sh/laravel8.jaranguda.com/laravel8.jaranguda.com.key;
 
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
 
    location ~ \.php(?:$|/) {
        fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
        try_files $fastcgi_script_name =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param modHeadersAvailable true;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_intercept_errors on;
    }
}
EOL

ganti laravel8.jaranguda.com dengan nama domain anda.

Restart nginx

systemctl restart nginx

Buka kembali http://namadomain akan otomatis di arahkan ke https://namadomain
laravel redirect http ke https

Bisa juga menggunakan curl untuk mengecek apakah sudah benar di redirect ke https

curl -I http://NAMADOMAIN

curl check redirect

Tulisan menarik lainnya

  • Install VirtualBox 4.3.4 di Fedora 20

    Berikut ini dijelaskan langkah per langkah instalasi VirtualBox 4.3.4 di Fedora 19/20. Disini saya menggunakan…

  • Install Firefox 32 di Fedora 20

    Seperti biasa Fedora Project sangat lambat dalam meng-update aplikasi terbaru, khususnya Firefox dan Thunderbird, mau…

  • Mengirim Email dengan Mailables di Laravel 5.4

    Mengirim email dengan Laravel sangat-sangat mudah, hanya butuh beberapa baris kode, seperti sulap email bisa…

  • Install Flash Player Firefox di Fedora 20

    Untuk bisa membuka flash di website-website video streaming, yang dibutuhkan adalah Flash Player, untuk Firefox…

Filed Under: Linux

Reader Interactions

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.3k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 273.1k views
  • Cara Setting Wireless ZTE F609 Indihome 257.1k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 169.9k views
  • Akses UseeTV Indihome via Wireless ZTE F609 156.8k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 153.2k 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