Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk11 min

How to Self-Host Vanilla Forums on an Ubuntu VPS

A practical guide to self-hosting Vanilla Forums on an Ubuntu VPS, including PHP and database requirements, nginx or Apache configuration, secure permissions, HTTPS, troubleshooting and safe upgrades.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To self-host Vanilla Forums, provision an Ubuntu VPS, install a supported PHP runtime and MySQL-compatible database, upload the official pre-built Vanilla package, make cache, conf and uploads writable by PHP, then complete the browser installer. The web server must also have Vanilla’s rewrite and PHP-FPM rules; otherwise the home page may load while pretty URLs return 404 errors.

This guide covers a production-minded installation with nginx or Apache, HTTPS, least-privilege database access, protected application files, troubleshooting and safe upgrades.

As an Amazon Associate I earn from qualifying purchases.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What Vanilla Forums requires

Vanilla Open Source runs on a conventional PHP web stack. Higher Logic Vanilla’s documented baseline is PHP 7.3 or newer, MySQL 5.7 or newer (or a compatible Percona or MariaDB release), and a web server such as nginx or Apache. Version support changes between Vanilla releases, so check the requirements for the exact package you intend to deploy before installing it.

Component Requirement or guidance Why it matters
Operating system Ubuntu VPS with a public IP Provides the server, networking and package manager for the forum.
Hostname A domain or subdomain pointed at the VPS; an IP can be used to reach the web space during setup Stable DNS and a hostname make HTTPS, cookies and email configuration practical.
PHP PHP 7.3 or newer, subject to the release-specific requirement Runs Vanilla and its extensions.
PHP extensions mbstring, cURL, GD and PDO; MySQLi for imports; OpenSSL for social plugins Provides text handling, HTTP requests, image processing, database access and optional integrations.
Database MySQL 5.7 or newer, or a compatible Percona/MariaDB version Stores members, discussions, settings and plugin data.
Web server nginx with PHP-FPM, or Apache with mod_rewrite Serves static files and sends PHP requests to the runtime.
TLS HTTPS strongly recommended Protects logins, sessions and administration traffic.

No canonical source publishes a universal RAM, CPU, bandwidth or community-size requirement. Size the VPS from expected concurrent traffic, attachment volume, search activity, email workload and database growth, then monitor CPU, memory, storage and PHP-FPM saturation after launch rather than relying on a generic hardware number.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Prepare the Ubuntu VPS

1. Point DNS and choose the hostname

Create an A record such as forum.example.com pointing to the VPS’s public IPv4 address. Add an AAAA record only if IPv6 is configured and tested on the server. Wait for DNS propagation before requesting a certificate or testing links. You can initially browse to the IP while setting up the web space, but a real hostname should be used for the finished forum.

2. Update the system and create an administrator

Log in with the provider’s initial account, update Ubuntu, create a non-root administrator with sudo access, and use that account for routine work. Apply your normal SSH hardening standard: key-based authentication, a restricted SSH policy and a firewall that exposes only the services you operate, normally SSH, HTTP and HTTPS.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo apt update
sudo apt upgrade

The exact package names differ by Ubuntu release and PHP version. Install nginx or Apache, PHP-FPM and the PHP extensions listed in the requirements table, then verify the installed PHP version and the FPM service before uploading Vanilla. Keep the operating system and PHP security updates current.

3. Install and verify the database server

Use MySQL 5.7 or newer, or a compatible Percona/MariaDB release supported by your Vanilla version. During database hardening, remove anonymous accounts, avoid remote root access and use a unique password for the forum account. If the Vanilla release documentation says MySQL strict mode must be disabled, apply that setting deliberately and document it; do not disable strict mode automatically on every installation.

4. Create a least-privilege database and user

Log in to the database administrator account and create a dedicated schema and user. The following example uses a local database server and illustrates the values you must record for the web installer:

CREATE DATABASE vanilla_forum CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'vanilla_app'@'localhost' IDENTIFIED BY 'use-a-long-random-password';
GRANT ALL PRIVILEGES ON vanilla_forum.* TO 'vanilla_app'@'localhost';
FLUSH PRIVILEGES;

Replace the example names and password. Record the database name, username, password and host (localhost in this example); you will enter them in Vanilla’s installer. Grant access to this schema only, not to every database on the VPS.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Upload Vanilla and set safe permissions

Download the pre-built package

Obtain the official pre-built Vanilla release that matches the requirements you verified. Upload the archive over SFTP or another secure transfer method to a temporary location, extract it into the site document root (for example, /var/www/vanilla), and remove the archive after extraction. Do not build an installation from an unverified copy or expose the archive for download.

Set ownership and writable directories

