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 install 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 install 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.
sudo 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 install 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