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

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Ubuntu 24.04 LTS is the recommended starting point for a new phpBB forum. Its Ubuntu repositories provide PHP 8.3, which matches the PHP 8.2–8.5 range listed in the current phpBB 4.0.x installation requirements. Ubuntu 22.04’s standard PHP 8.1 package does not meet that minimum, while Ubuntu 20.04 has been outside standard security maintenance since May 2025. The walkthrough below installs phpBB on Ubuntu 24.04 with Apache, MariaDB, and HTTPS; it also explains the safer choices for older servers.

You will need a sudo-enabled account, a public server IP, a domain or subdomain such as forum.example.com, and DNS pointing to the server. This is a self-managed server setup: you will be responsible for updates, backups, email delivery, and security after installation.

Choose an Ubuntu version before installing

Ubuntu release What to know Recommendation
24.04 LTS Ubuntu’s official repository provides PHP 8.3. The current phpBB 4.0.x requirements listed by upstream specify PHP 8.2.0–8.5. Use for a new installation. Confirm the exact requirements of the phpBB release you download.
22.04 LTS The standard repository provides PHP 8.1, below the PHP 8.2 minimum listed for phpBB 4.0.x. Prefer upgrading to 24.04. Otherwise, use a phpBB branch compatible with your PHP version or make a deliberate, maintained PHP upgrade.
20.04 LTS Standard security maintenance ended in May 2025. Ubuntu Pro can extend OS security coverage, but does not resolve PHP or phpBB compatibility. Do not use for a new public forum. Upgrade first; treat any existing installation as a legacy migration.

Ubuntu support dates are published in Canonical’s release lifecycle. PHP requirements are branch-specific; check the phpBB installation requirements and the official phpBB downloads page rather than relying on an old archive URL or an undated claim about the “latest” release.

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

What this setup installs

  • Ubuntu Server: operating system.
  • Apache: serves the site and works naturally with phpBB’s Apache access rules.
  • PHP: runs the forum application.
  • MariaDB: stores forum accounts, posts, and settings.
  • phpBB: forum software.
  • Certbot and Let’s Encrypt: provide HTTPS.

Apache is the main path here because it is straightforward for a first deployment. Nginx is also suitable if you already manage it, but it needs PHP-FPM and explicit access-control rules; it does not execute PHP itself. See the Nginx FastCGI documentation.

