Cara Install Nginx, MariaDB, PHP (LEMP stack) di CentOS 8 / RHEL 8


Fika Ridaul Maulayya
Software Engineer | Content Creator | Founder & Author di SantriKoding.com

Cara Install Nginx, MySQL, PHP (LEMP stack) di CentOS 8 / RHEL 8 - Halo teman-teman semuanya, pada kesempatan kali ini kita semua akan belajar bagaimana cara setup sebuah server menggunakan LEMP stack di Centos 8 / RHEL 8.

Jadi nanti kita akan belajar bagaiamana cara install web server menggunakan Nginx ( Engine-X), kemudian database menggunakan MariaDB dan PHP 7.2.

Langkah 1- Install Nginx di CentOS 8 / RHEL 8.

Untuk menginstall Web Server Nginx, silahkan teman-teman jalankan perintah dibawah ini :

dnf instal nginx

=======================================================================================================================================================
 Package                                    Arch                  Version                                               Repository                Size
=======================================================================================================================================================
Installing:
 nginx                                      x86_64                1:1.14.1-8.module_el8.0.0+5+258f653c                  AppStream                569 k
Installing dependencies:
 nginx-all-modules                          noarch                1:1.14.1-8.module_el8.0.0+5+258f653c                  AppStream                 23 k
 nginx-filesystem                           noarch                1:1.14.1-8.module_el8.0.0+5+258f653c                  AppStream                 24 k
 nginx-mod-http-image-filter                x86_64                1:1.14.1-8.module_el8.0.0+5+258f653c                  AppStream                 34 k
 nginx-mod-http-perl                        x86_64                1:1.14.1-8.module_el8.0.0+5+258f653c                  AppStream                 45 k
 nginx-mod-http-xslt-filter                 x86_64                1:1.14.1-8.module_el8.0.0+5+258f653c                  AppStream                 33 k
 nginx-mod-mail                             x86_64                1:1.14.1-8.module_el8.0.0+5+258f653c                  AppStream                 64 k
 nginx-mod-stream                           x86_64                1:1.14.1-8.module_el8.0.0+5+258f653c                  AppStream                 85 k
Enabling module streams:
 nginx                                                            1.14                                                                                

Transaction Summary
=======================================================================================================================================================
Install  8 Packages

Total download size: 877 k
Installed size: 2.0 M
Is this ok [y/N]: y

Silahkan pilih Y dan tekan ENTER.

Setelah proses installasi selesai, sekarang kita akan mengaktifkan Nginx saat sistem booting, silahkan jalankan perintah dibawah ini :

systemctl enable --now nginx

Untuk melihat statusnya, silahkan jalankan perintah dibawah ini :

status sistemctl nginx

● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2019-10-09 02:57:23 EDT; 10s ago
  Process: 29029 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 29027 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 29026 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 29031 (nginx)
    Tasks: 2 (limit: 11512)
   Memory: 9.6M
   CGroup: /system.slice/nginx.service
           ├─29031 nginx: master process /usr/sbin/nginx
           └─29032 nginx: worker process
...

Izinkan Nginx di FirewallD

Untuk memungkinkan akses eksternal ke server web Nginx, kita perlu membuka port 80 (http) atau 443 (https) tergantung pada kita nanti, apakah akan menggunakan trafik HTTP atau HTTPS.

Untuk mengizinkan Nginx menggunakan port 80 di FirewallD., silahkan teman-teman jalankan perintah di bawah ini :

firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

Jika teman-teman mendapatkan pesan error seperti ini saat menjalankannya :

firewall-cmd: command not found

Silahkan teman-teman jalankan perintah dibawah ini untuk menginstall FirewallD di server Centos 8 kita :

sudo dnf install firewalld
sudo systemctl enable firewalld --now

Setelah berhasil, silahkan teman-teman ulangi perintah diatas yang digunakan untuk mengizinkan port 80, maka jika berhasil, kita bisa menguji Web Server Nginx kita.

Menguji Nginx

Untuk mengonfirmasi apakah Nginx sudah jalan, cukup buka browser dan masukkan alamat IP server sebagai http://ip_server. Jika berhasil maka teman-teman akan melihat tampilannya kurang lebih seperti berikut ini.


Langkah 2 - Install MariaDB Database Server di CentOS 8 / RHEL 8.

Untuk database, kita nnati akan menggunakan MariaDB. Untuk menginstallnya teman-teman bisa jalankan perintah dibawah ini :

dnf instal mariadb-server

Setelah proses installasi berjalan sampai selesai, sekarang kita akan mengaktifkan MariaDb saat sistem melakukan booting.

systemctl enable --now  mariadb

Selanjutnya, jalankan security script untuk menonaktifkan remot login root, menghapus database uji, menghapus akun pengguna anonim.

instalasi mysql_secure_installation

Jika keluar pesan disuruh memasukkan current password untuk root, silahkan teman-teman tekan ENTER saja.

Setelah itu, teman-teman akan ditanyai lagi, apakah ingin membuat password untuk root, dan disini silahkan teman-teman ketik passwordnya :

Set root password? (Y/n) y
New password: 

Selanjutnya, kita dapat menekan ENTER untuk menjawab semua pertanyaan yang tersisa, yang akan menghapus pengguna anonim, menonaktifkan remote login root dan menghapus database pengujian. Langkah ini merupakan persyaratan dasar untuk keamanan basis data MariaDB.

Sekarang kita dapat menjalankan perintah berikut dan memasukkan kata sandi root MariaDB untuk masuk ke shell MariaDB.

mysql -u root -p

Jika berhasil teman-teman akan masuk ke Shell dari MariaDB, untuk keluar silahkan teman-teman jalankan perintah

exit;

Langkah 3 - Install PHP di CentOS 8 / RHEL 8.

Kita bisa Instal PHP dan modul PHP yang diperlukan pada CentOS 8 dengan menjalankan perintah berikut ini :

dnf instal php php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring

Setelah proses installasi selesai, sekarang kita jalankan PHP-FPM

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

Jika berhasil, kurang lebih hasilnya seperti berikut ini :

● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disable>
   Active: active (running) since Wed 2018-12-05 03:06:01 EST; 22s ago
 Main PID: 18631 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 6 (limit: 11512)
   Memory: 29.6M
   CGroup: /system.slice/php-fpm.service
           ├─18631 php-fpm: master process (/etc/php-fpm.conf)
           ├─18632 php-fpm: pool www

Langkah 4 - Menguji PHP di CentOS 8

Secara default, paket Nginx di RHEL 8 / CentOS 8 mencakup konfigurasi untuk PHP-FPM (/etc/nginx/conf.d/php-fpm.conf dan /etc/nginx/default.d/php.conf).

Untuk menguji PHP-FPM dengan server Web Nginx, kita perlu membuat info.php file di direktori root dokumen.

Install Nano

dnf install nano

Buat file Info PHP

nano / usr/share/nginx/html/info.php

Silahkan masukkan kode berikut ini di dalam file info.php :

<? php phpinfo (); ?>

Silahkan simpan dengan cara CTRL + X dan tekan Y, sekarang kita bisa mengujinya dengan cara mengakses http://ip_server/info.php. Jika berhasil kurang lebih tampilannya seperti berikut ini :


Sampai disini pembahasan tentang bagaimana cara install LEMP stack (Nginx, MariaDB, PHP) di Centos / RHEL 8. Jika teman-teman mengalami kesulitan, silahkan bisa bertanya melalui kolom komentar dibawah.

Terima Kasih


Fika Ridaul Maulayya
Software Engineer | Content Creator | Founder & Author di SantriKoding.com
KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami

KOMENTAR