Cara Install WordPress dengan NGINX dan PHP-FPM di Ubuntu 20.04 | 22.04

SPACE IKLAN DISEWAKAN

Cara Install WordPress dengan NGINX dan PHP-FPM – WordPress adalah salah satu platform blogging dan sistem manajemen konten (CMS) yang paling populer di dunia. WordPress dikembangkan dengan bahasa pemrograman PHP dan basis data MySQL.

WordPress dapat digunakan untuk membuat situs web, blog, dan aplikasi web. WordPress memungkinkan pengguna untuk mengelola konten mereka dengan mudah, dengan antarmuka yang intuitif dan mudah digunakan.

Salah satu kombinasi yang banyak direkomendasikan untuk menjalankan WordPress adalah menggunakan Nginx sebagai server web dan PHP-FPM sebagai pengelola pemrosesan PHP. Mari kita jelaskan mengapa kombinasi ini dianggap pilihan terbaik.

Kenapa Memilih NGINX dan PHP-FPM untuk WordPress ?

Beberapa alasan yang masuk akal dan berguna untuk diterapkan kenapa kok harus pakai nginx dan PHP-FPM untuk wordpress adalah sebagai berikut :

Kinerja Lebih Cepat

Nginx dikenal sebagai server web yang memiliki kinerja tinggi dan efisiensi luar biasa. Berbeda dengan server web lain seperti Apache, Nginx dirancang khusus untuk menangani banyak koneksi secara bersamaan dengan menggunakan sumber daya yang minimal. Ini berarti situs WordPress Anda akan memuat lebih cepat, yang sangat penting untuk meningkatkan pengalaman pengguna.

Optimasi PHP dengan PHP-FPM

PHP-FPM, singkatan dari PHP FastCGI Process Manager, membawa eksekusi PHP ke tingkat berikutnya. Dengan memisahkan proses PHP dari server web utama, PHP-FPM memungkinkan penanganan permintaan PHP secara mandiri. Hal ini meningkatkan responsifitas dan kinerja secara keseluruhan. Penting untuk dicatat bahwa WordPress, sebagai platform berbasis PHP, dapat mengalami peningkatan yang signifikan dalam waktu muat halaman.

Kemampuan Skalabilitas

Baik Nginx maupun PHP-FPM beroperasi efisien dalam situasi lalu lintas tinggi. Keduanya dirancang untuk menangani banyak permintaan secara bersamaan, memastikan situs web tetap responsif bahkan ketika ada lonjakan pengunjung. Kemampuan ini memberikan jaminan bahwa situs WordPress Anda akan tetap berjalan lancar tanpa terpengaruh oleh fluktuasi lalu lintas.

Keamanan Lebih Tinggi

Nginx memiliki reputasi yang baik dalam hal keamanan. Dengan konfigurasi bawaan yang ketat dan kemampuan untuk menangani DDoS (Distributed Denial of Service) dengan lebih baik, Nginx membantu melindungi situs WordPress Anda dari berbagai ancaman keamanan.

SEO-Friendly URL

Nginx memudahkan pengaturan URL yang ramah SEO. Konfigurasi aturan pengalihan dan pemetaan URL dapat dilakukan dengan mudah tanpa perlu menangani file .htaccess seperti yang biasanya dilakukan di server Apache. URL yang ramah SEO dapat membantu meningkatkan peringkat situs Anda dalam hasil pencarian Google.

Caching yang Efisien

Nginx mendukung caching yang efisien, membantu mengurangi beban server dan mempercepat waktu muat halaman. Dengan penggunaan caching yang tepat, Anda dapat memberikan pengalaman pengguna yang lebih baik, yang pada akhirnya mendukung peringkat SEO yang lebih tinggi.

Install WordPress dengan NGINX dan PHP-FPM

Sebelum memulai proses instalasi, pastikan Anda memiliki akses root penuh ke server Anda. Untuk Server VPS Yang digunakan pada tutorial ini adalah Linxu Ubuntu 22.04. Jika ANda menggunakan Linux Ubuntu 20.04 atau 18.04, Tutorial ini masih bisa Anda gunakan atau ikuti.

Kemudian, jika Anda belum mempunyai VPS, Anda bisa beli di provider lokal Indonesia atau provider luar seperti LInode,Vultr,OVH,dan Digital Ocean. Seangkan di lokal sendiri saya rekomendasikan ke Jetorbit,BiznetGio,IDcloudhost dan VPSbox.

Langkah #1 : Mengupdate Server

Langkah wajib yang harus dilakukan sebelum menginstall sesuatu di server adalah update dulu servernya. Pertama akses server via ssh dengan user root.

sudo apt update && apt upgrade -y

Langkah #2 : Menginstall NGINX Webserver

Setelah proses update server selesai, langkah selanjutnya adalah menginstall webserver. Pada tutorial kali ini akan mengunakan Nginx sebagai web servernya. Untuk cara menginstall Nginx adalah sebagai berikut.

