Vanilla Forum is a PHP-based open-source forum platform. It's fully customizable, user-friendly, and supports plugins and themes. With the ability to install responsive themes, it adjusts to various screen sizes, or you can develop your own theme to match your site design.
Vanilla offers Single Sign-On (SSO) via WordPress, jQuery, SAML, or OAuth. Additionally, social login functionality can be set up using providers like Google, Facebook, or Twitter. Integration is straightforward with tools like WordPress, MailChimp, Zendesk, GitHub, Salesforce, and others.
This documentation is tailored for Vanilla Forums version 2.3, though it may be compatible with later versions as well.
Prerequisites
- One CentOS 7 server instance.
- A user with sudo privileges.
- Throughout this guide, the domain
forum.example.comwill be used. Replace it with your actual domain name in practice.
Start by updating your base system using the tutorial "How to Update CentOS 7." After completing the system update, continue by installing the necessary packages.
Matching infrastructure at centron
No hardware needed to follow along: ccloud³ VMs with full root access start at €3.12 per month, billed by the hour and ready in seconds. Rent a cloud server →
Step 1: Install Apache
Begin by installing the Apache web server.
sudo yum -y install httpdStart the Apache service and configure it to launch on system boot.
sudo systemctl start httpd
sudo systemctl enable httpdStep 2: Install PHP 7.1
For optimal security and reliability, PHP version 7.1 will be used. First, enable the Remi repository.
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php71Install the latest PHP version along with the modules required for Vanilla Forum.
sudo yum -y install php php-gd php-mysqli php-mbstring php-curl php-cli php-pear php-devel php-opensslStep 3: Install and Configure MariaDB
MariaDB, a MySQL-compatible database, will be used in this setup. Since the default YUM repository contains an outdated version not supported by Vanilla, you'll need to add the official MariaDB repository manually.
Create the MariaDB YUM repository file using the command below:
echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repoNext, install MariaDB using the following command:
sudo yum -y install mariadb mariadb-serverStart MariaDB and set it to launch automatically when the system boots:
sudo systemctl start mariadb
sudo systemctl enable mariadbBefore creating the database, it's important to secure your MariaDB installation:
sudo mysql_secure_installationWhen prompted for the current root password, just press Enter since there is no password set by default. Then, assign a secure root password and answer Y to all subsequent prompts.
To proceed, log into the MariaDB shell as root:
mysql -u root -pAfter entering the root password, run the following SQL commands to create the database and user for the Vanilla Forum application:
CREATE DATABASE vanilla_data CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'vanilla_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON vanilla_data.* TO 'vanilla_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;You are free to replace vanilla_data and vanilla_user with names of your choice. Make sure to choose a strong password instead of StrongPassword.
Step 4: Install Vanilla Forum
Start by downloading the compressed archive of Vanilla Forum.
wget https://open.vanillaforums.com/get/vanilla-core.zipInstall the unzip utility if it is not already present on your system:
sudo yum -y install unzipExtract the contents of the archive into the web root directory:
sudo unzip vanilla-core.zip -d /var/www/vanillaUpdate file ownership so that Apache has proper permissions:
sudo chown -R apache:apache /var/www/vanillaStep 5: Configure Firewall Access
Enable HTTP and HTTPS traffic through the system firewall:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reloadStep 6: Set Up Virtual Host
Create a virtual host configuration file for your forum domain:
sudo nano /etc/httpd/conf.d/forum.example.com.confInsert the following configuration into the file:
<VirtualHost *:80>
ServerName forum.example.com
DocumentRoot /var/www/vanilla
<Directory /var/www/vanilla>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>Restart Apache for the changes to take effect:
sudo systemctl restart httpdWrapping Up
You have now successfully installed and configured Vanilla Forum. Open your browser and go to http://forum.example.com to begin the setup process. Fill in your database credentials and administrator account details. Once completed, the setup will store the necessary configurations in your database and redirect you to the admin panel. You can now proceed to personalize your forum as needed.
Conclusion
Setting up Vanilla Forum on CentOS 7 with Apache, PHP 7.1, and MariaDB provides a robust and scalable discussion platform. With theme and plugin support, integration options, and SSO capabilities, Vanilla is ideal for building modern community forums. After completing this guide, your forum is ready for use and further customization to match your project's needs.
Testen Sie Ihr Setup auf ccloud³
Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.