| | | |

Cara Install LEMP Di AlmaLinux 9 dan Rocky Linux 9 (Linux, Nginx, MariaDB, PHP)

Artikel berikut ini adalah tutorial sebagai panduan instalasi stack LEMP di AlmaLinux 9 dan Rocky Linux 9.

LEMP umumnya ditujukan Host / Server mendukung aplikasi dinamis berbasis PHP. LEMP sendiri adalah singaltan dari L untuk Linux, N merujuk pada Nginx (dibaca sebagai “engine-x”), M merujuk ke Mariadb/Mysql dan P merujuk ke PHP.

Kebutuhan / Prasyarat

Sebelumnya harus sudah tersedia perangkat yang sudah terinstall AlmaLinux 9 atau Rocky 9, Untuk cara instalasinya bisa melihat artikel :

Update System.

Sebelum dimulai update sistem dengan perintah dibawah ini.

# dnf update -y
Instalasi Web Server NginX.

instalasi NginX bisa diinstall melalui apt manager dengan mudah karena sudah tersedia di repository appstream Almalinux 9, Gunakan perintah berikut untuk install.

# dnf install nginx -y 
Cara Install LEMP Di AlmaLinux 9 dan Rocky Linux 9

Setelah proses instalasi selesai, pastikan nginx masuk ke dalam systemd agar distart saat pertama kali di boot.

# systemctl enable nginx
# systemctl start nginx
# systemctl status nginx

Langkah terakhir agar web server nginx adalah mengijinkan service http dan https di firewall. Gunakan perintah berikut ini.

# firewall-cmd --permanent --add-service={http,https}
# firewall-cmd --reload

Hasil test bisa diakses melalui ip melalui browser setelah service atau port diizinkan di firewall.

Install Database MariaDB

Kebutuhan selanjutnya adalah database yang digunakan adalah MariaDB yang bisa diinstall juga melalui package manager dengan perintah berikut.

# dnf install mariadb-server -y
Cara Install LEMP Di AlmaLinux 9 dan Rocky Linux 9

Setelah database MariaDB selesai di install enable di systemd agar di running saat system boot.

# systemctl enable mariadb
# systemctl start mariadb
# systemctl status mariadb

Setup Secure Instalation MariaDB

Setelah MariaDB running, selanjutnya menjalankan script secure installation untuk mengamankan database dari akses yang tidak diizinkan. Jalankan perintah berikut ini.

# mariadb-secure-installation

Setelah perintah dijalankan akan ada tampilam prompt berikut ini, respon pertama dalah tekan enter dan setup password mariadb selebihnya jawab dengan “y”.

Cek maria DB version bisa menggunakan perintah berikut

# mariadb -V

Untuk masuk ke database bisa ketikkan perintah

# mariadb
//atau 
# mariadb -u root -p
Install PHP di AlmaLinux 9

Instalasi PHP agar bisa berjalan di web server NginX diperlukan php-fpm, maka dari itu karena repository yang digunakan repository default appstream almalinux yang tersedia adalah php 8.1 sedangkan untuk php-fpm sendiri adalah 8.0 saat ini.

# dnf module list php
# dnf info php-fpm

Instalasi php-fpm dan beserta ekstensi php dasar yang dibutuhkan, jika ada ekstensi php lainnya yang diperlukan bisa di cari dan diinstall melalui package manager dnf.

# dnf install php-fpm php-mysqlnd php-gd php-cli php-curl php-mbstring php-bcmath php-zip php-opcache php-xml php-json php-intl -y
Cara Install LEMP Di AlmaLinux 9 dan Rocky Linux 9

Setelah instalasi selesai bisa cek php-fpm kembali dengan.

# php-fpm -v

Setelah itu buka ke setting php-fpm agar berjalan di user dan group nginx. File konfig php-fpm di buka dengan editor terlebih dahulu.

# vi /etc/php-fpm.d/www.conf

Cari user dan group berikut. dan ganti ke nginx

Selanjutnya Enable dan start php-fpm ke systemd agar diboot saat pertama kali system di boot.

# systemctl enable php-fpm
# systemctl start php-fpm
# systemctl status php-fpm

Sampai disini Instalasi php sudah selesai tapi nginx masih belum bisa mengenali php-fpm. Perlu konfig fastcgi_pass di server block nginx virtualhost nya NginX.

Langkah Akhir Membuat Server Block atau VirtualHost.

Di NginX path direktori default saat fresh install di Almalinux 9 adalah /usr/share/nginx/html. Jika ingin membuat VirtualHost atau server block baru untuk domain nginx memiliki di Almalinux tidak memiliki direktori /etc/nginx/sites-available dan /etc/nginx/sites-enabled seperti di ubuntu. Konfigurasinya cukup dibuatkan di direkotri /etc/nginx/conf.d.

Pengaturan Awal adalah setup direktori, Buat terlebih dahulu direktori yang akan menjadi root direktori domain.

# mkdir /var/www/contoh.com

Lalu buatkan file php berisikan fungis phpinfo didalamnya

# echo "<?php phpinfo(); ?>" > /var/www/example.com/index.php

Ubah Permission root direktorinya secara rekursif.

# chown -R nginx:nginx /var/www/contoh.com

Dengan bgini konfigurasi awal untuk direktori sudah siap.

Lanjut ke konfigurasi utama server block atau virtualhost. penempatan konfigurasi sebaiknya di dalam direktori /etc/nginx/conf.d nama file bisa disesuaikan dengan keinginan, contoh.com pada perintah dibawah bisa disesuaikan.

# vi /etc/nginx/conf.d/contoh.com.conf

lalu isikan konfigurasi berikut ini dan save. contoh.com bisa diganti bebas.

server {

    listen       80;
    listen       [::]:80;
    server_name  contoh.com www.contoh.com;
    root         /var/www/contoh.com;

    index index.php index.html;
    try_files $uri $uri/ /index.php?$args;

    access_log /var/log/nginx/contoh.com.access;
    error_log /var/log/nginx/contoh.com.error;

    location ~ \.(php|phar)(/.*)?$ {
    include        fastcgi_params;
    fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$;
    fastcgi_intercept_errors on;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_param  PATH_INFO $fastcgi_path_info;
    fastcgi_pass   unix:/run/php-fpm/www.sock;
    }
}

Test konfigurasi agar tidak kesalahan syntax dan membuat service nginx gagal start.

# nginx -t

Setelah itu restart service.

# systemctl restart nginx
Hasil akses dari browser.

Server menggunakan ip 192.168.56.103 dan client yang mengakses menggunakan ip 192.168.56.1. Maka sebelumnya di client perlu memodifikasi file hosts karena ip server bukanlah ip public dan domain yang digunakan adalah domain yang tidak aktif. Cara edit host file bisa cek artikel edit file host di windows dan linux.

Hasil dari browser setelah diakses.

Dengan begini Install stack LEMP di almalinux 9 dan rocky linux 9 sudah selesai dan siap digunakan.

Kesimpulan

Setelah mengikuti artikel berikut stack LEMP di almalinux 9 Sudah siap berjalan dan digunakan sebagai server host dengan aplikasi web berbasis php. Dengan nginx Server block atau virtualhost juga mendukung multi php.

Similar Posts

5 1 vote
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments