Cara Install Nginx dan PHP untuk WordPress di Ubuntu 19.04 Bionic

Cara Install Nginx dan PHP untuk WordPress di Ubuntu 19.04 Bionic

Untuk menggunakan salah satu CMS seperti WordPress di nginx tidak semudah menggunakan Apache. Dengan Tutorial Cara Install Nginx dan PHP untuk WordPress di Ubuntu 19.04 Bionic ini, semoga bisa membantu kalian dalam membuat webserver berkualitas untuk WordPress dan CMS lainnya.

Baca Juga : Membuat Ujian Online dengan CBT BeeSmart dan ZYACBT

Pemilihan jenis webserver merupakan salah satu faktor penting untuk kecepatan website. Nginx, merupakan webserver gratis yang dinilai dapat menampung ribuan traffict dalam waktu serentak.

Salah satu distro Linux yang menyediakan nginx yang siap untuk digunakan adalah Ubuntu. Salah satu versi Ubuntu yang saya gunakan adalah Ubuntu 19.04 64-bit, dan terbukti nginx bisa berjalan lancar di distro ini.

Dengan begitu sebagai contoh installasinya, saya menggunakan Ubuntu 19.04 Bionic. Namun jika kamu pengguna Ubuntu yang lebih lawas, atau distro lainnya, tidak ada salahnya ikut mencoba.

Tutorial dibawah menggunakan Virtual Host sebagai akses direktori webserver, agar konfigurasi default tidak dirubah untuk mencegah kesalahan konfigurasi settingan default site.

Baiklah, langsung ke Tutiorialnya.

Install Nginx dan PHP di Ubuntu 19.04 Bionic

Pertama-tama, silahkan kamu install nginx dan php7.2-fpm dengan perintah :

yuyun@SteinsGate:~$ sudo apt-get install nginx php7.2-bz2 php7.2-cli php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-opcache php7.2-xml php7.2-zip php7.2-fpm 

nb: sebagai contoh, saya menggunakan php7.2-. Jika kamu ingin menggunakan php versi lain, silahkan saja.

Konfigurasi LocalHost Domain

Lalu, silahkan aktifkan nginx webserver dan php7.2-fpm dengan menggunakan perintah :

yuyun@SteinsGate:~$ sudo systemctl start nginx php7.2-fpm

Setelah semua service sudah aktif, sekarang waktunya kita menambahkan domain record ke host dengan cara, tambahkan 127.0.0.1 (nama domain lokal yang akan kamu gunkan pada file /etc/hosts) lalu save, contohnya seperti ini :

127.0.0.1       kurisu.net

Kemudian cobalah buka domain local kamu di chrome browser, seharusnya muncul landing page dari nginx. Jika tidak muncul, kemungkinan nginx gagal di start pada perintah systemctl start diatas.

Setting Direktori Untuk Webserver

Selanjutnya, silahkan buat folder tempat dimana index dari file-file yang akan kamu jadikan web direktori, contohnya saya di /home/yuyun/www/

Lalu, silahkan kamu chown dan chmod direktori yang telah kamu buat dengan perintah seperti berikut:

yuyun@SteinsGate:~$ sudo chown -R www-data:sudo /home/yuyun/www/ && sudo chmod -R 775 /home/yuyun/www/

nb: pastikan ganti tulisan berwarna merah sesuai direktori webserver milikmu

Konfigurasi Nginx Untuk WordPress dan VirtualHost

Silahkan buat file dengan nama domain kamu di awal tadi di dalam direktori /etc/nginx/sites-available/

Contohnya jika milik saya adalah kurisu.net :

yuyun@SteinsGate:~$ sudo nano /etc/nginx/sites-available/kurisu.net

nb: nano merupakan perintah untuk teks editor berbasis terminal

Kemudian masukan kode dibawah ini, code ini merupakan konfigurasi standar CMS agar CMS seperti WordPress, Joomla, dan lainnya bisa berfungsi dengan baik di nginx webserver.

nb: Silahkan ubah warna merah. Versi php tergantung dari yang kamu install diatas, karena kamu menginstall php7.2-fpm maka nama php nya juga seperti itu . Karena tadi kamu membuat domain  kurisu.net, maka juga seperti itu, dan juga path folder yang kamu buat tadi.

## Upstream to abstract backend connection(s) for PHP ##
upstream php {
server unix:/run/php7.2-fpm.sock;
}

## my server ip address ##

server {
listen 80;
listen [::]:80;
server_name kurisu.net;

root /home/yuyun/www/;

index index.html index.htm index.nginx-debian.html index.php *.php;

## WordPress Perm links config ##
location / {
try_files $uri $uri/ /index.php?$args;
}

## Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

## Deal with sitemap wordpress plugin urls ##
rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.xml$ "/index.php?xml_sitemap=params=$2" last;
rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.xml\.gz$ "/index.php?xml_sitemap=params=$2;zip=true" last;
rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.html$ "/index.php?xml_sitemap=params=$2;html=true" last;
rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.html.gz$ "/index.php?xml_sitemap=params=$2;html=true;zip=true" last;

# Directives to send expires headers and turn off 404 error logging.
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
access_log off; log_not_found off; expires max;
}

## Okay, Pass all .php files onto a php-fpm/php-fcgi server.
index index.php;
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
## Setting works on Ubuntu/Debian Linux
### This is a robust solution for path info security issue and works with "cgi.fix_pathinfo = 1" in /etc/php.ini (default)
include /etc/nginx/fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass php;
}
}

Silahkan kamu download bash yang digunakan untuk ensite dan dissite nginx dibawah ini dan menginstallnya di /usr/bin, gunakan perintah berikut unutk melakukannya :

yuyun@SteinsGate:~$ sudo wget https://raw.githubusercontent.com/ajsalkeld/nginx-modsite/master/nginx-modsite -O /usr/bin/nginx-modsite && sudo chmod a+x /usr/bin/nginx-modsite

Setelah itu, ketikan perintah dibwah ini untuk mengaktifkan file konfigurasi yang baru saja kamu buat.

yuyun@SteinsGate:~$ sudo nginx-modsite -e kurisu.net

nb: jangan lupa ganti tulisan berwarna merah dengan lokal domain yang kamu pada file /etc/hosts tadi.

Jika ditanya untuk restart nginx, jawab saja y.

Untuk mengetest apakah nginx dan php sudah bisa berjalan dengan baik, silahkan buat sebuah file php dengan perintah berikut :

yuyun@SteinsGate:~$ echo "<?php phpinfo(); ?>" > $HOME/www/info.php

Setelah itu, silahkan buka domain local kamu/info.php di chrome browser. Seharusnya sudah muncul halaman detail info php yang kamu gunakan.

Info Php nginx

Langkah selanjutnya agar wordpress berjalan adalah dengan menginstall mariadb, silahkan tunggu update sysadmin mengenai cara install mariadb.

Semoga tutorial Cara Install Nginx dan PHP untuk WordPress di Ubuntu 19.04 Bionic membantu, jika ada masalah silahkan berkomentar. Sampai Jumpa 😀

Tinggalkan Balasan