Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
This guide installs phpBB 3.3 on Ubuntu 24.04 LTS with Nginx, PHP 8.3-FPM, MariaDB and Let’s Encrypt HTTPS. As of August 18, 2026, phpBB’s official download page lists version 3.3.17, released June 6, 2026; check the page for the current release and its SHA-256 checksum before downloading. The result is a forum at https://forum.example.com, with a dedicated database user and the installer removed after setup. These steps assume phpBB will live at the domain root, not under /forum.
What you need before starting
Prepare the server and domain before installing the software:
- A fresh Ubuntu 24.04 LTS server and SSH access through a non-root account with
sudo. - A public IPv4 address and a fully qualified domain name, such as
forum.example.com. Point its DNSArecord to the server; add anAAAArecord only if IPv6 is configured and reachable. - TCP ports 22, 80 and 443 allowed through both the server’s firewall and any cloud firewall or security group.
- A plan for database and file backups before opening the forum to the public.
Check the operating system and architecture:
lsb_release -ds
uname -m
The release should identify Ubuntu 24.04 LTS. Ubuntu publishes general server requirements at its system-requirements page; those figures are not phpBB-specific sizing guidance.
Update Ubuntu and install the web stack
Install available updates first:
sudo apt update
sudo apt full-upgrade -y
Reboot if the upgrade changed the kernel or other core components; a reboot is not necessary after every routine update. Reconnect over SSH after rebooting, then refresh package metadata:
#1 Best Overall
- Easily store and access 2TB to content on the go with the Seagate Portable Drive, a USB external hard drive
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
sudo apt update
Ubuntu 24.04 provides PHP 8.3 packages and included Nginx 1.24 in its release baseline. Package revisions change during the LTS lifecycle, so use the distribution packages rather than relying on a fixed patch number. The Ubuntu 24.04 release notes describe that baseline. phpBB’s 3.3 installation documentation lists PHP 7.2 or newer and support through PHP 8.3; confirm the requirements screen for the exact package you download.
sudo apt install -y
nginx
mariadb-server
unzip
curl
ca-certificates
php8.3-fpm
php8.3-mysql
php8.3-mbstring
php8.3-xml
php8.3-gd
php8.3-curl
php8.3-zip
php8.3-opcache
certbot
python3-certbot-nginx
The MySQLi driver, mbstring and XML support address phpBB’s database and PHP requirements. GD is useful for image-related features, though phpBB documents it as optional. JSON is built into modern PHP and normally requires no separate Ubuntu package. Internationalization and arbitrary-precision arithmetic are optional additions:
sudo apt install -y php8.3-intl php8.3-bcmath
Check the installed runtime, modules and services:
php -v
php -m | grep -E 'json|mbstring|mysqli|xml|gd'
systemctl status nginx --no-pager
systemctl status mariadb --no-pager
systemctl status php8.3-fpm --no-pager
phpBB supports several database systems and web servers; this walkthrough uses MariaDB and Nginx to keep the example focused. The phpBB installation documentation lists supported options and requirements.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Secure MariaDB and create a database user
Run MariaDB’s interactive security helper:
sudo mariadb-secure-installation
Use it to choose or confirm the database administrator’s authentication method, remove anonymous accounts, prevent remote root login, remove the test database and reload privilege tables. Do not use the MariaDB root account in phpBB. Create a database and a separate user restricted to that database:
sudo mariadb
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;
Replace the example password with a long random value and store it in a password manager. Because the web application and database are on the same server, localhost is appropriate. The user has privileges on phpbb, not on every database. You will enter the database name, user and password in the installer. See phpBB’s database setup guide for the installer’s connection fields and table-prefix details.
Download and verify phpBB
Get the full package from the official phpBB download page. As of August 18, 2026, it lists phpBB 3.3.17, released June 6, 2026, as the latest stable 3.3 release. The package’s SHA-256 value is version-specific: use the value displayed on the download page for the archive you actually download, not a checksum copied from an older release.
Transfer the ZIP to the server with a method such as scp, then calculate its checksum and compare it with the official value:
Free tools Windows power users keep installed
One-click scans. No signup required.
mkdir -p ~/downloads
cd ~/downloads
# Transfer the phpBB ZIP into this directory, then:
sha256sum phpBB-3.3.17.zip
Substitute the filename if the current archive has a different name. Extract the package and inspect its contents; do not assume every archive uses the same top-level directory name:
unzip -q phpBB-3.3.17.zip
find . -maxdepth 2 -name app.php -print
Copy the files and set permissions
Create the document root and copy the contents of the extracted phpBB directory into it. In this example, ~/downloads/phpBB3 is the extracted directory; replace it with the directory you found if its name differs.
Rank #2
- Easily store and access 5TB of content on the go with the Seagate portable drive, a USB external hard Drive
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
sudo mkdir -p /var/www/phpbb
sudo cp -a ~/downloads/phpBB3/. /var/www/phpbb/
sudo find /var/www/phpbb -maxdepth 1 -mindepth 1 -printf '%fn' | sort
The web server account needs to read application files and write only where phpBB requires it. Establish consistent ownership and conservative defaults:
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 {} ;
phpBB identifies config.php, store/, cache/, files/ and images/avatars/upload/ as paths that may need write access during installation. Grant it to the web-server owner without making every file writable:
sudo chmod 775
/var/www/phpbb/store
/var/www/phpbb/cache
/var/www/phpbb/files
/var/www/phpbb/images/avatars/upload
If config.php does not exist yet, create it for the installer:
sudo touch /var/www/phpbb/config.php
sudo chown www-data:www-data /var/www/phpbb/config.php
sudo chmod 664 /var/www/phpbb/config.php
Do not use chmod -R 777 as a shortcut. It allows all local users and processes to modify files, rather than granting the web server only the access it needs. phpBB’s installation documentation also warns against broadly writable permissions.
Configure Nginx for the forum
Create a server block for the domain:
sudo nano /etc/nginx/sites-available/forum.example.com
Use this as a starting point, replacing the example domain. The PHP-FPM socket must match the installed service:
server {
listen 80;
listen [::]:80;
server_name forum.example.com;
root /var/www/phpbb;
index index.php index.html;
client_max_body_size 20M;
location / {
try_files $uri $uri/ /app.php?$query_string;
}
location ~ .php(?:/|$) {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
location ~ ^/(?:cache|files|includes|phpbb|store|vendor)/ {
deny all;
return 404;
}
location ~ /.(?!well-known) {
deny all;
}
}
The root must contain phpBB’s top-level app.php, config.php and vendor/ directory. The deny rules prevent direct web access to sensitive or internal paths; the dot-file rule blocks hidden files while leaving .well-known available for certificate validation. Check the Nginx sample configuration in the docs/ directory of the exact phpBB package as well: phpBB notes that each web server needs its own protection rules. Nginx’s Ubuntu server-block and enablement workflow is documented in Ubuntu’s Nginx guide.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Confirm the socket name before enabling the site:
ls /run/php/
If it differs, update fastcgi_pass to the socket that exists. Then enable the server block, remove the default site if it is not needed, test syntax and reload:
sudo ln -s /etc/nginx/sites-available/forum.example.com
/etc/nginx/sites-enabled/forum.example.com
sudo rm -f /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx
Do not reload if nginx -t reports an error. For service diagnostics, inspect sudo journalctl -u nginx -n 100 --no-pager and sudo journalctl -u php8.3-fpm -n 100 --no-pager.
Run the phpBB browser installer
Visit http://forum.example.com/install/. The installer checks PHP and server requirements before proceeding. Complete the installation in this order:
Rank #3
- Easily store and access 1TB to content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop. Reformatting may be required for Mac
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
- Open the Install tab and pass the requirements screen. Resolve any reported missing extension or permission issue before continuing.
- Enter the database connection details. For this local MariaDB setup, choose
MySQL with MySQLi Extension, hostnamelocalhost, database namephpbb, and thephpbb_usercredentials. Leave the port blank unless MariaDB uses a custom port. - Keep the default table prefix unless you are sharing one database with another phpBB installation; a distinct prefix separates their tables.
- Create the forum administrator account, then enter the board name and description.
- Review optional advanced settings and let the installer write
config.php. - Log in to the Administration Control Panel and confirm the board loads.
The documented browser flow covers requirements, database settings, administrator details, configuration-file creation and advanced settings in the phpBB installation guide.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →If phpBB cannot write config.php
The installer can provide config.php for manual placement. Upload it to the exact web root, /var/www/phpbb/config.php, and ensure PHP-FPM can read it. If the installer repeats the prompt, check that the file is not in a nested directory and that its ownership and permissions are correct. phpBB documents this fallback in its configuration-file installation guide.
Remove the installer and restrict the configuration file
After installation succeeds, remove the installer directory and tighten access to the database configuration:
sudo rm -rf /var/www/phpbb/install
sudo chmod 640 /var/www/phpbb/config.php
phpBB instructs administrators to remove install/ after setup; leaving it in place can restrict Administration Control Panel access and expose the installer. Confirm the site responds before moving on:
curl -I http://forum.example.com/
Enable HTTPS with Let’s Encrypt
Certificate issuance requires the domain to resolve to this server and inbound port 80 to be reachable. Check DNS, firewall rules and the HTTP site before requesting a certificate. Then run Certbot’s Nginx integration:
Outdated 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 matchWindows 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 reinstallsudo certbot --nginx -d forum.example.com
Choose the redirect option if all requests should use HTTPS. Certbot’s official instructions explain its server-side setup, and Ubuntu’s Nginx guide covers Let’s Encrypt and HTTP-to-HTTPS redirection. Test renewal instead of assuming the scheduled renewal path works:
sudo certbot renew --dry-run
Once HTTPS is working, check phpBB’s server settings in the Administration Control Panel: set the protocol to https://, confirm the domain and script path (normally /), and enable secure-cookie behavior as appropriate. Do not force HTTPS or secure cookies in phpBB until HTTPS works, or you may lock yourself out.
Apply baseline protections and verify the forum
Allow SSH and web traffic through UFW, then review the resulting rules. Keep a working SSH session open while enabling the firewall:
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status verbose
Do not expose MariaDB to the public internet. Check its listening sockets:
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsRank #4
- Easily store and access 4TB of content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
sudo ss -lntp | grep 3306
A local database connection should not require a public-facing MariaDB listener. Also keep Ubuntu, Nginx, PHP and MariaDB updated, use a non-root system administrator, and use SSH key authentication where possible.
Before inviting users, check the installation from both the browser and server:
- Load the forum over HTTPS and sign in to the Administration Control Panel.
- Check that a test attachment or avatar can be uploaded, then confirm the file appears as expected.
- Configure outbound mail or SMTP and test registration, password-reset messages and notifications; these depend on reliable email delivery.
- Enable phpBB’s anti-spam protections before opening public registration.
- Make a restorable backup containing a MariaDB dump and the complete
/var/www/phpbbtree, including attachments, avatars and configuration. Keep a copy outside the live server or its provider account.
For a repeatable automated deployment, phpBB also documents a CLI installer invoked with php install/phpbbcli.php install install-config.yml. The YAML configuration includes administrator, board, database, email and server settings, so protect it as a secrets file and follow the documentation for the exact package version. The browser installer is the simpler default for most first-time deployments. See the phpBB CLI installation guide.
Troubleshoot common installation errors
Nginx shows 502 Bad Gateway
PHP-FPM may be stopped or Nginx may be pointing to the wrong socket. Check the service, socket and Nginx log:
sudo systemctl status php8.3-fpm --no-pager
ls -l /run/php/
sudo journalctl -u nginx -n 100 --no-pager
Set fastcgi_pass to the socket that exists, run sudo nginx -t, and reload Nginx.
PHP source downloads or appears in the browser
Nginx is not passing PHP requests to PHP-FPM. Confirm PHP-FPM is installed and running, the PHP location block is present, and its socket path is correct. After a configuration change, test and reload:
sudo nginx -t
sudo systemctl reload nginx
phpBB reports a missing extension
Inspect the command-line PHP modules:
php -m
Install the missing PHP 8.3 package and restart FPM so the web runtime loads it:
sudo apt install -y php8.3-mbstring php8.3-xml php8.3-mysql php8.3-gd
sudo systemctl restart php8.3-fpm
The downloaded version’s installer requirements screen is the final check for its server requirements.
Recommended Free Tools
phpBB cannot connect to the database
Check MariaDB’s status, then test the application user directly:
Best Value
- [Upgraded Version] - This external hard drive features a mirrored logo stripe combined with a striped anti-slip design, and the rounded corners of the casing make it easier to grip. The stripes also have a heat dissipation function, ensuring stable and fast data transfer.
- 【Ultra-thin and quiet】 - The motherboard adopts JMicron 578 noise-free solution, giving you a quiet working environment. Lightweight and portable size designed to fit in your pocket for easy portability.
- 【Ultra-Fast Data Transfers】 - Pairing this external hard drive with JMicron 578 solution USB 3.0 and USB 2.0 interfaces enables blazing-fast data transfer. It boasts theoretical read speeds of up to 125MB/s and write speeds of up to 103MB/s.
- 【Plug and Play】 - With no software to install, just plug it in and the drive is ready to use.The hard disk chip is wrapped with an aluminum anti-interference layer to increase heat dissipation and protect data.
- 【What You Get】 - 1 x Portable Hard Drive, 1 x USB 3.0 Cable, 1 x User Manual, Gift-type shell packaging ,Three-year manufacturer's warranty and free technical support services.
sudo systemctl status mariadb --no-pager
sudo mariadb -e "SHOW DATABASES;"
mariadb -u phpbb_user -p -h localhost phpbb
Recheck the database name, hostname, username and password, including capitalization, and confirm the MariaDB account is 'phpbb_user'@'localhost'. phpBB notes that database credentials are case-sensitive in its database installation guide.
Nginx returns 403 or file permission errors
Check the path permissions and Nginx error log:
namei -l /var/www/phpbb/index.php
sudo tail -n 100 /var/log/nginx/error.log
Correct ownership and normal read/traverse permissions if needed:
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 {} ;
Then restore write access only to phpBB’s required writable paths. Do not solve a permission error by making the entire tree world-writable.
Forum links or routes return 404
Check that the correct server block is active, its server_name and root are correct, and the front-controller rule sends unmatched requests to app.php. Inspect Nginx’s loaded configuration with:
sudo nginx -T
Also verify that the domain resolves to this server rather than another host.
The installer keeps asking for config.php
Check whether the file exists at the document root and whether it is owned by the web-server user:
ls -l /var/www/phpbb/config.php
sudo chown www-data:www-data /var/www/phpbb/config.php
sudo chmod 664 /var/www/phpbb/config.php
If automatic writing failed, use the manual file placement method documented in phpBB’s config.php guide.
Free tools Windows power users keep installed
One-click scans. No signup required.
Certbot cannot issue a certificate
Resolve DNS or reachability problems before retrying validation. Confirm the hostname, firewall and HTTP response:
dig +short forum.example.com
sudo ufw status
sudo nginx -t
curl -I http://forum.example.com/
Also check the cloud firewall and any proxy or CDN that could interfere with the ACME challenge. Repeated Certbot attempts will not fix an incorrect DNS record or blocked port.
Quick Recap
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.