The PHP-FPM account must be able to write Vanilla’s cache, conf and uploads directories. Keep the rest of the application source owned by an administrative account and non-writable by the web process wherever practical. A common pattern is to make the web-server group the group owner and grant group write permission only to those three directories:

sudo chown -R root:www-data /var/www/vanilla
sudo find /var/www/vanilla -type d -exec chmod 755 {} ;
sudo find /var/www/vanilla -type f -exec chmod 644 {} ;
sudo chmod -R 775 /var/www/vanilla/cache /var/www/vanilla/conf /var/www/vanilla/uploads

The PHP-FPM account may not be www-data on every Ubuntu or web-server setup. Substitute the account and group actually used by your service. After installation, review the permissions and remove write access from any directory that does not need it.

Configure nginx correctly

nginx is well supported by Vanilla and is used for Higher Logic Vanilla’s cloud service. Its main difference from Apache is that rewrite behavior and PHP-FPM parameters must be written explicitly; nginx does not automatically consume Vanilla’s .htaccess rules.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Route requests through the front controller

Create a server block for the forum hostname and set its document root to the Vanilla directory. The important behavior is:

  • Serve existing static files directly.
  • Send unmatched routes to /index.php while preserving the query string.
  • Pass PHP requests to the actual PHP-FPM socket or upstream used on the VPS.
  • Set X_REWRITE to 1 and define PATH_INFO, SCRIPT_NAME and SCRIPT_FILENAME.

An illustrative pattern is:

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

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

    location ~ ^/index.php(/|$) {
        include fastcgi_params;
        fastcgi_param X_REWRITE 1;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param SCRIPT_NAME /index.php;
        fastcgi_param SCRIPT_FILENAME $document_root/index.php;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }
}

The socket shown is an example, not a universal path. Ubuntu commonly includes the PHP version in the filename, so inspect the active PHP-FPM service and substitute its real socket or configured upstream. Test the configuration with sudo nginx -t, reload nginx, and check the service log if the test fails.

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

Deny sensitive paths and arbitrary PHP execution

Do not allow visitors to retrieve configuration, dependency or test files. Apply the deny rules from Vanilla’s nginx guidance for .git, build, cache, cgi-bin, uploads/import, conf, tests and vendor. Restrict PHP execution to the intended entry point instead of allowing every uploaded or misplaced .php file to run. This is especially important for writable upload directories.

Add HTTPS after the HTTP site responds

Request a TLS certificate for the forum hostname, configure nginx to listen on HTTPS, redirect HTTP to HTTPS, and verify that the certificate chain and renewal process work. Update the application’s canonical URL and any reverse-proxy settings only after the HTTPS virtual host is serving correctly.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Configure Apache instead

Apache can be the simpler choice when your team already operates it and can use .htaccess. Enable mod_rewrite, allow the Vanilla directory’s supplied .htaccess to take effect, and ensure the PHP handler is correctly connected to the supported PHP runtime.

Vanilla’s supplied Apache rules protect non-public directories and permit direct PHP execution only for /index.php. Do not replace those protections with a broad rule that executes every PHP file under the document root. Define an intentional default VirtualHost as well; the official guidance warns that omitting a default entry can expose host-header injection behavior.

Decision point nginx Apache
Rewrite setup Explicit try_files, front-controller rewrite and FastCGI parameters are required. Uses Vanilla’s enabled .htaccess rules with mod_rewrite.
PHP integration Requires the correct PHP-FPM socket or upstream and parameters such as PATH_INFO and SCRIPT_FILENAME. Uses the configured PHP module or FPM integration.
File protection Write deny locations for sensitive directories in the server block. Vanilla’s supplied rules protect non-public paths and limit direct PHP execution.
Operational familiarity Efficient, but configuration mistakes commonly appear as 404 or 500 errors. Often easier for teams already comfortable with .htaccess.
Troubleshooting Inspect nginx error logs, PHP-FPM logs, socket paths and FastCGI parameters. Inspect Apache logs, rewrite-module status, overrides and PHP handler configuration.

Run the Vanilla web installer

  1. Confirm DNS resolves to the VPS and that the web server can read the Vanilla document root.
  2. Open the forum hostname in a browser. If the site is in a subdirectory, open that installation directory instead.
  3. Enter the database host, database name, database user and password created earlier.
  4. Choose the owner account and supply a strong, unique password and an address that can receive administrative mail.
  5. Complete the installer and sign in to the dashboard.
  6. Immediately verify that the forum loads over HTTPS, that a test discussion can be created, and that an attachment can be uploaded.

After signing in, configure outbound mail before inviting members, disable add-ons you do not need, and review the canonical URL, cookie and proxy settings. Mail delivery problems are easier to identify before the forum has a large membership.

Troubleshoot the failures that matter most

Pretty URLs return 404 while the front page works

