Εγκαταστήστε τον TaskServer (taskd) στο CentOS 7

Το TaskWarrior είναι ένα εργαλείο διαχείρισης χρόνου ανοιχτού κώδικα που αποτελεί βελτίωση της εφαρμογής Todo.txt και των κλώνων της. Λόγω του γεγονότος ότι ο μέσος άνθρωπος χρησιμοποιεί πολλές συσκευές/πλατφόρμες στο καθημερινό του πρόγραμμα, είναι κρίσιμο να έχουμε τη δυνατότητα να έχουμε ένα κεντρικό αποθετήριο όπου θα είναι δυνατή η πρόσβαση και η ενημέρωση των δεδομένων από οποιαδήποτε συσκευή. Αυτό το σεμινάριο θα επικεντρωθεί στη ρύθμιση τόσο του διακομιστή, που ονομάζεται TaskServer (taskd), όσο και του προγράμματος-πελάτη, που ονομάζεται TaskWarrior (εργασία), επιτρέποντας σε πολλές συσκευές-πελάτες να έχουν πρόσβαση και να ανταλλάσσουν δεδομένα με ασφάλεια.

Διαθέτει τα εξής χαρακτηριστικά:

  • Απεριόριστες εργασίες
  • Προτεραιοποίηση εργασιών
  • Φιλτράρισμα αναζήτησης
  • Επισήμανση
  • Αυτόματος συγχρονισμός
  • Αυτόματο αντίγραφο ασφαλείας
  • Πλήρης έλεγχος και ιδιωτικότητα
  • Κρυπτογραφημένη επικοινωνία

Προαπαιτούμενα

  • Μια παρουσία διακομιστή CentOS 7 x64.
  • Ένας χρήστης sudo .
  • Όνομα τομέα που δείχνει μια παρουσία Vultr (taskd.example.com)

Βήμα 1: Ενημερώστε το σύστημα

Συνδεθείτε ως χρήστης sudo για να εγκαταστήσετε το EPEL Repository και να ενημερώσετε το σύστημα ως εξής:

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

Βήμα 2: Εγκαταστήστε το RPM Build και τα εργαλεία για την κατασκευή

