Cara Install WordPress di AlmaLinux 9 dengan Apache
WordPress tetap menjadi salah satu content management system terpopuler secara global, memungkinkan pengguna untuk membuat situs web dan blog dinamis dengan mudah. Menginstal WordPress di AlmaLinux 9, didukung oleh Apache, memberikan landasan yang kuat untuk pengembangan web dan pembuatan konten. Pada tutorial ini kita akan belajar bagaimana cara instalasi WordPress di AlmaLinux 9 dengan menggunakan Apache web server.
Tutorial Environment
Pada tutorial ini menggunakan server, sistem operasi, dan perangkat lunak berikut:
- Vultr Cloud Server: 1 CPU, 1 GB RAM, 32 GB Storage
- Operating System: AlmaLinux 9
- Domain: aminlabs.my.id
- SSL: Let’s Encrypt
- Web Server: Apache v2.4.57
- PHP: PHP v8.2
- Database: MariaDB v10.5
- WordPress: WordPress v6.4.3
Catatan: Daftar di sini untuk mendapatkan free credit $100 dari Vultr.
Langkah 1: Update system packages
Login ke server dan lakukan update system:
1 | dnf update |
Catatan: Tutorial ini menggunakan user root.
Langkah 2: Install Apache web server
Jalankan perintah berikut untuk menginstal server web Apache di AlmaLinux:
1 | dnf install httpd |
Setelah instalasi selesai, jalankan dan aktifkan Apache service:
1 2 | systemctl start httpd systemctl enable httpd |
Kita dapat memverifikasi status Apache untuk memastikannya berjalan tanpa masalah apa pun:
1 | systemctl status httpd |
Buka port HTTP dan HTTPS di firewall, jalankan perintah berikut:
1 2 3 | firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload |
Langkah 3: Konfigurasi Virtual Host
Membuat directory untuk document root aminlabs.my.id
:
1 | mkdir /var/www/aminlabs.my.id |
Membuat konfigurasi virtual host untuk domain aminlabs.my.id
:
1 | nano /etc/httpd/conf.d/aminlabs.my.id.conf |
Masukkan konfigurasi virtual host:
1 2 3 4 5 6 7 8 9 10 11 12 | <VirtualHost *:80> ServerName www.aminlabs.my.id ServerAlias aminlabs.my.id DocumentRoot /var/www/aminlabs.my.id <Directory /var/www/aminlabs.my.id> Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> ErrorLog /var/log/httpd/aminlabs.my.id_error.log CustomLog /var/log/httpd/aminlabs.my.id_access.log combined </VirtualHost> |
Restart Apache service untuk reload konfigurasi:
1 | systemctl restart httpd |
Langkah 4: Install SSL from Let’s Encrypt
Let’s Encrypt adalah certificate authority yang menyediakan sertifikat SSL secara gratis, otomatis, dan terbuka untuk mengaktifkan HTTPS (SSL/TLS) di situs web. Diluncurkan pada tahun 2015 oleh Internet Security Research Group (ISRG) dengan tujuan untuk memudahkan pemilik situs web mengamankan situs web mereka dengan HTTPS. Sertifikat Let’s Encrypt dipercaya oleh semua browser utama dan berlaku selama 90 hari, setelah itu dapat diperpanjang secara otomatis.
Install Certbot dan plugin untuk Apache web server:
1 | dnf install certbot python3-certbot-apache |
Minta sertifikat SSL untuk aminlabs.my.id
dan www.aminlabs.my.id. Alamat email digunakan untuk mengirimkan pemberitahuan ketika sertifikat SSL akan segera habis masa berlakunya.
1 | certbot --non-interactive -m admin@aminlabs.my.id --agree-tos --no-eff-email --apache -d aminlabs.my.id -d www.aminlabs.my.id --redirect |
Contoh pesan yang ditampilkan ketika permintaan sertifikat SSL berhasil:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Account registered. Requesting a certificate for aminlabs.my.id and www.aminlabs.my.id Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/aminlabs.my.id/fullchain.pem Key is saved at: /etc/letsencrypt/live/aminlabs.my.id/privkey.pem This certificate expires on 2024-05-03. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. Deploying certificate Successfully deployed certificate for aminlabs.my.id to /etc/httpd/conf.d/aminlabs.my.id-le-ssl.conf Successfully deployed certificate for www.aminlabs.my.id to /etc/httpd/conf.d/aminlabs.my.id-le-ssl.conf Congratulations! You have successfully enabled HTTPS on https://aminlabs.my.id and https://www.aminlabs.my.id |
Langkah 5: Install MariaDB database
Install server MariaDB menggunakan perintah berikut:
1 | dnf install mariadb-server |
Jalankan dan aktifkan MariaDB service:
1 2 | systemctl start mariadb systemctl enable mariadb |
Langkah 6: Create a Database
Login ke MariaDB server:
1 | mysql |
Membuat database untuk WordPress:
1 2 3 4 | CREATE DATABASE aminlabs; GRANT ALL PRIVILEGES ON aminlabs.* TO 'aminlabs'@'localhost' IDENTIFIED BY 'secretpassword'; FLUSH PRIVILEGES; exit |
Langkah 7: Install PHP 8.2
Untuk menginstal PHP 8.2 di AlmaLinux 9, kita perlu menambahkan repositori EPEL dan repositori REMI. Repositori ini menyediakan paket tambahan, termasuk versi PHP terbaru yang tidak tersedia di repositori default AlmaLinux.
Repositori EPEL (Paket Ekstra untuk Enterprise Linux) menyediakan paket tambahan untuk CentOS dan turunannya seperti AlmaLinux. Install repositori EPEL menggunakan perintah berikut:
1 | dnf install epel-release |
Install repositori REMI dengan menjalankan perintah berikut:
1 | dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm |
Setelah kita menginstal repositori REMI, aktifkan repositori PHP 8.2:
1 | dnf module enable php:remi-8.2 |
Sekarang, kita dapat menginstal PHP 8.2 dan modul PHP yang diperlukan:
1 | dnf install php82-php-fpm php82-php-cli php82-php-curl php82-php-mysqlnd php82-php-gd php82-php-opcache php82-php-zip php82-php-intl php82-php-common php82-php-bcmath php82-php-imagick php82-php-xmlrpc php82-php-json php82-php-readline php82-php-memcached php82-php-redis php82-php-mbstring php82-php-apcu php82-php-xml php82-php-dom php82-php-redis php82-php-memcached php82-php-memcache |
Membuat symbolic link untuk php82
:
1 | ln -s /usr/bin/php82 /usr/bin/php |
Jalankan dan aktifkan PHP-FPM:
1 2 3 | systemctl enable php82-php-fpm systemctl start php82-php-fpm systemctl status php82-php-fpm |
Restart Apache:
1 | systemctl restart httpd |
Langkah 8: Install WordPress via WP-CLI
WP-CLI (WordPress Command Line Interface) adalah alat yang ampuh untuk mengelola instalasi WordPress dari baris perintah. Ini memberikan cara yang nyaman dan efisien untuk melakukan berbagai tugas seperti menginstal, memperbarui, dan mengelola situs WordPress tanpa perlu menggunakan browser web.
Dengan WP-CLI, kita dapat mengotomatiskan tugas-tugas WordPress, membuat skrip operasi yang kompleks, dan berinteraksi dengan database situs WordPress langsung dari antarmuka baris perintah. Ini menjadikannya alat yang sangat diperlukan bagi pengembang, administrator sistem, dan siapa saja yang mengelola banyak situs WordPress.
Mulailah dengan menginstal WP-CLI di server. Mengunduh file Phar dan membuatnya dapat dieksekusi untuk penggunaan global:
1 2 | wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp chmod +x /usr/local/bin/wp |
Berpindah ke direktori document root:
1 | cd /var/www/aminlabs.my.id |
Download WordPress core terbaru dengan menggunakan WP-CLI:
1 | wp core download |
Membuat wp-config.php
dengan memasukkan informasi database yang dibutuhkan:
1 2 3 4 5 | wp config create \ --dbname="aminlabs" \ --dbuser="aminlabs" \ --dbpass="secretpassword" \ --dbhost="localhost" |
Install WordPress dan membuat akun admin:
1 2 3 4 5 6 | wp core install \ --url="https://www.aminlabs.my.id" \ --title="AminLabs Blog" \ --admin_user="admin" \ --admin_password="secretpassword" \ |
Pesan yang ditampilkan ketika instalasi WordPress berhasil:
1 | Success: WordPress installed successfully. |
Ubah pengguna dan grup file WordPress menjadi pengguna dan grup server web Apache:
1 | chown -R apache:apache /var/www/aminlabs.my.id |
Proses instalasi WordPress telah selesai. Browse domain untuk mencoba hasil instalasi.