TMA 9.2: Instalasi dan Konfigurasi LAMP Stack untuk Menjalankan WordPress di AlmaLinux

Panduan Lengkap WordPress di AlmaLinux

1. Persiapan Sistem

Update Sistem

sudo dnf update -y

Menjamin semua paket terbaru dan mengurangi masalah kompatibilitas.

Install LAMP Stack

sudo dnf install httpd mariadb-server mariadb php php-mysqlnd php-fpm -y
  • httpd: web server Apache
  • mariadb-server: database server
  • php & php-mysqlnd: bahasa scripting PHP & modul koneksi MariaDB
  • php-fpm: FastCGI Process Manager untuk PHP

Enable dan Start Service

sudo systemctl enable --now httpd
sudo systemctl enable --now mariadb
sudo systemctl enable --now php-fpm

2. Konfigurasi MariaDB (Database)

Amankan Instalasi MariaDB

sudo mysql_secure_installation

Ikuti langkah-langkah untuk set root password, hapus user anonim, nonaktifkan remote root login, dan hapus database test.

Buat Database & User WordPress

CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wpuser123';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;

Jika user sudah ada:

ALTER USER 'wpuser'@'localhost' IDENTIFIED BY 'wpuser123';
FLUSH PRIVILEGES;

3. Upload dan Ekstrak WordPress

sudo mv latest.tar.gz /var/www/
cd /var/www
sudo tar -xvzf latest.tar.gz
sudo chown -R apache:apache wordpress
sudo chmod -R 755 wordpress

Catatan:

  • chown apache:apache → memastikan Apache bisa menulis file
  • chmod 755 → memberi permission aman untuk direktori

Jika ada WordPress lama:

sudo mv /var/www/wordpress /var/www/wordpress_old

4. Konfigurasi Apache untuk WordPress

Buat Virtual Host

<VirtualHost *:80>
    ServerName 123.456.789.101
    DocumentRoot /var/www/wordpress

    <Directory /var/www/wordpress>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/log/httpd/wordpress_error.log
    CustomLog /var/log/httpd/wordpress_access.log combined
</VirtualHost>

Ganti IP dengan IP server atau domain. AllowOverride All memungkinkan .htaccess bekerja untuk permalink WordPress.

Enable mod_rewrite

sudo dnf install mod_rewrite -y
sudo systemctl restart httpd

Restart Apache

sudo systemctl restart httpd

5. Konfigurasi PHP-FPM

Edit Pool Config

sudo nano /etc/php-fpm.d/www.conf

Pastikan:

listen = /run/php-fpm/www.sock
listen.owner = apache
listen.group = apache
listen.mode = 0660
user = apache
group = apache

Restart PHP-FPM

sudo systemctl restart php-fpm

Pastikan Apache Bisa Menggunakan PHP-FPM

<FilesMatch \.php$>
    SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost/"
</FilesMatch>

6. SELinux dan Firewall

Set Context SELinux

sudo chcon -R -t httpd_sys_rw_content_t /var/www/wordpress

Izinkan HTTP/HTTPS di Firewall

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

7. Troubleshooting Umum

MasalahPenyebabSolusi
Service Unavailable Apache tidak bisa koneksi ke PHP-FPM Pastikan SetHandler menggunakan socket yang benar dan PHP-FPM berjalan
Error establishing a database connection Database atau user salah/password Periksa wp-config.php dan akses MariaDB
Forbidden Permission atau SELinux Gunakan chown/chcon sesuai instruksi di atas
File tidak bisa dipindah File sudah ada atau salah path Gunakan ls untuk cek lokasi folder dan gunakan mv/cp -r sesuai path

8. Testing WordPress

http://IP_SERVER

Ikuti wizard WordPress: pilih bahasa, buat user admin, dan hubungkan ke database.

Tidak ada komentar:

Posting Komentar