在CentOS 7上安装TaskServer(任务化)

TaskWarrior是一个开源时间管理工具,它是对Todo.txt应用程序及其克隆的改进。由于普通人在他们的日常计划中使用多个设备/平台,因此拥有一个集中式存储库的能力至关重要,该存储库可以从任何设备访问和更新数据。本教程将着重于设置服务器(称为TaskServer(任务))和客户端(称为TaskWarrior(任务)),以允许多个客户端设备安全地访问和交换数据。

它具有以下功能:

  • 无限任务
  • 任务优先级
  • 搜索过滤
  • 标记
  • 自动同步
  • 自动备份
  • 完全控制和隐私
  • 加密通讯

先决条件

  • 一个CentOS 7 x64服​​务器实例。
  • 一个sudo的用户。
  • 指向Vultr实例的域名(taskd.example.com)

步骤1:更新系统

以您的sudo用户身份登录以安装EPEL存储库并按如下所示更新系统:

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

步骤2:安装RPM Build和用于构建的工具

EPEL存储库不包含TaskServer(任务)的RPM,因此我们必须将其从源代码构建到RPM包中。

  1. 安装GCC,Make,RPM构建,开发和签名工具。

    sudo yum install gcc gcc-c++ make rpmdevtools rpm-sign rpm-build -y
    
  2. 创建一个GnuPG目录,其中将包含签署我们的RPM所需的GPG文件。

    mkdir .gnupg
    
  3. 创建密钥时,我们需要系统中的熵来适当地随机化它。该rngd守护程序可生成从熵必要/dev/urandom。因此,现在就安装它。

    yum install rngd -y
    
  4. 启动rngd守护程序以生成熵。该-r选项指向/dev/urandom,而不是默认/dev/hwrng

    sudo rngd -r /dev/urandom
    
  5. 生成密钥。该--gen键选项告诉GPG生成一个新的密钥对。

    gpg --gen-key
    
  6. 对于“ 请选择所需的密钥类型: ”选项,通过输入1并按Return / Enter键,为密钥类型选择“ (1)RSA和RSA(默认) ” 。

  7. 对于“ 您想要什么键大小?(2048) ”选项,请按Return / Enter键选择默认值。

  8. 对于“ 请指定密钥应有效的时间。 ”选项,请按Return / Enter键选择默认值。

  9. 对于“ 这是正确的吗?(y / N) ”选项,输入y并按Return / Enter键。

  10. 在“ 真实姓名: ”下,输入您选择的名称,然后按Return / Enter键。

  11. 在“ 电子邮件地址: ”下,输入您选择的电子邮件地址,然后按Return / Enter键。

  12. 如果您选择的话,“ 注释:”部分可以留为空白。

  13. 如果您输入的信息不正确,请进行必要的更改。如果您对显示的USER-ID信息感到满意,请输入O(大写字母O,而不是零),然后按Return / Enter键。

  14. GnuPG现在将提示您创建并验证密钥对的密码。

  15. 输入密码后,将.gnupg在用户目录下的目录下创建GnuPG密钥对。

  16. 运行此命令以显示.gnupg目录的内容。它应该包含以下目录private-keys-v1.d和文件pubring.gpgpubring.gpg~random_seedsecring.gpgS.gpg-agenttrustdb.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密钥库。用在步骤17中选择的文本替换“ jqpublic ”。

    sudo rpm --import RPM-GPG-KEY-jqpublic
    
  19. 验证密钥对已添加到RPM密钥库中。该--q GPG-PUBKEY选项查询RPM GnuPG的密钥库。的%{名称} - %{版本} - %{释放} - >%{摘要} \ 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键。最后,按回车键。

  23. 下面的命令将设置您的RPM构建环境。这会将其他宏附加到.rpmmacros您在步骤20中创建的文件,并创建用于构建和存储RPM的必需目录。

    rpmdev-setuptree
    
  24. 运行此命令以显示rpmbuild目录的内容。它应包含以下目录SOURCESRPMSBUILDSRPMSSPECS

    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:从源代码构建TaskServer(任务式)RPM

  1. 为了从源代码构建新的RPM,必须创建TaskServer(任务化)SPEC文件。

    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. RPM还需要在rpmbuild/SOURCES目录中创建三个附加文件。使用该nano程序创建taskd-config文件。

    nano rpmbuild/SOURCES/taskd-config
    
  4. 将以下文本添加到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
    
  5. 使用该nano程序创建taskd.service文件。

    nano rpmbuild/SOURCES/taskd.service
    
  6. 将以下文本添加到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
    
  7. 使用该nano程序创建taskd.xml文件。

    nano rpmbuild/SOURCES/taskd.xml
    
  8. 将以下文本添加到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>
    
  9. 为了构建TaskServer(任务式)RPM,需要三个软件包来进行构建。运行以下命令以安装这些软件包。

    sudo yum install cmake libuuid-devel gnutls-devel gnutls-utils -y
    
  10. 现在是时候从源代码进行构建,并为TaskServer(taskd)创建RPM。运行以下命令以开始使用。在1x CPU Vultr实例上花费不到一分钟的时间即可构建RPM。出现提示时,输入您在步骤#14中创建的GnuPG密码以签署RPM。

    cd rpmbuild/SPECS/
    rpm -ba -sign taskd.spec
    
  11. 安装TaskServer(任务式)RPM。

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

