SetupServer Area

Beginilah WordPress Nginx yang Benar Part I #425

Sapi memakan rumput

andrypein.net : Mengawali blogging berasal dari platformnya gogel yakni blogspot, lalu vakum menulis, karena langsung bekerja terjun di IT Server nya salah satu media online di Jawa Barat dimana engine nya menggunakan wordpress, akhirnya saya menggeluti bidang ini.

Dulu masih CPanel, karena cPanel TIDAK KEREN sama sekali bagi saya, doi terlalu EZ, saya suka tantangan, akhirya saya migrasikan ke VPS.

Juga berbekal otodidak walau tidak mastering pun akhirnya saya bisa membuat ramuan konfigurasi wordpress nginx yang benar dan cepat.

Serta banyak portofolio projek website yang wordpress based, dari mulai migrasi cpanel ke vps, performance tuning, optimasi dll, serta migrasi dari traditional stack ke docker alhamdulillah sudah bisa diluar kepala.

Btw tulisan ini akan memiliki series dan akan bersambung di tulisan selanjutnya, baiklah begini ceritanya.

Mengapa Nginx

Sudah ada di postingan Konfig Nginx Jadul dan kombinasi nginx HHVM

Alasan lainnya karena apache super mega ultimate berat serta tidak rekomen sama sekali dan nginx berwarna hijau, thats it, i love green dude.

FYI juga, situs wordpress sendirinya langsung memang menggunakan nginx.

Di artikel ini akan dijelaskan bertahap tentang cara nge-admin linux + wordpress.

Menyiapkan Infrastruktur

Ok, Step pertama adalah mau itu dev langsung di vm sendiri dengan virtualbox atau di VPS publik itu terserah karena yang dibutuhkan adalah OS Ubuntu nya terlebih dahulu.

Dalam sample kali ini, ane pakai vm Ubuntu server 18 karena termasuk distro linux yang paling mudah dan akan di dev secara lokal, jadi akan ane terangkan setup lokal dev nya bagaimana.

FYI sekali lagi ini tidak di publik VPS jadi tidak akan dijelaskan tentang setup pointing Domain, DNS dsb.

Dalam arti di post kali ini kita siapkan setup infrastruktur nya terlebih dahulu, mulai dari OS dan aplikasi pendukungnya.

Btw ane sendiri sudah menyiapkan vm ubuntu 18 lokal dengan IP 10.234.69.12 sebagai contoh.

Install Nginx Stack

Ane nyebutnya stack karena sudah menjadi standar bagi diri sendiri bahwa inilah kumpulan aplikasi-server yang dibutuhkan untuk membuat situs berbasis wordpress.

Yang menjadi bahan stack disini adalah :

  • Webserver : Sesuai judul, pake nginx lah, apache apaan
  • DB Server : MariaDB / MySQL , contoh kali ini memakai MySQL
  • PHP 7.4 : Untuk nginx sendiri PHP nya bernama FPM
  • PHP Module : Tidak banyak
  • Redis Cache (Optional) : up to u
Nginx Webserver

Karena ubuntu itu mudah, jadi tinggal begini saja :

apt install nginx
apt-get install nginx
aptitude install nginx

whatever command nya terserah bebas.

anggap selesai

Done, sekarang kita cek di browser apakah webserver nya berjalan dengan cara mengakses nya melalui IP di ubuntu masing-masing.

 

Malas Pakai IP?

Karena acaranya lokal dev, kita pakai domain bohongan saja, caranya tinggal ganti hosts nya, untuk linux ada di /etc/hosts sedangkan untuk windows ada di C:\Windows\System32\drivers\etc.

Nama domainnya pun bebas, ya namanya juga dev.

linux hosts
windows hosts

Lalu coba akses kembali memakai nama domain dari IP yang file hosts nya tadi sudah diedit.

fake domain

NB : Jika sudah pointing domain di VPS, hosting, dsb secara publik, jangan lakukan edit hosts.

 

Install DB Server

Sesuai bahan stack diatas, kita install db server yang sudah famous dan mendukung engine wordpress adalah MySQL, memakai mariadb pun bisa.

tinggal apt install mysql-server

anggap selesai

Untuk Ubuntu 18 sendiri, versi mysql yang dipakai adalah Mysql 5.7.33, bisa dicek saat login mysqlnya langsung.

Sayang sekali setelah instalasi selesai si mysql masih berupa login tanpa password, maka langkah selanjutnya adalah.

Setting Root Password MySQL

Login terlebih dahulu dengan tanpa password dengan command “mysql -u root”, lalu masukan query seperti dibawah ini.

Ganti string PASSWORD sesuai yang terserah diinginkan.

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> UPDATE user SET authentication_string=PASSWORD("Passwordmysql") WHERE User='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> UPDATE user SET plugin="mysql_native_password" WHERE User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

Jika dicoba login lagi maka akan error, dan selamat, login mysqlnya sudah bisa pakai password.

root@vm-andrypein:/home/andrypein# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
root@vm-andrypein:/home/andrypein# 

Next coba login mysql -u root -p seperti ini gan :

wordpress nginx
ez congrats

 

Install PHP-FPM

Karena ini nginx, maka php nya terpisah, dia bernama FPM (FastCGI Proccess Manager), berbeda dengan apache yang sudah PHP built-in.

Plus karena banyak juga Ekstensi/modul PHP yang tersedia, maka tidak usah diinstall semua, dan inilah beberapa modul penting dalam PHP yang dibutuhkan untuk installasi wordpress.

Tambah Repository PHP

Untuk langkah awal instalasi, tambahkan terlebih dahulu repository php mamang ondrej nya itu sendiri gan.

sudo apt -y install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

karena akan pasti gagal kalau langsung apt install php7.4-fpm mah.

Install PHP Extension

Setelah update repo linux dengan menambahkan repo php diatas, lanjut kita install php-fpm beserta ekstensi-ekstensi yang diperlukan untuk wordpress antara lain.

php7.4-fpm php7.4-mysql php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-mcrypt php-redis
wordpress nginx
anggap selesai

 

Install Redis Server (Optional)

Redis server ini berfungsi sebagai cache, cache ini akan mengurangi permintaan/ request pada database secara berlebihan alias tidak akan ada query berulang yang sama karena sudah disimpan dalam cache, dan yang pasti akan mempercepat loading website mu.

Karena untuk cache ini bersifat opsional jadi bisa diinstall bisa tidak, dan per CACHE an sendiri pada wordpress akan berbeda topik pembahasannya. EZ

root@vm-andrypein:/home/andrypein# apt install redis
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  libdumbnet1
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  libjemalloc1 redis-server redis-tools
Suggested packages:
  ruby-redis
The following NEW packages will be installed:
  libjemalloc1 redis redis-server redis-tools
0 upgraded, 4 newly installed, 0 to remove and 7 not upgraded.
Need to get 637 kB of archives.
After this operation, 3,083 kB of additional disk space will be used.

Persiapan Infra Selesai

Begitulah kurang lebih gambaran pada setup awal banget dalam mendesain infrastruktur pada wordpress nginx dengan menggunakan nginx stack.

Bersambung dahulu karena di post selanjutnya akan beneran setup bahan-bahan disini untuk menjadi running website yang sebeneranya.

Meanwhile nanti juga akan ane jelaskan bagaimana migrasi wordpress nginx stack ini kedalam sebuah container docker, seperti si andrypein ini yang sudah full docker.

*AFK

Related Articles

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Back to top button