Phorum adalah perangkat lunak forum Open Source berbasis PHP dan MySQL. Dalam panduan ini, kami akan memandu Anda langkah demi langkah melalui proses instalasi Phorum pada sistem operasi Debian 9 menggunakan Nginx sebagai web server, MariaDB sebagai database, dan acme.sh dan Let's Encrypt untuk HTTPS.
Persyaratan
Persyaratan untuk menjalankan Phorum adalah:
- Nginx
- PHP versi 5.2 atau lebih baru
- MySQL/MariaDB versi 5.0 atau lebih baru
Prasyarat
- Sistem operasi Debian 9.
- Pengguna non-root dengan
sudo
hak istimewa.
Langkah awal
Periksa versi Debian Anda:
lsb_release -ds
# Debian GNU/Linux 9.8 (stretch)
Siapkan zona waktu:
sudo dpkg-reconfigure tzdata
Perbarui paket sistem operasi Anda (perangkat lunak). Ini adalah langkah pertama yang penting karena memastikan Anda memiliki pembaruan dan perbaikan keamanan terbaru 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 build-essential
Langkah 1 - Instal PHP
Instal PHP, serta ekstensi PHP yang diperlukan:
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-mysql
Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Periksa versi PHP:
php --version
# PHP 7.0.33-0debian0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
Layanan PHP-FPM secara otomatis dimulai dan diaktifkan saat reboot pada sistem Ubuntu 18.04, jadi tidak perlu memulai dan mengaktifkannya secara manual. Kita bisa melanjutkan ke langkah berikutnya, yaitu instalasi dan setup database.
Langkah 2 - Instal MariaDB dan buat database
Instal server database MariaDB:
sudo apt install -y mariadb-server
Periksa versi MariaDB:
mysql --version
Jalankan mysql_secure installation
skrip untuk meningkatkan keamanan MariaDB dan mengatur kata sandi untuk root
MariaDB pengguna:
sudo mysql_secure_installation
Jawab setiap pertanyaan:
Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
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
Hubungkan ke shell MariaDB sebagai pengguna root:
sudo mysql -u root -p
# Enter password
Buat database dan pengguna MariaDB kosong untuk Phorum dan ingat kredensialnya:
mariadb> CREATE DATABASE dbname;
mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mariadb> FLUSH PRIVILEGES;
Keluar dari MariaDB:
mariadb> exit
Ganti dbname
, username
dan password
dengan nama Anda sendiri.
Langkah 3 - Instal klien acme.sh dan dapatkan sertifikat Let's Encrypt (opsional)
Mengamankan forum Anda dengan HTTPS tidak diperlukan, tetapi ini adalah praktik yang baik untuk mengamankan lalu lintas situs Anda. Untuk mendapatkan sertifikat TLS dari Let's Encrypt kami akan menggunakan klien acme.sh. Acme.sh adalah perangkat lunak shell UNIX murni untuk mendapatkan sertifikat TLS dari Let's Encrypt tanpa ketergantungan.
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.0
Dapatkan RSA dan ECC/ECDSA sertifikat untuk domain/nama host Anda:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
Jika Anda ingin sertifikat palsu untuk pengujian, Anda dapat menambahkan --staging
tandai perintah di atas.
Setelah menjalankan perintah di atas, sertifikat Anda dan kunci akan di:
- Untuk RSA :
/home/username/example.com
direktori. - Untuk ECC/ECDSA :
/home/username/example.com_ecc
direktori.
Untuk membuat daftar sertifikat yang dikeluarkan, Anda dapat menjalankan:
acme.sh --list
Buat direktori untuk menyimpan sertifikat Anda. Kami akan menggunakan /etc/letsencrypt
direktori.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Instal/salin 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 pengguna root dan kembali ke pengguna sudo normal:
exit
Langkah 4 - Instal dan konfigurasikan NGINX
Instal NGINX:
sudo apt install -y nginx
Periksa versi NGINX:
sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)
Konfigurasi NGINX untuk Phorum. Jalankan sudo vim /etc/nginx/sites-available/phorum.conf
dan tambahkan konfigurasi berikut.
server {
listen 80;
listen 443 ssl;
server_name example.com;
root /var/www/phorum;
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;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
}
Aktifkan phorum.conf
baru konfigurasi dengan menautkan file ke sites-enabled
direktori:
sudo ln -s /etc/nginx/sites-available/phorum.conf /etc/nginx/sites-enabled
Periksa konfigurasi NGINX untuk kesalahan sintaks:
sudo nginx -t
Muat ulang layanan NGINX:
sudo systemctl reload nginx.service
Langkah 4 - Instal Phorum
Buat direktori root dokumen untuk Phorum:
sudo mkdir -p /var/www/phorum
Ubah kepemilikan /var/www/phorum
direktori ke [jour_user]:
sudo chown -R [your_user]:[your_user] /var/www/phorum
Arahkan ke direktori root dokumen:
cd /var/www/phorum
Unduh distribusi Phorum stabil terbaru dari situs web resmi:
wget https://www.phorum.org/downloads/phorum-5.2.23.tar.gz
Buka paket arsip yang diunduh dan pindahkan file ke root dokumen:
tar xvzf phorum-5.2.23.tar.gz
rm phorum-5.2.23.tar.gz
mv Core-phorum_5_2_23/* . && mv Core-phorum_5_2_23/.* .
rmdir Core-phorum_5_2_23
Konfigurasikan akses database:
cp include/db/config.php.sample include/db/config.php
Konfigurasikan pengaturan basis data dengan mengedit include/db/config.php
berkas:
vim include/db/config.php
Ubah kepemilikan /var/www/phorum
direktori ke www-data:
sudo chown -R www-data:www-data /var/www/phorum
Untuk menyelesaikan penginstalan, jalankan penginstal berbasis web dengan mengunjungi http://forum.example.com/admin.php
di browser web Anda.