การติดตั้ง Pagekit CMS บน CentOS 7
ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
TaskWarrior เป็นเครื่องมือจัดการเวลาแบบโอเพ่นซอร์สที่เป็นการปรับปรุงแอพพลิเคชั่น Todo.txt และโคลนของมัน เนื่องจากความจริงที่ว่าคนทั่วไปใช้อุปกรณ์ / แพลตฟอร์มหลายตัวในตารางประจำวันของพวกเขาเป็นสิ่งสำคัญที่จะต้องมีความสามารถในการมีพื้นที่เก็บข้อมูลส่วนกลางที่ข้อมูลสามารถเข้าถึงและปรับปรุงจากอุปกรณ์ใด ๆ บทช่วยสอนนี้จะมุ่งเน้นไปที่การตั้งค่าเซิร์ฟเวอร์ทั้งสองชื่อ TaskServer (taskd) และไคลเอนต์ชื่อ TaskWarrior (ภารกิจ) ช่วยให้อุปกรณ์ไคลเอนต์หลายเครื่องสามารถเข้าถึงและแลกเปลี่ยนข้อมูลได้อย่างปลอดภัย
มันมีคุณสมบัติดังต่อไปนี้:
ล็อกอินด้วยชื่อผู้ใช้ sudo ของคุณเพื่อติดตั้ง EPEL Repository และอัพเดตระบบดังต่อไปนี้:
sudo yum install epel-release -y
sudo yum clean all && sudo yum update -y
ที่เก็บ EPEL ไม่มี RPM สำหรับ TaskServer (taskd) ดังนั้นเราต้องสร้างจากแหล่งลงในแพ็คเกจ RPM ด้วยตนเอง
ติดตั้ง GCC, Make, RPM Build, การพัฒนาและเครื่องมือเซ็นชื่อ
sudo yum install gcc gcc-c++ make rpmdevtools rpm-sign rpm-build -y
สร้างไดเรกทอรี GnuPG ซึ่งจะเก็บไฟล์ GPG ที่จำเป็นสำหรับการลงชื่อ RPM ของเรา
mkdir .gnupg
เมื่อสร้างคีย์เราต้องการเอนโทรปีในระบบเพื่อสุ่มมันอย่างถูกต้อง ภูตสร้างเอนโทรปีที่จำเป็นจากrngd
/dev/urandom
ดังนั้นมาติดตั้งกันเถอะ
yum install rngd -y
เริ่มต้นrngd
daemon เพื่อสร้างเอนโทรปี -rจุดตัวเลือกที่จะแทนการเริ่มต้น/dev/urandom
/dev/hwrng
sudo rngd -r /dev/urandom
สร้างรหัส --gen คีย์ตัวเลือกบอก gpg เพื่อสร้างคู่คีย์ใหม่
gpg --gen-key
สำหรับทางด้าน " กรุณาเลือกชนิดของคีย์ที่คุณต้องการ:ตัวเลือก" เลือก " (1) อาร์เอสและอาร์เอส (เริ่มต้น) " สำหรับประเภทที่สำคัญโดยการป้อน1และกดปุ่มย้อนกลับ / ใส่กุญแจ
สำหรับทางด้าน " อะไร keysize ทำคุณต้องการ? (2048) " ตัวเลือกให้เลือกเริ่มต้นโดยการกดที่กลับ / ใส่กุญแจ
สำหรับทางด้าน " โปรดระบุว่าระยะเวลาที่สำคัญที่ควรจะเป็นที่ถูกต้อง. " ตัวเลือกให้เลือกเริ่มต้นโดยการกดที่กลับ / ใส่กุญแจ
สำหรับทางด้าน " ถูกต้องนี้หรือไม่? (y / N)ตัวเลือก" ป้อนYและกดกลับ / ใส่กุญแจ
ภายใต้ " ชื่อจริง: " ใส่ชื่อที่คุณเลือกและกดปุ่มย้อนกลับ / ใส่กุญแจ
ภายใต้ " ที่อยู่อีเมล์: " ป้อนที่อยู่อีเมลที่คุณเลือกและกดปุ่มย้อนกลับ / ใส่กุญแจ
ส่วนความคิดเห็น:สามารถเว้นว่างไว้ถ้าคุณเลือก
ทำการเปลี่ยนแปลงที่จำเป็นหากคุณไม่ได้ป้อนข้อมูลอย่างถูกต้อง หากคุณมีความพึงพอใจที่มีรหัสผู้ใช้ข้อมูลที่แสดงป้อนO (ตัวอักษร O ไม่เป็นศูนย์) และกดกลับ / ใส่กุญแจ
GnuPG จะขอให้คุณสร้างและยืนยันรหัสผ่านสำหรับคู่กุญแจของคุณ
หลังจากคุณป้อนรหัสผ่านแล้วคู่คีย์ GnuPG ของคุณจะถูกสร้างขึ้นภายใต้.gnupg
ไดเรกทอรีในไดเรกทอรีผู้ใช้ของคุณ
รันคำสั่งนี้เพื่อแสดงเนื้อหาของ.gnupg
ไดเรกทอรี มันควรจะมีไดเรกทอรีดังต่อไปprivate-keys-v1.d
และไฟล์pubring.gpg
, pubring.gpg~
, random_seed
, secring.gpg
, ,S.gpg-agent
trustdb.gpg
ls -la .gnupg
ส่งออกคู่คีย์ที่สร้างขึ้น --exportตัวเลือกสั่ง GnuPG เพื่อการส่งออกคู่คีย์ -aตัวเลือกสั่ง GnuPG การส่งออกคู่สำคัญในรูปแบบ ASCII เกราะ แทนที่ " Joe Q. Public " ด้วยชื่อที่คุณป้อนเมื่อสร้างคู่กุญแจในขั้นตอนที่ 10 ข้างต้น แทนที่ " jqpublic " ด้วยข้อความอะไรก็ตามที่คุณเลือก
gpg --export -a 'Joe Q. Public' > RPM-GPG-KEY-jqpublic
อิมพอร์ตคู่ของคีย์ลงในที่เก็บคีย์ RPM แทนที่ " jqpublic " ด้วยข้อความที่คุณเลือกในขั้นตอนที่ 17
sudo rpm --import RPM-GPG-KEY-jqpublic
ตรวจสอบว่ามีการเพิ่มคู่คีย์ลงในที่เก็บคีย์ RPM --q gpg-pubkeyตัวเลือกแบบสอบถามรอบต่อนาที GnuPG keystore % {name} -% {} รุ่น -% {} ปล่อย ->% {} สรุป \ nแสดงผลในรูปแบบที่อ่านมนุษย์
rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}\n'
ด้วยการสร้าง a .rpmmacros file
, RPM สามารถปรับแต่งเพื่อดำเนินพฤติกรรมที่ได้รับมอบหมาย (ตัวอย่าง: ความสะดวกในการเซ็นชื่อโดยอัตโนมัติของ RPMs) ใช้nano
โปรแกรมเพื่อสร้างไฟล์
nano .rpmmacros
จากนั้นเพิ่มข้อความต่อไปนี้ลงใน.rpmmacros
ไฟล์
%_gpg_name Joe Q. Public
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}
%_signature gpg
%_topdir %(echo $HOME)/rpmbuild
บันทึกเอกสารโดยป้อนชุดแป้นพิมพ์ต่อไปนี้ CTRL + Xคีย์ จากนั้นคีย์S สุดท้ายกลับ / ใส่กุญแจ
คำสั่งด้านล่างนี้จะตั้งค่าสภาพแวดล้อมการสร้าง RPM ของคุณ นี่จะผนวกมาโครเพิ่มเติมลงใน.rpmmacros
ไฟล์ที่คุณสร้างในขั้นตอนที่ # 20 และสร้างไดเรกทอรีที่ต้องการเพื่อสร้างและจัดเก็บ RPM
rpmdev-setuptree
รันคำสั่งนี้เพื่อแสดงเนื้อหาของไดเร็กทอรี rpmbuild มันควรจะมีดังต่อไปไดเรกทอรีแหล่ง , RPMS , BUILD , SRPMSและSPECS
find rpmbuild
ดาวน์โหลดซอร์สโค้ด TaskServer (taskd) ไปยังrpmbuild/SOURCES
ไดเร็กทอรี
wget https://taskwarrior.org/download/taskd-1.1.0.tar.gz -P rpmbuild/SOURCES/
ฆ่าrgnd
กระบวนการทำงาน
sudo kill -9 rngd
ในการสร้าง RPM ใหม่จากแหล่งที่มาจะต้องสร้างไฟล์ TaskServer (taskd) SPEC
nano rpmbuild/SPECS/taskd.spec
เพิ่มข้อความต่อไปนี้ลงใน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.
RPM ยังต้องการไฟล์เพิ่มเติมสามไฟล์ที่จะต้องสร้างในrpmbuild/SOURCES
ไดเรกทอรี ใช้nano
โปรแกรมเพื่อสร้างtaskd-config
ไฟล์
nano rpmbuild/SOURCES/taskd-config
เพิ่มข้อความต่อไปนี้ลงในtaskd-config
ไฟล์
# 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
ใช้nano
โปรแกรมเพื่อสร้างtaskd.service
ไฟล์
nano rpmbuild/SOURCES/taskd.service
เพิ่มข้อความต่อไปนี้ลงในtaskd.service
ไฟล์
[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
ใช้nano
โปรแกรมเพื่อสร้างtaskd.xml
ไฟล์
nano rpmbuild/SOURCES/taskd.xml
เพิ่มข้อความต่อไปนี้ลงในtaskd.xml
ไฟล์
<?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>
เพื่อสร้าง TaskServer (taskd) RPM ต้องใช้แพ็คเกจสามแพ็กเกจสำหรับการสร้าง เรียกใช้คำสั่งด้านล่างเพื่อติดตั้งแพ็คเกจเหล่านั้น
sudo yum install cmake libuuid-devel gnutls-devel gnutls-utils -y
ตอนนี้ได้เวลาสร้างจากแหล่งและสร้าง RPM สำหรับ TaskServer (taskd) เรียกใช้คำสั่งด้านล่างเพื่อเริ่มต้น ควรใช้เวลาน้อยกว่าหนึ่งนาทีในอินสแตนซ์ CPU Vultr 1x เพื่อสร้าง RPMs ป้อนรหัสผ่าน GnuPG ที่คุณสร้างในขั้นตอน # 14 เพื่อลงนาม RPM เมื่อได้รับแจ้ง
cd rpmbuild/SPECS/
rpm -ba -sign taskd.spec
ติดตั้ง TaskServer (taskd) RPM
cd
sudo rpm -ivh rpmbuild/RPMS/x86_64/taskd-1.1.0-1.el7.centos.x86_64.rpm
เพื่อให้ TaskServer (taskd) สื่อสารและซิงค์กับไคลเอนต์ TaskWarrior (งาน) คุณจะต้องใช้สคริปต์การสร้างที่พบ/etc/pki/taskd/
ในการสร้างเซิร์ฟเวอร์ / ใบรับรองไคลเอ็นต์ / คีย์ /etc/pki/taskd
ยกระดับให้กับผู้ใช้รากใช้คำสั่งด้านล่างและไดเรกทอรีการเปลี่ยนแปลง
sudo su -
cd /etc/pki/taskd/
ใช้nano
โปรแกรมเพื่อสร้างvars
ไฟล์เพื่อสร้างรูท CA ที่ลงชื่อด้วยตนเอง
nano vars
เพิ่มข้อความต่อไปนี้ลงในไฟล์ vars เปลี่ยนองค์กร , CN , COUNTRY , STATEและLOCALITYให้เป็นที่พอใจของคุณ
BITS=4096
EXPIRATION_DAYS=365
ORGANIZATION="Vultr.com Inc."
CN=taskd.example.com
COUNTRY=US
STATE="New York"
LOCALITY="New York"
สร้างรูต CA ที่ลงนามด้วยตนเอง, ใบรับรอง, คีย์เซิร์ฟเวอร์และรายการเพิกถอนเซิร์ฟเวอร์ (ไม่บังคับ)
./generate.ca
./generate.server
./generate.crl
คำสั่งเหล่านี้จะสร้างไฟล์ต่อไปนี้ ( ca.cert.pem
, ca.key.pem
, server.cert.pem
, server.key.pem
และserver.crl.pem
) ภายใน/etc/pki/taskd/
ไดเรกทอรี เพื่อให้ TaskServer (taskd) เริ่มทำงานต้องมีการปรับเปลี่ยนความเป็นเจ้าของและสิทธิ์ในใบรับรองและกุญแจที่สร้างในขั้นตอนที่ # 37 เพื่อให้ TaskServer (taskd) เข้าถึงได้ เรียกใช้คำสั่งด้านล่างเพื่อเปลี่ยน
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
เปิดใช้งานและเริ่มต้น TaskServer (taskd) daemon
systemctl enable taskd
systemctl start taskd
เปิดพอร์ตในไฟร์วอลล์ TaskServer (taskd) ทำงาน
firewall-cmd --permanent --zone=public --add-port=53589/tcp
firewall-cmd --reload
ตอนนี้ TaskServer (taskd) ได้รับการติดตั้งและตั้งค่าบนอินสแตนซ์ CentOS 7 ของคุณแล้ว
คุณต้องสร้างใบรับรองไคลเอ็นต์และคีย์เพื่อเข้ารหัสการสื่อสารระหว่าง TaskServer (taskd) และ TaskWarrior (งาน) เรียกใช้คำสั่งด้านล่างเพื่อสร้างใบรับรองไคลเอ็นต์และคีย์ แทนที่NAME
ด้วยชื่อที่คุณจำได้ง่ายสำหรับลูกค้าของคุณ
generate.client NAME
คำสั่งนี้จะสร้างไฟล์ต่อไปนี้ ( NAME.cert.pem
, NAME.key.pem
) ภายใน/etc/pki/taskd/
ไดเรกทอรี
คัดลอกไฟล์ต่อไปนี้ไปยังไดเรกทอรีผู้ใช้ของคุณเปลี่ยนความเป็นเจ้าของและสิทธิ์ ทดแทนjoeqpublicด้านล่างด้วยไดเรกทอรีชื่อผู้ใช้จริงของคุณ
cp ca.cert.pem NAME.cert.pem NAME.key.pem /home/joeqpublic/
chown joeqpublic.joeqpublic /home/joeqpublic/*.pem
chmod 400 /home/joeqpublic/*.pem
สร้างไฟล์ zip ของใบรับรองและคีย์
zip certficates.zip ca.cert.pem NAME.cert.pem NAME.key.pem
ใช้scp
(บรรทัดคำสั่ง) หรือWinSCP (ส่วนหน้า GUI สำหรับ SCP) เพื่อดาวน์โหลดcertificates.zip
ไฟล์จากอินสแตนซ์ CentOS ของคุณไปยังอุปกรณ์ไคลเอนต์ของคุณ (คอมพิวเตอร์ / แล็ปท็อป / สมาร์ทโฟน)
ดร็อปสิทธิพิเศษรูทและดำเนินการคำสั่งที่เหลือในฐานะผู้ใช้ปกติของคุณ
exit
TaskServer (taskd) ตอนนี้มีการตั้งค่าและพร้อมสำหรับไคลเอนต์ TaskWarrior (งาน) เพื่อเชื่อมต่อ
ในการสร้างลบแก้ไขและซิงค์งานของคุณคุณจะต้องมีบัญชีผู้ใช้ อย่างไรก็ตามก่อนที่คุณจะสามารถเพิ่มผู้ใช้คุณจะต้องสร้างกลุ่มองค์กรก่อน เรียกใช้คำสั่งด้านล่างเพื่อสร้างกลุ่มแรกของคุณ แทนที่GROUPด้วยชื่อที่จดจำได้ง่าย
สิ่งสำคัญ! taskd
คำสั่งเพื่อสร้างกลุ่ม / ผู้ใช้จะต้องวิ่งเป็นtaskd
ผู้ใช้ การรันในฐานะผู้ใช้รูทจะสร้างไดเรกทอรีและไฟล์ที่ผู้ใช้รูทเป็นเจ้าของ/var/lib/taskd/orgs
ซึ่งจะป้องกันไม่ให้ไคลเอนต์ TaskWarrior (งาน) สามารถเข้าถึงหรือแก้ไขอะไรก็ได้ในกลุ่มที่พวกเขาได้รับมอบหมาย การเข้าถึงจะถูกปฏิเสธ
sudo -u taskd taskd add org GROUP --data /var/lib/taskd
ตอนนี้คุณได้สร้างกลุ่มแรกให้สร้างผู้ใช้คนแรกของคุณ เรียกใช้คำสั่งด้านล่างเพื่อสร้างผู้ใช้ที่กำหนดให้กับกลุ่มที่สร้างในขั้นตอนที่ 1 คัดลอกและวางรหัสผู้ใช้ที่สร้างขึ้นผู้ใช้และกลุ่มในไฟล์ข้อความ ทำซ้ำกระบวนการเพื่อเพิ่มผู้ใช้เพิ่มเติม
sudo -u taskd taskd add user GROUP 'Joe. Q. Public' --data /var/lib/taskd
ในการใช้งาน TaskWarrior (งาน) บน Windows 10 คุณจะต้องติดตั้งระบบย่อย Windows สำหรับ Linuxจาก Windows Store
ในการติดตั้ง WSL จำเป็นต้องมีพรอมต์ Powershell กดคีย์หน้าต่างและประเภทPowerShell คลิกขวาที่ Windows Powershell ที่ด้านบนของผลลัพธ์แล้วเลือก " Run as administrator " ที่ควบคุมบัญชีผู้ใช้คลิก prompt ใช่ คัดลอกและวางข้อความที่พบด้านล่างในหน้าต่าง Powershell เมื่อ WSL ติดตั้งเสร็จแล้วให้กดปุ่มYเพื่อรีสตาร์ท Windows
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
หลังจากรีบูตเปิดคำสั่งที่รวดเร็วและพิมพ์คำสั่งต่อไปทุบตี สิ่งนี้จะติดตั้ง Ubuntu บน Windows กดY สำคัญ ตอนนี้จะถูกดาวน์โหลดและแตกไฟล์ เลือกชื่อผู้ใช้และรหัสผ่าน
bash
ตอนนี้ได้เวลาติดตั้ง TaskWarrior (ภารกิจ) พิมพ์คำสั่งต่อไปนี้ภายในคอนโซล
sudo apt-get install task -y
พิมพ์exitสองครั้งเพื่อออกจาก bash terminal และพรอมต์คำสั่ง Windows
คลิกปุ่มเมนูเริ่ม พิมพ์อูบุนตู คลิกขวาที่ทุบตีบน Ubuntu บน Windows เลือกPin แถบงาน สิ่งนี้ให้ความสะดวกในการเข้าถึง bash อย่างรวดเร็วเพื่อเข้าถึง TaskWarrior (งาน)
คลิกที่ไอคอนอูบุนตูที่คุณเพิ่งสร้างบนทาสก์บาร์ จะเป็นการเปิดหน้าต่างเทอร์มินัลที่ใช้ Bash พิมพ์คำสั่งต่อไปนี้ด้านล่างเพื่อสร้างไดเรกทอรีข้อมูล TaskWarrior (task) ( ~/.task/
) และไฟล์การกำหนดค่า ( .taskrc
)
task version
yes
คุณต้องย้าย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
พิมพ์คำสั่งต่อไปนี้เพื่อตั้งค่า TaskWarrior (task) ขึ้นเพื่อเชื่อมต่อกับ TaskServer (taskd) แทนที่NAMEกับสิ่งที่คุณได้รับการตั้งชื่อใบรับรองและคีย์ของกลุ่มกับกลุ่มที่คุณสร้างขึ้นโจ Q. สาธารณะด้วยชื่อผู้ใช้ที่คุณได้สร้างขึ้นและXXXXXXXX-XXXXXXXX-XXXX-xxxxxxxxxxxมีคีย์ที่ได้รับมอบหมายเมื่อผู้ใช้ของคุณ ถูกสร้างขึ้นบนเซิร์ฟเวอร์ 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
ตอนนี้ได้เวลาซิงค์ TaskWarrior (งาน) กับ TaskServer (taskd) เรียกใช้คำสั่งด้านล่างเพื่อเริ่มต้นฐานข้อมูล
task sync init
การซิงค์ระหว่างไคลเอ็นต์ TaskWarrior (งาน) ของคุณและ TaskServer (taskd) ได้รับการตั้งค่าบนแพลตฟอร์ม Windows 10
ในการใช้ TaskWarrior (งาน) บน Android คุณจะต้องติดตั้งTaskWarrior สำหรับ Androidจาก Google Play Store
ติดตั้ง TaskWarrior (งาน) สำหรับแอพ Android บน Google Play Store
เปิด TaskWarrior (งาน) สำหรับแอพ Android
คุณจะได้รับแจ้งโดย app เพื่อสร้างบัญชีกับชื่อบัญชีที่ต้องการอยากมี ป้อนชื่อที่คุณเลือกเมื่อคุณสร้างชื่อผู้ใช้สำหรับผู้ใช้ TaskServer (taskd)
ปล่อยให้โฟลเดอร์ข้อมูลเป็นค่าเริ่มต้นของ<< สร้างใหม่ >>และแตะปุ่มตกลง ใช้แอปจัดการไฟล์เพื่อสร้างโฟลเดอร์ในรากจัดเก็บข้อมูลของคุณ (เช่น: /storage/emulate/0/Certs
) ส่งแอพไปที่พื้นหลัง
คัดลอกcertificates.zip
ไฟล์ที่คุณสร้างไว้ก่อนหน้านี้และแยกเนื้อหาในไดเรกทอรีของคุณที่สร้างขึ้นในขั้นตอนที่ 4
นำหน้าแอป "TaskWarrior (งาน) สำหรับ Android" แล้วแตะเมนูที่มุมบนซ้ายของแอปเพื่อเปิด
เลื่อนลงไปที่ด้านล่างของเมนูแล้วแตะตัวเลือกการตั้งค่า
สิ่งนี้จะเปิดตัวแก้ไขข้อความแอป TaskWarrior สำหรับ Android แบบง่าย
ป้อนตัวเลือกต่อไปนี้เพื่อตั้งค่าการซิงค์กับ TaskServer ของคุณ (taskd) แทนที่ตัวแปรtaskd.ca
/ taskd.certificate
/ taskd.key` ด้วยเส้นทางไดเรกทอรี ca / certificate / key จริง, NAMEด้วยสิ่งที่คุณตั้งชื่อใบรับรองและคีย์ของคุณ, GROUPกับกลุ่มที่คุณสร้างขึ้นJoe Q. Publicด้วยชื่อผู้ใช้ที่คุณสร้างและXXXXXXXX-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
การซิงค์ระหว่างไคลเอ็นต์ TaskWarrior (งาน) และ TaskServer (taskd) ของคุณได้รับการตั้งค่าบนแพลตฟอร์ม Android
ดูที่ส่วน TaskWarrior (งาน) การกระจายการติดตั้งสำหรับคุณโดยเฉพาะการกระจาย Linux
เปิดหน้าต่างเทอร์มินัล พิมพ์คำสั่งต่อไปนี้ด้านล่างเพื่อสร้างไดเรกทอรีข้อมูล TaskWarrior (task) ( ~/.task/
) และไฟล์การกำหนดค่า ( .taskrc
)
task version
yes
คุณต้องย้ายcertificates.zip
ไฟล์ที่คุณบันทึกไว้ก่อนหน้านี้ในการตั้งค่า TaskServer ไปยัง~/.taskd/
ไดเรกทอรีภายในไดเรกทอรีผู้ใช้ของคุณ หากต้องการแตกไฟล์จากไฟล์ zip ให้ติดตั้งunzip
โปรแกรมก่อนเพื่อการแจกจ่ายเฉพาะของคุณ คัดลอกและวางคำสั่งต่อไปนี้ด้านล่างเพื่อแทนที่ตำแหน่งที่แท้จริงของสำเนาของcertificates.zip
คุณ
cp /location/of/certificates.zip .
cd .task
unzip ../certificates.zip
cd
พิมพ์คำสั่งต่อไปนี้เพื่อตั้งค่า TaskWarrior (task) ขึ้นเพื่อเชื่อมต่อกับ TaskServer (taskd) แทนที่NAMEกับสิ่งที่คุณได้รับการตั้งชื่อใบรับรองและคีย์ของกลุ่มกับกลุ่มที่คุณสร้างขึ้นโจ Q. สาธารณะด้วยชื่อผู้ใช้ที่คุณได้สร้างขึ้นและXXXXXXXX-XXXXXXXX-XXXX-xxxxxxxxxxxมีคีย์ที่ได้รับมอบหมายเมื่อผู้ใช้ของคุณ ถูกสร้างขึ้นบนเซิร์ฟเวอร์ 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
ตอนนี้ได้เวลาซิงค์ TaskWarrior (งาน) กับ TaskServer (taskd) เรียกใช้คำสั่งด้านล่างเพื่อเริ่มต้นฐานข้อมูล
task sync init
ภาคผนวก: หากคุณเรียกใช้ Gnome Shell มีส่วนขยายที่เรียกว่าTaskWhisperที่รวมเข้ากับ TaskWarrior (ภารกิจ)
การซิงค์ระหว่างไคลเอนต์ TaskWarrior (งาน) ของคุณและ TaskServer (taskd) ได้รับการตั้งค่าบน distro Linux ที่คุณโปรดปราน
ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
TestLink เป็นระบบดำเนินการจัดการทดสอบบนเว็บโอเพ่นซอร์ส ช่วยให้ทีมงานประกันคุณภาพสามารถสร้างและจัดการกรณีทดสอบได้เช่นกัน
FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ
CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม
ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น
ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย
ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์
Introduction LAMP เป็นคำย่อที่ย่อมาจาก Linux, Apache, MySQL และ PHP ซอฟต์แวร์นี้เป็นโซลูชันโอเพ่นซอร์สที่ได้รับความนิยมสูงสุดสำหรับการติดตั้ง o
Icinga2 เป็นระบบการตรวจสอบที่มีประสิทธิภาพและเมื่อใช้ในโมเดลลูกค้าหลักจะสามารถแทนที่ความต้องการการตรวจสอบที่อิง NRPE ปรมาจารย์
ใช้ระบบที่แตกต่างกันอย่างไร Netdata เป็นดาวรุ่งพุ่งแรงในด้านการติดตามการวัดในระบบแบบเรียลไทม์ เมื่อเปรียบเทียบกับเครื่องมือชนิดเดียวกัน Netdata:
Buildbot เป็นโอเพ่นซอร์สเครื่องมือที่ใช้การรวมอย่างต่อเนื่องของ Python สำหรับการสร้างซอฟต์แวร์การทดสอบและการปรับใช้โดยอัตโนมัติ Buildbot ประกอบด้วยหนึ่งหรือหมอ
ยินดีต้อนรับสู่การกวดวิชา Vultr อื่น ที่นี่คุณจะได้เรียนรู้วิธีการติดตั้งและเรียกใช้เซิร์ฟเวอร์ SAMP คู่มือนี้เขียนขึ้นสำหรับ CentOS 6 ข้อกำหนดเบื้องต้นคุณจะต้อง
แอปพลิเคชั่น dotProject เป็นเครื่องมือการจัดการโครงการแบบโอเพ่นซอร์สบนเว็บ สำหรับตอนนี้มันวางจำหน่ายภายใต้ GPL ดังนั้นคุณสามารถปรับใช้และใช้งานได้บนบริการของคุณ
ใช้ระบบที่แตกต่างกันอย่างไร Selfoss RSS Reader เป็นฟรีและเปิดตัวเองบนเว็บโฮสต์อเนกประสงค์, สตรีมสด, ตอบโต้กับผู้ใช้ได้, ฟีดข่าว (RSS / Atom) reade
ใช้ระบบที่แตกต่างกันอย่างไร Kanboard เป็นซอฟต์แวร์ซอฟต์แวร์การจัดการโครงการโอเพ่นซอร์สฟรีที่ออกแบบมาเพื่ออำนวยความสะดวกและมองเห็นภาพการทำงานเป็นทีม
บทช่วยสอนนี้จะกล่าวถึงกระบวนการติดตั้งเซิร์ฟเวอร์เกม Half Life 2 บนระบบ CentOS 6 ขั้นตอนที่ 1: การติดตั้งข้อกำหนดเบื้องต้นเพื่อตั้งค่า ou
GlusterFS เป็นระบบไฟล์ที่เชื่อมต่อกับเครือข่ายซึ่งช่วยให้คุณแบ่งปันไดรฟ์สองตัวในอุปกรณ์หลายตัวบนเครือข่ายได้อย่างมีประสิทธิภาพ ระบบไฟล์นี้คือ
ใช้ระบบที่แตกต่างกันอย่างไร ในขณะที่การโยกย้ายเว็บไซต์มักจะไม่มีปัญหาบางครั้งก็ยากที่จะโยกย้ายกล่องอีเมล นี่คือ CAS โดยเฉพาะอย่างยิ่ง
PrestaShop เป็นโซลูชันอีคอมเมิร์ซแบบโอเพ่นซอร์สที่ได้รับความนิยม คุณสามารถใช้มันเพื่อสร้างร้านค้าออนไลน์ของคุณเองได้ฟรี ในบทช่วยสอนนี้ฉันจะแสดงให้คุณเห็นว่า
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true
ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร
ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1
AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน