Instal WordPress di Ubuntu 22.04 dengan Nginx, MariaDB, dan PHP8.1
Tutorial ini akan menunjukkan cara menginstal WordPress di Ubuntu 22.04 menggunakan Nginx, MariaDB, dan PHP8.1 (LEMP Stack). WordPress adalah CMS (Content Management System) paling populer di dunia. Diperkirakan lebih dari sepertiga situs web saat ini menggunakan WordPress. PHP8.1 sudah tersedia di repositori Ubuntu 22.04, dan versi terbaru WordPress dapat berjalan dengan sempurna menggunakan PHP8.1.
Langkah 1: Unduh WordPress
Masuk ke server Ubuntu 22.04 Anda melalui SSH dan perbarui perangkat lunak yang ada:
sudo apt update && sudo apt upgrade -y
Kunjungi halaman unduhan WordPress di wordpress.org dan salin tautan unduhan dengan mengklik kanan tombol unduh dan memilih “Salin Tautan”.

Unduh WordPress ke server Anda menggunakan perintah wget
:
wget https://wordpress.org/latest.zip
Ekstrak file zip yang telah diunduh:
sudo apt install unzip<br>sudo mkdir -p /usr/share/nginx
sudo unzip latest.zip -d /usr/share/nginx/
Ubah nama direktori WordPress agar sesuai dengan nama domain Anda:
sudo mv /usr/share/nginx/wordpress /usr/share/nginx/example.com
Ganti example.com
 dengan nama domain Anda.
Langkah 2: Buat Database dan Pengguna untuk WordPress
Masuk ke konsol MariaDB sebagai root:
sudo mariadb -u root
atau
sudo mysql -u root
Buat database baru untuk WordPress:
CREATE DATABASE wordpress;
Buat pengguna database dan berikan hak akses:
CREATE USER wpuser@localhost IDENTIFIED BY 'password-anda';
GRANT ALL PRIVILEGES ON wordpress.* TO wpuser@localhost;
FLUSH PRIVILEGES;
EXIT;
Ganti wpuser
dan password-anda
dengan username dan password yang Anda inginkan.
Langkah 3: Konfigurasi WordPress
Masuk ke direktori WordPress:
cd /usr/share/nginx/example.com/
Salin file konfigurasi sampel dan ubah namanya:
sudo cp wp-config-sample.php wp-config.php
Edit file wp-config.php
menggunakan editor teks seperti Nano atau Vim:
sudo nano wp-config.php
Maka akan muncul
/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');
/** MySQL database username */
define('DB_USER', 'username_here');
/** MySQL database password */
define('DB_PASSWORD', 'password_here');
- Ganti
database_name_here
dengan nama database yang Anda buat. - Ganti
username_here
dengan username database. - Ganti
password_here
dengan password database. - Ubah
$table_prefix = 'wp_';
menjadi sesuatu yang unik untuk meningkatkan keamanan, misalnya$table_prefix = '9OzB3g_';
.
Simpan dan tutup file, lalu batasi izin akses:
sudo chmod 640 wp-config.php
Atur kepemilikan direktori WordPress ke pengguna Nginx (www-data
):
sudo chown www-data:www-data /usr/share/nginx/example.com/ -R
Langkah 4: Buat Server Block Nginx untuk WordPress
Buat file konfigurasi server block di /etc/nginx/conf.d/
:
sudo nano /etc/nginx/conf.d/example.com.conf
Tambahkan konfigurasi berikut (sesuaikan dengan domain Anda):
server {
listen 80;
listen [::]:80;
server_name www.example.com example.com;
root /usr/share/nginx/example.com/;
index index.php index.html index.htm index.nginx-debian.html;
error_log /var/log/nginx/wordpress.error;
access_log /var/log/nginx/wordpress.access;
location / {
try_files $uri $uri/ /index.php;
}
location ~ ^/wp-json/ {
rewrite ^/wp-json/(.*?)$ /?rest_route=/$1 last;
}
location ~* /wp-sitemap.*\.xml {
try_files $uri $uri/ /index.php$is_args$args;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
client_max_body_size 20M;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
fastcgi_buffers 1024 4k;
fastcgi_buffer_size 128k;
}
#enable 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;
# A long browser cache lifetime can speed up repeat visits to your page
location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
access_log off;
log_not_found off;
expires 360d;
}
# disable access to hidden files
location ~ /\.ht {
access_log off;
log_not_found off;
deny all;
}
}
Simpan file, lalu uji konfigurasi Nginx:
sudo nginx -t
Jika berhasil, muat ulang Nginx:
sudo systemctl reload nginx
Buka domain atau IP server Anda di browser:
example.com
atau
example.com/wp-admin/install.php
Ikuti langkah-langkah wizard instalasi WordPress:
- Pilih bahasa.
- Buat akun admin.
- Klik “Install WordPress”.
Jika wizard tidak muncul, instal ekstensi PHP yang diperlukan:
sudo apt install php-imagick php8.1-fpm php8.1-mbstring php8.1-bcmath php8.1-xml php8.1-mysql php8.1-common php8.1-gd php8.1-cli php8.1-curl php8.1-zip
Muat ulang PHP-FPM dan Nginx:
sudo systemctl reload php8.1-fpm nginx
Lalu buka ulang domain anda.
Langkah 5: Aktifkan HTTPS
Instal Certbot untuk mengaktifkan HTTPS:
sudo apt install certbot python3-certbot-nginx
Dapatkan sertifikat TLS dari Let’s Encrypt:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d example.com,www.example.com
Sertifikat akan otomatis diinstal, dan HTTP akan diarahkan ke HTTPS.

Langkah 6: Selesaikan Instalasi dengan Setup Wizard
Ikuti langkah-langkahnya dan Ta-da, website wordpress sudah siap digunakan.
Post Comment