How to install phpBB with Nginx on Ubuntu 24.04
You install phpBB with Nginx on Ubuntu 24.04 to create a fast, powerful, and scalable online forum. phpBB is a popular, free bulletin board software that helps you build a vibrant community website.
Nginx, a high-performance web server chosen for efficiency, handles many concurrent connections, making it perfect for busy phpBB forums. This Nginx web server and phpBB combination ensures your phpBB installation on Ubuntu 24.04 loads quickly and runs smoothly.
By following these steps, you’ll configure Nginx to serve your phpBB board, offering an excellent user experience for your forum members.
Install Nginx, MariaDB, and PHP using `apt install`. Create a database for phpBB with `CREATE DATABASE` and `CREATE USER` commands in the MariaDB console. Then, download the phpBB files from the official website.
Install Nginx HTTP server on Ubuntu
Nginx is the web server that will run your phpBB forum. To install Nginx on Ubuntu 24.04, open the terminal and run a couple of simple commands. This will set up the web server needed to host your new forum.
To do that, open the Ubuntu terminal and run the commands below to install the Nginx web server.
sudo apt update
sudo apt install nginx
Once Nginx is installed, the commands below can start, stop, and enable the Nginx web server to start automatically when your server boots up.
sudo systemctl stop nginx
sudo systemctl start nginx
sudo systemctl enable nginx
You can test the Nginx web server by opening your web browser and browsing to the server’s localhost or IP address.
http://localhost

When you see the Welcome to nginx!, it means the Nginx HTTP server is successfully installed.
Additional help on installing Nginx on Ubuntu is in the link below.
Install the MariaDB database server on Ubuntu
Your phpBB forum needs a database to store all its information. MariaDB is a popular choice for this on Ubuntu. Open your Ubuntu terminal and run the commands below to install the MariaDB database server.
To install and use the MariaDB database server, use the instructions below.
Open the Ubuntu terminal and run the commands below to install the MariaDB database server.
sudo apt update sudo apt install mariadb-server
Once the MariaDB database server is installed, use the commands below to stop, start, and enable the MariaDB server to start automatically when the server boots.
sudo systemctl stop mariadb sudo systemctl start mariadb sudo systemctl enable mariadb
Run the following commands to validate and test if the MariaDB database server is installed successfully.
sudo mariadb
Once you run the commands above, it will log you onto the MariaDB console and display a message similar to the one below.
Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 32 Server version: 10.11.2-MariaDB-1 Ubuntu 23.04 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]>
The message tells you that the server is installed successfully.
Additional help on installing MariaDB.
- How to install MariaDB on Ubuntu Linux
- MariaDB without password prompt
Create a phpBB database
After installing MariaDB, you need to create a specific database and user for your phpBB forum. This section explains how to set up a database named phpbbdb and a user called phpbbdbuser, giving them the necessary permissions to manage your forum’s data.
As part of the setup, we will create a phpbbdb database and a user account called phpbbdbuser.
Finally, we’ll grant the phpbbdbuser full access to the phpbbdb database.
All the database steps above can be done using the commands below:
But first, log on to the MariaDB database server:
sudo mariadb
Then run the commands below to complete the steps:
CREATE DATABASE phpbbdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER phpbbdbuser@localhost IDENTIFIED BY 'type_your_password_here';
GRANT ALL ON phpbbdb.* TO phpbbdbuser@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
Ensure to replace ‘type_your_password_here ‘with your password.
Install PHP on Ubuntu Linux
phpBB is built using PHP, so you must install PHP and its necessary extensions on your Ubuntu server. Run the commands below to get the latest PHP version and the common extensions that phpBB needs to work correctly.
Then, run the commands below to install the latest PHP version.
sudo apt install php-fpm php-intl php-mysql php-curl php-cli php-zip php-xml php-gd php-common php-mbstring php-xmlrpc php-bcmath php-json php-sqlite3 php-soap php-zip
Additional help on installing PHP
Download phpBB files
You can download the latest phpBB forum software directly from its official website to your server. To ensure you get the newest version, check the phpBB download page and update the link if needed. We’ll start by going to the /tmp/ directory.
The final step is to change the permissions. This will allow the Nginx web server to interact safely with the files, ensuring a secure environment for your phpBB installation.
cd /tmp/
wget https://download.phpbb.com/pub/release/3.3/3.3.13/phpBB-3.3.13.zip
unzip phpBB-3.3.13.zip
sudo mv phpBB3 /var/www/phpbb
sudo chown -R www-data:www-data /var/www/phpbb
Once you have completed all the above steps, continue configuring the Nginx web server below to serve the phpBB content.
Run the commands below to create a Nginx virtual host file for phpBB.
sudo nano /etc/nginx/sites-available/phpbb.conf
Then, copy and paste the content block below into the Nginx server block.
server {
listen 80;
listen [::]:80;
server_name phpbb.example.com;
root /var/www/phpbb;
index index.php;
access_log /var/log/nginx/forums-access.log;
error_log /var/log/nginx/forums-error.log;
location / {
try_files $uri $uri/ @rewriteapp;
location ~ .php(/|$) {
include fastcgi.conf;
fastcgi_split_path_info ^(.+.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
try_files $uri $uri/ /app.php$is_args$args;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_intercept_errors on;
}
# Deny access to certain PHPBB files
location ~ /(config.php|common.php|cache|files|images/avatars/upload|includes|(?<!ext/)phpbb(?!w+)|store|vendor) {
deny all;
internal;
}
}
location @rewriteapp {
rewrite ^(.*)$ /app.php/$1 last;
}
location /install/ {
try_files $uri $uri/ @rewrite_installapp =404;
location ~ .php(/|$) {
include fastcgi.conf;
fastcgi_split_path_info ^(.+.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
try_files $uri $uri/ /install/app.php$is_args$args =404;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_intercept_errors on;
}
}
location @rewrite_installapp {
rewrite ^(.*)$ /install/app.php/$1 last;
}
}Save the file.
You enable the phpBB virtual host and restart the Nginx server by running the following commands: `sudo ln -s /etc/nginx/sites-available/phpbb /etc/nginx/sites-enabled/` and `sudo systemctl restart nginx`. This ensures Nginx uses the new phpBB configuration.
sudo ln -s /etc/nginx/sites-available/phpbb.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
Setup Let’s Encrypt SSL/TLS for phpBB
Setting up a free Let’s Encrypt SSL certificate is important for your phpBB forum’s security, as it enables HTTPS. For detailed steps on installing and creating Let’s Encrypt SSL certificates for Nginx on Ubuntu Linux, please refer to the linked guide. This helps protect your forum.
Please read the post below for additional resources on installing and creating Let’s Encrypt SSL certificates for Nginx.
How to set up Let’s Encrypt SSL certificate for Nginx on Ubuntu Linux
Once you have restarted the Nginx web server, open your browser and browse to the server hostname or IP address defined in the Nginx server block.
http://phpbb.example.com/install/
A phpBB installation wizard page should appear. Select the “INSTALL” tab and click the Install button to begin.

Create an admin account and continue.

Type in the database name and password created above.

Select the server settings if using SSL.

After all the steps above, the installation should be finished.

You can now start using your new phpBB forum board.

That should do it!
Conclusion:
In summary, installing phpBB with Nginx on Ubuntu is a straightforward process that provides a robust platform for your forum. Following the steps outlined will ensure a fast and reliable experience for your users. Here are the key takeaways:
- Efficient Setup: Using Nginx as the web server enhances performance and reduces resource usage.
- Database Management: Installing MariaDB allows easy data management and storage for your phpBB forum.
- User Access: Creating a dedicated database and user ensures better security and control over your forum’s data.
- PHP Compatibility: PHP is essential for running phpBB, and installing the latest version guarantees access to new features and security updates.
- Virtual Host Configuration: Setting up a virtual host in Nginx enables you to manage your forum independently and efficiently.
- HTTPS Security: Implementing Let’s Encrypt SSL/TLS certificates secures your phpBB installation, enhancing user trust and data protection.
- User-Friendly Installation: The phpBB installation wizard simplifies the setup process, allowing you to get your forum up and running quickly.
This phpBB installation guide helps you launch your forum, build an online community, and enjoy your new platform, which runs on Ubuntu 24.04.
Was this guide helpful?
About the Author
Richard
Tech Writer, IT Professional
Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.
No comments yet — be the first to share your thoughts!