Cara Install WordPress dengan Nginx Unit

Cara install wordpress dengan Nginx unit yang akan saya uraikan tutorialnya di bawah ini. Sebelum melanjutkan mari kita mengenal tentang WordPress terlebih dahulu.

WordPress adalah salah satu sistem manajemen konten open source paling populer saat ini, digunakan lebih dari 30% website di dunia.

Barusan admin blog heyapakabar.com diminta untuk membuat tutorial cara install wordpress dengan nginx.

Install & Konfigurasi MySQL

MySQL merupakan software paling penting dalam menjalankan website wordpress untuk menyimpan data website Anda.

Proses installasi dapat dilakukan dengan menjalankan perintah dibawah ini.

sudo apt install mariadb-server mariadb-client

Untuk melindungi proses install MySQL Anda harus menjalankan perintah dibawah.

mysql_secure_installation

Ikuti saja apa-apa permintaan yang muncul saat proses konfiurasi. Saran saya gunakan password yang tidak mudah ditebak orang.

Membuat Database

$ CREATE DATABASE wordpress;
$ CREATE USER [email protected] IDENTIFIED BY '@Password123';
$ GRANT ALL PRIVILEGES ON wordpress.* TO [email protected];

Install WordPress

Sebelum melakukan proses instalasi wordpress Anda terlebih dahulu masuk ke dalam direktori www dengan menjalankan perintah berikut.

$ cd /var/www

Setelah berada dalam direktori tersebut silahkan Anda mendownload dan ekstrak file WordPress terbaru dengan menjalankan perintah dibawah ini:

$ sudo wget http://wordpress.org/latest.tar.gz
$ sudo tar xzvf latest.tar.gz

Konfigurasi WordPress

Tahap berikutnya Anda masuk ke dalam direktori wordpress dengan menggunakan perintah ini.

$ cd /var/www/wordpress
atau jika masih dalam direktori /var/www/ jalankan perintah ini
$ cd wordpress

Install PHP

Menambahkan repositori terlebih dahulu melalui perintah ini

$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update

Tahap berikutnya adalah melakukan install ekstensi untuk PHP nya.

Install PHP Extensions

Jalankan perintah di bawah ini untuk menginstall ekstensi PHP untuk mendukung WordPress Anda nanti.

apt-get install -y php7.3-cli php7.3-dev php7.3-pgsql php7.3-sqlite3 php7.3-gd php7.3-curl php-memcached php7.3-imap php7.3-mysql php7.3-mbstring php7.3-xml php-imagick php7.3-zip php7.3-bcmath php7.3-soap php7.3-intl php7.3-readline php7.3-common php7.3-pspell php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-opcache php-apcu

Install Nginx Unit

Ditahap ini Anda akan melakukan instalasi Nginx Unit dengan langkah berikut ini.

  • Unduh kunci penandatanganan NGINX yang digunakan untuk repositori dan paket kami dan menambahkannya ke keyring apt :
$ curl -sL https://nginx.org/keys/nginx_signing.key | apt-key add -

Ini menghilangkan peringatan ‘packages cannot be authenticated‘ selama instalasi.

  • Untuk mengkonfigurasi repositori Unit, tambahkan dua baris skrip dibawah ini di /etc/apt/sources.list
Ubuntu 18.04
deb https://packages.nginx.org/unit/ubuntu/ bionic unit
deb-src https://packages.nginx.org/unit/ubuntu/ bionic unit
  • Instal paket dasar Unit dan paket tambahan yang ingin Anda gunakan.
$ apt update
$ apt install unit
$ apt install unit-dev unit-go1.10 unit-jsc8 unit-jsc11 unit-perl \       unit-php unit-python2.7 unit-python3.6 unit-python3.7 unit-ruby

Instal modul NGINX Unit tambahan untuk PHP:

sudo apt-get install unit-php

Jalankan perintah ini untuk memverifikasi bahwa NGINX Unit dan PHP berfungsi:

$ sudo service unit restart
$ sudo curl -X PUT --data-binary @/usr/share/doc/unit-php/examples/unit.config --unix-socket /run/control.unit.sock http://localhost/config
$ curl http://localhost:8300/

Jika proses installasi pada tahap ini sukses atau berhasil, makan Anda akan melihat halaman phpinfo. Atau Anda mencoba dengan mengkases IP VPS Anda pada browser dengan diikutin :8300

Mengkonfigurasi Nginx Unit

Instruksi berikut membuat file konfigurasi berformat JSON untuk WordPress dan menggunakan NGINX Unit API untuk memuatnya ke NGINX Unit.

  • Masuk ke direktori tempat Anda ingin menyimpan file konfigurasi WordPress (contoh: /var/www/wordpress ):
