phpBB is a free flat-forum bulletin board software solution that can be used to stay in touch with a group of people or can power your entire website. With an extensive database of user-created extensions and styles database containing hundreds of style and image packages to customize your board, you can create a very unique forum in minutes. No other bulletin board software offers a greater complement of features while maintaining efficiency and ease of use. Best of all, phpBB is completely free. We welcome you to test it for yourself today. If you have any questions please visit our Community Forum where our staff and members of the community will be happy to assist you with anything from configuring the software to modifying the code for individual needs.
Requirements for installing Phpbb
phpBB 3.3.x has a few requirements which must be met before you are able to install and use it.
A webserver or web hosting account running on any major Operating System with support for PHP
A SQL database system, one of the:
1. MySQL 4.1.3 or above (MySQLi required)
2. MariaDB 5.1 or above
3. PostgreSQL 8.3+
4. SQLite 3.6.15+
5. MS SQL Server 2000 or above (via ODBC or the native adapter)
6. Oracle
PHP 7.1.3+ up to and including PHP 8.1 with support for the database you intend to use.
The following PHP modules are required:
1. JSON
2. mbstring
3. XML support
getimagesize() function must be enabled.
The presence of the following modules within PHP will provide access to additional features, but they are not required:
1. zlib Compression support
2. Remote FTP support
3. GD Support
How to create a database for Phpbb
phpBB requires a database engine to store all of its data. Thankfully, it supports a myriad of database servers including SQLite, PostgreSQL MariaDB / MySQL, and even Microsoft SQL server.
We already have MariaDB / MySQL already in place in the LAMP stack, and this is what we will use to create the database for phpBB.
So, log in to the MariaDB server:
$ sudo mysql -u root -p
Then create the database for PHPBB, then create the user to the database and assign all privileges to the user.
CREATE DATABASE phpbb_db;
GRANT ALL ON phpbb_db.* to 'phpbb_user'@'localhost' IDENTIFIED BY 'myP@ssword';
Then save the changes and exit the database.
FLUSH PRIVILEGES;
EXIT;
Download and configure Phpbb
With all the components required to support the installation of PHPBB ready, we are going to download the binary file for PHPBB. At the time of writing this down, the latest release of PHPBB is version 3.3.4. Of course, chances are that there will be a newer version by the time you are reading this tutorial.
Change the directory to /opt directory, you can use any directory:
$ cd /opt
Download the zip file into the /opt directory:
$ sudo wget -c https://download.phpbb.com/pub/release/3.3/3.3.4/phpBB-3.3.4.zip
Once downloaded, unzip the compressed file:
$ unzip phpBB-3.3.4.zip
Note: If unzip command is not found, install using apt install unzip
.
Then move it to the webroot directory and rename it to Phpbb for simplicity purposes.
$ sudo mv phpBB3 /var/www/html/phpbb
phpBB is secure but make sure to set proper permissions on the webroot directory
To set the appropriate ownership and permissions:
$ sudo chown -R www-data:www-data /var/www/html/phpbb
$ sudo chmod -R 755 /var/www/html/phpbb
Configure a virtual host for Phpbb
A virtual host is required for PHPBB so that Apache can easily host PHPBB files without any conflict with the default Apache configuration.
To create a PHPBB virtual host file, use a text editor to create a file.
$ sudo vim /etc/apache2/sites-available/phpbb.conf
Append the following configuration:
<VirtualHost *:80>
ServerAdmin admin@your_domain.com
DocumentRoot /var/www/html/phpbb
ServerName server-IP or FQDN
<Directory /var/www/html/phpbb>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log
CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined
</VirtualHost>
For the ServerName attribute, specify your Server’s IP address or Fully Qualified Domain Name.
Once done, save the changes and exit the configuration file.
Next, enable the PHPBB virtual host.
$ sudo a2ensite phpbb
Then enable the Apache rewrite module.
$ sudo a2enmod rewrite
For the changes to come into effect, restart the Apache webserver.
$ sudo systemctl restart apache2
Pros and cons of Phpbb:
Pros:
1. Easy to set up.
2. Highly customizable.
3. Free to use.
4. Open source with great community support.
5. Frequent updates keep it secure.
6. Multi-language support.
Cons: Weak Search Engine Optimization.
Limited modern themes.
Overall: phpBB is a free and open-source forum or bulletin board creator with robust security and other features. It provides lots of customization options and is great for the quick setup of a forum.