Memasang Nginx, MariaDB dan PHP di GNU/Linux (LEMP)
Sebelumnya saya pernah membahas mengenai cara instalasi LAMP (Linux, Apache, MariaDB/MySQL, PHP). Artikel kali ini masih seputar web server yakni menggunakan LEMP.
LEMP adalah kependekan dari (Linux, Nginx, MariaDB/MySQL, dan PHP). Jika Anda perhatikan mengapa menggunakan kependenkan dengan kata LEMP bukan LNMP? Dikarenkan Nginx itu dibaca Engine X makanya digunakan singkatan LEMP.
Tahap Pemasangan
Pengguna Ubuntu/Debian
sudo apt-get install nginx php5 php5-fm php5-gd php5-mcrypt mysql-server
Pengguna Fedora 21 ke bawah, Centos dan RHEL
sudo yum install epel-release sudo yum install nginx php php-fpm php-gd php-mcrypt mysql-server
NB: Pengguna Fedora 21 sampai ke atas sama dengan perintah sebelumnya, hanya mengganti yum dengan dnf.
Pengguna Archlinux
Khusus Pengguna Archlinux MySQL sudah tidak berada dalam lumbung resmi (official repository) jadi kita gunakan MariaDB.
sudo pacman -S php nginx php-fpm php-gd php-mcrypt
Tahap Konfigurasi
Konfigurasi PHP
Setelah proses instalasi selesai langkah selanjutnya adalah tahap konfigurasi agar Nginx dapat menjalankan PHP.
Pengguna Debian/Ubuntu
sudo nano /etc/nginx/sites-available/default
Pengguna Fedora/Centos/RHEL dan Archlinux
sudo nano /etc/nginx/nginx.conf
Lalu kemudian Anda cari server .Jika Anda menggunakan nano tekan tombol CTRL+W. Dan rubah skripnya menjadi demikian:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_intercept_errors on;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi.conf;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
} Perhatian: Skrip di atas hanya untuk pengguna Archlinux. Untuk Pengguna Fedora dan Centos pada baris 15 dan 18. Yakni fastcgi_pass unix:/run/php-fpm/php-fpm.sock; dan include fastcgi.conf; ganti dengan:
fastcgi_pass php-fpm; include fastcgi_params;
Pengguna Debian atau Ubuntu:
fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params;
Perhatian skrip di atas untuk meletakan berkas php atau html berada pada direktori /usr/share/nginx/html. Untuk Menggantinya lihat baris ke-6 yakni pada root /usr/share/nginx/html; Anda bisa ganti menjadi apapun direktorinya.
Setelah selesai langsung saja restart Nginx dan php-fpm nya.
Pengguna Systemd:
sudo systemctl restart php-fpm nginx
Pengguna SysVinit:
sudo service nginx restart sudo service php-fpm restart
Pengaturan Database
Pengaturan database pada MariaDB atau MySQL bisa menggunakan:
sudo mysql_secure_installation
Di sana Anda akan dimintai password dari root akun MariaDB/MySQL Anda.
Tahap Testing
Selanjutnya tahap untuk percobaan apakah PHP sudah berjalan di Nginx atau belum dengan cara membuat satu buah berkas di /usr/share/nginx/html dengan cara di bawah ini:
sudo nano /usr/share/nginx/html/index.php
lalu masukan skrip berikut:
<?php phpinfo();
Jika hasilnya sudah demikian seperti screenshot di bawah ini, maka PHP sudah dapat berjalan di Nginx Anda.

Semoga bermanfaat ?