Vanilla adalah forum diskusi sumber terbuka gratis yang ditulis dalam PHP. Perangkat lunak Vanilla Forum didistribusikan di bawah lisensi GNU GPL2. Kode sumbernya tersedia melalui Github. Ini memiliki sistem add-on yang kaya yang dapat Anda manfaatkan untuk menambahkan fitur khusus ke forum Vanilla Anda. Konten untuk Forum Vanilla dapat ditulis menggunakan bahasa Penurunan harga. Dalam tutorial ini, kita akan melalui penginstalan dan penyiapan Forum Vanilla pada sistem CentOS 7 dengan menggunakan Nginx sebagai server web, MySQL sebagai server database, dan secara opsional Anda dapat mengamankan lapisan transport dengan menggunakan klien acme.sh dan Let's Encrypt certificate authority untuk menambahkan dukungan SSL.
Persyaratan
Vanilla membutuhkan server dengan PHP, MySQL, dan perangkat lunak server web (seperti Apache atau Nginx). Anda mungkin perlu memiliki domain, dan sudah mengonfigurasinya di server Anda dengan DNS jika ingin menginstal di server produksi, tetapi jika tidak, Anda tidak memerlukan domain.
Forum Vanila minimal persyaratannya adalah:
- PHP versi 7.0 atau yang lebih baru.
- Ekstensi PHP mbstring, cURL, GD, dan PDO, MySQLi, OpenSSL.
- MySQL versi 5.0 atau yang lebih baru (atau setara dengan Percona/MariaDB).
- Perangkat lunak Server Web (Nginx, Apache ...).
- Mode ketat MySQL dinonaktifkan.
Forum Vanilla sangat merekomendasikan :
- PHP versi 7.2 atau yang lebih baru.
- Ekstensi PHP mbstring, cURL, GD, dan PDO, MySQLi, OpenSSL.
- MySQL versi 5.7 atau yang lebih baru (atau setara Percona/MariaDB).
- Perangkat lunak server web (Nginx, Apache ...).
- Enkripsi SSL.
CATATAN : PHP 7.0 telah mencapai akhir masa pakainya dan tidak akan lagi menerima patch keamanan, jadi sangat disarankan untuk menggunakan versi PHP yang lebih baru. Dukungan Vanilla untuk PHP 7.0 akan segera berakhir!
Prasyarat
- Sistem operasi yang menjalankan CentOS 7.
- Pengguna non-root dengan hak istimewa sudo.
Langkah awal
Periksa versi CentOS Anda:
cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)
Siapkan zona waktu:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
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 yum update -y
Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi CentOS:
sudo yum install -y curl wget vim git unzip socat bash-completion epel-release
Langkah 1 - Instal PHP dan ekstensi PHP yang diperlukan
Siapkan repo Webtatic YUM:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Instal PHP, serta ekstensi PHP yang diperlukan:
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-curl php72w-gd php72w-mysql
Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Periksa versi PHP:
php --version
# PHP 7.2.14 (cli) (built: Jan 12 2019 12:47:33) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Mulai dan aktifkan layanan PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Kita bisa melanjutkan ke langkah berikutnya, yaitu instalasi dan setup database.
Langkah 2 - Instal MariaDB dan buat database untuk Forum Vanilla
Vanilla Forum mendukung database MySQL, MariaDB, dan Percona. Dalam tutorial ini, kita akan menggunakan MariaDB sebagai server database. Karena repositori CentOS 7 default berisi versi MariaDB yang sangat lama yang tidak kompatibel dengan Vanilla Forum, kita perlu menggunakan repo MariaDB resmi untuk menginstal versi yang lebih baru.
Buat repositori MariaDB 10.2 YUM untuk CentOS:
sudo vim /etc/yum.repos.d/MariaDB.repo
Salin dan tempel teks berikut ke dalamnya:
# MariaDB 10.2 CentOS repository list - created 2017-12-11 23:19 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name=MariaDB
baseurl=https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Setelah file berada di tempatnya, instal MariaDB dengan menjalankan:
sudo yum install -y MariaDB-server MariaDB-client
Periksa versi MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.2.21-MariaDB, for Linux (x86_64) using readline 5.1
Mulai dan aktifkan layanan MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Jalankan mysql_secure installation
skrip untuk meningkatkan keamanan MariaDB dan menyetel sandi untuk MariaDB root
pengguna:
sudo mysql_secure_installation
Jawab setiap pertanyaan:
Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
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 MariaDB dan pengguna kosong untuk Forum Vanilla dan ingat kredensialnya:
MariaDB [(none)]> CREATE DATABASE dbname;
MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
Keluar dari MariaDB:
MariaDB [(none)]> exit
Ganti dbname
, username
dan password
dengan nama Anda sendiri.
Langkah 3 - Instal acme.sh
klien dan dapatkan sertifikat Let's Encrypt (opsional )
Mengamankan situs web 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 software 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/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 Anda ingin sertifikat palsu untuk pengujian, Anda dapat menambahkan --staging
tandai perintah di atas.
Setelah menjalankan perintah di atas, sertifikat your 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 NGINX dan konfigurasikan NGINX untuk Forum Vanilla
Vanilla Forum dapat bekerja dengan baik dengan banyak perangkat lunak server web populer. Dalam tutorial ini, kami memilih Nginx. Jika Anda lebih memilih server web Apache daripada Nginx, kunjungi https://docs.vanillaforums.com/developer/backend/server-apache/ untuk mempelajari lebih lanjut.
Unduh dan instal Nginx dari repositori CentOS:
sudo yum install -y nginx
Periksa versi Nginx:
nginx -v
# nginx version: nginx/1.12.2
Mulai dan aktifkan layanan Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Konfigurasikan Nginx untuk Vanilla dengan menjalankan:
sudo vim /etc/nginx/conf.d/vanilla.conf
Dan isi file dengan konfigurasi berikut:
server {
listen 80;
listen 443 ssl http2;
server_name forum.example.com;
root /var/www/vanilla;
index index.php;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECC/ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
location ~* /\.git { deny all; return 403; }
location /build/ { deny all; return 403; }
location /cache/ { deny all; return 403; }
location /cgi-bin/ { deny all; return 403; }
location /uploads/import/ { deny all; return 403; }
location /conf/ { deny all; return 403; }
location /tests/ { deny all; return 403; }
location /vendor/ { deny all; return 403; }
location ~* ^/index\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root/index.php;
fastcgi_param X_REWRITE 1;
fastcgi_pass 127.0.0.1:9000;
}
location ~* \.php(/|$) {
rewrite ^ /index.php$uri last;
}
location / {
try_files $uri $uri/ @vanilla;
}
location @vanilla {
rewrite ^ /index.php$uri last;
}
}
CATATAN :Untuk konfigurasi Nginx yang lengkap dan siap produksi untuk Vanilla, kunjungi https://docs.vanillaforums.com/developer/backend/server-nginx/.
Periksa konfigurasi Nginx untuk kesalahan sintaks:
sudo nginx -t
Muat ulang layanan Nginx:
sudo systemctl reload nginx.service
Langkah 5 - Instal Forum Vanilla
Buat direktori root dokumen tempat Forum Vanilla seharusnya berada:
sudo mkdir -p /var/www/vanilla
Ubah kepemilikan /var/www/vanilla
direktori ke {jour_user}
:
sudo chown -R {your_user}:{your_user} /var/www/vanilla
CATATAN :Ganti {jour_user}
dengan nama pengguna pengguna non-root yang pertama kali Anda buat.
Arahkan ke direktori root dokumen:
cd /var/www/vanilla
Unduh arsip zip Forum Vanilla:
wget https://open.vanillaforums.com/get/vanilla-core-2.6.4.zip
Ekstrak dan hapus arsip zip Vanilla:
unzip vanilla-core-2.6.4.zip
rm vanilla-core-2.6.4.zip
Berikan kepemilikan yang sesuai:
sudo chown -R nginx:nginx /var/www/vanilla
Jalankan sudo vim /etc/php-fpm.d/www.conf
dan atur pengguna dan grup ke nginx
. Awalnya, mereka akan disetel ke apache:
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Navigasikan ke folder tempat Anda mengunggah Vanilla di browser web Anda dan ikuti petunjuk di layar.
Langkah 6 - Selesaikan Penginstalan dan Penyiapan Forum Vanilla
Setelah membuka situs Anda di browser web, Anda akan diarahkan ke halaman berikut:
Isi informasi yang diperlukan dan klik "Lanjutkan →" tombol untuk menyelesaikan instalasi dan pengaturan. Setelah itu, antarmuka admin Forum Vanilla akan muncul.
Tautan
- https://open.vanillaforums.com/
- https://github.com/vanilla/vanilla