Cara Install Nginx, MariaDB, PHP (LEMP) di openSUSE Leap 15.1

Sebelumnya saya sudah pernah membahas tentang cara install Apache, MariaDB, PHP (LAMP) di openSUSE Leap 15.1. Nah, kali ini saya akan membahas tentang cara install Nginx (dibaca Engine X), MariaDB, dan PHP di openSUSE Leap 15.1.

*0.Update System dan Package*

Sebelum install LEMP sebaiknya update openSUSE Leap terlebih dahulu.

[INPUT]

1 2 sudo zypper refresh sudo zypper update  

*1.Install Nginx Web Server*

Install Nginx web server dengan nama paket nginx.

[INPUT]

1 sudo zypper install nginx

Aktifkan Nginx saat boot dan jalankan.

[INPUT]

1 2 3 sudo systemctl enable nginx sudo systemctl start nginx   sudo systemctl status nginx

Status service nginx

Cek versi Nginx.

[INPUT]

1 2 3 sudo nginx -v   nginx version: nginx/1.14.0

Buat file index.html di dalam document root.

[INPUT]

1 sudo nano /srv/www/htdocs/index.html

Isi file index.html.

[INPUT]

1 2 3 4 5   

Hello world

Browsing http://localhost kalau di pc sendiri atau http://ip-server kalau server di jaringan.

Browsing index.html

Ubah kepemilikan direktori document root ke user nginx.

[INPUT]

1 sudo chown -R nginx /srv/www/htdocs

*3.Nginx Server Block*

Membuat server block, di sini saya menggunakan domain superuser.web.id.

Buat A record di DNS records untuk mengarahkan domain ke IP server.

DNS records

Lalu buat file server block.

[INPUT]

1 2 cd /etc/nginx/vhosts.d sudo nano superuser.web.id.conf

Isi dari file superuser.web.id.conf.

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 server {   listen 80;     server_name www.superuser.web.id;   root /srv/www/superuser.web.id/;     access_log /var/log/nginx/superuser.web.id.access.log;   error_log /var/log/nginx/superuser.web.id.error.log warn; }   # redirect dari non-www ke www. server {   listen 80;     server_name .superuser.web.id;     return 301 http://www.superuser.web.id$request_uri; }  

Buat direktori document root untuk superuser.web.id.

[INPUT]

1 2 cd /srv/www sudo mkdir superuser.web.id

Buat file index.html.

[INPUT]

1 sudo nano superuser.web.id/index.html

Isi dari file index.html.

[INPUT]

1 2 3 4 5   

superuser.web.id

Restart Nginx.

[INPUT]

1 sudo systemctl restart nginx

Browsing domain http://superuser.web.id.

Browsing domain

*4.Install MariaDB Database*

Install MariaDB server beserta clientnya.

[INPUT]

1 sudo zypper install mariadb mariadb-client mariadb-tools

Aktifkan MariaDB saat boot dan jalankan.

[INPUT]

1 2 3 sudo systemctl enable mysql sudo systemctl start mysql   sudo systemctl status mysql

Status MariaDB database

Cek versi MariaDB.

[INPUT]

1 2 3 mysql –version   mysql  Ver 15.1 Distrib 10.2.25-MariaDB, for Linux (x86_64) using  EditLine wrapper

Lakukan pengamanan instalasi MariaDB.

[INPUT]

1 2 3 4 5 6 7 8 sudo mysql_secure_installation   Enter current password for root (enter for none): ENTER Set root password? [Y/n] y Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y

Login MariaDB menggunakan aplikasi mysql-client.

[INPUT]

1 mysql -u root -p

*5.Install PHP*

Install PHP dan extensionnya.

[INPUT]

1 sudo zypper install php7 php7-mysql php7-fpm php7-gd php7-mbstring

Copy file konfigurasi PHP-FPM.

[INPUT]

1 2 3 cd /etc/php7/fpm sudo cp php-fpm.conf.default php-fpm.conf sudo cp php-fpm.d/www.conf.default php-fpm.d/www.conf

Buka file php-fpm.conf.

[INPUT]

