Cara Install WordPress di Ubuntu 24.04 dengan Nginx, Mariadb, PHP8.3 (LEMP)

SPACE IKLAN DISEWAKAN

Cara Install WordPress di Ubuntu 24.04 – 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.

Baca Juga : Cara Mengamankan Server Ubuntu dari Peretas

Cara Install WordPress di Ubuntu 24.04

Sebelum memulai proses instalasi, pastikan sudah memiliki VPS dengan akses root. Untuk Server VPS yang digunakan pada tutorial kali ini adalah sesuai judul, yaitu Ubuntu 24.04 LTS. Jika Anda menggunakan VPS Ubuntu versi 22.04 atau 20.04, Tutorial ini masih bisa Anda ikuti. Pastikan Juga sudah mempointing IP Publik VPS ke domain yang akan digunakan.

Langkah #1 : Mengupdate Server

Langkah wajib yang harus dilakukan sebelum menginstall sesuatu di server adalah update dulu servernya. Untuk mengupdate server, bisa menggunakan perintah berikut :

sudo apt update && sudo apt upgrade -y

Mengubah Timezone

Atur timezone agar sesuai dengan waktu tempat tinggal Anda sekarang. Hal ini berguna agar waktu di server mudah untuk dibaca, terutama ketika membaca log server atau mengatur penjadwalan otomatis seperti cronjob. Di sini saya memilih Asia/Jakarta karena timezone saya berada di Waktu Indonesia Barat.

sudo dpkg-reconfigure tzdata

Langkah #2 : Menginstall Nginx Webserver

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

sudo apt install -y nginx

Kemudian start service nginx dan enable agar berjalan otomatis setelah boot.

sudo systemctl start nginx
sudo systemctl enable nginx

Jika proses instalasi nginx telah selesai, search IP Publik VPS di browser addrees bar dan pastikan muncul halaman Welcome to Nginx seperti ini :

Welcome to Nginx!

Jika halaman Welcome to Nginx! tidak muncul kemungkinan ada masalah pada firewall VPS. Masukkan perintah berikut untuk mengijinkan koneksi HTTP.

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 sudah muncul, proses menginstall apache webserver sudah selesai.

Langkah #3 : Menginstall Mariadb Database

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

sudo apt install -y mariadb-server mariadb-client

Setelah selesai, start dan enable service mariadb dan cek status mariadb dan pastikan statusnya active.

sudo service mariadb start
sudo systemctl enable mariadb
sudo service mariadb status
Mariadb Database

Langkah #4 : Menginstall PHP

PHP yang akan digunakan adalah PHP versi 8.3. Selain itu, kita juga akan menginstall ekstensi php yang dibutuhkan untuk menjalankan wordpress. Berikut perintahnya :

Pertama install paket dependensi untuk instalasi PHP8.3.

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

Kemudian tambahkan APT Repository Sury PHP

sudo add-apt-repository ppa:ondrej/php

Lalu jalankan apt update

sudo apt update

Terakhir install PHP 8.3 dan juga ekstensi yang dibutuhkan untuk menjalankan wordpress.

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

Langkah #5 : Mengunduh File Master WordPress

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

Pertama unduh File Master WordPress versi terbaru

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

Ekstrak master file wordpress

sudo tar -xzvf latest.tar.gz

Kemudian pindahkan hasil ekstrakan tadi ke document root /var/www

sudo mv wordpress /var/www/wordpress

Lalu buat file wp-config.php. File ini berisi konfigurasi dasar wordpress seperti konfigurasi database, dll.

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

Terakhir ubah kepemilikan dan hak akses foldernya.

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

Langkah #6 : Membuat Database Untuk WordPress

Database yang digunakan adalah mariadb. 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 baru.

CREATE DATABASE wordpress_db;

Selanjutnya buat user baru dan passwordnya.

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

Lalu buat agar user baru tadi bisa mengakses database yang sudah dibuat di atas.

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

Terakhir flush privileges dan keluar dari console mariadb.

FLUSH PRIVILEGES;
exit;

Kurang lebih untuk proses di atas adalah seperti ini :

Create Database

Langkah #7 : Membuat Virtualhost

Virtualhost ini yang akan digunakan untuk menyeting nama domain website, menyeting lokasi folder website dan mengatur konfigurasi keamanan lainya.

