MyBB adalah perangkat lunak forum free, open source, dan kuat yang ditulis dalam bahasa PHP dan menggunakan MariaDB untuk menyimpan data mereka. MyBB menyediakan banyak fitur seperti dukungan berbagai plugin, dukungan widget, tema yang dapat disesuaikan dan banyak lagi.

Dalam tutorial ini, kita akan belajar cara install CMS forum MyBB di Debian 10 (buster).

Persyaratan

MyBB 1.8 dan Merge System 1.8 memiliki beberapa persyaratan sistem minimum:

  • PHP, setidaknya versi 5.2. Sangat dianjurkan menggunakan PHP 7.3.
  • MySQL versi 5.0 atau lebih tinggi, PostgreSQL versi 8.1 atau lebih tinggi, atau SQLite versi 3 atau lebih tinggi. Sangat dianjurkan menggunakan PostgreSQL 10.0 atau MySQL 8.0.
  • Apache, Nginx, Lighttpd atau IIS webserver
  • PHP extensions berikut juga diperlukan untuk install myBB:
    • SimpleXML
    • mbstring
    • gd

NOTE: Ganti semua instance dari example.com dengan nama domain Anda.

Persyaratan

Sebelum Mulai

Sebelum memulai, Anda perlu memperbarui sistem dengan versi terbaru. Anda dapat melakukan ini dengan menjalankan perintah berikut dengan user root atau user biasa dengan hak sudo:

lsb_release -ds
# Debian GNU/Linux 10 (buster)

Siapkan zona waktu:

sudo dpkg-reconfigure tzdata

Perbarui paket sistem operasi Anda (software). Ini adalah langkah pertama yang penting karena memastikan Anda memiliki pembaruan terbaru dan perbaikan keamanan untuk paket perangkat lunak default sistem operasi Anda:

sudo apt update && sudo apt upgrade -y

Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Debian :

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https

Langkah 1 – Install PHP dan PHP extensions

Install PHP dan semua PHP extensions yang dibutuhkan :

sudo apt install -y php php-cli php-fpm php-gd php-mbstring php-xml php-mysql php-pgsql

Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

periksa versi PHP :

php --version

# PHP 7.3.9-1~deb10u1 (cli) (built: Sep 18 2019 10:33:23) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.4-2, Copyright (c) 1999-2018, by Zend Technologies

Layanan PHP-FPM secara otomatis dimulai dan diaktifkan saat reboot di sistem Debian 10, sehingga tidak perlu memulai dan mengaktifkannya secara manual. Kita bisa beralih ke langkah selanjutnya, yaitu instalasi dan pengaturan SSL.

Langkah 2 – Dapatkan Sertifikat Let’s Encrypt (opsional)

Mengamankan blog/website Anda dengan HTTPS memang langkah opsional, tetapi HTTPS adalah praktik yang baik untuk mengamankan lalu lintas situs Anda.

Untuk mendapatkan sertifikat TLS dari Let’s Encrypt, kita akan menggunakan klien acme.sh. Acme.sh adalah perangkat lunak shell UNIX yang digunakan untuk mendapatkan sertifikat TLS dari Let’s Encrypt dengan tanpa dependensi.

Unduh dan instal acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Periksa versi acme.sh:

acme.sh --version
# v2.8.2

Dapatkan sertifikat RSA dan ECC/ECDSA untuk domain/hostname Anda:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Jika ingin membuat sertifikat palsu untuk pengujian, Anda dapat menambahkan flag--stagingke perintah di atas.

Setelah menjalankan perintah di atas, certificates dan keys akan berada di:

  • untuk RSA di direktori : /home/username/example.com.
  • untuk ECC/ECDSA di direktori : /home/username/example.com_ecc.

Untuk list semua sertifikat, jalankan perintah :

acme.sh --list

Buat direktori untuk menyimpan sertifikat Anda. Kita akan menggunakan direktori /etc/letsencrypt

sudo mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Install/copy sertifikat ke direktori /etc/letsencrypt.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Semua sertifikat akan diperpanjang secara otomatis setiap 60 hari.

Setelah mendapatkan sertifikat, keluar dari user root dan kembali ke user biasa dengan hak sudo :

exit

Langkah 3 – Install MariaDB dan Buat Database MyBB

Install MariaDB database server:

sudo apt install -y mariadb-server

Periksa versi MariaDB :

mysql --version
# mysql  Ver 15.1 Distrib 10.3.17-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Secara default, MariaDB tidak diamankan. Jadi, Anda harus mengamankannya. Anda dapat melakukan ini dengan menjalankan skrip mysql_secure_installation:

sudo mysql_secure_installation

Jawab semua pertanyaan seperti yang ditunjukkan di bawah ini:

    Enter current password for root (enter for none):
    Set root password? [Y/n]: Y
    Remove anonymous users? [Y/n]: Y
    Disallow root login remotely? [Y/n]: Y
    Remove test database and access to it? [Y/n]:  Y
    Reload privilege tables now? [Y/n]:  Y

Setelah MariaDB diamankan, masuk ke shell MariaDB dengan perintah berikut:

sudo mysql -u root -p

