Instalasi Nginx, MySQL, PHP pada Debian Stretch

Pengenalan

Debian adalah salah satu sistem operasi yang banyak digunakan sebagai server, salah satunya adalah web server. Kali ini yang akan kita bahas adalah membangun web server menggunakan Nginx, MySQL, dan PHP.

Nginx adalah server yang melayani service HTTP. Selain Nginx masih ada beberapa aplikasi lain seperti Apache, lighttpd, IIS dan masih banyak lain. Kita akan membahas perbedaan masing – masing server di lain kesempatan.

MySQL adalah database sever yang biasa digunakan untuk web server. MySQL lebih banyak di gunakan karena database ini lebih ringan untuk penggunaan secara umum. Namun apabila kita menginstall MySQL pada debian 9, maka kita akan menginstall MariaDB hal ini dikarenakan debian 9 secara resmi memilih salah satu server MySQL dan MariaDB dan pilihannya jatuh pada MariaDB. Pengumuman resminya dapat dilihat disini.

Instalasi

Pada saat akan melakukan instalasi baiknya kita menggunakan user non-root yang telah di berikan akses sudo.

1. Update repository

untuk memastikan kita menggunakan package terbaru, jalankan dahulu perintah berikut

sudo apt-get update

2. Instal Nginx

sudo apt-get install nginx

untuk memastikan instalasi berhasil, masukkan alamat anda pada browser

http://alamat_IP_anda

apabila anda melihat tampilan seperti di bawah ini pada browser anda, berarti instalasi Nginx anda telah berhasil

welcome_nginx

3. Instal MySQL

untuk instalasi MySQL jalankan perintah berikut

sudo apt-get install mysql-server

pada saat proses instalasi anda akan di minta untuk mengisi password root, silahkan di isi dan di simpan baik – baik.

MySQL mempunyai script yang dapat memudahkan untuk melakukan pengamanan awal, jalankan perintah berikut

sudo mysql_secure_installation

Jawab semua pertanyaan yg muncul setelah menjalankan perintah di atas.

4. INSTAL PHP

PHP pada debian 9 telah menggunakan PHP 7. PHP 7 memiliki fitur yang jauh lebih baik dari PHP 5.6. Untuk menjalankan instalasi PHP jalankan perintah berikut

sudo apt-get install php-fpm php-mysql

Setelah melakukan instalasi, ada beberapa konfigurasi yang perlu kita atur

sudo nano /etc/php/7.0/fpm/php.ini

Konfigurasi yang perlu kita sesuaikan adalah merubah nilai cgi.fix_pathinfo menjadi 0. cgi.fix_pathinfo adalah konfigurasi yang membuat PHP akan mengeksekusi file pertama yang di temukan apabila file PHP tidak di temukan. Hal ini sangat berbahaya apabila ternyata ada yg menyisipkan kode – kode berbahaya.

5. Setting Nginx untuk PHP

Nginx secara default belum mengenali PHP, oleh karena itu kita perlu melakukan perubahan konfigurasi agar Nginx dapat mengenali file PHP. Perubahan kita lakukan pada file konfigurasi site

sudo nano /etc/nginx/sites-available/default

Kurang lebih isi file tersebut adalah seperti ini setelah di lakukan pembuangan konfigurasi yang di comment

server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html;
index index.html index.htm index.nginx-debian.html;

server_name _;

location / {
try_files $uri $uri/ =404;
}
}

ubah menjadi seperti berikut

server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;

server_name server_domain_or_IP;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

location ~ /\.ht {
deny all;
}
}

Setelah selesai melakukan perubahan, jalankan perintah berikut untuk melakukan pengecekan apakah ada kesalahan dalam pembuatan konfigurasi atau tidak

sudo nginx -t

Apabila tidak di temukan error ,kita dapat merestart Nginx

sudo systemctl reload nginx

Demikian cara instalasi Nginx, MySQL dan PHP pada debian 9. Mudah bukan 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>