Cara Install Laravel 6 di Ubuntu 18.04

cara-install-laravel-6-di-ubuntu-18.04.png

Laravel yang mengusung tag line The PHP Framework for Web Artisans, merupakan salah satu PHP framework yang paling populer saat ini yang banyak digunakan oleh para web developer termasuk web developer di Indonesia, selain itu Laravel sangat cepat perkembangannya. Laravel 6.0 baru saja dirilis pada tanggal 3 September 2019 kemarin dan versi ini merupakan versi LTS (Long Term Support) di mana untuk bug fix sampai 3 September 2021 dan security fix sampai 3 September 2022. Informasi rilis Laravel 6.0 secara detail dapat dibaca di Release Notes.

Versi Laravel

*0.Environment Lab*

Dalam membuat tutorial ini saya menggunakan:

· OS: Ubuntu 18.04 · Public IP: 45.77.168.93 · Web server: Apache · Database: MariaDB 10.4 · PHP version: 7.2 · Composer · NPM · Laravel version: Laravel 6.0 · User server: musaamin · Domain: laravel.web

*1.Server Requirements*

Sebelum install Laravel 6.0, terlebih dahulu kita harus mengetahui server requirements yang dibutuhkannya. Semua requirements ini sebenarnya sudah terpenuhi di Laravel Homestead, sebuah web server untuk development environment Laravel yang berjalan di virtual machine.

Berikut spesifikasi PHP yang dibutuhkan oleh Laravel 6.0.

· PHP >= 7.2.0 · BCMath PHP Extension · Ctype PHP Extension · JSON PHP Extension · Mbstring PHP Extension · OpenSSL PHP Extension · PDO PHP Extension · Tokenizer PHP Extension · XML PHP Extension

*2.Membuat User*

User baru ini dibuat jika belum memiliki user lain selain root (misalnya di VPS). User ini yang akan menjadi pemilik dari direktori dan file Laravel. Jika sudah memiliki user, lewati langkah ini.

[INPUT]

1 2 3 adduser musaamin usermod -aG sudo musaamin su -l musaamin

*3.Install Apache*

Selanjutnya install web server Apache.

[INPUT]

1 sudo apt install apache2 -y

Cek status service apache2 apakah sudah berjalan.

[INPUT]

1 sudo systemctl status apache2

Browsing http://localhost atau http://ip-server untuk menguji apakah web server sudah bisa diakses.

Apache default page

*4.Install PHP*

Selanjutnya install PHP beserta extension yang dibutuhkan.

[INPUT]

1 sudo apt install php php-common php-bcmath php-mbstring php-mysql php-tokenizer php-zip -y

Restart service apache2.

[INPUT]

1 sudo systemctl restart apache2

Cek hasil install PHP sekaligus menampilkan versinya.

[INPUT]

1 2 3 4 5 6 php -v   PHP 7.2.19-0ubuntu0.18.04.2 (cli) (built: Aug 12 2019 19:34:28) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies     with Zend OPcache v7.2.19-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

Terlihat versi yang terpasang adalah PHP 7.2.19, sudah memenuhi server requirements yang membutuhkan minimal versi 7.2.0.

Selanjutnya buat file pengujian PHP yang berisi informasi PHP yang terpasang.

[INPUT]

1 sudo nano /var/www/html/info.php

Isi dengan

[INPUT]

1

Save = CTRL + O, Exit = CTRL + X.

Lalu browsing http://localhost/info.php atau http://ip-server/info.php.

PHP Info

Periksa juga apakah PHP extension yang dibutuhkan sudah tersedia semua.

PHP Info – Extension

*5.Install MariaDB*

MariaDB adalah forking dari database MySQL.

Pasang repository MariaDB.

[INPUT]

1 2 3 sudo apt-get install software-properties-common sudo apt-key adv –fetch-keys ‘https://mariadb.org/mariadb_release_signing_key.asc’ sudo add-apt-repository ‘deb [arch=amd64,arm64,ppc64el] http://sgp1.mirrors.digitalocean.com/mariadb/repo/10.4/ubuntu bionic main’  

Install MariaDB.

[INPUT]

1 2 sudo apt update sudo apt install mariadb-server mariadb-client -y

Jalankan mysql_secure_installation.

[INPUT]

1 2 3 4 5 6 7 8 sudo mysql_secure_installation   Enter current password for root (enter for none): ENTER Set root password? [Y/n] y Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y

Buat database khusus untuk project Laravel.

[INPUT]

1 2 3 4 5 6 7 sudo mysql -u root -p   CREATE DATABASE laravel; CREATE USER ‘laravel’@’localhost’ IDENTIFIED BY ‘password’; GRANT ALL PRIVILEGES ON laravel.* TO ‘laravel’@’localhost’; FLUSH PRIVILEGES; exit;

