Installing Vanilla Forums on Void Linux

Vanilla Forums is an open-source, community-supported forum software that you can install on your server. Here's how you can install Vanilla Forums on Void Linux.

Prerequisites

Before you begin, make sure you have the following:

Step 1: Install Required Packages

We'll need to install some packages before we can proceed with installing Vanilla Forums.

Open the terminal and update the package repository and upgrade the installed packages:

sudo xbps-install -Suv

Next, install the required packages:

sudo xbps-install -y php-fpm php-mysqli php-pdo_mysql nginx mariadb-server

Step 2: Configure MySQL Database

Vanilla Forums requires a MySQL database to store its data. We'll need to configure it before we can proceed with the installation.

Log in to the MySQL server:

sudo mysql -u root -p

Enter the MySQL root password when prompted.

Create a new database and a new user with privileges on the database:

CREATE DATABASE vanillaforum;
CREATE USER 'vanillauser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON vanillaforum.* TO 'vanillauser'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Replace vanillauser and password with the desired username and password.

Step 3: Download Vanilla Forums

Download the latest version of Vanilla Forums from their website:

wget https://open.vanillaforums.com/get/vanilla-core.zip

Unzip the downloaded file:

unzip vanilla-core.zip -d /var/www/html/

The above command assumes that the web root directory is /var/www/html/. Replace it with the correct directory on your server.

Step 4: Configure Nginx

We'll need to configure Nginx to serve the Vanilla Forums website.

Create a new Nginx server block by creating a file called vanillaforum.conf in the /etc/nginx/conf.d/ directory:

sudo nano /etc/nginx/conf.d/vanillaforum.conf

Add the following configuration:

server {
  listen 80;
  server_name forum.example.com;
  root /var/www/html/vanilla;
  index index.php index.html index.htm;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ \.php$ {
    fastcgi_param   QUERY_STRING            $query_string;
    fastcgi_param   REQUEST_METHOD          $request_method;
    fastcgi_param   CONTENT_TYPE            $content_type;
    fastcgi_param   CONTENT_LENGTH          $content_length;

    fastcgi_param   SCRIPT_NAME             $fastcgi_script_name;
    fastcgi_param   SCRIPT_FILENAME         $document_root$fastcgi_script_name;
    fastcgi_param   REQUEST_URI             $request_uri;
    fastcgi_param   DOCUMENT_URI            $document_uri;
    fastcgi_param   DOCUMENT_ROOT           $document_root;
    fastcgi_param   SERVER_PROTOCOL         $server_protocol;

    fastcgi_param   GATEWAY_INTERFACE       CGI/1.1;
    fastcgi_param   SERVER_SOFTWARE         nginx/$nginx_version;

    fastcgi_param   REMOTE_ADDR             $remote_addr;
    fastcgi_param   REMOTE_PORT             $remote_port;
    fastcgi_param   SERVER_ADDR             $server_addr;
    fastcgi_param   SERVER_PORT             $server_port;
    fastcgi_param   SERVER_NAME             $server_name;

    fastcgi_pass unix:/var/run/php/php-fpm.sock;
  }
}

Replace forum.example.com with the domain name or IP address of your server.

Test the Nginx configuration:

sudo nginx -t

If there are no errors, restart Nginx:

sudo systemctl restart nginx

Step 5: Configure Vanilla Forums

Open a web browser and go to http://forum.example.com/. Replace forum.example.com with the domain name or IP address of your server.

The Vanilla Forums installer will start. Follow the on-screen instructions to complete the installation.

During the installation process, use the following database details:

After the installation is complete, make sure to delete the install directory from the Vanilla Forums root directory:

sudo rm -rf /var/www/html/vanilla/install

Conclusion

You have successfully installed Vanilla Forums on Void Linux. You can now start customizing your forum and creating new discussions.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!