Το αποθετήριο EPEL δεν περιέχει RPM για τον TaskServer (taskd), επομένως πρέπει να το δημιουργήσουμε μόνοι μας από την πηγή σε ένα πακέτο RPM.

  1. Εγκαταστήστε τα εργαλεία GCC, Make, RPM Build, ανάπτυξης και υπογραφής.

    sudo yum install gcc gcc-c++ make rpmdevtools rpm-sign rpm-build -y
    
  2. Δημιουργήστε έναν κατάλογο GnuPG που θα περιέχει τα αρχεία GPG που είναι απαραίτητα για την υπογραφή του RPM μας.

    mkdir .gnupg
    
  3. Κατά τη δημιουργία ενός κλειδιού, χρειαζόμαστε εντροπία στο σύστημα για να το τυχαιοποιήσουμε σωστά. Ο rngdδαίμονας δημιουργεί την εντροπία που απαιτείται από το /dev/urandom. Ας το εγκαταστήσουμε λοιπόν τώρα.

    yum install rngd -y
    
  4. Εκκινήστε τον rngdδαίμονα για να δημιουργήσετε εντροπία. Η επιλογή -r δείχνει /dev/urandomαντί για την προεπιλογή /dev/hwrng.

    sudo rngd -r /dev/urandom
    
  5. Δημιουργήστε ένα κλειδί. Η επιλογή --gen-key λέει στο gpg να δημιουργήσει ένα νέο ζεύγος κλειδιών.

    gpg --gen-key
    
  6. Για την επιλογή " Επιλέξτε τι είδους κλειδί θέλετε: ", επιλέξτε " (1) RSA και RSA (προεπιλογή) " για τον τύπο κλειδιού πληκτρολογώντας 1 και πατώντας το πλήκτρο Return/Enter .

  7. Για την επιλογή " Τι μέγεθος κλειδιού θέλετε; (2048) ", επιλέξτε την προεπιλογή πατώντας το πλήκτρο Return/Enter .

  8. Για την επιλογή " Παρακαλούμε καθορίστε πόσο χρονικό διάστημα θα πρέπει να ισχύει το κλειδί. ", επιλέξτε την προεπιλογή πατώντας το πλήκτρο Return/Enter .

  9. Για την επιλογή " Είναι σωστό; (y/N) ", πληκτρολογήστε y και πατήστε το πλήκτρο Return/Enter .

  10. Στην περιοχή " Πραγματικό όνομα: ", πληκτρολογήστε ένα όνομα της επιλογής σας και πατήστε το πλήκτρο Return/Enter .

  11. Στην ενότητα " Διεύθυνση email: ", πληκτρολογήστε μια διεύθυνση email της επιλογής σας και πατήστε το πλήκτρο Return/Enter .

  12. Η ενότητα Σχόλιο: μπορεί να μείνει κενή εάν το επιλέξετε.

  13. Κάντε τις απαραίτητες αλλαγές εάν δεν εισαγάγατε σωστά τα στοιχεία σας. Εάν είστε ικανοποιημένοι με τις πληροφορίες USER-ID που εμφανίζονται, πληκτρολογήστε O (κεφαλαίο γράμμα O, όχι μηδέν) και πατήστε το πλήκτρο Return/Enter .

  14. Το GnuPG θα σας ζητήσει τώρα να δημιουργήσετε και να επαληθεύσετε έναν κωδικό πρόσβασης για το ζεύγος κλειδιών σας.

  15. Αφού εισαγάγετε τους κωδικούς πρόσβασής σας, το ζεύγος κλειδιών GnuPG θα δημιουργηθεί κάτω από τον .gnupgκατάλογο στον κατάλογο χρήστη σας.

  16. Εκτελέστε αυτήν την εντολή για να εμφανίσετε τα περιεχόμενα του .gnupgκαταλόγου. Θα πρέπει να περιέχει τον ακόλουθο κατάλογο private-keys-v1.dκαι τα αρχεία pubring.gpg, pubring.gpg~, random_seed, secring.gpg, S.gpg-agent, trustdb.gpg.

    ls -la .gnupg
    
  17. Εξαγωγή του δημιουργημένου ζεύγους κλειδιών. Η επιλογή --export δίνει εντολή στο GnuPG να εξάγει το ζεύγος κλειδιών. Η επιλογή -a δίνει εντολή στο GnuPG να εξάγει το ζεύγος κλειδιών σε μορφή θωράκισης ascii . Αντικαταστήστε το " Joe Q. Public " με το όνομα που έχετε εισαγάγει κατά τη δημιουργία του ζεύγους κλειδιών στο βήμα #10 παραπάνω. Αντικαταστήστε το " jqpublic " με όποιο κείμενο επιλέξετε.

    gpg --export -a 'Joe Q. Public' > RPM-GPG-KEY-jqpublic
    
  18. Εισαγάγετε το ζεύγος κλειδιών στο χώρο αποθήκευσης κλειδιών RPM. Αντικαταστήστε το " jqpublic " με το κείμενο που επιλέξατε στο βήμα #17.

    sudo rpm --import RPM-GPG-KEY-jqpublic
    
  19. Βεβαιωθείτε ότι το ζεύγος κλειδιών προστέθηκε στο χώρο αποθήκευσης κλειδιών RPM. Η επιλογή --q gpg-pubkey υποβάλλει ερώτημα στο χώρο αποθήκευσης κλειδιών RPM GnuPG. Το %{name}-%{version}-%{release} --> %{summary}\n εμφανίζει το αποτέλεσμα σε μορφή αναγνώσιμη από τον άνθρωπο.

    rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}\n'
    
  20. Με τη δημιουργία ενός .rpmmacros file, το RPM μπορεί να προσαρμοστεί ώστε να εκτελεί αντιστοιχισμένες συμπεριφορές (παράδειγμα: διευκόλυνση αυτόματης υπογραφής RPM). Χρησιμοποιήστε το nanoπρόγραμμα για να δημιουργήσετε το αρχείο.

    nano .rpmmacros
    
  21. Στη συνέχεια, προσθέστε το παρακάτω κείμενο στο .rpmmacrosαρχείο.

    %_gpg_name  Joe Q. Public
    %_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}
    %_signature gpg
    %_topdir %(echo $HOME)/rpmbuild
    
  22. Αποθηκεύστε το έγγραφο εισάγοντας τους παρακάτω συνδυασμούς πληκτρολογίου. Οι CTRL + X Πλήκτρα. Στη συνέχεια, το κλειδί S. Τέλος, το κλειδί Return/Enter .

  23. Αυτή η παρακάτω εντολή θα ρυθμίσει το περιβάλλον δημιουργίας RPM σας. Αυτό θα προσθέσει επιπλέον μακροεντολές στο .rpmmacrosαρχείο που δημιουργήσατε στο βήμα #20 και θα δημιουργήσει τους απαιτούμενους καταλόγους για τη δημιουργία και αποθήκευση RPM.

    rpmdev-setuptree
    
  24. Εκτελέστε αυτήν την εντολή για να εμφανίσετε τα περιεχόμενα του καταλόγου rpmbuild. Θα πρέπει να περιέχει τους παρακάτω καταλόγους SOURCES , RPMS , BUILD , SRPMS και SPECS .

    find rpmbuild
    
  25. Κατεβάστε τον πηγαίο κώδικα του TaskServer (taskd) στον rpmbuild/SOURCESκατάλογο.

    wget https://taskwarrior.org/download/taskd-1.1.0.tar.gz -P rpmbuild/SOURCES/
    
  26. Σκοτώστε τη rgndδιαδικασία εκτέλεσης .

    sudo kill -9 rngd
    