$ cd /var/www/wordpress
  • Menggunakan editor teks pilihan Anda, buat file baru bernama wordpress.config .
$ sudo nano wordpress.config
  • Salin kode berikut dan simpan:
{
    "listeners": {
        "127.0.0.1:8090": {
            "application": "script_index_php"
        },
        "127.0.0.1:8091": {
            "application": "direct_php"
        }
    },
    "applications": {
        "script_index_php": {
            "type": "php",
            "processes": {
                "max": 20,
                "spare": 5
            },
            "user": "www-data",
            "group": "www-data",
            "root": "/var/www/wordpress",
            "script": "index.php"
        },
        "direct_php": {
            "type": "php",
            "processes": {
                "max": 5,
                "spare": 0
            },
            "user": "www-data",
            "group": "www-data",
            "root": "/var/www/wordpress",
            "index": "index.php"
        }
    }
}
  • Jalankan curl perintah ini untuk memuat konfigurasi:
$ curl -X PUT --data-binary @/var/www/wordpress/wordpress.config --unix-socket /run/control.unit.sock http://localhost/config

Intall Nginx

Kami merekomendasikan menginstal NGINX sebagai paket prebuilt dari cabang utama di repositori resmi.

Paket-paket yang tersedia dari sumber lain (vendor sistem operasi, misalnya) seringkali beberapa rilis jadul.

Sebelum melakukan installasi Nginx ada baiknya Anda melakukan pembaharuan repositori.

$ sudo wget https://nginx.org/keys/nginx_signing.key
$ sudo apt-key add nginx_signing.key

Modifikasi file yang terdapat pada /etc/apt/sources.list menggunakan teks editor kesukaan Anda.

$ sudo nano /etc/apt/sources.list

Tambahkan 2 baris repository berikut pada file sources.list

deb https://nginx.org/packages/mainline/ubuntu/ bionic nginx
deb-src https://nginx.org/packages/mainline/ubuntu/ bionic nginx

Lakukan proses instalasi dengan menjalankan perintah di bawah ini

$ sudo apt-get update
$ sudo apt-get install nginx

Setelah melakukan proses instalasi, Jalankan perintah dibawah ini untuk menjalankan service nginx

$ sudo service nginx start

Buka IP server Anda pada browser dan pastikan menapilkan halaman seperti ini.

Install Nginx
Proses Install Nginx

Konfigurasi Nginx

Diproses ini Anda akan melakukan konfigurasi Ngix untuk mendukung kedua skema URL yang dijelaskan dalam Tinjauan Arsitektur , dengan mendefinisikan location blok yang meneruskan lalu lintas ke dua server aplikasi Unit Nginx sebagaimana diperlukan.

Sebelum melakukan modifikasi terhadap file yang akan di edit Anda diminta untuk melakukan backup. Hal ini bertujuan agar memudahkan Anda seandainya kegagalan terjadi bisa dikembalikan lagi.

Buat cadangan file konfigurasi default Nginx dengan mengkases direktori berikut

$ cd /etc/nginx/conf.d/ 
$ sudo mv default.conf default.conf.backup

Lakukan modifikasi pada file default.conf menggunakan teks editr favorit Anda. Disini admin menggunakan nano sebagai teks editornya.

$ sudo nano default.conf

Salin konten berikut ke dalam file dan simpan.

upstream index_php_upstream {
    server 127.0.0.1:8090;
}
upstream direct_php_upstream {
    server 127.0.0.1:8091; 
}

server {
    listen      80;
    server_name localhost;
    root        /var/www/wordpress/;
    
    location / {
        try_files $uri @index_php;
    }

    location @index_php {
        proxy_pass       http://index_php_upstream;
        proxy_set_header Host $host;
    }

    location /wp-admin {
        index index.php;
    }

    location ~* .php$ {
        try_files        $uri =404;
        proxy_pass       http://direct_php_upstream;
        proxy_set_header Host $host;
    }
}

Memastikan bahwa file konfigurasi utama /etc/nginx/nginx.conf mengarahkan direktori /etc/nginx/conf.d

include /etc/nginx/conf.d/*.conf;

Jalankan perintah ini untuk memverifikasi sintak Anda sudah benar.

sudo nginx -t

Lakukan restart pada Nginx dengan perintah ini.

sudo nginx -s reload

Penyelesaian

Setelah proses di atas Anda lakukan dengan benar. Sekarang Anda akses IP Server/VPS pada browser favorit Anda.

Jika Anda berhasil maka Anda akan melihat halam seperti berikut ini.

Install WordPress dengan Nginx Unit
Install WordPress dengan Nginx Unit

Sampai disini tutorial cara Install WordPress kali ini. Jika ada pertanyaan terkait postingan ini, silahkan meninggalkan pesan di kolom komentar dibawah ini.

Tinggalkan komentar