#1 Best Overall
Sale
UGREEN NAS DH2300 2-Bay for Beginners & Personal Users, Phone Backup
  • Entry-level NAS Personal Storage:UGREEN NAS DH2300 is your first and best NAS made easy. It is designed for beginners who want a simple, private way to store videos, photos and personal files, which is intuitive for users moving from cloud storage or external drives and move away from scattered date across devices. This entry-level NAS 2-bay perfect for personal entertainment, photo storage, and easy data backup (doesn't support Docker or virtual machines).
  • Set Your Devices Free, Expand Your Digital World: This unified storage hub supports massive capacity up to 64TB.*Storage drives not included. Stop Deleting, Start Storing. You can store 22 million 3MB images, or 2 million 30MB songs, or 43K 1.5GB movies or 67 million 1MB documents! UGREEN NAS is a better way to free up storage across all your devices such as phones, computers, tablets and also does automatic backups across devices regardless of the operating system—Window, iOS, Android or macOS.
  • The Smarter Long-term Way to Store: Unlike cloud storage with recurring monthly fees, a UGREEN NAS enclosure requires only a one-time purchase for long-term use. For example, you only need to pay $459.98 for a NAS, while for cloud storage, you need to pay $719.88 per year, $2,159.64 for 3 years, $3,599.40 for 5 years. You will save $6,738.82 over 10 years with UGREEN NAS! *NAS cost based on DH2300 + 12TB HDD; cloud cost based on 12TB plan (e.g. $59.99/month).
  • Blazing Speed, Minimal Power: Equipped with a high-performance processor, 1GbE port, and 4GB RAM on Board, this NAS handles multiple tasks with ease. File transfers reach up to 125MB/s—a 1GB file takes only 8 seconds. Don't let slow clouds hold you back; they often need over 100 seconds for the same task. The difference is clear.
  • Let AI Better Organize Your Memories: UGREEN NAS uses AI to tag faces, locations, texts, and objects—so you can effortlessly find any photo by searching for who or what's in it in seconds. It also automatically finds and deletes similar or duplicate photo, backs up live photos and allows you to share them with your friends or family with just one tap. Everything stays effortlessly organized, powered by intelligent tagging and recognition.

Before you start

  • A clean Ubuntu 24.04 server and a sudo-enabled user.
  • A static public IP and a domain or subdomain. Create an A record pointing to the server; add an AAAA record only if IPv6 is actually configured.
  • SSH access and inbound ports 80 and 443 available. Keep port 22 open for SSH.
  • A plan for backups that includes both the database and uploaded files.

Replace forum.example.com and [email protected] below with your own values. The phpBB archive URL and exact extracted directory vary by release, so use the official download page for the current stable package.

Install phpBB on Ubuntu 24.04 with Apache

1. Update Ubuntu

sudo apt update
sudo apt full-upgrade -y
sudo reboot

Reconnect over SSH after the reboot. Confirm the release if needed:

. /etc/os-release
echo "$PRETTY_NAME"

2. Install Apache, MariaDB, PHP, and extensions

sudo apt update
sudo apt install -y 
  apache2 
  mariadb-server 
  unzip 
  wget 
  curl 
  php 
  php-cli 
  libapache2-mod-php 
  php-mysql 
  php-xml 
  php-gd 
  php-curl 
  php-mbstring 
  php-zip 
  php-intl

Ubuntu 24.04’s official package index lists PHP 8.3 and its available components (Ubuntu PHP package details). Check what was installed:

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.
php -v
apache2ctl -v
mariadb --version
php -m | grep -Ei 'json|xml|mysqli|pdo_mysql|mbstring|curl|gd|zip|intl'
php -r 'var_dump(function_exists("getimagesize"));'

The last command should print bool(true). The phpBB requirements page identifies JSON, XML support, and getimagesize() among the requirements; optional features can call for other modules. Check the requirements for your chosen branch rather than installing extensions indiscriminately.

3. Enable Apache modules

sudo a2enmod rewrite headers
sudo systemctl enable --now apache2
sudo systemctl restart apache2
sudo systemctl status apache2 --no-pager

4. Create a MariaDB database and application user

Run the MariaDB security helper if available, then open the local database shell:

sudo mariadb-secure-installation
sudo mariadb

Create a dedicated database and account. Replace the example password with a long, unique random value; do not use the database root account in the phpBB installer.

CREATE DATABASE phpbb
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;

CREATE USER 'phpbb_user'@'localhost'
  IDENTIFIED BY 'REPLACE_WITH_A_LONG_RANDOM_PASSWORD';

GRANT ALL PRIVILEGES ON phpbb.* TO 'phpbb_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Test the new credentials before using them in the web installer:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
mariadb -u phpbb_user -p phpbb

Enter the password, then exit with EXIT;. MariaDB is the database used in this guide; phpBB also supports other database engines subject to the chosen release’s version requirements. Do not expose the database port publicly.

5. Download and unpack phpBB

Copy the current stable archive URL from phpBB Downloads. Avoid hard-coding an old release link in your deployment notes.

Rank #2
Pixiecube Linux Commands Line Mouse pad - Extended Large Cheat Sheet Mousepad. Shortcuts to Kali/Red Hat/Ubuntu/OpenSUSE/Arch/Debian/Unix Programmer. XXL Non-Slip Gaming Desk mat
  • LINUX COMMANDS. ZERO SEARCHING. – Keep essential Linux and Unix command lines directly beneath your fingertips, so you can code, troubleshoot and work faster without breaking focus.
  • YOUR DESK. SMARTER. – Commands are clearly grouped by networking, directory navigation, processes, users, files and system management for quick answers exactly when you need them.
  • BUILT FOR EVERY LINUX USER – A practical go-to reference for beginners and seasoned programmers working with Kali, Red Hat, Ubuntu, openSUSE, Arch, Debian and other distributions.
  • ROOM TO CODE, WORK & PLAY – The extended 31.5 x 11.8-inch Pixiecube desk mat provides ample space for a laptop or keyboard and mouse, while the soft 2 mm surface adds everyday comfort.
  • BUILT FOR REAL-WORLD WORKDAYS – A rugged stitched edge helps prevent fraying, and the water-resistant, stain-resistant surface protects against scratches, spills and everyday wear—because smarter desks should work harder.
cd /tmp
wget 'PASTE_THE_CURRENT_OFFICIAL_PHPBB_ARCHIVE_URL_HERE' -O phpbb.zip
unzip phpbb.zip

Inspect the extracted files and identify the directory containing phpBB’s index.php and other application files. Its name can change between archives. The commands below assume it is /tmp/phpBB; substitute the actual directory:

find /tmp -maxdepth 3 -type f ( -name 'index.php' -o -name 'config.php*' )
sudo mkdir -p /var/www/phpbb
sudo cp -a /tmp/phpBB/. /var/www/phpbb/

6. Set ownership and writable directories

Give Apache ownership of the application, then use readable defaults and narrowly scoped write access. Do not use world-writable 777 permissions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo chown -R www-data:www-data /var/www/phpbb
sudo find /var/www/phpbb -type d -exec chmod 755 {} ;
sudo find /var/www/phpbb -type f -exec chmod 644 {} ;
sudo chmod 775 
  /var/www/phpbb/cache 
  /var/www/phpbb/files 
  /var/www/phpbb/store 
  /var/www/phpbb/images/avatars/upload
sudo touch /var/www/phpbb/config.php
sudo chown www-data:www-data /var/www/phpbb/config.php
sudo chmod 660 /var/www/phpbb/config.php

The temporary write permission on config.php lets the installer create its configuration. You will reduce it after setup.

7. Configure Apache for the forum domain

Create a virtual-host file:

sudo nano /etc/apache2/sites-available/forum.example.com.conf

Enter this configuration:

<VirtualHost *:80>
    ServerName forum.example.com
    ServerAdmin [email protected]

    DocumentRoot /var/www/phpbb

    <Directory /var/www/phpbb>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
        DirectoryIndex index.php
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/forum-error.log
    CustomLog ${APACHE_LOG_DIR}/forum-access.log combined
</VirtualHost>

AllowOverride All lets Apache apply the package’s .htaccess rules. The Require all granted directive uses Apache 2.4 syntax; see the Apache access-control guide.

sudo a2ensite forum.example.com.conf
sudo a2dissite 000-default.conf
sudo apache2ctl configtest
sudo systemctl reload apache2

Continue only if apache2ctl configtest reports Syntax OK. Verify that the domain resolves to this server:

getent hosts forum.example.com
dig +short forum.example.com A
dig +short forum.example.com AAAA

If an AAAA record points somewhere the server cannot serve over IPv6, correct or remove it. A valid IPv4 record does not prevent some clients from using a stale IPv6 destination.

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

8. Open the firewall

If you use UFW, allow SSH before enabling it to avoid locking yourself out:

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable
sudo ufw status

Also check any firewall controls in your VPS provider’s dashboard. DNS must resolve correctly and ports 80 and 443 must be reachable from the internet for the next steps.

9. Run the phpBB installer

Open http://forum.example.com/install/. The installer checks requirements, connects to the database, creates tables, and asks for administrator details. Use:

Rank #3
Hewlett Packard Enterprise ProLiant MicroServer Gen11 Tower Server, Intel Pentium Gold G7400 Processor, 16GB Memory, 1TB HDD Storage, External 180W US Power Supply (HPE Smart Choice P74439-005)
  • MODEL P74439-005: Compact and affordable HPE ProLiant MicroServer Gen11 powered by Intel Pentium Gold G7400 3.7GHz processor, ideal for file sharing, NAS, and basic business workloads
  • READY OUT OF THE BOX: Includes 16GB DDR5 UDIMM memory (expandable to 128GB), one 1TB SATA 6G Business Critical HDD, embedded Intel VROC SATA, dedicated iLO-M.2 port kit, 180w external power adapter and 1/1/1 warranty for dependable plug-and-play server operation
  • WHISPER-QUIET & SPACE-SAVING: Ultra-compact mini tower design fits easily in small office spaces; supports wall, flat, or vertical placement for deployment flexibility
  • INTEGRATED REMOTE MANAGEMENT: Comes with HPE iLO 6 and embedded TPM 2.0 for secure, license-free remote server administration through shared port access
  • EXPANDABLE DESIGN: Two PCIe slots (including PCIe 5.0) and four LFF-NHP drive bays provide robust options for storage and component scalability. Features new MR408i-p controller support for enhanced storage performance
Installer field Value
Database type The supported MySQL/MariaDB option displayed by this phpBB release (typically MySQL with MySQLi)
Database host localhost
Port Blank/default unless you changed it
Database name phpbb
Database username phpbb_user
Database password The password created above
Table prefix A prefix such as phpbb_, unique within that database

Complete the prompts and create a strong, unique administrator password. If the requirements screen rejects the PHP version or reports missing extensions, do not force the installation; diagnose the PHP runtime Apache is actually using.

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

10. Remove the installer and lock down configuration

After the installer reports success, remove the installation directory and reduce access to the generated configuration file:

sudo rm -rf /var/www/phpbb/install
sudo chmod 640 /var/www/phpbb/config.php

Confirm that the forum homepage loads and that https://forum.example.com/install/ is no longer available. Do not leave the installer directory on a public forum.

11. Enable HTTPS with Certbot

Install Certbot and its Apache plugin only after DNS points to the server and HTTP/HTTPS traffic can reach it:

sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache 
  -d forum.example.com 
  -m [email protected] 
  --agree-tos 
  --redirect

Certbot can configure Apache and redirect HTTP to HTTPS. Test renewal rather than assuming it is working:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo certbot renew --dry-run

See the Certbot instructions for the current platform-specific workflow. HTTPS protects traffic in transit; it does not replace patching, account security, or backups.

12. Set upload limits if your forum needs them

PHP’s CLI and Apache configuration files can differ. Check the loaded CLI configuration:

php --ini
php -i | grep 'Loaded Configuration File'

With Apache’s PHP module on Ubuntu 24.04, the Apache configuration is commonly /etc/php/8.3/apache2/php.ini. Confirm the active PHP version and edit the matching file:

sudo nano /etc/php/8.3/apache2/php.ini

These are example tuning values, not phpBB minimum requirements. Choose limits based on your attachment policy, server resources, and available disk space:

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.
upload_max_filesize = 32M
post_max_size = 32M
memory_limit = 256M
max_execution_time = 120

post_max_size should be at least as large as upload_max_filesize. Apply changes by restarting Apache:

sudo systemctl restart apache2

Ubuntu 22.04: avoid an accidental PHP mismatch

Ubuntu 22.04’s standard PHP package is PHP 8.1 (Ubuntu package details), whereas the cited current phpBB 4.0.x requirements set PHP 8.2 as the minimum. If you already have a 22.04 server, choose deliberately:

  1. Best for a new forum: upgrade to Ubuntu 24.04 and use its supported PHP 8.3 packages.
  2. For an older phpBB branch: verify that branch’s supported PHP range and follow its specific documentation.
  3. For experienced administrators: use a maintained PHP source only after deciding how packages will be pinned, patched, and rolled back.

Do not install a phpBB release requiring PHP 8.2 or newer on the standard PHP 8.1 runtime and assume it will work. Also check the PHP version Apache serves, not just the CLI result of php -v.

Ubuntu 20.04: upgrade before a new deployment

Ubuntu 20.04’s standard security maintenance ended in May 2025; Ubuntu Pro can provide extended coverage, but that does not make an old PHP runtime suitable for a current phpBB release. For a new public forum, upgrade to a supported Ubuntu release first.

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

If an existing installation must remain on 20.04, treat the change as a migration: back up phpBB files and the database, identify the precise phpBB branch and PHP requirements, plan the operating-system and PHP changes, and keep a rollback copy. Do not combine a major OS/PHP change with an untested forum upgrade on the live server.

Optional Nginx architecture

Use Nginx instead of Apache if you are already comfortable with Nginx and PHP-FPM. Install Nginx, a supported PHP-FPM version, and the required PHP extensions; configure the server block to pass PHP requests to the correct FPM socket. Nginx does not read Apache .htaccess files, so translate phpBB’s access restrictions into Nginx rules, including denying access to sensitive files and directories. Test the rules and PHP-FPM socket before making the site public. The main Apache commands above are not a complete Nginx configuration.

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

Troubleshooting

“Your PHP version is too old”

Check both the CLI version and Apache’s active PHP module:

php -v
apache2ctl -M | grep -i php

They can differ, especially when PHP-FPM or multiple PHP versions are configured. If needed, create a temporary phpinfo() page to inspect the web runtime, then delete it immediately; a public diagnostic page exposes server details.

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

Required PHP extensions are missing

Inspect CLI modules and the web-server configuration:

Best Value
Sale
KAMRUI Pinova P2 Mini PC, AMD Ryzen 7330U(4 Cores, 8 Threads, Up to 4.3GHz), 16GB RAM 256GB SSD, Zen3 Architecture 7nm Processor, 8MB L3 Smart Cache Mini Computers,Triple 4K Display Home/Business
  • 【AMD Ryzen 7330U】 – The Efficiency-Tuned Powerhouse,AMD Ryzen 7330U (Zen 3, SMT, 4C/8T) in KAMRUI P2 mini PC crushes rivals: Intel i3-10110U (2C/4T, 2019) and N95 (4 efficiency cores, no HT, single-channel memory). Vs predecessor Ryzen 3 4300U (4C/4T): ~50% faster single-core, ~46% multi-core, 8MB L3 cache (vs 4MB). Beats both Intel chips hugely in multi-core, making heavy multitasking, coding, data work smooth at just 15W TDP. High-end power in a cool, efficient box.
  • 【AMD Radeon Graphics】– Triple 4K Vision & Fluidity,The integrated Radeon Graphics (based on the modern Vega architecture with 6 CUs) is a visual beast, outclassing the iGPU offerings from both AMD's prior generation and Intel. The Intel UHD Graphics (i3-10110U/N95) struggles with single-channel memory and low execution units, crippling its gaming performance and barely handling basic 4K video without stuttering. While the older Radeon Vega 5 (4300U) was decent, our 7330U's Radeon Graphics (6 CUs) pushes the boundaries, delivering higher graphics clock speeds (up to 1.8GHz) and significantly better rendering capabilities. It can drive triple 4K@60Hz displays with zero lag, edit photos/videos.
  • 【Generous Storage & Easy Expansion】The KAMRUI Pinova P2 mini desktop computers comes with 16GB LPDDR4X RAM (higher frequency, lower power) for buttery‑smooth multitasking, and a 256GB M.2 SSD for blazing fast boot‑up, quick file transfers, and no more long loading screens. It also features two storage expansion slots (1x M.2 2280 SATA/NVMe PCIe 3.0 slot + 1x M.2 2280 SATA slot), supporting up to 4TB total (not included). You’ll have all the space you need for projects, media, and important data.
  • 【Triple 4K Display Output】The KAMRUI Pinova P2 mini desktop pc is equipped with HDMI 2.0 ×1 + DP 1.4 ×1 + USB 3.2 Gen2 Type‑C ×1 (with DP Alt Mode), enabling simultaneous triple 4K@60Hz output. Whether for home entertainment, remote work, or conference room presentations, it delivers an immersive visual experience. Two USB 3.2 Gen2 Type‑A ports (up to 10Gbps – 21x faster than USB 2.0) make data transfers and device expansion a breeze.
  • 【USB 3.2 Gen2 Type‑C: 10Gbps & Versatile Connectivity】The USB 3.2 Gen2 Type‑C port on the KAMRUI P2 small pc supports 10Gbps data transfer speeds and can also output DisplayPort 1.4 video. Together with Gigabit LAN, Wi‑Fi, and Bluetooth, you get a fast, flexible, and productive connected environment – wired or wireless.
php -m
sudo apache2ctl -M

Install extensions matching the active PHP version and SAPI, then restart the relevant Apache or PHP-FPM service. Installing a CLI package alone may not fix a separate FPM runtime.

MariaDB says access denied

Test the same credentials independently:

mariadb -u phpbb_user -p phpbb

Check for a mistyped password or database name, a host mismatch such as localhost versus 127.0.0.1, missing database privileges, or a phpBB driver that does not match the installed PHP database module.

HTTP 403 or 500, or a blank page

Read the virtual host’s error log and service log rather than enabling verbose errors on a public site:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo tail -n 100 /var/log/apache2/forum-error.log
sudo journalctl -u apache2 -f

Common causes include incorrect ownership, missing extensions, invalid Apache syntax, omitted AllowOverride All, or an incompatible PHP module.

The installer keeps asking for config.php

Check whether Apache’s user can write it during installation:

ls -l /var/www/phpbb/config.php
sudo -u www-data test -w /var/www/phpbb/config.php
echo $?

A result of 0 means the test succeeded. After setup, keep the file restricted with sudo chmod 640 /var/www/phpbb/config.php.

Assets break after HTTPS is enabled

Look for mixed-content URLs, stale HTTP URLs, or proxy/HTTPS detection issues. Clear phpBB’s cache only using the procedure documented for your version; do not delete arbitrary directories while the forum is serving traffic.

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

Attachments fail

Check PHP’s upload_max_filesize, post_max_size, and memory limit; phpBB attachment settings; free disk space; write access to files/; and any web-server request-size limit.

Certbot cannot issue a certificate

Confirm the domain resolves to this server, both the DNS records and VPS firewall are correct, Apache’s configuration passes apache2ctl configtest, and inbound port 80 is reachable. Fix DNS or firewall issues before retrying.

Production checklist

  • Remove /install/ and keep config.php restricted.
  • Redirect HTTP to HTTPS and verify certificate renewal with certbot renew --dry-run.
  • Keep Ubuntu, Apache, PHP, MariaDB, phpBB, and approved extensions updated.
  • Use a non-root sudo account, SSH keys where practical, and a firewall limited to required ports.
  • Keep MariaDB local; use a dedicated database account rather than root.
  • Back up both the database and uploaded files off-server, and test restoring them.
  • Configure an SMTP relay for activation messages, password resets, and notifications. Set up SPF, DKIM, and DMARC for the sending domain; local PHP mail is not a dependable production delivery plan.
  • Monitor web-server logs, protect administrator accounts with strong credentials and available anti-abuse controls, and review extensions before installing them.
  • Take a rollback snapshot before major operating-system, PHP, or phpBB upgrades.

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.