Asenna TaskServer (taskd) CentOS 7:ään

TaskWarrior on avoimen lähdekoodin ajanhallintatyökalu, joka on parannus Todo.txt-sovellukseen ja sen klooniin. Koska keskivertoihminen käyttää useita laitteita/alustoja päivittäisessä aikataulussaan, on tärkeää, että hänellä on mahdollisuus saada keskitetty tietovarasto, jossa tietoja voidaan käyttää ja päivittää miltä tahansa laitteelta. Tämä opetusohjelma keskittyy sekä TaskServer-nimisen palvelimen (taskd) että TaskWarrior-nimisen asiakkaan (tehtävä) määrittämiseen, jolloin useat asiakaslaitteet voivat käyttää ja vaihtaa tietoja turvallisesti.

Siinä on seuraavat ominaisuudet:

  • Rajattomasti tehtäviä
  • Tehtävän priorisointi
  • Hakusuodatus
  • Merkintä
  • Automaattinen synkronointi
  • Automaattinen varmuuskopiointi
  • Täysi hallinta ja yksityisyys
  • Salattu viestintä

Edellytykset

  • CentOS 7 x64 -palvelinesiintymä.
  • Sudo käyttäjä.
  • Verkkotunnuksen nimi osoitti Vultr-instanssiin ( taskd.example.com )

Vaihe 1: Päivitä järjestelmä

Kirjaudu sisään sudo-käyttäjänä asentaaksesi EPEL Repository ja päivittääksesi järjestelmän seuraavasti:

sudo yum install epel-release -y
sudo yum clean all && sudo yum update -y

Vaihe 2: Asenna RPM Build ja työkalut rakentamiseen