*6.Install Composer*

Composer merupakan perangkat lunak package manager untuk PHP. Fungsinya mirip dengan package manager di distro Linux seperti Ubuntu, butuh script tertentu, dependensi, dan update cukup menggunakan Composer. Composer akan mengunduh script yang dibutuhkan. Pastikan koneksi internet yang digunakan stabil pada saat menjalankan perintah Composer.

Install composer.

[INPUT]

1 2 3 sudo apt install unzip curl -y curl https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer

Uji hasil install composer.

[INPUT]

1 composer

Composer commands

*7.Install Laravel via Composer*

Kalau belum ada swap di server buat swap file terlebih dahulu.

[INPUT]

1 2 3 4 sudo /bin/dd if=/dev/zero of=/var/swap bs=1M count=1024 sudo /sbin/mkswap /var/swap sudo /sbin/swapon /var/swap sudo chmod 600 /var/swap  

Buat direktori untuk project Laravel.

[INPUT]

1 2 3 sudo mkdir /var/www/laravel sudo chown $USER:www-data /var/www/laravel cd /var/www/laravel

Install Laravel 6.0 via Composer.

[INPUT]

1 composer create-project laravel/laravel . 6.x

Set hak akses atau permission untuk direktori storage dan bootstrap/cache.

[INPUT]

1 2 sudo chown -R $USER:www-data storage bootstrap/cache sudo chmod -R 775 storage bootstrap/cache

Uji coba menjalankan Laravel dengan development server.

[INPUT]

1 php artisan serve

Lalu browsing http://localhost:8000 atau http://127.0.0.1:8000.

Kalau install Laravel di server (VPS) dan mau mengaksesnya menggunakan Public IP, tambahkan opsi host yang berisi Public IP dari server dan nomor port yang ingin digunakan.

[INPUT]

1 php artisan serve –host=45.77.168.93 –port=8080

Laravel berjalan di development server dengan Public IP

Tekan CTRL + C untuk menghentikan development server.

*8.Setting Apache Virtual Host*

Selanjutnya membuat virtual host untuk project Laravel. Kalau sudah memiliki domain, arahkan domain ke Public IP milik server. Kalau belum atau menggunakan localhost / komputer sendiri bisa edit file /etc/hosts.

Membuat file virtual host.

[INPUT]

1 sudo nano /etc/apache2/sites-available/laravel.web.conf

Isi dengan

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12     ServerName www.laravel.web     ServerAlias laravel.web         DocumentRoot /var/www/laravel/public              Options Indexes FollowSymLinks MultiViews         AllowOverride All         Require all granted          ErrorLog /var/log/apache2/laravel.web.error.log     CustomLog /var/log/apache2/laravel.web.access.log combined     

Aktifkan virtual host dan restart service.

[INPUT]

1 2 3 sudo a2enmod rewrite sudo a2ensite laravel.web sudo systemctl restart apache2

Edit file /etc/hosts di komputer client yang akan mengakses website Laravel.

[INPUT]

1 sudo nano /etc/hosts

Tambahkan ip-server laravel.web www.laravel.web.

[INPUT]

1 2 3 4 5 #Server local 127.0.0.1   laravel.web www.laravel.web   #Kalau Public IP 45.77.168.93  laravel.web www.laravel.web

Browsing http://www.laravel.web.

Laravel dengan nama domain

*9.Setting Database*

Setting Laravel agar bisa mengakses database MySQL/MariaDB.

Buka file .env dan pasang koneksi databasenya.

[INPUT]

1 nano .env

Koneksi database.

[INPUT]

1 2 3 4 5 6 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=laravel DB_PASSWORD=password  

Selanjutnya membuat fungsi register dan login di Laravel.

Jalankan migrate untuk membuat struktur tabel user.

[INPUT]

1 php artisan migrate

Tambahkan package ui.

[INPUT]

1 composer require laravel/ui

Composer install package ui

Setelah itu membuat halaman authentication dengan ui memakai Vue.js.

[INPUT]

1 php artisan ui vue –auth

Install npm.

[INPUT]

1 sudo apt install npm -y

Jalankan perintah npm.

[INPUT]

1 2 npm install npm run dev

Browsing kembali domainnya, link REGISTER dan LOGIN sudah jadi. Uji coba membuat akun baru dan login.

Laravel dengan menu Register dan Login

Laravel Form Register

Laravel Form Login

Laravel telah login

Selamat mencoba 🙂

Leave a Reply

Your email address will not be published.

scroll to top