CMS
Drupal CMS

Drupal CMS

Drupal adalah Content Management System (CMS) open source yang fleksibel dan kuat untuk membangun website dinamis dengan berbagai kebutuhan, mulai dari situs perusahaan, portal komunitas, hingga platform e-commerce. Dengan arsitektur modular dan keamanan tingkat tinggi, Drupal memungkinkan pengguna untuk menyesuaikan tampilan, fitur, serta integrasi dengan berbagai layanan pihak ketiga.

Fitur utama Drupal mencakup manajemen konten yang canggih, kontrol akses granular, serta dukungan untuk multi-bahasa dan SEO. Drupal sangat cocok untuk pengembang yang membutuhkan platform yang dapat diskalakan, serta komunitas aktif yang terus memperbarui dan meningkatkan fungsionalitasnya.

1. Persyaratan Sistem

System requirements untuk Drupal CMS:

  • PHP 8.3
    • Extensions: PDO, XML, GD-library, OpenSSL, JSON, cURL, Mbstring, zlib
  • Composer 2.3.6+
  • Database: MySQL 8.0+, MariaDB 10.6+, Percona Server 8.0+, PostgreSQL 16+
  • Web Server: Apache 2.4.7+ atau Nginx 1.1+

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 Apache

sudo apt install apache2 -y

Install certbot untuk Apache

sudo apt install certbot python3-certbot-apache -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 libapache2-mod-php8.3 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 php8.3-sqlite3 -y

Buka konfigurasi php.ini

sudo nano /etc/php/8.3/apache2/php.ini

Atur memory_limit

memory_limit = 256M

Restart apache2

sudo systemctl restart apache2

3. Buat Database

Login ke MariaDB:

sudo mysql

Buat database drupal dan user 'drupal'@'localhost'

CREATE DATABASE drupal;
CREATE USER 'drupal'@'localhost' IDENTIFIED BY 'rahasia';
GRANT ALL PRIVILEGES ON drupal.* TO 'drupal'@'localhost';
FLUSH PRIVILEGES;
exit

4. Konfigurasi Apache

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/web
    <Directory /var/www/contoh.com/web>
        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

Request sertifikat SSL

sudo certbot --non-interactive \
    -m [email protected] \
    --agree-tos \
    --no-eff-email \
    --apache -d contoh.com -d www.contoh.com \
    --redirect	

5. Install Drupal CMS

Buat project Drupal CMS dengan composer

composer create-project drupal/cms contoh.com

Pindahkan direktori contoh.com ke /var/www

sudo mv contoh.com /var/www

Ubah user-group direktori

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

Akses https://www.contoh.com untuk instalasi.

  1. Get started, pilih pre-configured yang diinginkan (masih bisa ditambahkan setelah instalasi, tidak harus dipilih), lalu Next
  2. Give your site a name, masukkan nama website, lalu Next
  3. Database configuration, pilih Database type = MySQL/MariaDB, lalu masukkan nama database, username,dan password, lalu Save and Continue
  4. Create your account, membuat akun, masukkan email dan password, lalu Finish
  5. Setting up your site, proses instalasi sedang berjalan
  6. Jika instlasi selesai dan berhasil, akan redirect ke Dashboard

Deploy Drupal CMS telah selesai, siap digunakan.