In this tutorial we'll learn how-to install and configure TaskBoard on Ubuntu 14.04. We'll install all TaskBoard prerequisites before installing TaskBoard itself.
We need to install these applications before we can install TaskBoard:
Fresh install of Ubuntu Server 14.04. You can use any ubuntu flavors but using ubuntu server will make sure your server have minimalist ubuntu installation so your system will not be loaded by unnecessary softwares.
PHP > 5.5. TaskBoard also need php5-sqlite PHP library.
Update the Base System
Before we install TaskBoard and its prerequisites let's update the system to the latest update.
$ sudo apt-get update
$ sudo apt-get -y upgrade
Now the base system is ready, let's install Apache webserver first
$ sudo apt-get install apache2 apache2-bin apache2-data apache2-mpm-prefork libaio1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libdbi-perl libhtml-template-perl libterm-readkey-perl libwrap0 ssl-cert tcpd
Need to get 2,258 kB of archives.
After this operation, 7,917 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Press Y when apt ask whether we want to continue the prosess or not.
After installation we can check Apache 2 process using command below
$ sudo service apache2 status
* apache2 is running
The output above shows that apache2 process is running.
We can also check apache process using netstat to check if it's already listen on default http port (80).
Don't forget to change taskboard.exampleserver.xyz above with the domain name that you use for your TaskBoard installation.
Enable the site using a2ensite command.
$ sudo a2ensite taskboard
Reload apache2 process so it read the new virtualhost configuration:
$ sudo service apache2 reload
Enable Apache Expires and Rewrite Modules
TaskBoard use .htaccess to override some Apache configuration. We need to enable mod_expires and mod_rewrite that is being used on TaskBoard .htaccess file. To enable both modules we can run command below.
$ sudo a2enmod expires
$ sudo a2enmod rewrite
Restart the Apache 2 service so it will use both modules that we just enable.
$ sudo service apache2 restart
Login to TaskBoard
TaskBoard is ready. Open and point our browser to TaskBoard address. We will be greeted with TaskBoard login page.
The setting below is for port and whether we use secure (encrypted) or non secure connection. TaskBoard support tls, ssl, and false (no security for $MAIL_SMTPSECURE settings. The $MAIL_PORT will depend on the mail server provider.
$MAIL_SMTPSECURE = 'tls';
$MAIL_PORT = 587;
This is the email address and name that we want to be shown to users. $MAIL_FROM usually same with $MAIL_USERNAME.
$MAIL_FROM = '';
$MAIL_FROMNAME = 'TaskBoard';
On the settings page, TaskBoard Users, click Add User Button.
# Uncomment the following directive when using client certificate authentication
# HSTS (mod_headers is required) (15768000 seconds = 6 months)
Header always set Strict-Transport-Security "max-age=15768000"
# intermediate configuration, tweak to your needs
SSLProtocol all -SSLv2 -SSLv3
We need to enable two new modules, mod_ssl and mod_headers before we can enable new virtual host config that we just created.
$ sudo a2enmod ssl
$ sudo a2enmod headers
We will also disable taskboard http only virtual host and enable the new virtual config.
Truth be told, it’s difficult for a web application that doesn’t have some kind of identification, even if you don’t see it as a security measure in and of itself. The Internet is a kind of lawless land, and even on free services like Google’s, authentication ensures that abuses will...
Although data persistence is almost always a fundamental element of applications, Node.js has no native integration with databases. Everything is delegated to third-party libraries to be included manually, in addition to the standard APIs. Although MongoDB and other non-relational databases are the most common choice with Node because if you...