「Taskd」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎ユーザーの設定: 情報を更新)
57行目: 57行目:
 
== クライアント ==
 
== クライアント ==
 
=== ユーザーの設定 ===
 
=== ユーザーの設定 ===
{{ic|*.pem}} ファイルを {{ic|~/.task}} に追加したら、サーバー名とユニーク ID とあわせて task の設定に追加してください:
 
   
  +
{{ic|.pem}} ファイルがユーザーの Taskwarrior データディレクトリにコピーされたら、ファイルを指すように構成を更新する必要があります。
{{bc|task config taskd.certificate ~/.task/username.cert.pem
 
task config taskd.key ~/.task/username.key.pem
 
task config taskd.ca ~/.task/ca.cert.pem
 
task config taskd.server servername:port
 
task config taskd.credentials group/username/key}}
 
   
設定を追加したら、設定ファイルを確認てください
+
同じディレクトリの {{ic|config}} ファイルに以下追加ます
   
  +
{{hc|/var/lib/taskd/config|<nowiki>
{{ic|task sync init}} の実行後、ユーザーは taskwarrior をいつでも同期できるようになります。
 
  +
taskd.server=servername:port
  +
taskd.credentials=group/username/key
  +
taskd.certificate=~/.task/username.cert.pem
  +
taskd.key=~/.task/username.key.pem
  +
taskd.ca=~/.task/ca.cert.pem
  +
</nowiki>}}
  +
  +
パスは {{ic|task}} が実行されるディレクトリからの相対パスであるため、{{ic|~}} からの相対パスまたは絶対パスである必要があります。
  +
  +
初期同期を実行し、Taskwarriorデータをサーバーに送信することに同意します。
  +
{{bc|$ task sync init}}
  +
  +
ローカルの変更をサーバーに送信します:
  +
{{bc|$ task sync}}
   
 
=== Android の Taskwarrior アプリを使う ===
 
=== Android の Taskwarrior アプリを使う ===

2022年5月28日 (土) 17:15時点における版

taskd はタスクデータへのマルチユーザー・マルチクライアントによるアクセスを提供する軽量・セキュアなサーバーです。デスクトップと携帯端末の同期を可能にします。

サーバー

インストール

taskd は taskd または taskd-gitAUR パッケージでインストールできます。

設定

taskd をインストールしたら設定が必要です。最初に export TASKDDATA=/var/lib/taskd を実行してください (このコマンドを実行しない場合、taskd コマンドを実行するたびに --data /var/lib/taskd を付ける必要があります。)

次に /usr/share/doc/taskd/pki/vars ファイルを編集してください。CN= 行にサーバーのホストネームあるいは IP アドレスを指定してください (接続方法によってどちらか選んでください)。ファイルが編集できたら、/usr/share/doc/taskd/pki/generate を実行してください。サーバーの自己署名証明書が作成されます。生成された *.pem ファイルを全て /var/lib/taskd にコピーしてください。最低でも、後でユーザー証明書を作成するために ca.cert.pem は pki フォルダに必須になります。

ノート: taskd-gitAUR の場合、/usr/share/doc/taskd/usr/lib/taskd に移動します。

それから taskd を設定してください。taskd config を実行するか /var/lib/taskd/config を直接編集することで設定できます。

/var/lib/taskd/config
client.cert=/var/lib/taskd/client.cert.pem
client.key=/var/lib/taskd/client.key.pem
server.cert=/var/lib/taskd/server.cert.pem
server.key=/var/lib/taskd/server.key.pem
server.crl=/var/lib/taskd/server.crl.pem
ca.cert=/var/lib/taskd/ca.cert.pem

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

さらに以下のコマンドを実行して taskd がログを出力する場所を変更してください (デフォルトは /tmp/log となっています):

touch /var/log/taskd.log
chown taskd:taskd /var/log/taskd.log
taskd config --force log /var/log/taskd.log

最後に taskd のサーバー名を設定します。証明書の名前と同じ名前を設定してください: taskd config --force server servername:port。taskd のポートはデフォルトでは設定されていないため、手動で設定する必要があります。

実行

taskd.service起動/有効化 します。

taskd にユーザーを追加

tasked は、データをグループとユーザーに編成し、各ユーザーはグループに属します。

ユーザーを追加するには、次のコマンドを実行し、必要に応じて [group][username] を置き換えます。

# taskd add org [group]
# taskd add user [group] [username]

最後のコマンドが返すキーに注意してください。ユーザーは同期するためにキーが必要になります。

新しいグループとユーザーがユーザー taskd によって読み取り可能であることを確認してください。

# chown -R taskd:taskd /var/lib/taskd/orgs

/usr/share/doc/taskd/pki/ に戻り、

#./generate.client username

を実行します。これにより、username.cert.pemusername.key.pem がが返されます。

username.key.pemusername.cert.pem、および ca.cert.pem は、ユーザーの Taskwarrior ユーザーデータディレクトリにコピーする必要があります (デフォルトは ~/.task)

クライアント

ユーザーの設定

.pem ファイルがユーザーの Taskwarrior データディレクトリにコピーされたら、ファイルを指すように構成を更新する必要があります。

同じディレクトリの config ファイルに以下を追加します。

/var/lib/taskd/config
taskd.server=servername:port
taskd.credentials=group/username/key
taskd.certificate=~/.task/username.cert.pem
taskd.key=~/.task/username.key.pem
taskd.ca=~/.task/ca.cert.pem

パスは task が実行されるディレクトリからの相対パスであるため、~ からの相対パスまたは絶対パスである必要があります。

初期同期を実行し、Taskwarriorデータをサーバーに送信することに同意します。

$ task sync init

ローカルの変更をサーバーに送信します:

$ task sync

Android の Taskwarrior アプリを使う

Android アプリをダウンロードする前に、フォルダを作成する必要があります。外部ストレージに (内部ストレージしかない場合は内部ストレージでかまいません)、Android/data/kvj.taskw/files/key というフォルダを作成してください ("key" は taskd でユーザーを作成したときに表示されたキーに置き換えてください)。そしてフォルダに username.key.pem, username.cert.pem, ca.cert.pem ファイルを追加してください。.taskrc.android という名前のフォルダに以下のような新しいファイルを作成します:

taskd.server=servername:port
taskd.credentials=group/username/key
taskd.certificate=username.cert.pem
taskd.key=username.key.pem
taskd.ca=ca.cert.pem

設定できたらアプリをダウンロードして起動してください。プロファイルを追加するときに、作成したデータフォルダを選択してください。これで Taskwarrior が同期されます。

トラブルシューティング

Unreachable Server

サーバーが実行されているのに接続できない場合、IPv6 が原因かもしれません。family=IPv4/var/lib/taskd/config に追加して taskd を再起動することで強制的に IPv4 を使うことができます。

"Bad Key"

サーバーが "Bad Key" エラーを返してくる場合、作成したフォルダのパーティションを確認してください (/var/lib/taskd/ やサブフォルダ)。taskd は自動的に uid/gid を設定しないため、手動で taskd に所有者・所有グループを変更する必要があります。