Cara Setup Wordpress + NginX LEMP Server untuk Install Wordpress

mrfdn author
Rafi


JagoTekno.com - Salah satu web server yang terkenal di linux adalah Nginx.

Pada artikel ini akan dijelaskan tentang tutorial cara install dan setting LEMP Nginx Web server di VPS untuk menjalankan Wordpress.

LEMP sendiri adalah singkatan dari Linux, Nginx, Mysql dan PHP.

Nah di atas LEMP inilah Wordpress berjalan.

Tidak seperti di shared hosting, disini Wordpress akan diinstall tanpa panel / cpanel.

Jika anda sudah berhasil install Wordpress di atas LEMP, anda bisa skip kontent ini dan beralih ke artikel tentang :

Jika anda ingin mengikuti tutorial ini berikut beberapa hal yang perlu dilakukan sebelum melakukan setup:

  1. Membeli domain TLD. Untuk belajar saya beli dengan extensi .xyz saja, murah cuma 11 ribu saja per tahun.
  2. Memilih Ubuntu 18.04 sebagai sistem operasi yang dipasang di server. Rekomendasi senior-senior katanya pakai ini saja.
  3. Belajar VIM sebagai text editor di terminal linux. Pilihan lain anda bisa menggunakan nano. Baca selengkapnya tutorial perintah dasar linux disini.

Laptop yang saya gunakan terpasang sistem operasi linux jadi saya bisa mengakses ssh dengan perintah di terminal. Fungsi ini bisa juga digunakan jika anda menggunakan sistem Apple Mac.

Tapi jika anda pengguna windows, install dulu software bernama putty di komputer anda.

Daftar Isi

Cara install Nginx LEMP Server di Linux Debian/Ubuntu

cara install wordpress di lemp nginx vps

Silahkan mengikuti tutorial ini, jika ada yang kurang jelas silahkan tulis di kolom komentar di bawah.

Login ke server VPS dengan ssh

ssh root@nama.alamat.ip.server.saya

Masukkan password yang sudah didapatkan dari admin server lalu enter.

Ketik Yes untuk melalui otentifikasi.

Jika anda sebelumnya sudah pernah masuk lalu mendapat keterangan tidak bisa login ke ssh, silahkan hapus isi file yang terdapat pada file known-host yang terdapat di folder /home/namaUser/.ssh/known_hosts

Gunakan text editor untuk membuka file tersebut lalu hapus baris yang anda ketahui sebagai bagian dari ssh ini.

Saya menggunakan VIM jadi saya menulis perintah berikut :

vim /home/namaUser/.ssh/known_hosts

Jika menggunakan nano gunakan perintah

nano /home/namaUser/.ssh/known_hosts

Ganti password server (opsional)

Ini hanya opsional, supaya mudah diingat saya mengubah password dengan dengan perintah :

passwd

Masukkan password yang diinginkan sebanyak 2 kali.

Setelah itu logout dan login lagi.

Update sistem

Sebelum melakukan instalasi lakukan update dan upgrade sistem dulu dengan perintah :

# apt update

# apt upgrade

Reboot sistem (opsional)

Ini opsi juga, bisa dilakukan bisa juga tidak = Setelah semuanya selesai, silahkan reboot komputer server dengan perintah

# reboot now

Lalu setelah kurang lebih 30 detik silahkan login kembali ke server anda menggunakan ssh.

Install aplikasi web server

Install aplikasi-aplikasi berikut sekaligus dengan perintah :

# apt install vim nginx mariadb-server php-fpm php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip certbot python3-certbot-nginx 

Penjelasan :

  • nginx = web server
  • mariadb = penyimpanan database
  • php = engine wordpress
  • certbot = untuk mendapatkan ssl dari lets encrypt supaya domain bisa menjadi https

Jalankan fish (Opsional)

Jalankan fish di terminal untuk membantu kita supaya tidak mengetik banyak perintah nantinya.

