How to Install Vanila Forum on CentOS 8

Everything Linux, A.I, IT News, DataOps, Open Source and more delivered right to you.
Subscribe
"The best Linux newsletter on the web"

Introduction

Vanilla is a Canadian software company founded in 2009 in Montreal, Quebec, Canada. It is both a cloud-based (SaaS) community forum software and an open source community supported software. The company’s main product is Vanilla Cloud.

Its open source product, Vanilla OSS, is a lightweight Internet forum package written in the PHP scripting language using the Garden framework. The software is released under the GNU GPL. Vanilla Forums is free software, standards-compliant, customizable discussion forums. Since 2009 there is also a cloud-hosted version (offered by Vanilla).

Installation

Just follow the steps below:

  • So Install php, php-fpm and its modules
dnf instal 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
  • Start and enable php-fpm.
 systemctl start php-fpm
 systemctl enable php-fpm
  • Install nginx and start it.
dnf install nginx -y && systemctl start nginx
  • Install, start and enable mariadb.
dnf install -y mariadb mariadb-server && systemctl start mariadb && systemctl enable mariadb
  • Configure MariaDB Database and secure your MariaDB.
mysql_secure_installation
  • Answer all questions as shown below
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
  • log in to the MariaDB shell
mysql -u root -p
  • Create database and database user then grant all privileges.
CREATE DATABASE vanilla_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'vanilla_usr'@'localhost' IDENTIFIED BY 'unixcopPassword';
GRANT ALL PRIVILEGES ON vanilla_db.* TO 'vanilla_usr'@'localhost';
FLUSH PRIVILEGES;
\q;
  • Download Vanilla Forum.
wget https://open.vanillaforums.com/get/vanilla-core-3.3.zip

You can download the latest vanilla-forum from the official website.

Note: The latest product maintained by the Vanilla Forums staff and core team.

  • unzip the downloaded file.
unzip vanilla-core-3.3.zip
  • Move the extracted directory to the Nginx web root directory.
mv package /var/www/html/vanilla
  • Set the ownership of vanilla directory to Nginx
chown -R nginx:nginx /var/www/html/vanilla
  • Configure PHP-FPM Pool, you can do it by editing the file /etc/php-fpm.d/www.conf
vim /etc/php-fpm.d/www.conf
  • Change the following lines to nginx.
user = nginx
group = nginx
  • create a session directory for PHP and change its ownership
mkdir -p /var/lib/php/session
chown -R nginx:nginx /var/lib/php/session
  • Restart the PHP-FPM service
systemctl restart php-fpm
  • Configure Nginx for Vanilla by creating Nginx virtual host file.
vim /etc/nginx/conf.d/vanilla.conf
  • Then add the following lines
server {

  listen 80;
  server_name vanilla.unixcop.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;
  }

}
  • Restart the Nginx service
systemctl restart nginx
  • Allow port 80 and 443 on the firewall.
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
rewall-cmd --reload
  • Also you will need to configure SELinux for Vanilla forum
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
  • Access Vanilla Forum by opening your web browser and visit the URL https://vanilla.unixcop.com.
  • Provide your Database info and other required inputs then click continue.
  • you should see the Vanilla dashboard as shown above.

Conclusion

In this installation guide, we illustrated how to install Vanilla-Forums on CentOS 8.

That’s all. Thank you.

Everything Linux, A.I, IT News, DataOps, Open Source and more delivered right to you.
Subscribe
"The best Linux newsletter on the web"
MQ-Jr
MQ-Jr
unixcop Admin

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest articles

Join us on Facebook