Untuk membuat virtualhost sendiri 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 dengan kode baris di bawah ini :

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

    autoindex off;

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

    # Error log
    error_log /var/log/nginx/namadomain-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;
    }

    # Block PHP Direct Access to Upload and Includes Directory
    location ~* /(?:wp-content/uploads|wp-includes)/.*\.php$ {
        deny all;
    }

    # Block Access to xmlrpc
    location = /xmlrpc.php {
        deny all;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/var/run/php/php8.3-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;
    }

    # Disable Access to Hidden File
    location ~ /\. {
        deny all;
    }

    # Disable Execute PHP File on Upload Directory
    location /wp-content/uploads/ {
        location ~ \.php$ {
            deny all;
        }
    }

    # Header Security
    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;
    }
}
  • Ganti namadomain.com dengan domain asli website Anda

Jika sudah, symlinks vhost ke directory /etc/nginx/sites-enabled

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

Selanjutnya, test kode konfigurasi virtualhost di atas dengan perintah berikut :
Pastikan hasilnya “OK”.

sudo nginx -t
Check Nginx Conf

Terakhir restart service nginx untuk memuat perubahan.

sudo systemctl reload nginx

Langkah #8 : Mempointing Domain

Langkah wajib yang harus dilakukan selanjutnya adalah mempointing dns, yaitu mengarahkan domain ke ip address server. Untuk mempointing domain, Anda bisa masuk ke panel domain manajemen tempat Anda membeli domain.

Atau jika Anda menggunakan cloudflare, bisa mempointing domain seperti gambar di bawah ini. Saya rasa untuk domain kontrol selain cloudflare, cara pointingnya sama saja. Tinggal masukkan IP Publik server VPS ke A record domain.

Cloudflare Pointing DNS
  • Perlu diingat bahwa untuk mempointing domain ini perlu waktu beberapa menit hingga jam. tergantung berapa lama propagasinya. Saya sendiri menggunakan cloudflare sehingga proses propagasi domain hanya sekitar 1 sampai 2 menit saja.

Langkah #9 : Menginstall SSL

SSL ini akan menjadikan website Anda menjadi HTTPS. SSL yang akan digunakan adalah Lets Encrypt dan menggunakan certbot untuk proses instalasinya. Berikut cara instalasinya :

 Pertama install dulu paket certbot dan python certbot nginx.

sudo apt install -y certbot python3-certbot-nginx

Kemudian jalankan perintah di bawah ini untuk mendapatkan sertifikat SSL dari Let’s Encrypt.

sudo certbot --nginx --agree-tos --redirect --email [email protected] -d awanservers.online,www.awanservers.online
  • Ganti setelah --email dengan email aktif
  • Ganti setelah -d dengan nama domain website

Pastikan proses request SSLnya berhasil seperti ini :

Request SSL

Langkah #10 : Menginstall WordPress di Web Browser

Langkah selanjutnya adalah proses instalasi, masukkan domain ke address bar browser. Kemudian akan muncul halaman instalasi wordpress. Ikuti saja proses instalasinya sampai selesai.

Install WordPress

Silahkan pilih bahasa untuk proses instalasi wordpress, Jika sudah tekan Continue

Setup Database

Kemudian masukkan database sesuai yang sudah Anda buat pada langkah nomor 6 di atas tadi.

Setup Database

Setelah database dan user sudah dimasukkan. Tekan Submit dan mulai proses instalasi

Run Instalation

Akan muncul halaman seperti di bawah ini. Silahkan isi Judul Web, username, dan password. Ingat baik-baik dan jangan diisi asal-asalan. Jika sudah klik Install WordPress

WordPress Instalation

Instlasi sukses dan silahkan klik login. Masukkan username dan password yang sudah di atur tadi.

Login WordPress

Proses Instalasi Selesai

Dashboard WordPress

TAMBAHAN

Mengubah Ukuran Upload File

Untuk mengubah besarnya ukuran file yang bisa diupload ke website kita bisa menggunakan perintah berikut

sudo sed -i 's/^max_execution_time = .*/max_execution_time = 1500/' /etc/php/8.3/fpm/php.ini
sudo sed -i 's/^max_input_time = .*/max_input_time = 1500/' /etc/php/8.3/fpm/php.ini
sudo sed -i 's/^memory_limit = .*/memory_limit = 512M/' /etc/php/8.3/fpm/php.ini
sudo sed -i 's/^post_max_size = .*/post_max_size = 10M/' /etc/php/8.3/fpm/php.ini
sudo sed -i 's/^upload_max_filesize = .*/upload_max_filesize = 10M/' /etc/php/8.3/fpm/php.ini

Setelah itu, restart service PHP-FPM

sudo systemctl restart php8.3-fpm

Penutup

Jadi begitulah cara install wordpress di ubuntu 24.04 dengan LEMP Stack. Jika ada pertanyaan bisa menulis komentar di bawah atau menghubungi kami melalui halaman Contact.

Website WP org : WordPress.org

SPACE IKLAN DISEWAKAN
Server Admin

Leave a Reply

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


You might also like