phpBB is an acronym for PHP Bulletin Board. It is a fully scalable and customizable open-source forum written in PHP. It can be used to to create forums, start topics and share ideas.
In this tutorial we will show you how to install phpBB on AlmaLinux 9 using the LAMP stack.
Step 1: Update Operating System
Update your AlmaLinux 9 operating system to make sure all existing packages are up to date:
# dnf updateAlso, install:
# dnf install wget nano unzipStep 2: Install Apache web server
To install Apache web server, run the following command:
# dnf install httpdApache does not start automatically when it is installed, you need to start it:
# systemctl start httpdThen enable it to start on boot time.
# systemctl enable httpdIf firewalld is enabled consider allowing HTTP and HTTPS services:
# firewall-cmd --permanent --add-service={http,https}
# firewall-cmd --reloadStep 3: Install PHP and required PHP modules
In this section we will install PHP and PHP extensions required to run phpBB with the following command:
# dnf install php php-mysqli php-gd php-zip php-intl php-mbstring php-jsonOnce the installation is complete, verify the version of PHP installed:
# php -vOutput:
PHP 8.0.13 (cli) (built: Nov 16 2021 18:07:21) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.13, Copyright (c) Zend Technologies
with Zend OPcache v8.0.13, Copyright (c), by Zend Technologies
Step 4: Install MariaDB and create a database
To be able to install MariaDB on AlmaLinux 9 you need to add the MariaDB YUM repository:
# curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setupOnce the repository has been added to the system, installing MariaDB is an easy task that can be accomplished with the following command:
# dnf install mariadb-serverStart the database server daemon, and also enable it to start automatically at the next boot with the following commands:
# systemctl start mariadb
# systemctl enable mariadbVerify the installed version of MariaDB.
# systemctl status mariadbOutput:
● mariadb.service - MariaDB 10.5 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running)
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 47677 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 11 (limit: 10951)
Memory: 71.2M
CPU: 2.238s
CGroup: /system.slice/mariadb.service
└─47677 /usr/libexec/mariadbd --basedir=/usrBy default, MariaDB is not hardened. You can secure MariaDB using the mysql_secure_installation script:
mysql_secure_installationConfigure it like this:
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] YOnce the database server is installed, log into the MariaDB prompt:
#  mysql -u root -pTo create a database, database user, and grant all privileges to the database user run the following commands:
MariaDB [(none)]> CREATE DATABASE phpbb_db;
MariaDB [(none)]> CREATE USER 'phpbb_user'@'localhost' IDENTIFIED BY 'Passw0rd';
MariaDB [(none)]> GRANT ALL ON phpbb_db.* TO 'phpbb_user'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXITStep 5: Download phpBB forum
The phpBB forum is not available to download or install using the AlmaLinux package repositories. We have to download its files manually from its official website.
The version of phpBB as of this writing is 3.3.8.
Change directory to /tmp directory, you can use any directory:
# cd  /tmpUse the following command to download phpBB forum:
# wget https://download.phpbb.com/pub/release/3.3/3.3.8/phpBB-3.3.8.zipExtract file into the folder /var/www/html with the following command,
# unzip phpBB-3.3.8.zip -d /var/www/htmlRename the extracted directory:
# mv /var/www/html/phpBB3 /var/www/html/phpbbEnable permission for the Apache webserver user to access the phpBB files,
# chown -R apache:apache /var/www/html/phpbbStep 6: Configure Apache Web Server for phpBB forum
Navigate to /etc/httpd/conf.d directory and run the following command to create a configuration file for your phpBB installation:
# nano /etc/httpd/conf.d/phpbb.confAdd the following content:
<VirtualHost *:80>
ServerName your-domain.com
ServerAdmin webmaster@your-domain.com
DocumentRoot /var/www/html/phpbb
<Directory /var/www/html/phpbb/>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/your-domain.com_error.log
CustomLog /var/log/httpd/your-domain.com_access.log combined
</VirtualHost>
Save the file and Exit.
Restart the Apache web server.
# systemctl restart httpdStep 7: Install phpBB forum on AlmaLinux 9
Open your browser and complete the final steps e.g http://your-domain.com
To start the installation, click the ‘Install’ tab then click install.
Fill in the details of the Administrator user and password and click on ‘Submit‘.
Fill up the database configuration:
For the server configuration you can just leave the default settings and click ‘Submit’:
In this steps you will ask to provide your SMTP settings, if email functionality is not configured, simply click ‘Submit‘ without changing any parameter.
Specify the settings of the Bulletin Board such as the default language, Board Title, and a short description of the board. Then click ‘Submit‘:
Finally, the installation should be complete!
Click on ‘the ACP‘ link provided. This takes you to the Admin panel shown:
Now, delete the ‘Install‘ folder to access the create, delete the posts and access the features of the phpBB forum software.
Go to your server terminal and run this command:
# rm -rf /var/www/html/phpbb/phpbb/installComments and Conclusion
That’s it. You have successfully installed phpBB on AlmaLinux 9.
If you have any questions please leave a comment below.
