Ubuntu - Pasang Laravel PHP Framework dengan NGINX web server | UNIX LINUX EXPLORE
Edit

Ubuntu - Pasang Laravel PHP Framework dengan NGINX web server

Laravel adalah framework web PHP gratis dan open-source yang dibuat oleh Taylor Otwell. Framework ini berbasis Symfony dan mengikuti pola arsitektur model view controller. Framework ini dirancang untuk membangun aplikasi web kelas atas menggunakan sintaksisnya yang signifikan dan anggun. Framework ini memiliki banyak fitur bawaan yang membuat pengembangan aplikasi web menjadi lebih mudah dan cepat.

Laravel semakin populer setelah merilis versi 3, yang mencakup fitur-fitur praktis, termasuk baris perintah Artisan dan basis data pendukung, serta memperkenalkan sistem pengemasan yang disebut bundel. Framework ini bertujuan untuk membantu para developer membangun aplikasi yang kompleks dan mudah dengan mempermudah tugas-tugas aplikasi yang sering digunakan (seperti caching dan autentikasi).

Dalam tutorial ini, kami akan menunjukkan cara menginstal Laravel dengan Nginx di Ubuntu. Artikel ini mengasumsikan bahwa Anda setidaknya memiliki pengetahuan dasar tentang Linux, tahu cara menggunakan shell, dan yang terpenting, Anda menghosting situs Anda di VPS Anda sendiri. Instalasinya cukup sederhana dan mengasumsikan Anda menjalankannya di akun root, jika tidak, Anda mungkin perlu menambahkan ‘sudo‘ ke perintah untuk mendapatkan hak akses root. Saya akan menunjukkan kepada Anda instalasi framework PHP Laravel dengan Nginx langkah demi langkah di Ubuntu 22.04 (Jammy Jellyfish). Anda dapat mengikuti petunjuk yang sama untuk Ubuntu 22.04 dan distribusi berbasis Debian lainnya seperti Linux Mint, Elementary OS, Pop!_OS, dan lainnya.




1. Persyaratan Sistem

Sebelum kita mulai prose instalasi dan konfigurasinya, pastikan anda memiliki prasyarat berikut:
  • Server yang menjalankan salah satu sistem operasi berikut: Ubuntu 22.04, 20.04, atau distribusi berbasis Debian lainnya seperti Linux Mint.
  • Disarankan agar menggunakan instalasi OS terbaru untuk mencegah potensi masalah.
  • Akses SSH ke server (atau cukup buka Terminal jika Anda menggunakan desktop).
  • Pengguna sudo non-root atau akses ke pengguna root. Namun, kami sarankan untuk bertindak sebagai pengguna sudo non-root,
  • Web server NGINX
  • Dependensi PHP

2. Install LEMP Server

Karena Laravel adalah sebuah CMS, maka dibuthkan LEMP server untuk menjalankan Laravel. Jika Anda belum menginstal LEMP, Anda dapat mengikuti panduan yang telah kami tulis pada artikel sebelumnya (https://datainchi.blogspot.com/2024/08/cara-memasang-lemp-stack-linux-nginx.html).

a. Membuat database untuk Laravel

Selanjutnya, Anda perlu membuat database dan pengguna untuk Laravel. Pertama, hubungkan ke MariaDB atau MySQL dengan perintah berikut.

Buat database untuk laravel
mysql -u root -p
mysql> CREATE DATABASE laravel;
mysql> GRANT ALL ON laravel.* to 'laravel'@'localhost' IDENTIFIED BY 'your_strong_password';
mysql> FLUSH PRIVILEGES;
mysql> quit

b. Install dependensi PHP

Karena Laravel dibuat dengan PHP, jadi sangat wajar jika dependensi PHP banyak diperlukan untuk menjalankan Laravel. Laravel tak akan berjalan tanapa adanya PHP dan ekstensi PHP. Anda harus menginstall dependensi PHP untuk laravel.

Update sistem dan install dependensi PHP
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install php php-cli php-common php-mbstring php-xml php-zip php-mysql php-pgsql php-sqlite3 php-json php-bcmath php-gd php-tokenizer php-xmlwriter

3. Install Composer

Composer adalah alat manajemen dependensi untuk PHP. Kita akan menggunakan Composer untuk menginstal Laravel dan dependensinya. Jalankan perintah berikut untuk menginstal Composer secara global.

Install laravel
$ sudo apt install curl php-cli php-mbstring git unzip
$ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Untuk memverifikasi atau mengecek versi Laravel yang terinstall, jalankan perintah berikut.

Cek versi composer
$ composer --version

4. Install Laravel

Secara default, Laravel tidak tersedia di repositori dasar Ubuntu. Sekarang jalankan perintah berikut di bawah ini untuk membuat proyek Laravel dengan Composer.

Buat project laravel
$ cd /var/www/html
$ composer create-project --prefer-dist laravel/laravel kursor.my.id
Selanjutnya, anda harus memberikan izin kepemilikan file pada direktori Laravel dengan menggunakan perintah berikut.

Memberi izin kepemilikan dan hak akses
$ sudo chown -R :www-data /var/www/html/kursor.my.id/storage/
$ sudo chown -R :www-data /var/www/html/kursor.my.id/bootstrap/cache/
$ sudo chmod -R 0777 /var/www/html/kursor.my.id/storage/
Kemudian anda buka dan edit file ".env". secara default .env berisi kunci aplikasi, untuk menignkatkan sistem keamanan situs web anda, ganti kunci default .env.

Buat kunci keamanan
$ sudo php artisan key:generate
Kemudian, pada file ".env" tersebut anda buat script untuk koneksi database yang telah anda buat di atas, seperti contoh di bawah ini.

Buat script koneksi database di file .env
$ sudo nano /var/www/html/kursor.my.id/.env

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=your_strong_password

5. Konfigurasi NGINX untuk Laravel

Untuk menjalankan Laravel di NGINX, anda harus membuat vhost untuk konfigurasi Laravel. Untuk membuat file vhost, anda buka direktori /etc/nginx/sites-available, dan pada direktori tersebut anda buat file bernama "kursor.my.id.conf".

Kemudian pada file "kursor.my.id.conf", anda tambahkan script seperti di bawah ini.

Contoh script file kursor.my.id.conf
$ sudo nano /etc/nginx/sites-available/kursor.my.id.conf

server{
        server_name www.kursor.my.id;
        root        /var/www/html/kursor.my.id/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 dan tutup berkas, lalu restart Nginx agar perubahan bisa langsung dijalankan.

Restart NGINX
$ sudo ln -s /etc/nginx/sites-available/kursor.my.id.conf /etc/nginx/sites-enabled/
$ sudo rm /etc/nginx/sites-enabled/default
$ sudo nginx -t
$ sudo systemctl restart nginx
Jangan sampai lupa, aktifkan juga firewall untuk membuka port NGINX.

Aktifkan firewall
sudo ufw allow 'Nginx FULL'
sudo ufw enable
sudo ufw status
Setelah semua konfigurasi diatas telah selesai anda kerjakan dan tak ada yang terlewat, kini saatnya kita jalankan Laravel. Untuk menjalankan Laravel anda harus membuka browser Google Chrome atau lainnya, dan pada menu address bar ketikkan "http://192.168.5.3/". Anda akan melihat halaman contoh Laravel di layar monitor anda.

Selamat! Anda telah berhasil menginstal Laravel dengan Nginx di Ubuntu. Kini Anda dapat menjelajahi fitur-fitur Laravel dan menerapkan aplikasi berbasis PHP menggunakan kerangka Laravel.