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 ?