Pastikan port 80 bisa diakses

ufw allow 80

Setup mysql

sudo mysql_secure_installation

Ini opsi saja, saya memilih no pada opsi mengubah password root

Download Wordpress ke server

Lokasi instalasi Wordpress di /var/www/situs.com

Berikut perintahnya secara berurutan :

# cd /var/www #untuk masuk ke direktori www
# mkdir situs.com #untuk membuat folder bernama situs.com
# cd situs.com #untuk masuk ke folder situs.com

Lalu download wordpress dengan perintah berikut :

wget https://wordpress.org/latest.tar.gz

Selanjutnya extract wordpress dengan perintah :

tar -xzvf latest.tar.gz

Lalu hapus file .tar.gz karena folder wordpress sudah ada.

rm latest.tar.gz

Masuk ke wordpress

cd wordpress

Membuat database wordpress menggunakan mysql

Pertama ketik mysql lalu lanjutkan dengan perintah ini secara berurutan :

create database namaDB default character set utf8 collate utf8_unicode_ci;

create user 'namaUserDB'@'localhost' identified by 'passwordDB';

grant all privileges on namaDB.* TO 'namaUserDB'@'localhost';

flush privileges;

Catat atau lakukan screen shot layar ini supaya tidak lupa nama database yang sudah dibuat karena akan dimasukkan pada settingan wordpress.

ketik exit untuk keluar dari mysql.

Edit wp-config

Untuk menghubungkan Wordpress dengan database

Pastikan anda berada di folder wordpress anda dengan mengetikkan perintah pwd.

Di dalamnya temukan file wp-config-sample.php lalu copy file tersebut ke lokasi yang sama tapi lalu ubah namanya menjadi wp-config.php

# cp wp-config-sample.php wp-config.php

Kemudian edit file wp-config.php dengan text editor yang anda gunakan

# vim wp-config.php

Di dalamnya sesuaikan lagi nilainya dengan database yang sudah dibuat barusan

define( 'DB_NAME', 'namaDB' ); #sesuaikan
define( 'DB_USER', 'namaUserDB' ); #sesuaikan
define( 'DB_PASSWORD', 'passwordDB' ); #sesuaikan

Sekarang Buka link ini untuk lalu copy semua isinya

https://api.wordpress.org/secret-key/1.1/salt

Paste dan ganti bagian yang mirip dengan ini di dalam wp-config.php.

Kodenya panjang kira-kira seperti ini.

Setelah itu save dan keluar dari wp-config.php

Selanjutnya, ada 2 cara untuk setup server block, silahkan pilih salah satu di antara 2 cara yang saya jelaskan di bawah.

Tapi saya prefer cara ke 2 saja jika hanya ingin install 1 wp di server.

Cara ke-1 untuk setup server block

Karena kita menggunakan ubuntu, maka kita hanya bermain di folder sites-available dan sites-enabled.

Di mana file konfigurasi yang berada di sites-enabled menerima symlink dari sites-available.

Silahkan ketik perintah berikut :

# cd /etc/nginx

Tapi sebelumnya coba buka situs dengan mengetikkan ip addressnya di browser

Karena kita ingin melihat halaman tersebut dengn halaman instalasi wordpress, hapus konfigurasi default Nginx terlebih dahulu

# rm sites-enabled/default

Kemudian masuk ke sini untuk mengedit file .conf

# cd /etc/nginx/sites-available 

Buatlah sebuah konfigurasi baru misalnya bernama situs.conf

Lalu edit menggunakan VIM dengan mengisi code ini di dalamnya. Sesuaikan dengan lokasi dan nama situs anda.

Anda bisa hapus bagian yang dimulai tanda pagar di depannya jika tidak ingin menggunakan fastcgi cache.

