Cara Install Laravel PHP Framework dengan Nginx di Ubuntu 20.04


Laravel adalah framework PHP paling populer, gratis, dan open-source di dunia, dikenal dengan sintaksisnya yang ekspresif dan elegan. Laravel mudah diakses, kuat, dan menawarkan beberapa alat pengembangan web terbaik yang diperlukan untuk aplikasi besar, kuat, dan modern.

Dalam artikel ini, Anda akan mempelajari cara menginstal Laravel PHP Framework di server Ubuntu 20.04 yang berjalan di server web Nginx.

Prasyarat

  • Cara Menginstal LEMP Stack dengan PhpMyAdmin di Ubuntu 20.04

Langkah 1: Menginstal Modul PHP yang Diperlukan

Setelah menyiapkan tumpukan LEMP di server Ubuntu 20.04 Anda seperti dijelaskan dalam panduan pada tautan di atas, Anda perlu menginstal ekstensi PHP tambahan yang diperlukan oleh Laravel sebagai berikut:

sudo apt update
sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer

Langkah 2: Membuat Database untuk Laravel

Selanjutnya, Anda perlu membuat database MySQL untuk aplikasi Laravel Anda. Jadi, masuk ke shell mysql Anda dan buat database sebagai berikut.

sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

Langkah 3: Menginstal Komposer di Ubuntu 20.04

Laravel menggunakan komposer (manajer dependensi untuk PHP) untuk mengelola dependensinya. Oleh karena itu, sebelum menggunakan Laravel, pastikan Anda telah menginstal Composer di sistem Anda seperti yang ditunjukkan.

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

Langkah 4: Menginstal Laravel di Ubuntu 20.04

Setelah menginstal komposer, gunakan untuk menginstal file Laravel. Pindah ke direktori /var/www/html tempat file web disimpan, lalu instal Laravel menggunakan composer seperti yang ditunjukkan. Ingatlah untuk mengganti example.com dengan nama direktori tempat file Laravel akan disimpan.

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

Langkah 5: Mengonfigurasi Laravel di Ubuntu 20.04

Untuk melihat daftar isi instalasi Laravel baru, jalankan perintah ls berikut. Anda akan melihat bahwa file .env telah dibuat secara otomatis, yang sebelumnya harus dibuat secara manual.

ls -la /var/www/html/example.com/

Selanjutnya, atur izin yang sesuai pada direktori Laravel sebagai berikut.

sudo chown -R :www-data /var/www/html/example.com/storage/
sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
sudo chmod -R 0777 /var/www/html/example.com/storage/
sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/

Selanjutnya, Laravel menggunakan kunci aplikasi untuk mengamankan sesi pengguna dan data terenkripsi lainnya. .env default berisi kunci aplikasi default tetapi Anda perlu membuat yang baru untuk penerapan laravel Anda demi tujuan keamanan.

sudo php artisan key:generate

Kunci yang dihasilkan akan ditambahkan ke file .env sebagai nilai APP_KEY. Anda dapat melihat kunci yang ditambahkan menggunakan perintah grep.

grep -i APP_Key /var/www/html/example.com/.env

Anda juga perlu mengonfigurasi detail koneksi database Laravel di .env seperti yang ditunjukkan pada tangkapan layar berikut.

sudo nano /var/www/html/example.com/.env

Langkah 6: Konfigurasi NGINX untuk Melayani Aplikasi Laravel

Agar NGINX dapat melayani aplikasi baru Anda, Anda perlu membuat blok server untuk aplikasi tersebut dalam konfigurasi NGINX, di bawah direktori /etc/nginx/sites-available/.

sudo nano /etc/nginx/sites-available/example.com.conf

Pada konfigurasi di bawah ini, perbarui root directive ke direktori publik aplikasi Laravel dan pastikan untuk mengganti www.example.com dengan nama domain situs web Anda seperti yang ditunjukkan.

Selain itu, setel direktif fastcgi_pass yang harus mengarah ke media yang PHP-FPM dengarkan untuk permintaan (misalnya fastcgi_pass unix:/run/php/php7.4 -fpm.kaus kaki):

server{
        server_name www.example.com;
        root        /var/www/html/example.com/public;
        index       index.php;

        charset utf-8;
        gzip on;
        gzip_types text/css application/javascript text/javascript application/x-javascript  image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

Simpan file lalu aktifkan konfigurasi situs Laravel dengan membuat link dari /etc/nginx/sites-available/example.com.conf ke /etc/nginx/sites-enabled/ direktori . Selain itu, hapus konfigurasi blok server default.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

Selanjutnya, periksa apakah sintaks konfigurasi NGINX sudah benar dengan menjalankan perintah berikut sebelum memulai ulang layanan.

sudo nginx -t
sudo systemctl restart nginx

Langkah 7: Mengakses Aplikasi Laravel dari Web Browser

Pada tahap ini, Anda perlu menguji apakah penerapan Laravel Anda berfungsi dengan baik dan apakah penerapan tersebut dapat diakses dari browser. Untuk menggunakan domain dummy, example.com, mari gunakan file /etc/hosts di komputer lokal Anda untuk membuat DNS lokal.

Jalankan perintah berikut untuk mendapatkan alamat IP server Laravel dan tambahkan ke file /etc/hosts (ganti nilainya sesuai pengaturan Anda).
$ip iklan
$echo “192.168.56.11 contoh.com” | sudo tee -a /etc/hosts

Sekarang buka browser web di komputer lokal dan gunakan alamat berikut untuk bernavigasi.

http://www.example.com/

Sekarang setelah Anda menginstal Laravel, Anda dapat mulai membangun aplikasi web atau situs Anda. Untuk informasi lebih lanjut, lihat dokumentasi Laravel.