CMS
Joomla

Joomla

Joomla adalah Content Management System (CMS) berbasis open source yang digunakan untuk membuat dan mengelola website dinamis dengan mudah. Joomla ditulis dalam bahasa PHP dan menggunakan MySQL atau MariaDB sebagai basis data. CMS ini dikenal dengan fleksibilitas, dukungan multibahasa bawaan, dan komunitas yang luas. Joomla menyediakan berbagai template dan ekstensi yang memungkinkan pengguna menyesuaikan tampilan dan fungsionalitas situs web tanpa harus menguasai pemrograman.

1. Persyaratan Sistem

System requirements untuk Joomla v5:

  • PHP 8.1+
  • PHP extension json, simplexml, dom, zlib, gd, mysqlnd atau pdo_mysql atau pdo_pgsql
  • MySQL 8.0.13+ atau MariaDB 10.4+
  • PostgreSQL 12.0+
  • Apache atau Nginx

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 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

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	

5. Download Joomla

Download Joomla v5.2.2

wget https://update.joomla.org/releases/5.2.2/Joomla_5.2.2-Stable-Full_Package.zip

Install unzip jika belum tersedia

sudo apt install unzip -y

Ekstrak Joomla*.zip

sudo unzip Joomla*.zip -d /var/www/contoh.com

Ubah user dan group direktori

sudo chown -R www-data:www-data /var/www/contoh.com

6. Install Joomla

Akses https://www.contoh.com untuk menginstal Joomla.

  1. Enter the name of your Joomla site. *: masukkan nama website,
  2. Klik Setup Login Data
  3. Enter the real name of your Super User. *: masukkan nama untuk akun Super User (admin) website
  4. Set the username for your Super User account. *: masukkan username akun Super User
  5. Set the password for your Super User account. *: masukkan password akun Super User
  6. Enter the email address of the website Super User. *: masukkan alamat email akun Super User
  7. Klik Setup Database Connection
  8. Enter the database username you created or a username provided by your host. *: masukkan username database
  9. Enter the database password you created or a password provided by your host.: masukkan password database
  10. Enter the database name. *: masukkan nama database
  11. Klik Install Joomla

Jika instalasi Joomla telah selesai ditampilkan pesan Congratulations! Your Joomla site is ready.