sudo apt install nginx -y

Jika proses instalasi nginx telah selesai, buka IP Publik VPS di browser dan pastikan muncul halaman Welcome Nginx seperti ini.

Jika halaman Welcome to nginx tidak muncul kemungkinan ada masalah pada firewall VPS. Pastikan kalian sudah mengijinkan koneksi http dan https.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT 
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT

Refresh kembali browser Anda dan pastikan tampilan Welcome to nginx muncul. Jika tampilan welcome to nginx sudah muncul, proses menginstall Nginx webserver sudah selesai.

Langkah #3 : Membuat Nginx Server Block

Nginx Server Blcok adalah tempat dimana Anda akan menyeting nama domain untuk web wordpress Anda. Menyeting lokasi folder wordpress dan mengatur konfigurasi keamanan lainya.

Untuk cara membuat nginx server block caranya adalah sebagai berikut :
Buat file conf di  /etc/nginx/sites-available menggunakan text editor nano atau vim

sudo nano /etc/nginx/sites-available/wordpress.conf

Kemudian isikan baris-baris berikut

server {
    listen 80;
    server_name DomainAnda.com www.DomainAnda.com;
    root /var/www/wordpress;
    index index.php;

    # Access log
    access_log /var/log/nginx/domain-anda.access.log combined;

    # Error log
    error_log /var/log/nginx/domain-anda.error.log;

    # Additional Configuration
    client_max_body_size 10M;
    client_body_buffer_size 128k;
    client_body_timeout 10;
    client_header_timeout 10;
    keepalive_timeout 5;

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

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_index index.php;
    }

    location = /favicon.ico {
        log_not_found off;
        access_log off;
        expires max;
    }

    location = /robots.txt {
        log_not_found off;
        access_log off;
    }

    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    location /wp-content/uploads/ {
        location ~ \.php$ {
            deny all;
        }
    }

    # Header Keamanan
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Permitted-Cross-Domain-Policies none;
    add_header X-Frame-Options "SAMEORIGIN";

    # Gzip Compression
    gzip on;
    gzip_vary on;
    gzip_min_length 1000;
    gzip_comp_level 5;
    gzip_types application/json text/css application/x-javascript application/javascript image/svg+xml;
    gzip_proxied any;

    # Cache-Control
    location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
        access_log off;
        log_not_found off;
        expires 360d;
    }

    # Rest API
    location ~ ^/wp-json/ {
        rewrite ^/wp-json/(.*?)$ /?rest_route=/$1 last;
    }

    # Menonaktifkan akses ke file tersembunyi
    location ~ /\.ht {
        access_log off;
        log_not_found off;
        deny all;
    }
}
  • Note :
    – Ganti pada baris servername menjadi domain asli untuk wordpress
    – Pastikan Anda sudah mempointing domain ke IP Publik VPS

Kemudian Aktifkan Virtualhost

sudo ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled

Cek konfigurasi Nginx

sudo nginx -t

Pastikan hasilnya tidak ada eror dan syntax ok

Terakhir restart Nginx

sudo service nginx restart

Langkah #4 : Menginstall Database

Langkah selanjutnya adalah menginstall database. Database yang akan digunakan pada kali ini adalah mariadb server. Untuk proses instalasinya adalah sebagai berikut.

Pertama install mariadb database server

sudo apt install mariadb-server -y

Setelah selesai, cek status mariadb dan pastikan statusnya active

sudo service mariadb start
sudo systemctl enable mariadb
sudo service mariadb status

Langkah #5 : Membuat Database Untuk WordPress

Database yang digunakan adalah mariadb database server. Untuk wordpress, Anda perlu membuat database, membuat user database dan terakhir memberikan hak akses ke user ke database.

Pertama masuk dulu ke console mariadb.

sudo mariadb

Kemudian buat database untuk wordpress.

CREATE DATABASE wordpress_db;

Selanjutnya buat user mariadb

create user wordpressuser@localhost identified by 'your-password';

Berikan akses user tadi ke database wordpress

grant all privileges on wordpress_db.* to wordpressuser@localhost identified by 'your-password';

Terakhir flush database

FLUSH PRIVILEGES;

Keluar dari console mariadb

exit;

Kurang lebih untuk proses di atas adalah seperti ini :

membuat database - www.awanservers.com
membuat database – www.awanservers.com

Langkah #6 : Menginstall PHP-FPM dan Ekstensi

WordPress adalah sistem manajemen konten berbasis PHP, Jadi memerlukan beberapa ekstensi PHP tertentu untuk berfungsi secara optimal. Beberapa ekstensi PHP yang umumnya dibutuhkan oleh WordPress adalah mysqli, curl, xml, gd, imagick, json, tokenizer, mbstring, dan zip

Untuk proses instalasi PHP 8.2, Pertama tambahkan Surý PHP APT repository

sudo apt update
sudo apt install -y lsb-release gnupg2 ca-certificates apt-transport-https software-properties-common