#fastcgi - uncomment 2 lines below after setup /etc/nginx/cache
#fastcgi_cache_path /etc/nginx/cache levels=1:2 keys_zone=MY_CACHE:100m inactive=60m;
#fastcgi_cache_key "$scheme$request_method$host$request_uri";

upstream example-php-handler {
        server unix:/var/run/php/php7.2-fpm.sock;
}
server {
        server_name situs.com;
        root /var/www/situs.com/wordpress;
        index index.php;
        location / {
                try_files $uri $uri/ /index.php?$args;
        }
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass example-php-handler;
                include fastcgi_params;

                #my fastcgi setting - uncomment 3 lines below
                #fastcgi_cache MY_CACHE;
                #fastcgi_cache_valid 200 60m;
                #add_header X-Cache $upstream_cache_status;
        }
}

Setelah di save, lakukan symlink ke sites-enabled dengan mengetik perintah

# ln -s /etc/nginx/sites-available/situs.com /etc/nginx/sites-enabled/

Cara ke-2 untuk setup server block

Di sini bedanya kita harus hapus file default yang ada secara otomatis saat install nginx.

  1. Hapus file default yang terdapat pada /etc/nginx/sites-available/ dan /etc/nginx/sites-enabled/
rm /etc/nginx/sites-available/default
rm /etc/nginx/sites-enabled/default
  1. Buat konfigurasi server block dengan nama apapun misalnya, wordpress.conf di `/etc/nginx/conf.d/
vim /etc/nginx/conf.d/wordpress.conf
  1. Paste konfigurasi server block ini.
server {
        root /var/www/wordpress;
        index index.php index.html index.htm;
        server_name domain.tld;

        error_log /var/log/nginx/wordpress_error.log;
        access_log /var/log/nginx/wordpres_access.log;

        client_max_body_size 100M;

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

}
  1. Aktifkan SSL dengan install certbot.
apt install certbot python3-certbot-nginx
  1. Jalankan perintah certbot untuk request ssl
# certbot --nginx -d domain.tld -d www.domain.tld

Masukkan email, lalu tekan y sampai akhir.

nanti certbot akan menggenerate file configurasi nginx wordpress yang sudah dibuat sebelumnya dengan menambahkan ssl sertificate.

Sehingga full config menjadi seperti ini.

server {
        root /var/www/wordpress;
        index index.php index.html index.htm;
        server_name domain.tld;

        error_log /var/log/nginx/wordpress_error.log;
        access_log /var/log/nginx/wordpres_access.log;

        client_max_body_size 100M;

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}


server {
    if ($host = domain.tld) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


        listen 80;
        listen [::]:80;
        server_name domain.tld;
    return 404; # managed by Certbot


}

Reload browser dan install wordpress

Semestinya sekarang anda mendapatkan halaman setup wordpress

Buatlah user untuk login wp dan password yang diinginkan

Jangan lupa menambahkan alamat email anda juga.

Selesai dan gunakan Wordpress

Setelah itu anda bisa login ke wordpress anda dengan mengetikkan user dan password yang baru saja dibuat.

Referensi kode konfigurasi Nginx : https://tonyteaches.tech/wordpress-on-nginx-server/

Akhir kata

Selamat anda sudah berhasil setup wordpress pada ubuntu dengan nginx server di dalamnya.

Artikel ini sebagai catatan penulis karena berhasil melakukan instalasi ini dan berjalan normal.

Selanjutnya scroll ke atas lagi dan lakukan setting untuk :

  • Memasang ssl
  • Memasang fastcgi untuk cache
  • Memperbaiki masalah wordpress seperti gagal update, tidak bisa upload gambar dan theme.

Semoga bermanfaat.

Cara Membuat Website Online di Wordpress Kurang dari 2 Menit
mrfdn author

Rafi

  • 15 year+ of Linux user.
  • 5 years+ blogger and web developer.

Jika artikel yang dibuatnya ternyata bermanfaat, support dengan cara

    Share:

Baca juga


comments powered by Disqus