Instal LEMP - Nginx, PHP, MariaDB dan PhpMyAdmin di OpenSUSE


LEMP atau Linux, Engine-x, MySQL dan PHP stack adalah perangkat lunak bundel yang terdiri dari perangkat lunak sumber terbuka yang diinstal pada sistem operasi Linux untuk menjalankan aplikasi web berbasis PHP yang didukung oleh server Nginx HTTP dan sistem manajemen basis data MySQL/MariaDB.

Baca Juga: Instal LAMP – Apache, PHP, MariaDB dan PhpMyAdmin di OpenSUSE

Tutorial ini akan memandu Anda tentang cara memasang tumpukan LEMP dengan Nginx, MariaDB, PHP, PHP-FPM dan PhpMyAdmin pada edisi server/desktop OpenSuse.

Menginstal Server HTTP Nginx

Nginx adalah server HTTP dan proxy yang cepat dan andal yang dapat menangani beban permintaan HTTP yang lebih tinggi. Ia menggunakan pendekatan berbasis peristiwa asinkron untuk menangani permintaan, dan arsitektur berbasis peristiwa modularnya dapat memberikan kinerja yang lebih dapat diprediksi pada beban tinggi.

Untuk menginstal Nginx di OpenSuse, jalankan perintah berikut.

sudo zypper install nginx

Setelah Nginx terinstal, Anda dapat memulai layanan untuk saat ini, lalu mengaktifkannya untuk memulai otomatis saat boot dan memverifikasi status Nginx dengan menjalankan perintah berikut.

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

Baca Juga: 10 Perintah Nginx yang Paling Banyak Digunakan Yang Harus Diketahui Setiap Pengguna Linux

Pada titik ini, server web Nginx seharusnya sudah aktif dan berjalan, Anda juga dapat memverifikasi status menggunakan perintah netstat seperti yang ditunjukkan.

sudo netstat -tlpn | grep nginx

Sekarang, kita perlu menguji apakah instalasi Nginx berfungsi dengan baik. Berbeda dengan distribusi Linux lainnya, pada openSUSE, Nginx tidak memiliki dokumen index.html standar di folder root web. Kita perlu membuat file index.html baru di bawah direktori web root "/srv/www/htdocs" seperti yang ditunjukkan.

echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html

Jika Anda telah menginstal firewalld, Anda perlu membuka port 80 dan 443 untuk mengizinkan lalu lintas web di firewall.

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

Selanjutnya, buka web browser dan arahkan ke alamat http://localhost dan verifikasi halaman Nginx.

Menginstal Server Basis Data MariaDB

MariaDB adalah cabang sumber terbuka dan gratis dari sistem manajemen basis data relasional MySQL. Ini dikembangkan oleh pengembang asli MySQL dan dimaksudkan untuk tetap open source. MariaDB cepat, terukur, dan tangguh, dengan ekosistem mesin penyimpanan yang kaya, plugin, dan banyak alat lainnya menjadikannya sangat serbaguna untuk berbagai macam kasus penggunaan.

Untuk menginstal MariaDB di OpenSuse, jalankan perintah berikut.

sudo zypper install mariadb mariadb-client 

Selanjutnya, mulai layanan MariaDB untuk saat ini, lalu aktifkan untuk memulai otomatis saat boot dan periksa statusnya.

sudo systemctl start mariadb 
sudo systemctl enable mariadb 
sudo systemctl status mariadb 

Langkah penting berikutnya di bagian ini adalah mengamankan instalasi server MariaDB. Oleh karena itu jalankan skrip keamanan yang dikirimkan bersama paket MariaDB, seperti yang ditunjukkan.

Catatan: Menjalankan skrip keamanan MariaDB dan semua bagiannya sangat disarankan untuk semua server MariaDB dalam produksi.

sudo mysql_secure_installation 

Setelah menjalankan skrip, bacalah deskripsi di setiap langkah dengan cermat. Anda harus menetapkan kata sandi pengguna root, menghapus pengguna anonim, menonaktifkan akses root jarak jauh, menghapus database pengujian dan akses ke sana, dan terakhir memuat ulang tabel hak istimewa.

Menginstal dan Mengonfigurasi PHP dan PHP-FPM

PHP-FPM (kependekan dari PHP FastCGI Process Manager) adalah daemon FastCGI alternatif untuk PHP dengan beberapa fitur tambahan dan dirancang untuk menangani beban tinggi. Ia memelihara kumpulan (pekerja yang dapat merespons permintaan PHP) untuk mencapai hal ini. Yang penting, ini lebih cepat dibandingkan metode tradisional berbasis CGI, seperti SUPHP, untuk lingkungan PHP multi-pengguna.

Untuk menginstal PHP dan PHP-FPM bersama dengan modul yang diperlukan, jalankan perintah berikut.

sudo zypper install php php-mysql php-fpm php-gd php-mbstring

Sebelum kita melanjutkan untuk memulai layanan PHP-FPM, kita perlu membuat file konfigurasi yang diperlukan dari file default yang disediakan selama instalasi, dan mengonfigurasi layanan agar siap dioperasikan.

