Installing Taskserver from a tarball is a matter of downloading the tarball, extracting it, satisfying dependencies and building the server.
Before building the software, you will need to satisfy the dependencies by installing the following:
- GnuTLS (likely
libgnutls-dev, ideally version 3.2 or newer)
- CMake (2.8 or newer)
- A C++ Compiler (GCC 4.7 or Clang 3.0 or newer)
Note that some OSes (Darwin, FreeBSD, …) include
libuuid functionality in libc.
You don't necessarily need the latest version of all components, but it is a good idea if you can. GnuTLS is a security component, and as such, it is very important that it is current. Using GnuTLS version 2.12.x is neither adequately secure, nor production quality.
The next step is to obtain the code. This means getting the Task Server 1.0.0 (or newer) source tarball. You should check for the latest stable release here: https://taskwarrior.org/download/
You can download the tarball with
curl, as an example of just one of many ways to download the tarball.
$ curl -LO https://taskwarrior.org/download/taskd-latest.tar.gz
Expand the tarball, and build the Taskserver.
$ tar xzf taskd-latest.tar.gz $ cd taskd-1.1.0 $ cmake -DCMAKE_BUILD_TYPE=release . ... $ make ...
Now install Taskserver. This copies files into the right place, and installs man pages.
$ sudo make install ...
taskd command to verify that the server is installed, and the location is in your
$PATH. You should see something like this:
$ taskd Usage: taskd -v|--version taskd -h|--help taskd diagnostics taskd validate <JSON | file> taskd help [<command>] Commands run only on server: taskd add [options] org <org> taskd add [options] group <org> <group> taskd add [options] user <org> <user> taskd config [options] [--force] [<name> [<value>]] taskd init [options] taskd remove [options] org <org> taskd remove [options] group <org> <group> taskd remove [options] user <org> <user> taskd resume [options] org <org> taskd resume [options] group <org> <group> taskd resume [options] user <org> <user> taskd server [options] [--daemon] taskd status [options] taskd suspend [options] org <org> taskd suspend [options] group <org> <group> taskd suspend [options] user <org> <user> Commands run remotely: taskd client [options] <host:port> <file> [<file> ...] Common Options: --quiet Turns off verbose output --debug Generates debugging diagnostics --data <root> Data directory, otherwise $TASKDDATA --NAME=VALUE Temporary configuration override