Daftar Isi

Instalasi Laravel 10, PHP 8.1 dan MariaDB pada webserver Apache2 di Debian 11

Dalam menginstall Laravel 10, kebutuhan versi aplikasi yang disarankan(compatible) maupun minimal adalah:

  • Laravel 10
  • Php 8.1
  • MariaDB
  • Composer 2.5.4
  • Apache2
  • NodeJS v20.11.1

Install Apache2 Server:

1
2
sudo apt update
sudo apt install apache2

Install & configure php8.1:

1
sudo apt install -y lsb-release ca-certificates curl php8.1 php8.1-cli php8.1-common php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php8.1-xml php8.1-bcmath

enable PHP extensions

1
sudo nvim /etc/php/8.1/apache2/php.ini

Uncomment pada bagian extension untuk melakukan enable PHP extension fileinfo, openssl, dan mbstring.

1
2
3
extension=fileinfo
extension=mbstring
extension=openssl

Install & Configure MariaDB database server

Install MariaDB:

1
sudo apt install mariadb-server

Setelah instalasi, login ke MariaDB

1
sudo mysql -u root -p

Tambahkan user untuk database, kemudian database untuk aplikasi kita:

1
2
3
4
CREATE DATABASE laravelapp;
CREATE USER laravel@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravelapp.* TO laravel@localhost;
FLUSH PRIVILEGES;

Install composer 2.5.4:

1
2
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --version=2.5.4
composer self-update 2.5.4

Install dan Konfigurasi Configure Laravel 10

Buat direktori untuk project anda, di direktori home user anda di Linux debian:

1
mkdir -p /home/$USER/{Projects/{Htdocs}}

Change ownership of the projects folder:

1
sudo chown -R www-data:www-data /home/$USER/{Projects/{Htdocs}}

Ubah hak akses direktori Htdocs menjadi 775 (rwxrwxr-x), agar user yang masuk dalam grup www-data mendapatkan akses penuh pada aplikasi yang ada di dalam direktori tersebut.

1
sudo chmod -R 775 /home/$USER/Projects/Htdocs

Tambahkan user anda ke grup www-data:

1
sudo usermod -a -G www-data $USER

Masuk ke direktori aplikasi anda:

1
cd /home/$USER/Projects/Htdocs

Kemudian anda sudah bisa mulai membuat aplikasi laravel 8 menggunakan composer:

1
composer create-project laravel/laravel=10.x testing-app --prefer-dist

Setelah itu, aplikasi Laravel testing-app sudah bisa anda akses di /home/$USER/Projects/Htdocs/testing-app

Konfigurasi Virtual Host untuk Apache2

Buat file konfigurasi untuk modul Apache2, dalam hal ini dinamakan projects.conf (bisa juga dengan nama lain):

1
sudo nano /etc/apache2/sites-available/projects.conf

Tambahkan konfigurasi berikut di dalam file projects.conf yang anda buat:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
 <VirtualHost *:80>
    ServerAdmin admin@myserver.dev                                                     
    ServerName myserver.dev                                                            
    DocumentRoot /home/$USER/Htdocs                                           
  
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/$USER/Htdocs>
        AllowOverride All
    </Directory>
 
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
 </VirtualHost>

# Daftarkan User dan Group untuk mengatasi error `Forbidden 403` pada browser
User joenmarz
Group joenmarz

Catatan:

  • Ganti variabel $USER pada file projects.confdengan nama user linux anda
  • Pada ServerAdmin, admin@myserver.dev dapat diganti sesua alamat email yang anda inginkan
  • Pada ServerName, myserver.dev akan menjadi nama dari virtual host anda, saat dipanggil di browser secara lokal, akan menjadi _http://myserver.dev/_

Aktivasi modul rewrite Apache2 dan aktifkan modul projects.conf menggunakan perintah:

1
2
sudo a2enmod rewrite
sudo a2ensite projects.conf

Verifikasi konfigurasi Apache2 untuk memastikan tidak ada error:

1
sudo apachectl configtest

Restart servis Apache2 untuk mengaktifkan konfigurasi virtual host yang kita buat untuk project Laravel 10 kita. Restart the Apache2 service to apply a new virtual host configuration for the Laravel project using the below command.

1
sudo systemctl restart apache2

Sekarang anda telah selesai melakukan konfigurasi virtual host untuk Laravel.

Pada komputer anda, ubah file /etc/hosts menggunakan text editor nano/vim/dll.

1
sudo nano /etc/hosts

Tambahkan konfigurasi di bawah ini. Pastikan nama domain sesuai dengan nama yang anda kelola tadi, dalam hal ini myserver.dev, kemudian IP address sesuai dengan yang terdaftar pada komputer anda

1
192.168.10.15 myserver.dev

Simpan file /etc/hosts, dan aplikasi Laravel 10 yang anda bentuk sudah bisa diakses dari http://myserver.dev/testing-app/public

Package Manager Node.JS

Untuk instalasi package, di Laravel 10 menggunakan Nodejs v20.11.1 dengan menggunakan npm sebagai package manager. Untuk panduan selengkapnya klik Instalasi Node.js dan npm Versi tertentu Menggunakan NVM (Node Version Manager) di Debian 11.

Referensi

StackOverflow tentang “How To Install Specified Version of Composer

Howtoforge tentang “Install Laravel on Ubuntu For Apache”

Tutsmake tentang memperbaiki error “laravel log could not be opened”

Laravel.com tentang minimum requirements Laravel 10