sudo cp /etc/php7/fpm/php-fpm.conf.default  /etc/php7/fpm/php-fpm.conf 
sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

Kemudian buka file konfigurasi php-fpm.conf utama untuk diedit.

sudo vim /etc/php7/fpm/php-fpm.conf 

Batalkan komentar pada baris berikut pada baris nomor 24 seperti pada gambar.

error_log = log/php-fpm.log

Simpan dan tutup file.

Selanjutnya, kita perlu menentukan pengaturan yang benar untuk kumpulan yang dikonfigurasi di file konfigurasi www.conf.

sudo vim /etc/php7/fpm/php-fpm.d/www.conf

Pertama, konfigurasikan pemilik Unix dan pemilik grup proses ke pengguna dan grup Nginx. Lakukan ini dengan mengubah nilai parameter pengguna dan grup dari nobody menjadi nginx.

user = nginx
group = nginx

Sekarang simpan perubahan pada file dan keluar.

Selain itu, ada satu lagi konfigurasi penting yang harus dilakukan, yaitu mengamankan PHP-FPM di file /etc/php/cli/php.ini.

sudo vim /etc/php7/cli/php.ini

Cari baris ;cgi.fix_pathinfo=1 dan ubah menjadi.

cgi.fix_pathinfo=0

Simpan perubahan dalam file dan keluar.

Selanjutnya, mulai layanan PHP-FPM untuk saat ini, lalu aktifkan layanan tersebut untuk memulai otomatis saat boot dan periksa statusnya.

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

Mengonfigurasi Nginx agar Bekerja dengan PHP-FPM

Pada titik ini, kita perlu mengonfigurasi Nginx agar berfungsi dengan PHP-FPM di file konfigurasi default Nginx.

sudo vim /etc/nginx/nginx.conf

Kemudian cari bagian berikut, dan tambahkan index.php dalam daftar file indeks yang diharapkan.

location / { 
           root   /srv/www/htdocs/; 
           index  index.php index.html index.htm ; 
       }

Temukan juga bagian berikut (yang harus dikomentari) dan hapus komentarnya. Bagian ini digunakan untuk meneruskan skrip PHP ke server FastCGI yang mendengarkan pada 127.0.0.1:9000.

location ~ \.php$ { 
       root           /srv/www/htdocs/; 
       fastcgi_pass   127.0.0.1:9000; 
       fastcgi_index  index.php; 
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
       include        fastcgi_params; 
       }

Simpan perubahan dalam file dan keluar.

Menguji Nginx dan PHP-FPM

Langkah selanjutnya adalah menguji apakah Nginx bekerja dengan baik bersama dengan PHP-FPM dengan membuat file pengujian PHP baru di bawah direktori DocumentRoot sebagai ditampilkan.

echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php

Sekarang kita perlu memeriksa apakah konfigurasi Nginx sudah benar sebagai berikut, sebelum kita melanjutkan untuk me-restart layanan.

sudo nginx -t

Jika sintaks konfigurasi Nginx baik-baik saja, lanjutkan dan mulai ulang layanan Nginx dan PHP-FPM agar perubahan terbaru dapat diterapkan.

sudo systemctl restart nginx php-fpm

Sekarang buka browser web dan navigasikan ke alamat http://localhost/info.php untuk memverifikasi konfigurasi PHP seperti yang ditunjukkan pada tangkapan layar berikut.

Menginstal dan Mengonfigurasi PhpMyAdmin

phpMyAdmin adalah alat gratis, sederhana, mudah digunakan, dan populer yang ditulis dalam PHP, dibuat untuk mengelola server MySQL melalui Web. Ini mendukung berbagai operasi di MySQL dan MariaDB.

Untuk menginstal phpMyAdmin di OpenSuse, jalankan perintah berikut.

sudo zypper install phpMyAdmin

Setelah instalasi selesai, buat file konfigurasi vhost baru untuk mengakses phpMyAdmin seperti yang ditunjukkan.

sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf

Tambahkan konfigurasi berikut ini ke file.

server { 
   listen 80; 

   server_name localhost/phpMyAdmin; 

  root /srv/www/htdocs/phpMyAdmin; 

   location / { 
       try_files $uri /index.php?$args; 
   } 

   location ~ \.php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       include fastcgi_params; 
   } 
} 

Simpan perubahan dan tutup file. Kemudian restart layanan Nginx dengan perintah berikut.

sudo systemctl restart nginx

Sekarang buka browser web Anda dan ketik alamat http://localhost/phpMyAdmin. Halaman login phpMyAdmin akan ditampilkan seperti yang ditunjukkan pada tangkapan layar berikut. Masukkan kredensial login pengguna root database Anda dan klik Mulai.

Itu saja! Dalam tutorial ini, kami telah menjelaskan cara memasang tumpukan LEMP dengan Nginx, MariaDB, PHP, PHP-FPM dan PhpMyAdmin pada edisi server/desktop OpenSuse. Jika Anda menghadapi masalah apa pun selama penyiapan, ajukan pertanyaan Anda melalui formulir komentar di bawah.