Masukkan kata sandi root Anda saat diminta. Kemudian, buat database dan user database untuk MyBB. Dalam contoh berikut, kita akan membuat database dengan nama mybbdb dan dengan nama user root, Anda bebas memberi nama sesuai dengan kehendak Anda.

mariadb> CREATE DATABASE mybbdb;
mariadb> GRANT ALL ON mybbdb.* TO 'root' IDENTIFIED BY 'g4nt!_d3n9an_Pa$$w0rd';
mariadb> FLUSH PRIVILEGES;

Exit dari MariaDB:

mariadb> exit

Ganti mybbdb, root dan g4nt!_d3n9an_Pa$$w0rd dengan pilihan Anda.

Langkah 4 – Instal dan Konfigurasi Nginx

Download dan install NGINX dari repository Debian :

sudo apt install -y nginx

Periksa versi NGINX :

sudo nginx -v
# nginx version: nginx/1.14.2

Selanjutnya, konfigurasikan NGINX untuk MyBB. Kita akan membuat server block untuk MyBB dan tambahkan konfigurasi berikut.

sudo nano /etc/nginx/sites-available/mybb.conf

copy dan paste kontent berikut, jangan lupa mengganti example.com dengan nama domain Anda.

server {

  listen 80;
  listen 443 ssl;

  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
  server_name forum.example.com;

  root /var/www/mybb;

  location / {
    index index.php;
  }

  # Deny access to internal files.
  location ~ /(inc|uploads/avatars) {
    deny all;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

}

Aktifkan konfigurasi mybb.conf dengan membuat symlink ke direktori sites-enabled  :

sudo ln -s /etc/nginx/sites-available/mybb.conf /etc/nginx/sites-enabled/

Periksa konfigurasi NGINX untuk melihat tidak ada syntax errors:

sudo nginx -t

Reload NGINX service:

sudo systemctl reload nginx.service

Langkah 5 – Install MyBB

Buat direktori document root untuk MyBB, direktori ini adalah tempat di mana MyBB menyimpan semua filenya :

sudo mkdir -p /var/www/mybb

Download rilis MyBB terbaru dan unzip:

cd /var/www/mybb
sudo wget https://resources.mybb.com/downloads/mybb_1821.zip
sudo unzip mybb_1821.zip
sudo mv /var/www/mybb/Upload/* /var/www/mybb

Hapus file .zip yang diunduh:

sudo rm mybb_1821.zip
sudo rmdir Upload

Ubah kepemilikan direktori /var/www/mybb menjadi www-data:www-data

sudo chown -R www-data:www-data /var/www/mybb

Sebagai langkah terakhir, buka domain Anda dan ikuti panduan instalasi untuk MyBB. Untuk mengakses installer, Anda harus menavigasi ke direktori /instal situs Anda di browser web Anda.

Misalnya, jika domain Anda adalah example.com dan Anda mengunggah file MyBB Anda ke direktori root lalu navigasikan ke http://example.com/install. Untuk mengakses admin MyBB, tambahkan /admin ke URL situs Anda. Anda telah berhasil menginstal MyBB Anda.

Setelah instalasi, Anda harus menghapus direktori /install dari server Anda untuk mencegah orang lain menjalankan instalasi lagi.

sudo rm -rf /var/www/mybb/install/

Langkah 6 – Selesaikan Setup MyBB

Untuk mengakses installer, Anda harus menavigasi ke direktori install/ situs Anda di browser web Anda.

Setelah membuka panduan instalasi MyBB Anda akan disajikan halaman seperti ini. Yang perlu Anda lakukan adalah klik “Next” di halaman ini:

MyBB Installation Wizard

Periksa lisensi MyBB dan klik “Next“:

MyBB License

Halaman ini memeriksa apakah server Anda memenuhi persyaratan untuk menjalankan MyBB. Jika tidak, Anda akan diberi tahu di halaman ini.

Jika semuanya berfungsi dengan benar, yang perlu Anda lakukan adalah mengklik tombol “Next” di halaman ini.

Check Requirements

Halaman ini untuk konfigurasi basis data Anda. Masukkan detail basis data yang diminta dan klik “Next“.

Database configuration

Pada langkah ini, tabel database dimasukkan. Tidak ada input pengguna yang diperlukan pada halaman ini, jadi klik tombol “Next” ketika muncul.

Creating database tables

Pada langkah ini, data default dimasukkan ke dalam tabel database yang dibuat di atas. Klik “Next“.

Populate tables

Data tema dimuat ke dalam forum di langkah ini. Tidak ada input pengguna diperlukan pada halaman ini. Klik tombol “Next” ketika muncul.

Add Theme

Selanjutnya, konfigurasikan pengaturan dasar seperti nama forum, URL, dll:

Basic Board configuration

Buat akun administrator MyBB. Akun ini memiliki izin untuk semua bagian di Panel Kontrol Admin.

Create administrator account

Setelah pembuatan akun admin, Anda akan melihat halaman “Finish Setup”. Halaman itu menunjukkan bahwa instalasi selesai:

Finish the setup

Untuk mengakses admin interface, tambahkan /admin ke URL Anda:

MyBB Login

Halaman Admin MyBB akan terlihat seperti ini:

MyBB Forum

Dan berikut ini adalah screenshot dari frontend myBB :

MyBB frontend

Selamat! Anda telah berhasil menginstal MyBB Anda.