How to Install MyBB on Debian 9

Using a Different System?

  • How to Install MyBB on Ubuntu 16.04

  • How to Install MyBB on CentOS 7

  • How to Install MyBB on Fedora 28

  • How to Install MyBB on FreeBSD 12

Are we missing a guide for your target system? Request one, or submit your own!

MyBB is a free and open source, intuitive and extensible forum program. MyBB source code is hosted on GitHub. This guide will show you how to install MyBB forum software on a fresh Debian 9 Vultr instance.


  • PHP, at least version 5.2, with the following extensions:
    • SimpleXML
    • mbstring
    • gd
    • The respective vendor specific database PHP extension
  • MySQL, at least version 5.0
  • Nginx

NOTE: Replace all instances of with your domain name.

Before you begin

Check the Debian version.

lsb_release -ds# Debian GNU/Linux 9.4 (stretch)

Ensure that your system is up to date.

apt update && apt upgrade -y

Install needed packages.

apt install -y sudo dirmngr unzip zip

Create a new non-root user account with sudo access and switch to it.

adduser johndoe --gecos "John Doe"usermod -aG sudo johndoesu - johndoe

NOTE: Replace johndoe with your username.

Set up the timezone.

sudo dpkg-reconfigure tzdata

Install PHP

Install PHP, as well as the required PHP extensions.

sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-gd php7.0-mbstring php7.0-xml php7.0-mysql php7.0-pgsql

Check the version.

php --version# PHP 7.0.27-0+deb9u1 (cli) (built: Jan  5 2018 13:51:52) ( NTS )

Install MariaDB

Install MariaDB.

sudo apt install -y mariadb-server

Check the version.

mysql --version# mysql  Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Run the mysql_secure_installation script to improve the security of your MariaDB installation.

sudo mysql_secure_installation

Log into MariaDB as the root user.

sudo mysql -u root -p# Enter password:

Create a new MariaDB database and user, and remember the credentials.


Exit MariaDB.


Install and configure Nginx

Install Nginx.

sudo apt install -y nginx

Check the version.

sudo nginx -v# nginx version: nginx/1.10.3

Configure Nginx. Run sudo vim /etc/nginx/sites-available/mybb.conf and populate the file with the following.

server {  server_name;  root /var/www/mybb;  location / {    index index.php;  }  # Deny access to internal files.  location ~ /(inc|uploads/avatars) {    deny all;  }  location ~ /.php$ {    fastcgi_pass unix:/run/php/php7.0-fpm.sock;    fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;    include fastcgi_params;  }}

Activate the new mybb.conf configuration by linking the file to the sites-enabled directory.

sudo ln -s /etc/nginx/sites-available/mybb.conf /etc/nginx/sites-enabled/

Test the configuration.

sudo nginx -t

Reload Nginx.

sudo systemctl reload nginx.service

Install MyBB

Create a document root directory.

sudo mkdir -p /var/www/mybb

Change ownership of the /var/www/mybb directory tojohndoe.

sudo chown -R johndoe:johndoe /var/www/mybb

Download the latest release of MyBB and unzip it.

cd /var/www/mybbwget mybb_1816.zipmv /var/www/mybb/Upload/* /var/www/mybb

Remove the downloaded .zip file.

rm mybb_1816.ziprmdir Upload

Change ownership of the /var/www/mybb directory to www-data.

sudo chown -R www-data:www-data /var/www/mybb

As the last step, open your domain and follow the installation wizard for MyBB. To access the installer you must navigate to the /install directory of your site in your web browser. For example, if your domain is and you uploaded your MyBB files to the root directory then navigate to To access MyBB admin, append /admin to your site URL. You have successfully installed your MyBB.

After the installation, you should remove the /install directory from your server to prevent anyone else from running the installation again.

sudo rm -rf /var/www/mybb/install/

Want to contribute?

You could earn up to $300 by adding new articles

Submit your article
Suggest an update
Request an article

No comments

Powered by Blogger.