By Arslan Ud Din Shafiq, Alibaba Cloud Community Blog author.
MyBB or MyBulletinBoard is an open-source web-based forum application which allows the users to share various files, messages and discuss things. It is developed in PHP and lets its users create conversations across discussion boards as well as allows private conversations among registered users.
In this tutorial, we will install and set up MyBB on Alibaba Cloud Elastic Compute Service (ECS) along with Ubuntu 16.04.
Firstly, use the following command to update your Ubuntu system before proceeding with the installation of any type of package. For executing this command, remember to login from non-root user with Sudo privileges.
sudo apt update && sudo apt upgrade
MyBB requires the installation of PHP 5.2 or a later version of PHP. For this tutorial, we will install PHP 7.2 by executing the following steps:
Install python software properties and software properties common as these are necessary for the installation of PHP 7.2. To do so, execute the command below.
sudo apt-get install software-properties-common python-software-properties
You need to add a repository for the later versions of PHP by executing the commands below.
sudo add-apt-repository ppa:ondrej/php
Update the system to refresh the available repositories and make PHP 7.2 repository available for installation. Execute the following command for updating the Ubuntu system.
sudo apt update
Once PHP 7.2 repository loads successfully, install PHP 7.2 by using the following command.
sudo apt install -y php7.2
MyBB requires multiple PHP extensions, including php7.2-cli, php7.2-fpm, php7.2-mysql, php7.2-pgsql, php7.2-gd, php7.2-mbstring, and php7.2-xml. Execute the following command to install all the required extensions.
sudo apt-get -y install php7.2-cli php7.2-fpm php7.2-pgsql php7.2-mbstring php7.2-mysql php7.2-gd php7.2-xml
Once you have installed the above extensions, Apache2 will be automatically installed. Hence, there is no need to install an Apache explicitly.
Further, to check whether you have correctly installed PHP, you can execute the following command and verify the installed PHP version.
php --version
MyBB supports MySQL and PostgreSQL. For this tutorial, we will use the MariaDB server for MySQL. By default, the Ubuntu repository has an older version of the MariaDB server. We need to add MariaDB repository to the Ubuntu system for using the new version of MariaDB by following the steps listed below.
Verify the keys by executing the command shown below.
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Add the repository using the following command.
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'
Now update the system by using the command below.
sudo apt update
Now install MariaDB using the following command.
sudo apt install -y mariadb-server
Start and enable the MariaDB server to ensure that after reboot, the server starts automatically.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Now run the following command to enhance security of MariaDB server and set password for the root user.
sudo mysql_secure_installation
Also, connect to the MySQL shell as the root user by executing the command below and enter your password.
sudo mysql -u root -p
Execute the following MySQL queries in your MariaDB server.
CREATE DATABASE plane CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'aareez'@'localhost' IDENTIFIED BY '654321Ab';
GRANT ALL PRIVILEGES ON plane.* TO 'aareez'@'localhost';
FLUSH PRIVILEGES;
EXIT;
You also need to install Unzip which will later be used to unzip the compressed zip folder. Execute the following command to install unzip.
sudo apt-get install unzip -y
Let's follow the steps listed below to install MyBB.
Navigate to /var/www/html using the command.
cd /var/www/html
Now change ownership of /var/www/html directory as shown below.
sudo chown -R aareez:aareez /var/www/html
Remove index.html file using the command below.
rm index.html
Download the latest stable release of MyBB using the command below.
wget https://resources.mybb.com/downloads/mybb_1815.zip
Now unzip the downloaded zipped folder by using the following command.
unzip mybb_1815.zip
Execute the following command to extract the Documentation directory and mybb_1815.zip folder.
rm -r Documentation mybb_1815.zip
Copy the content of Upload folder to /var/www/html/ by executing command below.
mv /var/www/html/Upload/* /var/www/html
Now, execute the following command to remove Upload directory.
rm -r Upload
Next, provide ownership of /var/www/html to www-data so that the Apache server can access the required files.
sudo chown -R www-data:www-data /var/www/html
Let's create a virtual host configuration file for MyBB. Execute the following command to open a file in the nano text editor.
sudo nano /etc/apache2/sites-available/mybb.conf
Copy and paste the following code and save the file
<VirtualHost *:80>
ServerAdmin admin@xyz.com
ServerName softpedia.xyz
DocumentRoot /var/www/html/
DirectoryIndex index.php index.htm index.html
<Directory /var/www/html>
Options +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/MyBB_error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/MyBB_access.log combined
</VirtualHost>
Execute the command below to disable the default site.
sudo a2dissite 000-default.conf
Now you need to enable the newly created virtual host by executing the command below.
sudo a2ensite mybb
You also need to enable rewrite mod. You can do so either by editing a configuration file in the Apache2 directory or simply executing the command below.
sudo a2enmod rewrite
Enable SSL engine. Either by editing a configuration file in the Apache2 directory or by executing the following command.
sudo a2enmod ss
Now, restart the Apache server to apply the changes and load the settings by executing the command below.
sudo service apache2 restart
Finally, you can access MyBB via your domain name or ECS IP address. For this tutorial, we have accessed via http://softpedia.xyz
Once you get access, you will be redirected to the following page.
Click Next, to check whether your server meets the requirements of MyBB as shown below.
Click Next to continue to the database configuration page.
Now, fill in the following form to configure the database and click Next.
Next, you will be redirected to the Table Creation page. Click Next.
Now you will be redirected to Table Population page as shown below.
Click Next to navigate to the Theme Insertion page as shown below.
Now click Next, to go to the Board Configuration page where you can set a name for your MyBB forum.
Now, you need to create an admin account for accessing the admin panel.
Once you click Next, you will be redirected to the following screen confirming that you have successfully installed and configured MyBB correctly.
If you have activated firewalls, you need to define a rule in Alibaba Cloud security group for your cloud server to add an exception for port 80/TCP and 443/TCP. You can enable these ports while creating ECS instance, but in case if you have forgotten to unblock these ports, you can follow the procedure in this guide: https://www.alibabacloud.com/help/doc-detail/25471.htm
You need to use Certbot for installing the SSL certificate using Let's Encrypt. To do so, execute the following steps.
Update the package using the following command.
sudo apt-get update
Install software-properties-common by executing the command below.
sudo apt-get install software-properties-common
Add the Certbot repository by using the following command.
sudo add-apt-repository ppa:certbot/certbot
Use the command below to update the package for loading the added Certbot repository.
sudo apt-get update
Ensure to stop Apache before issuance of the SSL certificate as shown below.
sudo systemctl stop apache2
Now, install python-certbot-apache using the command below.
sudo apt-get install python-certbot-apache
Execute the following command to get Let's Encrypt SSL issued.
sudo certbot --apache -d softpedia.xyz
Select Option 2 to redirect the link to https and update virtual host settings for SSL.
After a successful issuance of the SSL certificate, you will be navigated to the following screen.
Now, run the following command to restart the Apache server.
sudo systemctl start apache2
Now, you can access your website by hitting your URL.
There you go! You have successfully installed and configured MyBB on your server.
How to Install and Configure Microweber CMS on Alibaba Cloud
2,599 posts | 762 followers
FollowAlibaba Clouder - August 22, 2018
Alibaba Clouder - November 21, 2019
Alibaba Clouder - April 21, 2021
Alibaba Clouder - May 6, 2019
Alibaba Clouder - July 19, 2018
Alibaba Clouder - April 12, 2021
2,599 posts | 762 followers
FollowElastic and secure virtual cloud servers to cater all your cloud hosting needs.
Learn MoreLearn More
Learn More
More Posts by Alibaba Clouder