1 sudo nano php-fpm.conf

Cari opsi error_log lalu aktifkan (uncomment) dengan menghapus tanda titik koma (;).

[INPUT]

1 error_log = log/php-fpm.log

File Config php-fpm.conf

Buka file www.conf.

[INPUT]

1 sudo nano php-fpm.d/www.conf

Cari opsi user dan group ubah nilainya dari nobody menjadi nginx.

[INPUT]

1 2 user = nginx group = nginx

File Config www.conf – user dan group

Cari opsi listen dan ubah nilainya.

[INPUT]

1 listen = /var/run/php-fpm.sock

Cari opsi listen.owner, listen.group, dan listen.mode.

[INPUT]

1 2 3 listen.owner = nginx listen.group = nginx listen.mode = 0660

File Config www.conf – listen

Buka file php.ini.

[INPUT]

1 sudo nano /etc/php7/cli/php.ini

Cari opsi cgi.fix_pathinfo uncomment dan ubah nilainya menjadi 0.

[INPUT]

1 cgi.fix_pathinfo=

File php.ini

Aktifkan service PHP-FPM.

[INPUT]

1 2 3 sudo systemctl start php-fpm sudo systemctl enable php-fpm sudo systemctl status php-fpm

Status service php-fpm

*6.Konfigurasi Server Block untuk Menjalankan PHP*

Konfigurasi server block yang sudah dibuat agar bisa menjalankan script PHP.

[INPUT]

1 sudo nano /etc/nginx/vhosts.d/superuser.web.id.conf

Ubah isinya menjadi seperti di bawah ini.

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 server {   listen 80;     server_name www.superuser.web.id;   root /srv/www/superuser.web.id/;       index index.php index.html index.htm;       location / {         try_files $uri $uri/ /index.php?$query_string;     }       location ~ \.php$ {         try_files $fastcgi_script_name =404;         include fastcgi_params;         fastcgi_pass                  unix:/var/run/php-fpm.sock;         fastcgi_index                 index.php;         fastcgi_param DOCUMENT_ROOT   $realpath_root;         fastcgi_param SCRIPT_FILENAME   $realpath_root$fastcgi_script_name;     }     access_log /var/log/nginx/superuser.web.id.access.log;   error_log /var/log/nginx/superuser.web.id.error.log warn; }   # redirect dari non-www ke www. server {   listen 80;   listen [::]:80;     server_name .superuser.web.id;     return 301 http://www.superuser.web.id$request_uri; }  

Restart Nginx.

[INPUT]

1 sudo systemctl restart nginx

Buat file info.php.

[INPUT]

1 sudo nano /srv/www/superuser.web.id/info.php

Isi dari file info.php.

[INPUT]

1

Browsing http://superuser.web.id/info.php.

Halaman PHP Info

*7.Install phpMyAdmin*

Install phpMyAdmin, aplikasi manajemen database MariaDB.

[INPUT]

1 sudo zypper install phpMyAdmin

Buat server block untuk ip-server.

[INPUT]

1 sudo nano /etc/nginx/vhosts.d/ipserver.conf

Isi dari file ipserver.conf.

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 server {   listen 80;     server_name 139.180.145.186;   root /srv/www/htdocs;       index index.php index.html index.htm;       location / {         try_files $uri $uri/ /index.php?$query_string;     }       location ~ \.php$ {         try_files $fastcgi_script_name =404;         include fastcgi_params;         fastcgi_pass                  unix:/var/run/php-fpm.sock;         fastcgi_index                 index.php;         fastcgi_param DOCUMENT_ROOT   $realpath_root;         fastcgi_param SCRIPT_FILENAME   $realpath_root$fastcgi_script_name;     }     access_log /var/log/nginx/phpmyadmin.access.log;   error_log /var/log/nginx/phpmyadmin.error.log warn; }

Restart Nginx.

[INPUT]

1 sudo systemctl restart nginx

Browsing http://ip-server/phpMyAdmin.

Login phpMyAdmin

phpMyAdmin

Selamat mencoba 🙂

Leave a Reply

Your email address will not be published.