EPEL-arkisto ei sisällä RPM:ää TaskServerille (taskd), joten meidän on rakennettava se lähteestä RPM-pakettiin itse.

  1. Asenna GCC, Make, RPM Build, kehitys- ja allekirjoitustyökalut.

    sudo yum install gcc gcc-c++ make rpmdevtools rpm-sign rpm-build -y
    
  2. Luo GnuPG-hakemisto, joka sisältää RPM:n allekirjoittamiseen tarvittavat GPG-tiedostot.

    mkdir .gnupg
    
  3. Kun luot avaimen, vaadimme järjestelmässä entropiaa, jotta se satunnaistetaan oikein. rngdDaemon tuottaa entropia välttämätöntä /dev/urandom. Joten asennetaan se nyt.

    yum install rngd -y
    
  4. Käynnistä rngddemoni entropian luomiseksi. R vaihtoehto osoittaa /dev/urandomoletuksen sijaan /dev/hwrng.

    sudo rngd -r /dev/urandom
    
  5. Luo avain. Vaihtoehto --gen-key käskee gpg:tä luomaan uuden avainparin.

    gpg --gen-key
    
  6. " Ole hyvä ja valitse minkä tyyppisen avaimen haluat: " -vaihtoehdon kohdalla valitse avaintyypiksi " (1) RSA ja RSA (oletus) " kirjoittamalla 1 ja painamalla Return/Enter- näppäintä.

  7. Valitse " Mitä näppäinkokoa haluat? (2048) " -asetukselle oletusarvo painamalla Return/Enter- näppäintä.

  8. Valitse " Määritä kuinka kauan avaimen tulee olla voimassa. " -vaihtoehdolle oletusarvo painamalla Return/Enter- näppäintä.

  9. Syötä " Onko tämä oikein? (y/N) " -vaihtoehtoa varten y ja paina Return/Enter- näppäintä.

  10. Kirjoita " Oikea nimi: " -kohtaan valitsemasi nimi ja paina Return/Enter- näppäintä.

  11. Kirjoita " Sähköpostiosoite: "-kohtaan valitsemasi sähköpostiosoite ja paina Return/Enter- näppäintä.

  12. Kommentti: osa voidaan jättää tyhjäksi, jos niin haluavat.

  13. Tee tarvittavat muutokset, jos et syöttänyt tietojasi oikein. Jos olet tyytyväinen näkyviin KÄYTTÄJÄTUNNUS- tietoihin, kirjoita O (iso kirjain O, ei nolla) ja paina Return/Enter- näppäintä.

  14. GnuPG kehottaa sinua nyt luomaan ja vahvistamaan salasanan avainparillesi.

  15. Kun olet syöttänyt salasanasi, GnuPG-avainparisi luodaan .gnupgkäyttäjähakemistosi hakemistoon.

  16. Suorita tämä komento näyttääksesi .gnupghakemiston sisällön . Sen pitäisi sisältää seuraava hakemisto private-keys-v1.dja tiedostot pubring.gpg, pubring.gpg~, random_seed, secring.gpg, S.gpg-agent, trustdb.gpg.

    ls -la .gnupg
    
  17. Vie luotu avainpari. --Export -asetus saa GnuPG viedä avainpari. Vaihtoehto -a käskee GnuPG:tä tulostamaan avainparin ascii-panssarimuodossa . Korvaa " Joe Q. Public " nimellä, jonka annoit luodessasi avainparia yllä olevassa vaiheessa #10. Korvaa " jqpublic " millä tahansa tekstillä, jonka valitset.

    gpg --export -a 'Joe Q. Public' > RPM-GPG-KEY-jqpublic
    
  18. Tuo avainpari RPM-avainsäilöön. Korvaa " jqpublic " tekstillä, jonka valitsit vaiheessa #17.

    sudo rpm --import RPM-GPG-KEY-jqpublic
    
  19. Varmista, että avainpari on lisätty RPM-avainsäilöön. -Q gpg- pubkey vaihtoehto kyselyn RPM GnuPG keystore. % {Name} -% {version} -% {julkaisu} ->% {yhteenveto} \ n näyttää tuloksen ihmisen luettavassa muodossa.

    rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}\n'
    
  20. Luomalla .rpmmacros fileRPM voidaan mukauttaa suorittamaan määritettyjä toimintoja (esimerkki: helpottaa RPM:iden automaattista allekirjoittamista). Käytä nanoohjelmaa tiedoston luomiseen.

    nano .rpmmacros
    
  21. Lisää sitten alla oleva teksti .rpmmacrostiedostoon.

    %_gpg_name  Joe Q. Public
    %_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}
    %_signature gpg
    %_topdir %(echo $HOME)/rpmbuild
    
  22. Tallenna asiakirja kirjoittamalla seuraavat näppäinyhdistelmät. CTRL + X Keys. Sitten S- näppäin. Lopuksi Return/Enter- näppäin.

  23. Tämä alla oleva komento määrittää RPM-rakennusympäristösi. Tämä lisää lisämakroja .rpmmacrosvaiheessa #20 luomaasi tiedostoon ja luo tarvittavat hakemistot RPM:iden rakentamista ja tallentamista varten.

    rpmdev-setuptree
    
  24. Suorita tämä komento näyttääksesi rpmbuild-hakemiston sisällön. Sen tulisi sisältää seuraavat hakemistot LÄHTEET , RPMS , BUILD , SRPMS ja SPECS .

    find rpmbuild
    
  25. Lataa TaskServer (taskd) -lähdekoodi rpmbuild/SOURCEShakemistoon.

    wget https://taskwarrior.org/download/taskd-1.1.0.tar.gz -P rpmbuild/SOURCES/
    
  26. Tapa käynnissä oleva rgndprosessi.

    sudo kill -9 rngd
    

Vaihe 3: Rakenna TaskServer (taskd) RPM lähteestä

  1. Uuden RPM:n rakentamiseksi lähteestä on luotava TaskServer (taskd) SPEC-tiedosto.

    nano rpmbuild/SPECS/taskd.spec
    
  2. Lisää alla oleva teksti taskd.spectiedostoon.

    Name:           taskd
    Version:        1.1.0
    Release:        1%{?dist}
    Summary:        Secure server providing multi-user, multi-client access to task data
    Group:          Applications/Productivity
    License:        MIT
    URL:            http://tasktools.org/projects/taskd.html
    Source0:        http://taskwarrior.org/download/%{name}-%{version}.tar.gz
    Source1:        taskd.service
    Source2:        taskd-config
    Source3:        taskd.xml
    
    BuildRequires:  cmake
    BuildRequires:  libuuid-devel
    BuildRequires:  gnutls-devel
    BuildRequires:  shadow-utils
    
    
    %if 0%{?rhel} && 0%{?rhel} <= 6
    # On rhel, we don't need systemd to build.  but we do on centos.        
    # ...just to define some macros
    %else
    BuildRequires:  systemd
    %endif
    
    # For certificate generation        
    Requires:       gnutls-utils
    
    # Systemd requires
    Requires(post):    systemd
    Requires(preun):   systemd
    Requires(postun):  systemd
    
    %description
    The TaskServer is a lightweight, secure server providing multi-user,
    multi-client access to task data.  This allows true syncing between desktop and
    mobile clients.
    
    Users want task list access from multiple devices running software of differing
    sophistication levels to synchronize data seamlessly.  Synchronization requires
    the ability to exchange transactions between devices that may not have
    continuous connectivity, and may not have feature parity.
    
    The TaskServer provides this and builds a framework to go several steps beyond
    merely synchronizing data.
    
    %prep
    %setup -q %{name}-%{version}
    
    %build
    %cmake
    make %{?_smp_mflags}
    
    %install
    make install DESTDIR=%{buildroot}
    
    mkdir -p %{buildroot}%{_sharedstatedir}/taskd/
    
    # Users will keep their keys here, but we copy some helpful scripts too.
    mkdir -p %{buildroot}%{_sysconfdir}/pki/taskd/
    cp -a pki/generate* %{buildroot}%{_sysconfdir}/pki/taskd/.
    
    mkdir -p %{buildroot}%{_localstatedir}/log/taskd/
    
    %if 0%{?rhel} && 0%{?rhel} <= 6
    # EL6 and earlier needs a sysvinit script
    # Also, no firewalld on old EL
    %else
    mkdir -p %{buildroot}%{_unitdir}/
    cp -a %{SOURCE1} %{buildroot}%{_unitdir}/taskd.service
    
    mkdir -p %{buildroot}%{_prefix}/lib/firewalld/services
    cp -a %{SOURCE3} %{buildroot}%{_prefix}/lib/firewalld/services/taskd.xml
    %endif
    
    mkdir -p %{buildroot}%{_sharedstatedir}/taskd/orgs/
    cp -a %{SOURCE2} %{buildroot}%{_sharedstatedir}/taskd/config
    
    rm -r %{buildroot}%{_datadir}/doc/taskd/
    
    %pre
    getent group taskd >/dev/null || groupadd -r taskd
    getent passwd taskd >/dev/null || \
        useradd -r -g taskd -d %{_sharedstatedir}/taskd/ -s /usr/bin/sh \
        -c "Task Server system user" taskd
    exit 0
    
    # Systemd scriptlets
    %if 0%{?rhel} && 0%{?rhel} <= 6
    # No systemd for el6
    %else
    
    %post
    %systemd_post taskd.service
    
    %preun
    %systemd_preun taskd.service
    
    %postun
    %systemd_postun_with_restart taskd.service
    
    %endif
    
    
    %files
    %doc AUTHORS COPYING ChangeLog NEWS README
    %{_bindir}/taskd
    %{_bindir}/taskdctl
    %{_mandir}/man1/taskd.1.*
    %{_mandir}/man1/taskdctl.1.*
    %{_mandir}/man5/taskdrc.5.*
    
    %{_sysconfdir}/pki/taskd/generate*
    
    %dir %attr(0750, taskd, taskd) %{_sysconfdir}/pki/taskd/
    %dir %attr(0750, taskd, taskd) %{_localstatedir}/log/taskd/
    
    %dir %attr(0750, taskd, taskd) %{_sharedstatedir}/taskd/
    %config(noreplace) %attr(0644, taskd, taskd) %{_sharedstatedir}/taskd/config
    %dir %attr(0750, taskd, taskd) %{_sharedstatedir}/taskd/orgs/
    
    %if 0%{?rhel} && 0%{?rhel} <= 6
    # No sysvinit files for el6
    %else
    %{_unitdir}/taskd.service
    %{_prefix}/lib/firewalld/services/taskd.xml
    %endif
    
    %changelog
    * Thu Aug 17 2017 Jarrett Graham <[email protected]> - 1.1.0
    - Initial packaging.
    
  3. The RPM also requires three additional files that must be created in the rpmbuild/SOURCES directory. Use the nano program to create the taskd-config file.

    nano rpmbuild/SOURCES/taskd-config
    
  4. Add the following text below into the taskd-config file.

    # taskd configuration file
    confirmation=1
    verbose=1
    ip.log=on
    extensions=/usr/libexec/taskd
    queue.size=10
    request.limit=1048576
    server=0.0.0.0:53589
    root=/var/lib/taskd
    log=/var/log/taskd/taskd.log
    pid.file=/var/run/taskd.pid
    ca.cert=/etc/pki/taskd/ca.cert.pem
    server.cert=/etc/pki/taskd/server.cert.pem
    server.key=/etc/pki/taskd/server.key.pem
    server.crl=/etc/pki/taskd/server.crl.pem
    
  5. Use the nano program to create the taskd.service file.

    nano rpmbuild/SOURCES/taskd.service
    
  6. Add the following text below into the taskd.service file.

    [Unit]
    Description=Secure server providing multi-user, multi-client access to task data
    After=network.target
    Documentation=https://tasktools.org/projects/taskd.html
    
    [Service]
    ExecStart=/usr/bin/taskd server --data /var/lib/taskd
    Type=simple
    User=taskd
    Group=taskd
    
    [Install]
    WantedBy=multi-user.target
    
  7. Use the nano program to create the taskd.xml file.

    nano rpmbuild/SOURCES/taskd.xml
    
  8. Add the following text below into the taskd.xml file.

    <?xml version="1.0" encoding="utf-8"?>
    <service>
      <short>Task-warrior server</short>
      <description>This option allows you to connect to the task warrior server.</description>
      <port protocol="tcp" port="53589"/>
    </service>
    
  9. In order to build the TaskServer (taskd) RPM, three packages are required for building. Run the command below to install those packages.

    sudo yum install cmake libuuid-devel gnutls-devel gnutls-utils -y
    
  10. Now it is time to build from source and create an RPM for TaskServer (taskd). Run the commands below to get started. It should take less than a minute on a 1x CPU Vultr instance to build the RPMs. Enter the GnuPG password you created in step #14 to sign the RPM when prompted.

    cd rpmbuild/SPECS/
    rpm -ba -sign taskd.spec
    
  11. Install the TaskServer (taskd) RPM.

    cd
    sudo rpm -ivh rpmbuild/RPMS/x86_64/taskd-1.1.0-1.el7.centos.x86_64.rpm
    