Βήμα 3: Δημιουργία RPM του TaskServer (taskd) από την πηγή

  1. Για να δημιουργήσετε ένα νέο RPM από την πηγή, πρέπει να δημιουργηθεί ένα αρχείο SPEC του TaskServer (taskd).

    nano rpmbuild/SPECS/taskd.spec
    
  2. Προσθέστε το παρακάτω κείμενο στο taskd.specαρχείο.

    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. Αφαιρέστε τα δικαιώματα root και εκτελέστε τις υπόλοιπες εντολές σας ως κανονικός χρήστης.

    exit
    

    Ο TaskServer (taskd) έχει πλέον ρυθμιστεί και είναι έτοιμος να συνδεθούν οι πελάτες TaskWarrior (task).

Βήμα 6: Δημιουργήστε την πρώτη σας ομάδα και χρήστη TaskWarrior

  1. Για να δημιουργήσετε, να διαγράψετε, να τροποποιήσετε και να συγχρονίσετε τις εργασίες σας, θα χρειαστείτε έναν λογαριασμό χρήστη. Ωστόσο, για να μπορέσετε να προσθέσετε χρήστες, θα πρέπει πρώτα να δημιουργήσετε μια οργανωτική ομάδα. Εκτελέστε την παρακάτω εντολή για να δημιουργήσετε την πρώτη σας ομάδα. Αντικαταστήστε το GROUP με ένα εύκολα αναγνωρίσιμο όνομα.

  2. ΣΠΟΥΔΑΙΟΣ! Η taskdεντολή για τη δημιουργία ομάδων/χρηστών πρέπει να εκτελείται ως taskdχρήστης. Η εκτέλεση ως χρήστης ρίζας θα δημιουργήσει καταλόγους και αρχεία που ανήκουν στον ριζικό χρήστη κάτω από τα /var/lib/taskd/orgsοποία θα εμποδίσει τους πελάτες TaskWarrior (εργασία) να έχουν πρόσβαση ή να τροποποιήσουν οτιδήποτε στην ομάδα στην οποία έχουν εκχωρηθεί. Η πρόσβαση θα απαγορεύεται.

    sudo -u taskd taskd add org GROUP --data /var/lib/taskd
    
  3. Τώρα, που δημιουργήσατε την πρώτη σας ομάδα, ας δημιουργήσουμε τον πρώτο σας χρήστη. Εκτελέστε την παρακάτω εντολή για να δημιουργήσετε έναν χρήστη που έχει αντιστοιχιστεί στην ομάδα που δημιουργήθηκε στο βήμα #1. Αντιγράψτε και επικολλήστε το κλειδί χρήστη, χρήστη και ομάδα που δημιουργήθηκε σε ένα αρχείο κειμένου. Επαναλάβετε τη διαδικασία για να προσθέσετε επιπλέον χρήστες.

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

