TaskBoard is a free and open-source Kanban application that helps users keep track of tasks. As a PHP-based and self-hosted application, it offers a straightforward and user-friendly web interface to manage tasks effectively. TaskBoard is ideal for teams or organizations to visualize work progress and manage tasks efficiently.
Key Features
- Free and open-source
- Unlimited boards
- Simple installation process
- Easy customization options
- RESTful API
- Basic user management capabilities
This guide will walk you through the steps to install TaskBoard on a Debian 11 server.
Prerequisites
- A server running Debian 11.
- A valid domain name pointing to your server’s IP address.
- Root user access to the server.
Getting Started
To ensure your system is up to date, run the following command to update all packages:
apt-get update -y
Install Apache, PHP, and SQLite
Install Apache, PHP, SQLite, and additional dependencies by executing the following command:
apt-get install apache2 sqlite3 php libapache2-mod-php php-cli php-common php-json php-readline php-sqlite3 libaio1 libapr1 libhtml-template-perl libaprutil1-dbd-sqlite3 libaprutil1-ldap libaprutil1 libdbi-perl libterm-readkey-perl curl libwrap0 unzip wget -y
Start and enable the Apache service to ensure it runs on boot:
systemctl start apache2 systemctl enable apache2
Download Taskboard
Download the latest version of TaskBoard using the following command:
curl -s https://api.github.com/repos/kiswa/TaskBoard/releases/latest |grep browser_download_url | cut -d '"' -f 4 | wget -i -
Extract the downloaded file to the Apache web root directory:
unzip TaskBoard_v*.zip -d /var/www/html/taskboard
Set the appropriate ownership and permissions for the TaskBoard directory:
chown -R www-data:www-data /var/www/html/taskboard chmod -R 775 /var/www/html/taskboard
Configure Apache for TaskBoard
Create an Apache virtual host configuration for TaskBoard:
nano /etc/apache2/sites-available/taskboard.conf
Add the following configuration:
<VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot "/var/www/html/taskboard" ServerName taskboard.example.com <Directory "/var/www/html/taskboard"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog "/var/log/apache2/taskboard-error_log" CustomLog "/var/log/apache2/taskboard-access_log" combined </VirtualHost>
Save and close the file, then enable the new virtual host:
a2ensite taskboard.conf
Enable the Apache rewrite module and restart the Apache service:
a2enmod rewrite systemctl restart apache2
Verify that Apache is running:
systemctl status apache2
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-11-06 14:46:54 UTC; 5s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 23704 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 23709 (apache2) Tasks: 6 (limit: 4679) Memory: 15.3M CPU: 110ms CGroup: /system.slice/apache2.service ??23709 /usr/sbin/apache2 -k start ??23710 /usr/sbin/apache2 -k start ??23711 /usr/sbin/apache2 -k start ??23712 /usr/sbin/apache2 -k start ??23713 /usr/sbin/apache2 -k start ??23714 /usr/sbin/apache2 -k start Nov 06 14:46:54 debian11 systemd[1]: Starting The Apache HTTP Server...
Access TaskBoard
TaskBoard is now ready. Open your browser and navigate to http://taskboard.example.com to access the login page:
Log in with the default credentials (username: admin, password: admin). The dashboard will appear:
Go to Settings to change the default admin password:
Enter your new admin password and apply the changes.
Secure TaskBoard with Let’s Encrypt SSL
To secure TaskBoard with Let’s Encrypt, install the Certbot client:
apt-get install python3-certbot-apache -y
Run Certbot to obtain an SSL certificate for your domain:
certbot --apache -d taskboard.example.com
Follow the prompts to set up your SSL certificate:
Saving debug log to /var/log/letsencrypt/letsencrypt.log ... Congratulations! You have successfully enabled https://taskboard.example.com
Conclusion
Congratulations! You have successfully installed TaskBoard with Apache and secured it with Let’s Encrypt SSL. You can now manage tasks from your central dashboard effectively. If you have any questions, feel free to ask.
FAQ
What is TaskBoard?
TaskBoard is an open-source Kanban project management tool designed to help users manage and track tasks efficiently.
Is TaskBoard free to use?
Yes, TaskBoard is completely free and open-source.
Can I customize TaskBoard?
Yes, TaskBoard is highly customizable to fit your specific needs.
How do I secure TaskBoard with SSL?
This guide demonstrates how to secure TaskBoard using Let’s Encrypt SSL by installing the Certbot client and obtaining an SSL certificate for your domain.
Where can I access the TaskBoard interface?
After installation, you can access the TaskBoard dashboard by navigating to your server’s domain in a web browser, configured during setup.