This almost always indicates a rewrite or front-controller problem rather than a missing discussion. On nginx, re-check try_files, X_REWRITE 1, PATH_INFO, SCRIPT_NAME, SCRIPT_FILENAME and the PHP-FPM socket. On Apache, confirm that mod_rewrite is enabled and that overrides permit the supplied .htaccess. Test a known static asset and a discussion URL separately to identify whether only routing or also static delivery is broken.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Requests loop, return 500, or assets contain /index.php

Inspect the nginx error log and PHP-FPM log before changing Vanilla files. A wrong socket, malformed FastCGI parameter, or an incorrect script filename can produce all three symptoms. Compare the server block with Vanilla’s maintained nginx guidance and reload only after nginx -t passes.

The installer says it cannot write files

Check the effective PHP-FPM user and group, then test write access to cache, conf and uploads. Correct ownership or group permissions on those directories, and avoid making the entire application tree writable as a shortcut. Check disk space and any mandatory access-control policy if permissions appear correct.

The database connection fails

Verify the host, schema, username and password exactly as entered. A user created for localhost is not automatically the same as one created for 127.0.0.1. Confirm that the database service is running, that the account has privileges on the Vanilla schema, and that the PHP MySQL driver is installed.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Uploads or images fail after installation

Confirm that uploads is writable by PHP, that the web server is not denying the directory unintentionally, and that the VPS has free storage. Keep any import area protected from direct access as required by the web-server rules.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Back up the forum before every upgrade

A safe upgrade has a rollback plan. Before replacing files, create and verify an off-server database dump and copy the current .htaccess and conf/config.php. Preserve uploaded media separately; a database dump does not contain those files.

Upgrade sequence

  1. Read the release-specific upgrade notes, including any required deletion list and supported PHP/database versions.
  2. Schedule the work and take a fresh database backup, a copy of .htaccess, conf/config.php and the uploads directory.
  3. For a very large database with millions of users or comments, enable maintenance mode for the database-update window.
  4. Remove only the distribution and cache files named by the version’s instructions. Do not delete conf/config.php or uploaded media.
  5. Upload the new pre-built release over the existing application, preserving the configuration and data directories as instructed.
  6. Clear the required cache files.
  7. Visit /utility/update while authenticated as the owner to apply database migrations.
  8. Check the dashboard, login, posting, attachments, scheduled jobs and mail delivery, then disable maintenance mode.
  9. Keep the old backup until the upgraded forum has operated normally long enough for your rollback policy.

Never treat an upgrade as a file-copy-only operation: database migrations and cache state are part of the release, and skipping them can leave an apparently working forum with inconsistent data.

Operate the VPS after launch

  • Schedule automated database dumps and copy them to storage outside the VPS.
  • Back up uploaded media and test restoration on a separate system before the forum becomes business-critical.
  • Patch Ubuntu, PHP, the database and Vanilla on a defined maintenance schedule.
  • Monitor disk usage, database growth, PHP-FPM failures, web-server errors and certificate expiry.
  • Review administrator accounts and remove unused plugins and themes.
  • Keep configuration files and logs out of public paths, and verify the deny rules after every web-server change.

Frequently asked questions

Can I install Vanilla using only the VPS IP address?

You can use the IP to reach the web space during setup, but a domain or subdomain is the practical choice for a permanent forum because HTTPS certificates, canonical URLs and reliable email links depend on a stable hostname.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do I need MySQL specifically?

No. Vanilla’s requirement is MySQL 5.7 or newer or a compatible Percona/MariaDB release, provided the exact Vanilla version supports the chosen database version.

Should I choose nginx or Apache?

Choose nginx if you are comfortable maintaining explicit rewrite and PHP-FPM configuration. Choose Apache when your team already operates Apache and wants to use Vanilla’s supplied .htaccess rules. Either can serve the forum securely when its routing and file-protection rules are correct.

How large should the VPS be?

There is no published universal specification. Start with a workload-appropriate plan, observe real CPU, memory, storage and PHP-FPM usage, and resize before those resources become a bottleneck.

Frequently Asked Questions

Can I install Vanilla using only the VPS IP address?

You can reach the web space by IP during setup, but use a domain or subdomain for the permanent forum so HTTPS, canonical URLs and email links work reliably.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do I need MySQL specifically?

No. Vanilla supports MySQL 5.7+ or a compatible Percona/MariaDB release, subject to the exact version’s requirements.

Should I choose nginx or Apache?

nginx requires explicit rewrite and PHP-FPM settings; Apache is often simpler when mod_rewrite and Vanilla’s supplied .htaccess are available.

How large should the VPS be?

No universal hardware size is published. Monitor actual CPU, memory, storage and PHP-FPM use and resize for your workload.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.