Βήμα 7: Εγκαταστήστε προγράμματα-πελάτες TaskWarrior

Windows 10 (Δημιουργία αργότερα από 1607+)

Για να χρησιμοποιήσετε το TaskWarrior (εργασία) στα Windows 10, πρέπει να εγκαταστήσετε το Windows Subsystem For Linux από το Windows Store.

  1. Για να εγκαταστήσετε το WSL, απαιτείται ένα ανυψωμένο μήνυμα Powershell. Πατήστε το πλήκτρο παραθύρου και πληκτρολογήστε powershell . Κάντε δεξί κλικ στο Windows Powershell στην κορυφή των αποτελεσμάτων και επιλέξτε " Εκτέλεση ως διαχειριστής ". Στη γραμμή εντολών Έλεγχος λογαριασμού χρήστη, κάντε κλικ στο Ναι . Αντιγράψτε και επικολλήστε το κείμενο που βρίσκεται παρακάτω στα παράθυρα του Powershell. Όταν ολοκληρωθεί η εγκατάσταση του WSL, πατήστε το πλήκτρο Y για επανεκκίνηση των Windows.

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    
  2. Μετά την επανεκκίνηση, ανοίξτε μια γραμμή εντολών και πληκτρολογήστε την ακόλουθη εντολή bash . Αυτό θα εγκαταστήσει το Ubuntu στα Windows. Πατήστε το Υ Key . Τώρα θα γίνει λήψη και εξαγωγή. Επιλέξτε όνομα χρήστη και κωδικό πρόσβασης.

    bash
    
  3. Τώρα ήρθε η ώρα να εγκαταστήσετε το TaskWarrior (εργασία). Πληκτρολογήστε την ακόλουθη εντολή μέσα στην κονσόλα.

    sudo apt-get install task -y
    
  4. Πληκτρολογήστε exit δύο φορές για έξοδο από το τερματικό bash και τη γραμμή εντολών των Windows.

  5. Κάντε κλικ στο κουμπί Έναρξη Μενού. Πληκτρολογήστε ubuntu . Κάντε δεξί κλικ στο Bash στο Ubuntu στα Windows . Επιλέξτε Καρφίτσωμα στη γραμμή εργασιών . Αυτό παρέχει ευκολία για γρήγορη πρόσβαση στο bash για πρόσβαση στο TaskWarrior (εργασία).

  6. Κάντε κλικ στο εικονίδιο του Ubuntu που μόλις δημιουργήσατε στη γραμμή εργασιών. Αυτό θα ανοίξει ένα παράθυρο τερματικού που εκτελεί το Bash. Πληκτρολογήστε την παρακάτω εντολή για να δημιουργήσετε τον κατάλογο δεδομένων TaskWarrior (εργασία) ( ~/.task/) και το αρχείο διαμόρφωσης ( .taskrc).

    task version
    yes
    
  7. Πρέπει να μετακινήσετε το certificates.zipαρχείο που έχετε αποθηκεύσει νωρίτερα κατά τη ρύθμιση του TaskServer στον ~/.taskd/κατάλογο μέσα στον κατάλογο χρήστη σας. Για να εξαγάγετε τα αρχεία από το αρχείο zip, εγκαταστήστε unzipπρώτα το πρόγραμμα. Αντιγράψτε και επικολλήστε τις ακόλουθες εντολές παρακάτω αντικαθιστώντας την πραγματική θέση του αντιγράφου σας του certificates.zip.

    sudo apt-get install unzip -y
    cp /mnt/c/User/WINDOWSUSER/Desktop/certificates.zip .
    cd .task
    unzip ../certificates.zip
    cd
    
  8. Πληκτρολογήστε τις ακόλουθες εντολές για να ρυθμίσετε το TaskWarrior (εργασία) για να συνδεθείτε με τον TaskServer (taskd). Αντικαταστήστε το NAME με αυτό που ονομάσατε το πιστοποιητικό και το κλειδί σας, GROUP με την ομάδα που δημιουργήσατε, Joe Q. Public με το όνομα χρήστη που δημιουργήσατε και XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX με το κλειδί που εκχωρήθηκε όταν ο χρήστης σας δημιουργήθηκε στον διακομιστή TaskWarrior (taskd).

    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. Τώρα ήρθε η ώρα να συγχρονίσετε το TaskWarrior (εργασία) με τον TaskServer (taskd). Εκτελέστε την παρακάτω εντολή για να αρχικοποιήσετε τη βάση δεδομένων.

    task sync init
    

    Ο συγχρονισμός μεταξύ του προγράμματος-πελάτη TaskWarrior (εργασία) και του TaskServer (taskd) έχει πλέον ρυθμιστεί στην πλατφόρμα των Windows 10.

