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.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteWhat 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
- 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
Arecord pointing to the server; add anAAAArecord 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.
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:
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
- 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.
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.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →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
- 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.
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:
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →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.
Rank #4
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:
- Best for a new forum: upgrade to Ubuntu 24.04 and use its supported PHP 8.3 packages.
- For an older phpBB branch: verify that branch’s supported PHP range and follow its specific documentation.
- 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.
Recommended Free Tools
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.
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.
Required PHP extensions are missing
Inspect CLI modules and the web-server configuration:
Best Value
- 【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:
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchsudo 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.
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.
Quick Recap
Production checklist
- Remove
/install/and keepconfig.phprestricted. - 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.

