WordPress
WordPress adalah Content Management System (CMS) berbasis open source yang digunakan untuk membuat dan mengelola berbagai jenis website, seperti blog, situs perusahaan, toko online, hingga portal berita. WordPress pertama kali dirilis pada tahun 2003 oleh Matt Mullenweg dan Mike Little, dengan fokus awal pada platform blogging. Namun, seiring perkembangannya, WordPress menjadi salah satu CMS paling populer di dunia dengan dukungan ekosistem tema, plugin, dan komunitas yang luas.
WordPress dikenal karena kemudahannya dalam penggunaan, fleksibilitas dalam kustomisasi, dan dukungan yang luas dari komunitas global. Dibangun dengan PHP dan menggunakan MySQL/MariaDB sebagai database-nya, WordPress menawarkan berbagai fitur seperti editor blok (Gutenberg), manajemen konten, SEO-friendly, dan dukungan plugin untuk menambahkan fungsionalitas tambahan.
1. Persyaratan Sistem
System requirements untuk WordPress:
- PHP 7.4 +
- MySQL 8.0+ atau MariaDB 10.5+
- Nginx atau Apache dengan mod_rewrite
- Dukungan HTTPS
Sebelum memulai deploy, siapkan:
- VPS atau server dengan OS Ubuntu LTS
- Akses SSH ke server
- Domain yang sudah diarahkan ke server
2. Persiapan Server
Update sistem
sudo apt update
sudo apt upgrade -y
Install MariaDB
sudo apt install mariadb-server -y
Pasang repository PPA ondrej/php
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt upgrade -y
Install PHP 8.3 dan extension yang dibutuhkan
sudo apt install php8.3 php8.3-cli php8.3-common \
php8.3-apcu php8.3-mbstring php8.3-gd php8.3-intl \
php8.3-xml php8.3-soap php8.3-bcmath php8.3-mysql php8.3-zip \
php8.3-curl php8.3-tidy php8.3-imagick php-pear -y
Install WP-CLI
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
3. Buat Database
Login ke MariaDB:
sudo mysql
Buat database contohcom
dan user 'contohcom'@'localhost'
CREATE DATABASE contohcom;
CREATE USER 'contohcom'@'localhost' IDENTIFIED BY 'rahasia';
GRANT ALL PRIVILEGES ON contohcom.* TO 'contohcom'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4. Konfigurasi Web Server
Apache
Install Apache
sudo apt install apache2 libapache2-mod-php8.3 -y
Buat virtual host
sudo nano /etc/apache2/sites-available/contoh.com.conf
Masukkan konfigurasinya
<VirtualHost *:80>
ServerName www.contoh.com
ServerAlias contoh.com
DocumentRoot /var/www/contoh.com
<Directory /var/www/contoh.com>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/contoh.com_error.log
CustomLog /var/log/apache2/contoh.com_access.log combined
</VirtualHost>
Aktifkan modul dan virtual host
sudo a2enmod rewrite
sudo a2ensite contoh.com.conf
sudo systemctl restart apache2
Install certbot untuk Apache
sudo apt install certbot python3-certbot-apache -y
Request sertifikat SSL
sudo certbot --non-interactive \
-m [email protected] \
--agree-tos \
--no-eff-email \
--apache -d contoh.com -d www.contoh.com \
--redirect
Nginx
Install Nginx
sudo apt install nginx php8.3-fpm -y
Buat virtual host
sudo nano /etc/nginx/sites-available/contoh.com.conf
Masukkan konfigurasinya
server {
listen 80;
server_name www.contoh.com contoh.com;
root /var/www/contoh.com;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT
$realpath_root;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
}
access_log /var/log/nginx/contoh.com_access.log;
error_log /var/log/nginx/contoh.com_error.log;
}
Aktifkan virtual host
sudo ln -s /etc/nginx/sites-available/contoh.com.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
Install certbot untuk Nginx
sudo apt install certbot python3-certbot-nginx -y
Request sertifikat SSL
sudo certbot --non-interactive \
-m [email protected] \
--agree-tos \
--no-eff-email \
--nginx -d contoh.com -d www.contoh.com \
--redirect
4. Install WordPress
Buat direktori untuk WordPress dengan nama domain contoh.com
cd /var/www
mkdir contoh.com
cd contoh.com
Download WordPress
sudo wp core download --allow-root
Buat file konfigurasi wp-config.php
sudo wp config create \
--dbname="contohcom" \
--dbuser="contohcom" \
--dbpass="rahasia" \
--dbhost="localhost" \
--allow-root
Install WordPress
sudo wp core install \
--url="https://www.contoh.com" \
--title="Contoh.Com" \
--admin_user="admin" \
--admin_password="password" \
--admin_email="[email protected]" \
--allow-root
Ubah user dan group direktori
sudo chown -R www-data:www-data /var/www/contoh.com
Instalasi WordPress selesai. Akses https://www.contoh.com
untuk menguji hasilnya.