Android

Για να χρησιμοποιήσετε το TaskWarrior (εργασία) στο Android, πρέπει να εγκαταστήσετε το TaskWarrior για Android από το Google Play Store.

  1. Εγκαταστήστε την εφαρμογή TaskWarrior (εργασία) για Android στο Play Store της Google.

  2. Ανοίξτε την εφαρμογή TaskWarrior (εργασία) για Android.

  3. Θα σας ζητηθεί από την εφαρμογή να δημιουργήσετε έναν λογαριασμό με ένα επιθυμητό όνομα λογαριασμού . Εισαγάγετε το όνομα που επιλέξατε όταν δημιουργήσατε ένα όνομα χρήστη για έναν χρήστη TaskServer (taskd).

  4. Αφήστε το φάκελο δεδομένων στην προεπιλεγμένη ρύθμιση <<Δημιουργία νέου>> και πατήστε το κουμπί OK . Χρησιμοποιήστε μια εφαρμογή διαχείρισης αρχείων για να δημιουργήσετε έναν φάκελο στη ρίζα αποθήκευσης (για παράδειγμα: /storage/emulate/0/Certs). Στείλτε την εφαρμογή στο παρασκήνιο.

  5. Αντιγράψτε το certificates.zipαρχείο που δημιουργήσατε νωρίτερα και εξαγάγετε τα περιεχόμενά του στον κατάλογό σας που δημιουργήθηκε στο βήμα #4.

  6. Σε πρώτο πλάνο την εφαρμογή "TaskWarrior (εργασία) για Android" και πατήστε το μενού στην επάνω αριστερή γωνία της εφαρμογής για να την ανοίξετε.

  7. Κάντε κύλιση προς τα κάτω στο κάτω μέρος του μενού και πατήστε την επιλογή Ρυθμίσεις .

  8. Αυτό θα ανοίξει ένα απλό ενσωματωμένο πρόγραμμα επεξεργασίας κειμένου εφαρμογής TaskWarrior For Android.

  9. Εισαγάγετε τις ακόλουθες επιλογές για να ρυθμίσετε το συγχρονισμό με τον TaskServer σας (taskd). Αντικαταστήστε τις μεταβλητές taskd.ca/ taskd.certificate/taskd.key` με τις πραγματικές διαδρομές καταλόγου ca/certificate/key, NAME με αυτό που ονομάσατε το πιστοποιητικό και το κλειδί σας, GROUP με την ομάδα που δημιουργήσατε, Joe Q. Δημόσιο με το όνομα χρήστη που δημιουργήσατε και XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX με το κλειδί που εκχωρήθηκε όταν δημιουργήσατε τον χρήστη σας στον διακομιστή TaskWarrior (taskd).

    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. Πατήστε το εικονίδιο της δισκέτας για να αποθηκεύσετε τις ρυθμίσεις σας.

Ο συγχρονισμός μεταξύ του προγράμματος-πελάτη TaskWarrior (εργασία) και του TaskServer (taskd) έχει πλέον ρυθμιστεί στην πλατφόρμα Android.

Linux

  1. Ανατρέξτε στην ενότητα διανομής TaskWarrior (εργασία) για εγκατάσταση για τη συγκεκριμένη διανομή Linux .

  2. Ανοίξτε ένα παράθυρο τερματικού. Πληκτρολογήστε την παρακάτω εντολή για να δημιουργήσετε τον κατάλογο δεδομένων TaskWarrior (εργασία) ( ~/.task/) και το αρχείο διαμόρφωσης ( .taskrc).

    task version
    yes
    
  3. Πρέπει να μετακινήσετε το certificates.zipαρχείο που έχετε αποθηκεύσει νωρίτερα στη ρύθμιση TaskServer στον ~/.taskd/κατάλογο μέσα στον κατάλογο χρήστη σας. Για να εξαγάγετε τα αρχεία από το αρχείο zip, εγκαταστήστε unzipπρώτα το πρόγραμμα για τη συγκεκριμένη διανομή σας. Αντιγράψτε και επικολλήστε τις παρακάτω εντολές, αντικαθιστώντας την πραγματική θέση του αντιγράφου σας του certificates.zip.

    cp /location/of/certificates.zip .
    cd .task
    unzip ../certificates.zip
    cd
    
  4. Πληκτρολογήστε τις ακόλουθες εντολές για να ρυθμίσετε το TaskWarrior (εργασία) για να συνδεθείτε με τον TaskServer (taskd). Αντικαταστήστε το NAME με αυτό που ονομάσατε το πιστοποιητικό και το κλειδί σας, GROUP με την ομάδα που δημιουργήσατε, Joe Q. Public με το όνομα χρήστη που δημιουργήσατε και XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX με το κλειδί που εκχωρήθηκε όταν ο χρήστης σας δημιουργήθηκε στον διακομιστή TaskWarrior (taskd).

    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. Τώρα ήρθε η ώρα να συγχρονίσετε το TaskWarrior (εργασία) με τον TaskServer (taskd). Εκτελέστε την παρακάτω εντολή για να αρχικοποιήσετε τη βάση δεδομένων.

    task sync init
    

Προσθήκη: Εάν εκτελείτε το Gnome Shell, υπάρχει μια επέκταση που ονομάζεται TaskWhisper που ενσωματώνεται με το TaskWarrior (εργασία).

Ο συγχρονισμός μεταξύ του προγράμματος-πελάτη TaskWarrior (εργασία) και του TaskServer (taskd) έχει πλέον ρυθμιστεί στην αγαπημένη σας διανομή Linux.


Εγκαταστήστε το Plesk στο CentOS 7

Εγκαταστήστε το Plesk στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων

Πώς να εγκαταστήσετε το Squid Proxy στο CentOS

Πώς να εγκαταστήσετε το Squid Proxy στο CentOS

Το Squid είναι ένα δημοφιλές, δωρεάν πρόγραμμα Linux που σας επιτρέπει να δημιουργήσετε έναν διακομιστή μεσολάβησης web προώθησης. Σε αυτόν τον οδηγό, θα δείτε πώς να εγκαταστήσετε το Squid στο CentOS για να σας μετατρέψει

Πώς να εγκαταστήσετε το Lighttpd (Στοίβα LLMP) στο CentOS 6

Πώς να εγκαταστήσετε το Lighttpd (Στοίβα LLMP) στο CentOS 6

Εισαγωγή Το Lighttpd είναι ένα πιρούνι του Apache που έχει ως στόχο να είναι πολύ λιγότερο εντάσεως πόρων. Είναι ελαφρύ, εξ ου και το όνομά του, και είναι αρκετά απλό στη χρήση. Εγκατάσταση

Τροποποίηση Icinga2 για χρήση Μοντέλου Master/Client σε CentOS 6 ή CentOS 7

Τροποποίηση Icinga2 για χρήση Μοντέλου Master/Client σε CentOS 6 ή CentOS 7

Το Icinga2 είναι ένα ισχυρό σύστημα παρακολούθησης και όταν χρησιμοποιείται σε μοντέλο master-client, μπορεί να αντικαταστήσει την ανάγκη για ελέγχους παρακολούθησης που βασίζονται σε NRPE. Ο κύριος-πελάτης

Πώς να εγκαταστήσετε το Apache Cassandra 3.11.x στο CentOS 7

Πώς να εγκαταστήσετε το Apache Cassandra 3.11.x στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Apache Cassandra είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης βάσεων δεδομένων NoSQL που έχει σχεδιαστεί για να παρέχει επεκτασιμότητα, υψηλή

Πώς να εγκαταστήσετε το Microweber στο CentOS 7

Πώς να εγκαταστήσετε το Microweber στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Microweber είναι ένα ανοικτού κώδικα μεταφοράς και απόθεσης CMS και ηλεκτρονικό κατάστημα. Ο πηγαίος κώδικας Microweber φιλοξενείται στο GitHub. Αυτός ο οδηγός θα σας δείξει

Πώς να εγκαταστήσετε το Vanilla Forum στο CentOS 7

Πώς να εγκαταστήσετε το Vanilla Forum στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Vanilla forum είναι μια εφαρμογή φόρουμ ανοιχτού κώδικα γραμμένη σε PHP. Είναι πλήρως προσαρμόσιμο, εύκολο στη χρήση και υποστηρίζει εξωτερικά

Πώς να εγκαταστήσετε το Mattermost 4.1 στο CentOS 7

Πώς να εγκαταστήσετε το Mattermost 4.1 στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Mattermost είναι μια εναλλακτική λύση ανοιχτού κώδικα, που φιλοξενείται από τον εαυτό της στην υπηρεσία ανταλλαγής μηνυμάτων Slack SAAS. Με άλλα λόγια, με το Mattermost, μπορείτε περίπου

Ας κρυπτογραφήσουμε στο Plesk

Ας κρυπτογραφήσουμε στο Plesk

Ο πίνακας ελέγχου Plesk διαθέτει μια πολύ ωραία ενσωμάτωση για το Lets Encrypt. Το Lets Encrypt είναι ένας από τους μόνους παρόχους SSL που εκδίδει πιστοποιητικά πλήρως

Επιτρέπει την κρυπτογράφηση στο cPanel

Επιτρέπει την κρυπτογράφηση στο cPanel

Το Lets Encrypt είναι μια αρχή έκδοσης πιστοποιητικών αφιερωμένη στην παροχή πιστοποιητικών SSL δωρεάν. Το cPanel έχει δημιουργήσει μια τακτοποιημένη ενοποίηση για εσάς και τον πελάτη σας

Πώς να εγκαταστήσετε το Concrete5 στο CentOS 7

Πώς να εγκαταστήσετε το Concrete5 στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Concrete5 είναι ένα CMS ανοιχτού κώδικα που προσφέρει πολλές χαρακτηριστικές και χρήσιμες λειτουργίες για να βοηθήσει τους συντάκτες να παράγουν περιεχόμενο εύκολα και

Πώς να εγκαταστήσετε το Review Board στο CentOS 7

Πώς να εγκαταστήσετε το Review Board στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Review Board είναι ένα δωρεάν και ανοιχτού κώδικα εργαλείο για την ανασκόπηση του πηγαίου κώδικα, της τεκμηρίωσης, των εικόνων και πολλών άλλων. Είναι λογισμικό που βασίζεται στο web

Ρύθμιση ελέγχου ταυτότητας HTTP με Nginx στο CentOS 7

Ρύθμιση ελέγχου ταυτότητας HTTP με Nginx στο CentOS 7

Σε αυτόν τον οδηγό, θα μάθετε πώς να ρυθμίζετε τον έλεγχο ταυτότητας HTTP για έναν διακομιστή web Nginx που εκτελείται σε CentOS 7. Απαιτήσεις Για να ξεκινήσετε, θα χρειαστείτε

Πώς να εγκαταστήσετε το YOURLS στο CentOS 7

Πώς να εγκαταστήσετε το YOURLS στο CentOS 7

Το YOURLS (Your Own URL Shortener) είναι μια εφαρμογή συντόμευσης διευθύνσεων URL και ανάλυσης δεδομένων ανοιχτού κώδικα. Σε αυτό το άρθρο, θα καλύψουμε τη διαδικασία εγκατάστασης

Πώς να εγκαταστήσετε και να ρυθμίσετε το ArangoDB στο CentOS 7

Πώς να εγκαταστήσετε και να ρυθμίσετε το ArangoDB στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Το ArangoDB είναι μια βάση δεδομένων NoSQL ανοιχτού κώδικα με ένα ευέλικτο μοντέλο δεδομένων για έγγραφα, γραφήματα και κλειδιά-τιμές. είναι

Χρήση του Etckeeper για έλεγχο έκδοσης του /etc

Χρήση του Etckeeper για έλεγχο έκδοσης του /etc

Εισαγωγή Ο κατάλογος /etc/ παίζει κρίσιμο ρόλο στον τρόπο λειτουργίας ενός συστήματος Linux. Ο λόγος για αυτό είναι επειδή σχεδόν κάθε διαμόρφωση συστήματος

Γιατί πρέπει να χρησιμοποιήσετε το SSHFS; Πώς να προσαρτήσετε ένα απομακρυσμένο σύστημα αρχείων με SSHFS στο CentOS 6

Γιατί πρέπει να χρησιμοποιήσετε το SSHFS; Πώς να προσαρτήσετε ένα απομακρυσμένο σύστημα αρχείων με SSHFS στο CentOS 6

Πολλοί διαχειριστές συστημάτων διαχειρίζονται μεγάλες ποσότητες διακομιστών. Όταν χρειάζεται πρόσβαση στα αρχεία σε διαφορετικούς διακομιστές, συνδέεστε σε καθένα ξεχωριστά περίπου

Ρύθμιση διακομιστή Half Life 2 στο CentOS 6

Ρύθμιση διακομιστή Half Life 2 στο CentOS 6

Αυτό το σεμινάριο θα καλύψει τη διαδικασία εγκατάστασης ενός διακομιστή παιχνιδιών Half Life 2 στο σύστημα CentOS 6. Βήμα 1: Εγκατάσταση των προαπαιτούμενων Για να ρυθμίσετε το ou

Πώς να εγκαταστήσετε το Laravel GitScrum στο CentOS 7

Πώς να εγκαταστήσετε το Laravel GitScrum στο CentOS 7

Το Laravel GitScrum ή GitScrum είναι ένα εργαλείο παραγωγικότητας ανοιχτού κώδικα που έχει σχεδιαστεί για να βοηθά τις ομάδες ανάπτυξης να εφαρμόσουν τη μεθοδολογία Scrum με παρόμοιο τρόπο

Πώς να εγκαταστήσετε το PowerDNS στο CentOS

Πώς να εγκαταστήσετε το PowerDNS στο CentOS

Εισαγωγή Σε αυτό το σεμινάριο Vultr, θα μάθετε πώς να εγκαταστήσετε το PowerDNS. Το PowerDNS είναι ένα πρόγραμμα για την εκτέλεση των δικών σας διακομιστών ονομάτων. Είναι πολύ χρήσιμο όταν

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα