Learn How To Install TaskServer (taskd) on Fedora 26

February 18, 2019

Table of Contents

If you are using a different system, please check our other tutorials.

TaskWarrior is an open source time management tool that is an improvement on the Todo.txt application and it’s clones. Due to the fact that the average person uses multiple devices/platforms in their daily schedule, it is critical to have the ability to have a centralized repository where the data can be accessed and updated from any device. This tutorial will focus on setting up both the server, called TaskServer (taskd), and the client, called TaskWarrior (task), allowing multiple client devices to access and exchange data securely.

It possesses the following features:

  • Unlimited Tasks
  • Task Prioritizing
  • Search/Filtering
  • Tagging
  • Automatic Syncing
  • Automatic Backup
  • Full Control & Privacy
  • Encrypted Communication

Prerequisites

  • A Fedora 26 x64 server instance.
  • https://www.itweb.services/tutorials/linux-guides/how-to-use-sudo-on-debian-centos-and-freebsd”>sudo user.

  • Domain name pointed to IT Web Services instance (taskd.example.com)

Step 1: Update the System

Log in as a regular user who has permission to use the sudo command. Update the system as follows.

sudo dnf check-update || sudo dnf upgrade -y

Step 2: Install TaskServer (taskd)

  1. Use Fedora’s Dandified Yum (dnf) package tool to install the TaskServer (taskd).

    sudo dnf install taskd -y
    

Step 3: Configure TaskServer (taskd)

  1. In order for TaskServer (taskd) to communicate and sync with TaskWarrior (task) clients, you will need to use the generation scripts found under /etc/pki/taskd/ to generate server and client certificates/keys. Elevate to the root user using the command below and change directory to /etc/pki/taskd/.

    sudo su -
    cd /etc/pki/taskd/
    
  2. Use the nano program to create a vars file in order to generate a self-signed Root CA.

    nano vars
    

    Add the following text to the vars file. Change ORGANIZATION, CN, COUNTRY, STATE and LOCALITY to your satisfaction.

    BITS=4096
    EXPIRATION_DAYS=365
    ORGANIZATION="IT Web Services.com Inc."
    CN=taskd.example.com
    COUNTRY=US
    STATE="New York"
    LOCALITY="New York"
    
  3. Generate the self-signed Root CA & cert, server key & cert and server revocation list (optional).

    ./generate.ca
    ./generate.server
    ./generate.crl
    

    These commands will create the following files (ca.cert.pem, ca.key.pem, server.cert.pem, server.key.pem, and server.crl.pem) inside the /etc/pki/taskd/ directory. In order for TaskServer (taskd) to start, the ownership and permissions on the certificates and keys generated must be modified to allow TaskServer (taskd) to access them. Run the commands below to change them.

    chown taskd.taskd ca.cert.pem ca.key.pem server.cert.pem server.crl.pem server.key.pem
    chmod 400 ca.cert.pem ca.key.pem server.cert.pem server.crl.pem server.key.pem
    
  4. Configure the TaskServer (taskd) daemon configuration file.

    export TASKDDATA=/var/lib/taskd
    cd $TASKDDATA
    ln -s /etc/pki/taskd/ca.cert.pem .
    ln -s /etc/pki/taskd/server.cert.pem .
    ln -s /etc/pki/taskd/server.crl.pem .
    ln -s /etc/pki/taskd/server.key.pem .
    taskd init
    taskd config server 0.0.0.0:53589
    taskd config --force ca.cert $TASKDDATA/ca.cert.pem
    taskd config --force server.cert $TASKDDATA/server.cert.pem
    taskd config --force server.crl $TASKDDATA/server.crl.pem
    taskd config --force server.key $TASKDDATA/server.key.pem
    taskd config log /var/log/taskd/taskd.log
    taskd config pid.file /var/run/taskd.pid
    
  5. Enable and start the TaskServer (taskd) daemon.

    systemctl enable taskd
    systemctl start taskd
    

    TaskServer (taskd) is now installed and setup on your Fedora 26 instance.

Step 4: Configure TaskWarrior Client Certificate & Key

https://www.itweb.services/tutorials/linux-guides/install-taskserver-taskd-on-centos-7″>Install TaskServer (taskd) On CentOS 7 tutorial.


If you need additional reading material, refer to the TaskWarrior (task) documentation here for basic usage and other related topics.

Need help?

Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!