Step 4: Configure TaskServer (task)

  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 below into the vars file. Change ORGANIZATION, CN, COUNTRY, STATE and LOCALITY to your satisfaction.

    BITS=4096
    EXPIRATION_DAYS=365
    ORGANIZATION="Vultr.com Inc."
    CN=taskd.example.com
    COUNTRY=US
    STATE="New York"
    LOCALITY="New York"
    
  3. Generate the self-signed Root CA, certificate, server key 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 in step #37 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. Enable and start the TaskServer (taskd) daemon.

    systemctl enable taskd
    systemctl start taskd
    
  5. Open the port in the firewall TaskServer (taskd) runs on.

    firewall-cmd --permanent --zone=public --add-port=53589/tcp
    firewall-cmd --reload
    

    TaskServer (taskd) is now installed and setup on your CentOS 7 instance.

Step 5: Configure TaskWarrior client certificate and key

  1. You must create client certificates and key to encrypt communications between TaskServer (taskd) and TaskWarrior (task). Run the command below to generate a client certificate and key. Replace NAME with a name you can easily recognize for your client.

    generate.client NAME
    

    This command will create the following files (NAME.cert.pem, NAME.key.pem) inside of the /etc/pki/taskd/ directory.

  2. Copy the following files to your user directory, change the ownership and permissions. Substitute joeqpublic below with your actual username directory.

    cp ca.cert.pem NAME.cert.pem NAME.key.pem /home/joeqpublic/
    chown joeqpublic.joeqpublic /home/joeqpublic/*.pem
    chmod 400 /home/joeqpublic/*.pem
    
  3. Create a zip archive of the certificates and key.

    zip certficates.zip ca.cert.pem NAME.cert.pem NAME.key.pem
    
  4. Use scp (command line) or WinSCP (GUI frontend for SCP) to download the certificates.zip file from your CentOS instance to your client device (computer/laptop/smartphone).

  5. Drop root privileges and perform the rest of your commands as your regular user.

    exit
    

    TaskServer (taskd) is now setup and ready for TaskWarrior (task) clients to connect.

Step 6: Create your first TaskWarrior group and user

  1. In order to create, delete, modify and sync your tasks, you will need a user account. However, before you can add users, you will first need to create an organizational group. Run the command below to create your first group. Replace GROUP with an easily recognizable name.

  2. IMPORTANT! The taskd command to create groups/users must be ran as the taskd user. Running as the root user will create directories and files owned by the root user under /var/lib/taskd/orgs which will prevent TaskWarrior (task) clients from being able to access or modify anything in the group to which they have been assigned. Access will be denied.

    sudo -u taskd taskd add org GROUP --data /var/lib/taskd
    
  3. Now, that you've created your first group, let's create your first user. Run the command below to create a user assigned to the group created in step #1. Copy and paste the generated user key, user and group in a text file. Repeat the process to add additional users.

    sudo -u taskd taskd add user GROUP 'Joe. Q. Public' --data /var/lib/taskd
    

Step 7: Install TaskWarrior clients

Windows 10 (Build later than 1607+)

To use TaskWarrior (task) on Windows 10, you need to install the Windows Subsystem For Linux from the Windows Store.

  1. To install WSL, an elevated Powershell prompt is required. Press the Window Key and type powershell. Right click on Windows Powershell at the top of the results and select "Run as administrator". At the User Account Control prompt, click Yes. Copy and paste the text found below in the Powershell windows. When WSL finishes installing, press the Y Key to restart Windows.

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    
  2. Uudelleenkäynnistyksen jälkeen avaa komentokehote ja kirjoita seuraava komento bash . Tämä asentaa Ubuntun Windowsiin. Paina Y-näppäintä . Se ladataan ja puretaan nyt. Valitse käyttäjätunnus ja salasana.

    bash
    
  3. Nyt on aika asentaa TaskWarrior (tehtävä). Kirjoita seuraava komento konsolin sisään.

    sudo apt-get install task -y
    
  4. Kirjoita exit kahdesti poistuaksesi bash-päätteestä ja Windowsin komentokehotteesta.

  5. Napsauta Käynnistä-valikkopainiketta. Kirjoita ubuntu . Napsauta hiiren kakkospainikkeella Bashia Ubuntussa Windowsissa . Valitse Kiinnitä tehtäväpalkkiin . Tämä tarjoaa kätevän nopean pääsyn bashiin TaskWarriorin (tehtävän) käyttämiseksi.

  6. Napsauta juuri luomaasi Ubuntu-kuvaketta tehtäväpalkissa. Tämä avaa pääteikkunan, jossa on Bash. Kirjoita alla oleva komento luodaksesi TaskWarrior (tehtävä) -tietohakemiston ( ~/.task/) ja määritystiedoston ( .taskrc).

    task version
    yes
    
  7. Sinun on siirrettävä certificates.zipaiemmin TaskServer-asennuksen aikana tallentamasi tiedosto ~/.taskd/käyttäjähakemiston sisällä olevaan hakemistoon. Jos haluat purkaa tiedostot zip-tiedostosta, asenna unzipohjelma ensin. Kopioi ja liitä alla olevat komennot, jotka korvaavat kopiosi todellisen sijainnin certificates.zip.

    sudo apt-get install unzip -y
    cp /mnt/c/User/WINDOWSUSER/Desktop/certificates.zip .
    cd .task
    unzip ../certificates.zip
    cd
    
  8. Kirjoita seuraavat komennot asettaaksesi TaskWarrior (tehtävä) muodostamaan yhteyden TaskServeriin (taskd). Korvaa NAME sillä, mitä olet nimennyt varmentellesi ja avaimellesi, GROUP luomallasi ryhmällä, Joe Q. Julkinen luomallasi käyttäjänimellä ja XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX avaimella, joka on määritetty käyttäjällesi luotiin TaskWarrior (taskd) -palvelimelle.

    task config taskd.ca -- ~/.task/ca.cert.pem
    task config taskd.certificate -- ~/.task/**NAME**.cert.pem
    task config taskd.key -- ~/.task/**NAME**.key.pem
    task config taskd.server -- taskd.example.com:53589
    task config taskd.credentials -- GROUP/Joe Q. Public/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX
    
  9. Nyt on aika synkronoida TaskWarrior (tehtävä) TaskServerin (taskd) kanssa. Suorita alla oleva komento alustaaksesi tietokanta.

    task sync init
    

    Synkronointi TaskWarrior-asiakkaan (tehtävä) ja TaskServerin (taskd) välillä on nyt määritetty Windows 10 -alustalle.

Android

Jotta voit käyttää TaskWarrioria (tehtävää) Androidissa, sinun on asennettava TaskWarrior For Android Google Play Kaupasta.

  1. Asenna TaskWarrior (task) For Android -sovellus Googlen Play Kaupasta.

  2. Avaa TaskWarrior (tehtävä) Androidille -sovellus.

  3. Sovellus kehottaa sinua luomaan tilin halutulla tilin nimellä . Syötä nimi, jonka valitsit luodessasi käyttäjätunnuksen TaskServer (taskd) -käyttäjälle.

  4. Jätä tietokansio oletusasetukseksi <<Luo uusi>> ja napauta OK- painiketta. Käytä tiedostonhallintasovellusta luodaksesi kansion tallennustilan juureen (esimerkiksi: /storage/emulate/0/Certs). Lähetä sovellus taustalle.

  5. Kopioi certificates.zipaiemmin luomasi tiedosto ja pura sen sisältö vaiheessa 4 luotuun hakemistoosi.

  6. Etualalla "TaskWarrior (task) For Android" -sovellus ja avaa se napauttamalla sovelluksen vasemmassa yläkulmassa olevaa valikkoa.

  7. Vieritä alas valikon alaosaan ja napauta Asetukset- vaihtoehtoa.

  8. Tämä avaa yksinkertaisen sisäänrakennetun TaskWarrior For Android -sovelluksen tekstieditorin.

  9. Määritä synkronointi TaskServerin (taskd) kanssa antamalla seuraavat vaihtoehdot. Vaihda taskd.ca/ taskd.certificate/ taskd.key` muuttujiin todellinen Ca / varmenteen / avaimen hakemistopolku (s), NAME , mitä sinun nimesi sertifikaatin ja avaimen GROUP ryhmän kanssa luotu, Joe Q. Julkinen käyttäjätunnuksella loit ja XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX avaimella, joka määritettiin, kun loit käyttäjän TaskWarrior (taskd) -palvelimella.

    taskd.ca=/storage/emulate/0/Certs/ca.cert.pem
    taskd.certificate=/storage/emulate/0/Certs/NAME.cert.pem
    taskd.credentials=GROUP/Joe Q. Public/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
    taskd.key=/storage/emulate/0/Certs/NAME.key.pem
    taskd.server=taskd.example.com:53589
    
  10. Tallenna asetukset napauttamalla levykekuvaketta.

Synkronointi TaskWarrior (tehtävä) -asiakkaan ja TaskServerin (taskd) välillä on nyt määritetty Android-alustalle.

Linux

  1. Katso TaskWarrior (tehtävä) -jakeluosiossa asentaaksesi tietyn Linux-jakelun .

  2. Avaa pääteikkuna. Kirjoita alla oleva komento luodaksesi TaskWarrior (tehtävä) -tietohakemiston ( ~/.task/) ja määritystiedoston ( .taskrc).

    task version
    yes
    
  3. Sinun on siirrettävä certificates.zipaiemmin TaskServer-asetuksissa tallentamasi tiedosto ~/.taskd/käyttäjähakemiston sisällä olevaan hakemistoon. Jos haluat purkaa tiedostot zip-tiedostosta, asenna unzipohjelma ensin tiettyä jakelua varten. Kopioi ja liitä alla olevat komennot, jotka korvaavat kopiosi todellisen sijainnin certificates.zip.

    cp /location/of/certificates.zip .
    cd .task
    unzip ../certificates.zip
    cd
    
  4. Kirjoita seuraavat komennot asettaaksesi TaskWarrior (tehtävä) muodostamaan yhteyden TaskServeriin (taskd). Korvaa NAME sillä, mitä olet nimennyt varmentellesi ja avaimellesi, GROUP luomallasi ryhmällä, Joe Q. Julkinen luomallasi käyttäjänimellä ja XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX avaimella, joka on määritetty käyttäjällesi luotiin TaskWarrior (taskd) -palvelimelle.

    task config taskd.ca -- ~/.task/ca.cert.pem
    task config taskd.certificate -- ~/.task/**NAME**.cert.pem
    task config taskd.key -- ~/.task/**NAME**.key.pem
    task config taskd.server -- taskd.example.com:53589
    task config taskd.credentials -- GROUP/Joe Q. Public/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX
    
  5. Nyt on aika synkronoida TaskWarrior (tehtävä) TaskServerin (taskd) kanssa. Suorita alla oleva komento alustaaksesi tietokanta.

    task sync init
    

Lisäys: Jos käytät Gnome Shelliä , siinä on TaskWhisper- laajennus, joka integroituu TaskWarrioriin (tehtävä).

Synkronointi TaskWarrior-asiakkaan (tehtävä) ja TaskServerin (taskd) välillä on nyt määritetty suosikki Linux-distrollesi.


Asenna Plesk CentOS 7:ään

Asenna Plesk CentOS 7:ään

Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ​​ja/tai asiakkaidensa verkkosivustoja, tietokantoja

Kuinka asentaa Squid Proxy CentOS:ään

Kuinka asentaa Squid Proxy CentOS:ään

Squid on suosittu, ilmainen Linux-ohjelma, jonka avulla voit luoda edelleenlähetysverkkovälityspalvelimen. Tässä oppaassa näet, kuinka Squid asennetaan CentOS:ään kääntääksesi sinut

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Johdanto Lighttpd on Apachen haarukka, jonka tarkoituksena on olla paljon vähemmän resurssiintensiivinen. Se on kevyt, tästä syystä sen nimi, ja on melko yksinkertainen käyttää. Asenna

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

VULTR on äskettäin tehnyt muutoksia heidän omiinsa, ja kaiken pitäisi nyt toimia hyvin heti, kun NetworkManager on käytössä. Jos haluat poistaa käytöstä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2 on tehokas valvontajärjestelmä, ja master-client-mallissa käytettynä se voi korvata NRPE-pohjaisten valvontatarkastusten tarpeen. Pääasiakas

Apache Cassandra 3.11.x:n asentaminen CentOS 7:ään

Apache Cassandra 3.11.x:n asentaminen CentOS 7:ään

Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.

Kuinka asentaa Microweber CentOS 7:ään

Kuinka asentaa Microweber CentOS 7:ään

Käytätkö erilaista järjestelmää? Microweber on avoimen lähdekoodin vedä ja pudota sisällönhallintajärjestelmä ja verkkokauppa. Microweber-lähdekoodia isännöidään GitHubissa. Tämä opas näyttää sinulle

Mattermost 4.1:n asentaminen CentOS 7:ään

Mattermost 4.1:n asentaminen CentOS 7:ään

Käytätkö erilaista järjestelmää? Mattermost on avoimen lähdekoodin itseisännöity vaihtoehto Slack SAAS -viestipalvelulle. Toisin sanoen Mattermostin avulla voit noin

Minecraft-palvelinverkon luominen BungeeCordilla Debian 8:ssa, Debian 9:ssä tai CentOS 7:ssä

Minecraft-palvelinverkon luominen BungeeCordilla Debian 8:ssa, Debian 9:ssä tai CentOS 7:ssä

Mitä tarvitset Vultr VPS:n, jossa on vähintään 1 Gt RAM-muistia. SSH-käyttö (pääkäyttäjän/järjestelmänvalvojan oikeuksilla). Vaihe 1: BungeeCordin asentaminen Ensimmäiset asiat ensin

Sallii salauksen Pleskissä

Sallii salauksen Pleskissä

Plesk-ohjauspaneelissa on erittäin mukava integraatio Lets Encryptille. Lets Encrypt on yksi ainoista SSL-palveluntarjoajista, jotka myöntävät varmenteita täydellisesti

Sallii salauksen cPanelissa

Sallii salauksen cPanelissa

Lets Encrypt on varmenneviranomainen, joka on omistautunut tarjoamaan SSL-varmenteita ilmaiseksi. cPanel on rakentanut siistin integraation sinulle ja asiakkaallesi

Kuinka asentaa Concrete5 CentOS 7:ään

Kuinka asentaa Concrete5 CentOS 7:ään

Käytätkö erilaista järjestelmää? Concrete5 on avoimen lähdekoodin sisällönhallintajärjestelmä, joka tarjoaa monia ainutlaatuisia ja hyödyllisiä ominaisuuksia, jotka auttavat toimittajia tuottamaan sisältöä helposti ja helposti.

Review Boardin asentaminen CentOS 7:ään

Review Boardin asentaminen CentOS 7:ään

Käytätkö erilaista järjestelmää? Review Board on ilmainen ja avoimen lähdekoodin työkalu lähdekoodin, dokumentaation, kuvien ja monien muiden tarkistamiseen. Se on web-pohjainen ohjelmisto

Asenna HTTP-todennus Nginxillä CentOS 7:ssä

Asenna HTTP-todennus Nginxillä CentOS 7:ssä

Tässä oppaassa opit määrittämään HTTP-todennuksen Nginx-verkkopalvelimelle, joka toimii CentOS 7:ssä. Vaatimukset Aloitaksesi tarvitset

Kuinka asentaa YOURLS CentOS 7:ään

Kuinka asentaa YOURLS CentOS 7:ään

YOURLS (Your Own URL Shortener) on avoimen lähdekoodin URL-osoitteiden lyhennys- ja data-analytiikkasovellus. Tässä artikkelissa käsittelemme asennusprosessia

Kuinka asentaa ja määrittää ArangoDB CentOS 7: ssä

Kuinka asentaa ja määrittää ArangoDB CentOS 7: ssä

Käytätkö erilaista järjestelmää? Johdanto ArangoDB on avoimen lähdekoodin NoSQL-tietokanta, jossa on joustava tietomalli asiakirjoille, kaavioille ja avainarvoille. se on

Etckeeperin käyttäminen /etc-version hallintaan

Etckeeperin käyttäminen /etc-version hallintaan

Johdanto /etc/-hakemistolla on tärkeä rooli Linux-järjestelmän toiminnassa. Syynä tähän on se, että lähes kaikki järjestelmäkokoonpanot

Miksi sinun pitäisi käyttää SSHFS:ää? Kuinka asentaa etätiedostojärjestelmä SSHFS:llä CentOS 6:ssa

Miksi sinun pitäisi käyttää SSHFS:ää? Kuinka asentaa etätiedostojärjestelmä SSHFS:llä CentOS 6:ssa

Monet järjestelmänvalvojat hallitsevat suuria määriä palvelimia. Kun tiedostoja on käytettävä eri palvelimien kautta, kirjaudu jokaiseen erikseen n

Half Life 2 -palvelimen määrittäminen CentOS 6:lle

Half Life 2 -palvelimen määrittäminen CentOS 6:lle

Tämä opetusohjelma kattaa Half Life 2 -pelipalvelimen asennuksen CentOS 6 -järjestelmään. Vaihe 1: Edellytysten asentaminen Voit määrittää ou

Kuinka asentaa Laravel GitScrum CentOS 7:ään

Kuinka asentaa Laravel GitScrum CentOS 7:ään

Laravel GitScrum tai GitScrum on avoimen lähdekoodin tuottavuustyökalu, joka on suunniteltu auttamaan kehitysryhmiä ottamaan käyttöön Scrum-metodologian samalla tavalla.

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja