By Arslan Ud Din Shafiq, Alibaba Cloud Community Blog author.
TaskBoard is an open-source and free to use web-based application that provides a simple and clean interface to keep track of tasks by identifying blockers and eliminating waste. It provides a full history of all the board activity for admins. It uses SQLite as a database and provides RESTful API for developers.
In this tutorial, we will install and set up TaskBoard 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
TaskBoard requires the installation of PHP 5.5 or a later version of PHP. For this tutorial, we will install PHP 7.2 by executing the following steps.
Step 1: 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
Step 2: 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
Step 3: Once PHP 7.2 repository loads successfully, install PHP 7.2 by using the following command.
sudo apt install -y php7.2
TaskBoard requires multiple PHP extensions, including php7.2-cli, php7.2-readline, php7.2-json, php7.2-common, and php7.2-sqlite. Execute the following command to install all the required extensions.
sudo apt-get install -y apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.2 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libargon2-0 liblua5.1-0 libsodium23 libssl1.1 php-common php7.2 php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline ssl-cert
Further, to check whether you have correctly installed PHP, you can execute the following command and verify the installed PHP version.
php --version
TaskBoard supports the SQLite database. You can execute the following command to install the SQLite database.
sudo apt install -y sqlite
Another alternative is Alibaba Cloud Aspara DB for RDS. It is recommended to use Alibaba Cloud AsparaDB for RDS as it relieves you from managing a database so that you can focus on your business. It is ready to use service that is highly scalable, available, secure to use, and offers protection against SQL injections, network attacks, brute force attacks and several other types of database attacks.
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
Before installing HTMLy, you also need to install and setup composer by executing the following commands.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php')
# php -r "if (hash_file('SHA384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;
php composer-setup.php
php -r "unlink('composer-setup.php');
sudo mv composer.phar /usr/local/bin/composer
Now, to check whether the composer is installed successfully, execute the following command and verify the version of composer.
composer -v
Let's follow the steps listed below to install Taskboard.
Step 1: 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
Step 2: Remove index.html file using the command below.
rm index.html
Download the latest stable release of Taskboard using the command below.
wget https://github.com/kiswa/TaskBoard/archive/master.zip
Step 3: Now unzip the downloaded zipped folder by using the following command.
unzip master.zip
Step 4: Execute the following command to remove master.zip.
rm -r master.zip
Step 5: Now move the downloaded files to /var/www/html by executing command below.
mv /var/www/html/TaskBoard-master/* /var/www/html
Step 6: Now execute the following command to remove TaskBoard-master.
rm -r TaskBoard-master
Step 7: Next, execute the following commands to install dependencies.
./build/composer.phar install
Step 8: Also, provide ownership of /var/www/html to www-data so that 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 Taskboard. Execute the following command to open a file in the Nano text editor.
sudo nano /etc/apache2/sites-available/task.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 -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/TaskBoard_error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/TaskBoard_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 task
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 ssl
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 Taskboard via your domain name or ECS IP address. For this tutorial, we have accessed via http://softpedia.xyz
.
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.
Step 1: Update the package using the following command.
sudo apt-get update
Step 2: Install software-properties-common by executing the command below.
sudo apt-get install software-properties-common
Step 3: Add the Certbot repository by using the following command.
sudo add-apt-repository ppa:certbot/certbot
Step 4: 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
Step 5: Now, install python-certbot-apache using the command below.
sudo apt-get install python-certbot-apache
Step 6: 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.
Now, click Settings to update your default username, password, and email of the admin panel on the screen shown below.
There you go! You have successfully installed and configured TaskBoard on your Alibaba Cloud ECS.
A Brief Guide to Install and Configure Shopware CE on Alibaba Cloud ECS
Quick Guide to Install and Configure Thelia on Alibaba Cloud
2,599 posts | 762 followers
FollowAlibaba Cloud MVP - December 13, 2019
Alibaba Clouder - December 3, 2019
Alibaba Clouder - November 27, 2018
Alibaba Clouder - February 14, 2020
Sajid Qureshi - August 8, 2018
Alibaba Clouder - December 4, 2018
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