Tambahkan APT Repository Sury PHP

sudo add-apt-repository ppa:ondrej/php

Terakhir jalankan apt update

sudo apt update

Kemudian Anda bisa menginstall PHP 8.2 dan juga ekstensi yang dibuthkan untuk menjalankan wordpress.

sudo apt install php8.2 php8.2-fpm php8.2-bcmath php8.2-xml php8.2-mysql php8.2-zip php8.2-intl php8.2-ldap php8.2-gd php8.2-cli php8.2-bz2 php8.2-curl php8.2-mbstring php8.2-imagick php8.2-tokenizer php8.2-opcache php8.2-redis php8.2-cgi

Setelah itu jalankan service PHP-FPM dan cek statusnya. Pastikan status PHP-FPM sudah active.

sudo service php8.2-fpm start
sudo systemctl enable php8.2-fpm
sudo service php8.2-fpm status

Jika semua langkah di atas sudah dilakukan, pastikan service PHP-FPM berhasil active seperti ini.

PHP-FPM Status - www.awanservers.com
PHP-FPM Status – www.awanservers.com

Langkah #6 : Mengunduh File Master WordPress

Di tutorial ini Anda akan menginstall wordpress dari source code, pertama download file master wordpress terbaru, kemudian ekstrak dan mulai proses instalasinya di browser.

Mengunduh File Master WordPress

sudo apt install wget
cd ~
wget http://wordpress.org/latest.tar.gz

Mengekstrak master file wordpress

sudo tar -xzvf latest.tar.gz

Memindahkan source code wordpress ke document root

sudo mv wordpress /var/www/wordpress

Membuat file wp-config.php

sudo cp /var/www/wordpress/wp-config-sample.php wp-config.php

Mengubah kepemilikan dan hak akses folder document root

sudo chown -R www-data:www-data /var/www/wordpress/
sudo chmod -R 755 /var/www/wordpress/

Kemudian Anda cek dan pastikan hasilnya seperti ini. hak owner tiap folder dan file ke www-data dan hak akses ke 755.

Hak Akses dan Kepemilikan Folder - www.awanservers.com
Hak Akses dan Kepemilikan Folder – www.awanservers.com

Langkah #7 : Menginstall WordPress di Web Browser

Untuk proses instalasi, masukkan domain website wordpress Anda di browser. Kemudian halaman instalasi wordpress akan muncul. Ikuti saja perintah instalasinya sampai selesai.

Install WordPress - www.awanservers.com
Install WordPress – www.awanservers.com

Selanjutnya Anda akan diminta untuk memasukan nama database, user dan password database, database host, dan tabel prefix.

Setelah memasukkan database, situs web Anda siap untuk dilakukan instalasi. Pilih menu Run Installation untuk memulai proses instalasi wordpress.

Pada halaman ini Anda diminta untuk memasukan Judul Situs, username dan password login, dan email admin situs.

Proses Install Berhasil. Silahkan login ke admin panel dengan memasukkan username dan kata sandi yang tadi sudah dibuat.

Langkah #8 : Menginstall SSL

SSL digunakan untuk mengamankan koneksi antara server dan browser. Dengan SSL, informasi yang dikirimkan antara server dan klien(browser) dienkripsi, sehingga tidak dapat diakses, disadap, atau dicuri oleh pihak tidak bertanggung jawab.

SSL yang akan digunakan adalah Lets Encrypt dan menggunakan certbot untuk proses instalasinya. Untuk menginstall SSL, Pertama adalah menginstall paket certbot dan python certbot nginx.

sudo apt install certbot python3-certbot-nginx

Dan jalankan perintah ini untuk mendapatkan dan menginstal sertifikat TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --email [email protected] -d sxsv.awanservers.com

Pastikan proses request SSL berhasil seperti ini.

Refresh Website Anda dan sekarang website Anda sudah menggunakan HTTPs.

Langkah #9 : Menambah Ukuran Upload Limit File

Secara default, file seperti gambar, file PDF yang diunggah ke perpustakaan media WordPress tidak boleh lebih besar dari 2MB. Untuk menambah batas ukuran unggahan, edit file konfigurasi PHP.

sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 20M/g' /etc/php/8.2/fpm/php.ini
sudo sed -i 's/post_max_size = 8M/post_max_size = 20M/g' /etc/php/8.2/fpm/php.ini

Kemudian Restart PHP-FPM

sudo systemctl restart php8.2-fpm

Proses Instalasi WordPress Selesai

Proses Instalasi wordpress sudah selesai. Terimakasih sudah membaca sampai akhir. Jika ada pertanyaan atau tawaran kerja sama bisa menulis komentar di bawah atau menghubungi saya melalui halaman contact.

 

Sumber : www.yanuri.id

SPACE IKLAN DISEWAKAN
Server Admin

Leave a Reply

Your email address will not be published. Required fields are marked *


You might also like