Vanilla adalah perangkat lunak forum komunitas gratis, sumber terbuka, dan fleksibel yang dapat digunakan untuk membangun situs forum Anda sendiri. Ini adalah solusi forum ringan dan multi-bahasa yang membantu Anda membuat komunitas online dalam beberapa menit. Itu ditulis dalam PHP dan dilengkapi dengan banyak add-on dan tema. Itu dikemas dengan fitur premium dan digunakan oleh merek teratas untuk melibatkan pelanggan, mendorong loyalitas, dan mengurangi biaya dukungan.
Dalam tutorial ini, kita akan mempelajari cara menginstal forum Vanilla di CentOS 8 dan mengamankannya dengan Let's Encrypt SSL.
Prasyarat
- Server yang menjalankan CentOS 8.
- Kata sandi root telah disiapkan di server Anda.
Instal Server LEMP
Pertama, Anda perlu menginstal server web Nginx, server database MariaDB, PHP, dan ekstensi PHP lain yang diperlukan di sistem Anda. Anda dapat menjalankan perintah berikut untuk menginstal semuanya:
dnf install nginx mariadb-server php php php-mysqlnd php-opcache php-xml php-xmlrpc php-gd php-mbstring php-json php-fpm php-curl php-pear php-openssl php-intl unzip -y
Setelah menginstal semua paket, mulai layanan Nginx, PHP-FPM dan MariaDB dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
systemctl start nginx
systemctl start php-fpm
systemctl start mariadb
systemctl enable nginx
systemctl enable php-fpm
systemctl enable mariadb
Konfigurasi Database MariaDB
Sebelum memulai, ada baiknya Anda mengamankan MariaDB Anda. Anda dapat mengamankannya dengan skrip berikut:
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 New password: Re-enter new 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
Setelah mengamankan MariaDB, masuk ke shell MariaDB dengan perintah berikut:
mysql -u root -p
Berikan kata sandi root MariaDB Anda dan buat database dan pengguna untuk Vanilla dengan perintah berikut:
MariaDB [(none)]> CREATE DATABASE vanilladb CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> CREATE USER 'vanilla'@'localhost' IDENTIFIED BY 'password';
Selanjutnya, berikan semua hak istimewa ke database Vanilla dengan perintah berikut:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON vanilladb.* TO 'vanilla'@'localhost';
Selanjutnya, flush hak istimewa dan keluar dari shell MariaDB dengan perintah berikut:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Unduh Forum Vanila
Anda dapat mengunduh versi stabil terbaru dari forum Vanilla dari situs resminya dengan perintah berikut:
wget https://open.vanillaforums.com/get/vanilla-core-3.3.zip
Setelah diunduh, unzip file yang diunduh dengan perintah berikut:
unzip vanilla-core-3.3.zip
Selanjutnya, pindahkan direktori hasil ekstrak ke direktori root web Nginx dengan perintah berikut:
mv package /var/www/html/vanilla
Selanjutnya, ubah kepemilikan direktori vanilla menjadi Nginx:
chown -R nginx:nginx /var/www/html/vanilla
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi Kumpulan PHP-FPM
Secara default, PHP-FPM dikonfigurasi untuk Apache. Di sini, kita akan menggunakan Nginx sebagai server web. Jadi, Anda perlu mengonfigurasi PHP-FPM untuk Nginx. Anda dapat melakukannya dengan mengedit file /etc/php-fpm.d/www.conf:
nano /etc/php-fpm.d/www.conf
Ubah baris berikut:
user = nginx group = nginx
Simpan dan tutup file setelah Anda selesai. Kemudian, buat direktori sesi untuk PHP dan ubah kepemilikannya:
mkdir -p /var/lib/php/session
chown -R nginx:nginx /var/lib/php/session
Selanjutnya, restart layanan PHP-FPM untuk menerapkan perubahan:
systemctl restart php-fpm
Konfigurasi Nginx untuk Vanilla
Selanjutnya, buat file host virtual Nginx baru untuk melayani forum Vanilla.
nano /etc/nginx/conf.d/vanilla.conf
Tambahkan baris berikut:
server { listen 80; server_name vanilla.linuxbuz.com; root /var/www/html/vanilla; index index.php; 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 unix:/var/run/php-fpm/www.sock; } location ~* \.php(/|$) { rewrite ^ /index.php$uri last; } location / { try_files $uri $uri/ @vanilla; } location @vanilla { rewrite ^ /index.php$uri last; } }
Simpan dan tutup file setelah Anda selesai. Kemudian, restart layanan Nginx untuk menerapkan perubahan:
systemctl restart nginx
Amankan Vanila dengan Let's Encrypt SSL
Selanjutnya, Anda perlu menginstal utilitas Certbot di sistem Anda untuk mengunduh dan menginstal Let's Encrypt SSL untuk situs web Vanilla Anda.
Anda dapat menginstal klien Certbot dengan perintah berikut:
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
Selanjutnya, dapatkan dan instal sertifikat SSL untuk situs web Vanilla Anda dengan perintah berikut:
certbot-auto --nginx -d vanilla.linuxbuz.com
Perintah di atas pertama-tama akan menginstal semua dependensi yang diperlukan di server Anda. Setelah terinstal, Anda akan diminta untuk memberikan alamat email dan menerima persyaratan layanan seperti yang ditunjukkan di bawah ini:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator nginx, Installer nginx Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for vanilla.linuxbuz.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/nginx/conf.d/vanilla.conf
Pilih apakah Anda ingin mengalihkan lalu lintas HTTP ke HTTPS atau tidak seperti yang ditunjukkan di bawah ini:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Ketik 2 dan tekan Enter untuk melanjutkan. Setelah instalasi berhasil diselesaikan, Anda akan mendapatkan output berikut:
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/vanilla.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://vanilla.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=vanilla.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/vanilla.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/vanilla.linuxbuz.com/privkey.pem Your cert will expire on 2020-06-11. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Konfigurasi SELinux dan Firewall
Secara default, SELinux diaktifkan di CentOS 8. Jadi, Anda perlu mengonfigurasinya untuk situs web forum Vanilla Anda.
Anda dapat mengkonfigurasi SELinux dengan perintah berikut:
setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/vanilla
Selanjutnya, izinkan port 80 dan 443 melalui firewall dengan perintah berikut:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Akses Forum Vanila
Buka browser web Anda dan kunjungi URL https://vanilla.linuxbuz.com. Anda akan diarahkan ke halaman berikut:
Berikan detail Basis Data Anda, Judul Aplikasi, Email, Nama pengguna Admin, Kata Sandi, dan klik tombol Lanjutkan tombol. Setelah instalasi selesai, Anda akan melihat dashboard Vanilla di halaman berikut:
Kesimpulan
Selamat! Anda telah berhasil menginstal forum Vanilla di CentOS 8 dengan Let's Encrypt SSL. Anda sekarang dapat meng-host situs web forum komunitas Anda sendiri dengan mudah. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.