步骤4:配置TaskServer(任务)

  1. 为了使TaskServer(taskd)与TaskWarrior(task)客户端进行通信和同步,您将需要使用下面的生成脚本/etc/pki/taskd/来生成服务器和客户端证书/密钥。使用以下命令提升为root用户,并将目录更改为/etc/pki/taskd

    sudo su -
    cd /etc/pki/taskd/
    
  2. 使用该nano程序创建vars文件以生成自签名的根CA。

    nano vars
    

    将以下文本添加到vars文件中。将ORGANIZATIONCNCOUNTRYSTATELOCALITY更改为您满意。

    BITS=4096
    EXPIRATION_DAYS=365
    ORGANIZATION="Vultr.com Inc."
    CN=taskd.example.com
    COUNTRY=US
    STATE="New York"
    LOCALITY="New York"
    
  3. 生成自签名的根CA,证书,服务器密钥和服务器吊销列表(可选)。

    ./generate.ca
    ./generate.server
    ./generate.crl
    

    这些命令将创建下列文件(ca.cert.pemca.key.pemserver.cert.pemserver.key.pemserver.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
    
  4. 启用并启动TaskServer(taskd)守护程序。

    systemctl enable taskd
    systemctl start taskd
    
  5. 在防火墙中打开端口TaskServer(taskd)运行。

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

    现在已在CentOS 7实例上安装并设置TaskServer(任务)。

步骤5:配置TaskWarrior客户端证书和密钥

  1. 您必须创建客户端证书和密钥来加密TaskServer(任务)和TaskWarrior(任务)之间的通信。运行以下命令以生成客户端证书和密钥。替换NAME为您的客户容易识别的名称。

    generate.client NAME
    

    该命令将创建下列文件(NAME.cert.pemNAME.key.pem中)的内部/etc/pki/taskd/目录。

  2. 将以下文件复制到您的用户目录,更改所有权和权限。用您的实际用户名目录替换下面的joeqpublic

    cp ca.cert.pem NAME.cert.pem NAME.key.pem /home/joeqpublic/
    chown joeqpublic.joeqpublic /home/joeqpublic/*.pem
    chmod 400 /home/joeqpublic/*.pem
    
  3. 创建证书和密钥的zip存档。

    zip certficates.zip ca.cert.pem NAME.cert.pem NAME.key.pem
    
  4. 使用scp(命令行)或WinSCP(SCP的GUI前端)将certificates.zip文件从CentOS实例下载到客户端设备(计算机/笔记本电脑/智能手机)。

  5. 放弃root用户特权,然后以普通用户身份执行其余命令。

    exit
    

    现在已设置TaskServer(任务)并准备好与TaskWarrior(任务)客户端连接。

步骤6:创建您的第一个TaskWarrior组和用户

  1. 为了创建,删除,修改和同步任务,您将需要一个用户帐户。但是,在添加用户之前,您首先需要创建一个组织组。运行以下命令以创建第一个组。用易于识别的名称替换GROUP

  2. 重要!taskd创建组/用户的命令必须以taskd用户身份运行。以root用户身份运行将创建该root用户拥有的目录和文件,在/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年以后的版本)

要在Windows 10上使用TaskWarrior(任务),您需要从Windows应用商店安装适用于LinuxWindows子系统

  1. 要安装WSL,需要提升的Powershell提示。按Window键,然后键入powershell。右键单击结果顶部的Windows Powershell,然后选择“ 以管理员身份运行 ”。在“用户帐户控制”提示下,单击“ 是”。复制并粘贴下面在Powershell窗口中找到的文本。WSL完成安装后,按Y键重新启动Windows。

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    
  2. 重新引导后,打开命令提示符,然后键入以下命令bash。这将在Windows上安装Ubuntu。按Y键。现在将下载并提取它。选择一个用户名和密码。

    bash
    
  3. 现在是时候安装TaskWarrior(任务)了。在控制台中键入以下命令。

    sudo apt-get install task -y
    
  4. 类型退出两次退出了庆典终端和Windows命令提示符。

  5. 单击开始菜单按钮。键入ubuntu在Windows上的Ubuntu上右键单击Bash。选择固定到任务栏。这为快速访问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(任务)连接。将NAME替换为您命名的证书和密钥,将GROUP替换为您创建的组,将Joe Q. Public替换为您创建的用户名,并将XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX替换为用户时分配的密钥是在TaskWarrior(任务)服务器上创建的。

    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(任务)同步了。运行以下命令以初始化数据库。

    task sync init
    

    现在,已在Windows 10平台上设置TaskWarrior(任务)客户端和TaskServer(任务)之间的同步。

安卓系统

要在Android上使用TaskWarrior(任务),您需要从Google Play商店安装Android版TaskWarrior

  1. 在Google的Play商店中安装TaskWarrior(任务)Android应用程序。

  2. 打开适用于Android应用程序的TaskWarrior(任务)。

  3. 应用程序将提示您创建一个具有所需帐户名的帐户。输入您为TaskServer(任务化)用户创建用户名时选择的名称。

  4. 将数据文件夹保留为默认设置<<<创建新>>,然后点击确定按钮。使用文件管理器应用在存储根目录中创建一个文件夹(例如:)/storage/emulate/0/Certs。将应用程序发送到后台。

  5. 复制certificates.zip您先前创建的文件,并将其内容提取到步骤4中创建的目录中。

  6. 前景“ Android TaskWarrior(任务)”应用程序,然后点击应用程序左上角的菜单以将其打开。

  7. 向下滚动到菜单底部,然后点击设置选项。

  8. 这将打开一个简单的内置TaskWarrior For Android应用程序文本编辑器。

  9. 输入以下选项以设置与TaskServer的同步(任务)。将taskd.ca/ taskd.certificate/ taskd.key`变量替换为实际的ca / certificate / key目录路径,将NAME替换为您命名的证书和密钥,将GROUP替换为创建的组,将Joe Q. Public替换为创建的用户名,XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX,并在TaskWarrior(任务)服务器上创建用户时分配了密钥。

    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. 点击软盘图标以保存您的设置。

现在,已在Android平台上设置了TaskWarrior(任务)客户端和TaskServer(任务)之间的同步。

的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(任务)连接。将NAME替换为您命名的证书和密钥,将GROUP替换为您创建的组,将Joe Q. Public替换为您创建的用户名,并将XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX替换为用户时分配的密钥是在TaskWarrior(任务)服务器上创建的。

    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(任务)同步了。运行以下命令以初始化数据库。

    task sync init
    

附录:如果运行Gnome Shell,则有一个名为TaskWhisper的扩展程序,它与TaskWarrior(任务)集成在一起。

现在,您最喜欢的Linux发行版中已设置TaskWarrior(任务)客户端和TaskServer(任务)之间的同步。



Leave a Comment

如何在CentOS 7上安装Oxwall

如何在CentOS 7上安装Oxwall

Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,

如何在CentOS 7上设置vsFTPd

如何在CentOS 7上设置vsFTPd

FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o

使用Nethogs监视网络带宽使用情况

使用Nethogs监视网络带宽使用情况

在本教程中,我们将介绍在CentOS 6x x64上安装和使用nethogs的过程。nethogs是一种网络监视工具,它允许Networ

如何在CentOS 7上安装BoltWire CMS

如何在CentOS 7上安装BoltWire CMS

使用其他系统?简介BoltWire是一个用PHP编写的免费,轻量级的内容管理系统。与大多数其他内容管理人员相比

在CentOS 6上设置SA-MP San Andreas多人服务器

在CentOS 6上设置SA-MP San Andreas多人服务器

欢迎来到另一个Vultr教程。在这里,您将学习如何安装和运行SAMP服务器。本指南是为CentOS 6编写的。先决条件

使用Etckeeper进行/ etc的版本控制

使用Etckeeper进行/ etc的版本控制

简介/ etc /目录在Linux系统运行中起着至关重要的作用。其原因是因为几乎每个系统配置

如何在CentOS 7上安装Microweber

如何在CentOS 7上安装Microweber

使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示

如何在CentOS 7上安装SonarQube

如何在CentOS 7上安装SonarQube

使用其他系统?SonarQube是用于质量系统开发的开源工具。它是用Java编写的,并且支持多个数据库。它提供

如何在CentOS 7上使用Mosh进行远程服务器管理

如何在CentOS 7上使用Mosh进行远程服务器管理

使用其他系统?Mosh是Mobile Shell的缩写,是一种新兴的远程终端应用程序,旨在提供更好的连接和使用

如何在CentOS 7上安装MoinMoin

如何在CentOS 7上安装MoinMoin

MoinMoin是一个使用Python编写的基于文件系统的开源Wiki引擎。如今,MoinMoin已广泛用于开源社区。许多供应商

在CentOS 7上安装H2O Web服务器

在CentOS 7上安装H2O Web服务器

H2O是新一代HTTP服务器,它对所有当前使用的Web服务器都具有出色的,功能齐全的HTTP / 2实现。使用H2O作为您的Web服务器

如何在Debian,CentOS和FreeBSD上使用Sudo

如何在Debian,CentOS和FreeBSD上使用Sudo

在Linux和Unix系统管理员中,使用sudo用户访问服务器并在root级执行命令是一种非常普遍的做法。使用泡沫

如何在Ubuntu 16.10上安装Countly Analytics

如何在Ubuntu 16.10上安装Countly Analytics

使用其他系统?Countly是一个开源Web /移动分析和营销平台。它具有许多用于从Web收集数据的功能

如何在CentOS 7上安装MODX CMS和Nginx

如何在CentOS 7上安装MODX CMS和Nginx

MODX是一个用PHP编写的免费开放源内容管理系统。它使用MySQL或MariaDB来存储其数据库。MODX专为满足以下条件的企业而设计:

如何在CentOS 7 LAMP VPS上安装Lychee 3.1相册

如何在CentOS 7 LAMP VPS上安装Lychee 3.1相册

使用其他系统?Lychee 3.1相册是一种简单,灵活,免费和开源的照片管理工具,可在VPS服务器上运行。安装

如何在CentOS 7上安装ERPNext开源ERP

如何在CentOS 7上安装ERPNext开源ERP

使用其他系统?ERP或企业资源计划是用于管理核心业务流程的企业应用程序套件。ERPNext是免费的

如何在CentOS 7 LAMP VPS上安装Paste 2.1

如何在CentOS 7 LAMP VPS上安装Paste 2.1

使用其他系统?Paste 2.1是一个简单,灵活,免费和开源的pastebin应用程序,用于存储代码,文本等。最初是

如何在CentOS 7上安装Seafile Server

如何在CentOS 7上安装Seafile Server

使用其他系统?Seafile(社区版本)是一个免费和开源的文件同步和共享解决方案,类似于ownCloud。机智

如何在CentOS 7上安装Kolab组件

如何在CentOS 7上安装Kolab组件

使用其他系统?Kolab Groupware是一个免费的基于Web的开源组件软件。它的功能包括电子邮件通信,事件

如何在CentOS 7 LAMP VPS上安装Omeka Classic 2.4 CMS

如何在CentOS 7 LAMP VPS上安装Omeka Classic 2.4 CMS

使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。