[TUTORIAL] Build WebServer Using Nginx on Ubuntu 18.04

Salam semangat untuk semua sobat progress dimanapun anda berada, terimakasih sudah menyempatkan waktunya untuk membaca artikel ini. Pada kesempatan kali ini saya akan sedikit membagikan tutorial cara membangun sebuah webserver dengan menggunakan Ubuntu Server 18.04 dan Nginx. Tutorial kali ini lebih saya fokuskan bagaimana cara untuk mengintegrasikan Nginx dengan PHP versi 7.2 dan sebagai akhir dari percobaan ini kita akan mengcreate sebuah file PHPInfo untuk melihat apakah PHP dan Nginx Server sudah bekerja dengan baik.

Okay tanpa panjang lebar berikut peralatan yang harus disiapkan:

  1. VirtualBox
  2. Ubuntu Server 18.04
  3. Sedikit Air Mineral dan Lagu dari Zara Larsson hehehehe

Install ubuntu server pada VirtualBox, jika sudah selesai masuk ke ubuntu server dengan username dan password. Jika sudah berhasil masuk lakukan update terlebih dahulu pada ubuntu server dengan mengetikkan command line

apt update -y

Proses update berlangsung beberapa saat, tergantung dari kecepatan koneksi internet, jika proses update sudah selesai selanjutnya lakukan installasi nginx dengan command line

apt install nginx -y

Proses installasi berlangsung selama beberapa saat, tergantung dari kecepatan koneksi internet. Jika sudah selesai lakukan create sebuah directory webserver pada /var/www/ dengan nama progress28.web.id, lebih lengkap seperti dibawah ini

mkdir -p /var/www/progress28.web.id/httpdocs/

Lepas nih, coba buat sebuah file phpinfo dan letakkan pada directory httpdocs, persis seperti dibawah ini

echo “<?php phpinfo(); ?>” > /var/www/progress28.web.id/httpdocs/index.php

Nantinya file index.php akan menampilkan informasi tentang PHP yang kita gunakan beserta library yang tersedia didalamnya, lebih ke information gathering about PHP lah lol. Abis ini kita setting untuk file yang akan berjalan di nginx sebagai default server kita buat sebuah file dengan nama progress28.web.id.conf pada directory Sites-Avalibale yang ada di nginx, seperti di bawah ini

cp /etc/nginx/sites-available/default /etc/nginx/sites-available/progress28.web.id.conf

Setelah itu lakukan perubahan pada file default yang ada di directory Sites-Available dengan menghapus tulisan default_server, seperti gambar dibawah ini

Lalu lakukan sedikit setting pada file progress28.web.id.conf yang tadi baru di buat dan lakukan persis seperti gambar di bawah ini,

Selanjutnya lakukan symlink ke directory Sites-Enabled pada nginx dengan command line seperti dibawah ini

ln -s /etc/nginx/sites-available/progress28.web.id.conf /etc/nginx/sites-enabled/progress28.web.id.conf

Jika semua tahapan diatas sudah dilakukan silahkan hidupkan service nginx nya dengan command line dibawah ini

systemctl enable nginx

systemctl start nginx

Jika semua tahapan diatas sudah dilakukan kita bisa melakukan pengecekan pada nginx apakah sudah berjalan dengan lancar atau masih terdapat kesalahan dengan cara mengetikkan command line dibawah ini

systemctl status nginx

root@ubuntu_webserver_tutorial:~# systemctl status nginx
● nginx.service – A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-03-06 15:56:17 UTC; 25min ago
Docs: man:nginx(8)
Main PID: 2691 (nginx)
Tasks: 2 (limit: 1111)
CGroup: /system.slice/nginx.service
├─2691 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─2694 nginx: worker process

Jika sudah running selanjutnya lakukan pemberian kepemilikan terhadap pemilik dari web directory (dalam nginx) default yang digunakan adalah www-data dan hak akses terhadap file di dalamnya

chown -R www-data:www-data /var/www/progress28.web.id/

chmod 755 -R /var/www/progress28.web.id/

 

Tahapan selanjutnya adalah installasi PHP versi 7.2 pada nginx server bisa menggunakan command line dibawah ini

apt install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl -y

Yappp hampir selesai dan tinggal kita hidupkan dan jalankan phpnya dengan command line dibawah ini

systemctl start php7.2-fpm

systemctl enable php7.2-fpm

Lakukan pengecekan status dari PHP

systemctl status php7.2-fpm

root@ubuntu_webserver_tutorial:~# systemctl status php7.2-fpm
● php7.2-fpm.service – The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-03-06 16:28:12 UTC; 6min ago
Docs: man:php-fpm7.2(8)
Main PID: 13058 (php-fpm7.2)
Status: “Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec”
Tasks: 3 (limit: 1111)
CGroup: /system.slice/php7.2-fpm.service
├─13058 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
├─13075 php-fpm: pool www
└─13076 php-fpm: pool www

Dan sebelum kita merunning file index.php yang berisi PHPInfo tadi ada baiknya kita cek kembali apakah ada kesalah pada konfigurasi pada nginx atau tidak

nginx -t

systemctl reload nginx

Jika sudah oke seperti diatas kemudian kita bisa running untuk mengecek berjalannya file php pada browser dengan mengetikkan URL http://ip_address_yang_digunakan/index.php

Sekian dulu tutorial kali ini semoga bermanfaat. Salam Semangat dan Jangan Lupa Bahagia

Leave a Response