web analytics

Cara Install WordPress, NGINX, PHP7.2, Percona, Brotli, dan Letsencrypt di Ubuntu 16.04

Sudah lama banget saya nggak otak-atik server, terutama untuk setup WordPress. Karena biasanya setelah setup dan nggak ada permasalahan ya nggak akan saya otak-atik lagi, apalagi semua blog utama saya sudah saya serahkan kepada WPOven, sebuah layanan hosting khusus WordPress.

Baru kemarin saya jadi penasaran lagi, ingin belajar hal-hal baru yang berkaitan dengan per-server-an, khususnya untuk setup WordPress. Setelah baca-baca sana-sini, nemu beberapa hal menarik yang bikin saya ingin otak-atik lagi, akhirnya langsung saja eksekusi buat blog pribadi saya ini.

Kali ini saya belajar setup WordPress dengan Ubuntu, NGINX, PHP7.2, Percona dan Brotli.

PHP7.2: Versi terbaru dari PHP yang banyak orang bilang punya peningkatan performa yang cukup signifikan. Silakan baca di sini dan sini. Masih banyak lagi artikel yang menyatakan bahwa memang versi 7.2 ini performanya memang oke.

Percona: Fork dari MySQL, saya juga belum paham betul apa bedanya day efeknya kalau pakai Percona apakah lebih bagus performanya atau nggak. Pengen aja coba pakai Percona. wkwk.

Brotli: Kompresi buatan Google yang diklaim punya kompresi lebih baik daripada gzip yang biasa dipakai saat ini. Ini merupakan module dari NGINX.

Saya nggak detail-detail amat ya nulisnya, ini cuma sebagai catatan pribadi saja, jika kamu ingin lebih jelas silakan buka referensi yang ada di bawah artikel.

Install NGINX plus Brotli

sudo apt-add-repository -y ppa:hda-me/nginx-stable
sudo apt-get update
sudo apt-get install brotli nginx nginx-module-brotli

Install PHP7.2 dan ZIP

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install -y zip unzip php7.2-fpm php7.2-mysql php7.2-xml php7.2-gd php7.2-mbstring php7.2-zip php7.2-curl

Install Percona

wget -sc)_all.deb
dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb
sudo apt-get update
sudo apt-get install percona-server-server-5.7

Install Letsencrypt

sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx

Install WordPress

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
chmod +x wp-cli.phar

Buat konfigurasi buat instalasi WordPress
nano ~/.wp-cli/config.yml

Isinya seperti ini

path: /var/www/html
url: https://example.com
user: admin

config create:
dbuser: yourdbuser
dbname: yourdbname
dbprefix: wp_

core install:
title: "My Example Site"
admin_user: admin
admin_email: [email protected]

Eksekusi perintah instalasi

sudo wp core download
sudo wp config create --dbpass="thepasswordtoyourdatabase"
udo wp core install --admin_password="agoodadminpassword"

Selanjutnya silakan baca-baca sendiri ya buat setup-nya. 😀

Update hasil tes dari setup yang saya coba kali ini

Spek VPS: Vultr $2.5, Core 1, RAM 512, Storage 20GB lokasi Tokyo.

Plugin optimasi: WP Super Cache, Autoptimize (Minify), Optimus (image compression).

Referensi:

  1. https://morphatic.com/2016/05/21/super-fast-secure-wordpress-install-on-digitalocean-with-nginx-php7-and-ubuntu-16-04-lts/
  2. https://nixcp.com/brotli-compression-nginx/
  3. https://malcont.net/2018/02/self-hosting-wordpress-securely-freebsd-nginx-php72-modsecurity-brotli-lets-encrypt-ssl/
  4. https://www.percona.com/doc/percona-server/LATEST/installation/apt_repo.html
  5. https://www.colinodell.com/blog/201711/installing-php-72
  6. https://gist.github.com/kjprince/9496501
  7. https://gist.github.com/plentz/6737338
  8. https://codex.wordpress.org/Hardening_WordPress