如何在CentOS 7上安装Mailtrain新闻通讯应用程序
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
HTTP / 2是基于SPDY的HTTP协议的最新版本。它的开发由Google发起,HTTP / 2主要基于SPDY的代码库和概念。
SPDY现在已被弃用,并且正在进行HTTP / 2的全球采用。由于HTTP / 2的速度提高,许多托管公司已经提供了对HTTP / 2的支持。
在撰写本文时,DirectAdmin尚未提供启用HTTP / 2的一键式方法。但是,有多种方法可以实现HTTP / 2支持。事实证明,以下概述的方法是最可靠,最稳定的方法。
为了使HTTP / 2生效,需要更新几个组件。因此,强烈建议您进行快照。如果可能,请在全新的服务器上遵循本指南。
本指南包括两部分:在Web服务器(Apache)中为客户端(访问者)启用HTTP / 2支持以及在cURL中激活HTTP / 2。对cURL启用HTTP v2会强制从服务器发出的cURL请求在其目标服务器中使用HTTP / 2。
尽管这不是HTTP / 2本身的技术要求,但在大多数情况下,您将需要SSL证书才能使用HTTP / 2。如前所述,HTTP / 2在技术上并不需要此标准,但是许多浏览器(Safari,Chrome,Firefox等)已经创建了此标准。使用这些浏览器在没有SSL的情况下加载网页时,将无法通过HTTP / 2提供内容。考虑到大多数用户使用的这些浏览器(和其他浏览器)也都参与了此标准,因此应使用SSL证书。
如果您正在寻找免费的SSL证书,则应查看我们的“加密”指南之一:
推荐:在DirectAdmin上安装Let's Encrypt
备用控制面板:
一般指南:
该指南是否记录了Brotli的安装?
不,本文没有概述将Brotli与HTTP / 2一起安装的方法。
编译无缘无故失败,我已经按照本文概述的确切步骤进行了操作。我该如何解决?
即使有许多可能的原因,但考虑到不同的环境等因素,您的语言环境设置也可能不正确。尝试将LC_ALL=C命令放在命令的前面,以便重新编译Apache的命令如下所示:LC_ALL=C ./build apache 不要忘记LC_ALL=C命令和命令之间的空格!
我会丢失任何数据吗?
如果您当前正在使用反向代理设置,例如与Apache和Nginx一起使用,则应将其还原回Apache,在这种情况下,您的确会丢失Nginx配置文件。如果您已经进行了自定义的VirtualHost配置(通过命令行或DirectAdmin本身),则应针对每个域进行更改,以使Apache版本保持活动状态。您不会丢失任何有关用户数据,网站内容,数据库等的数据。
这些自定义版本将来会阻止我更新软件包和软件吗?
通常,无需为此担心。考虑到DirectAdmin的模块化设置(以及CustomBuild的模块化设置),您将来应该可以降级或升级到其他软件版本,而不会出现任何问题。尽管您应该记录这些更改,以防将来需要其他升级路径,但无需担心与新软件版本不兼容的情况。
DirectAdmin不提供现成的HTTP / 2。当然,这意味着它不兼容,或者他们有理由不兼容。为什么需要此解决方法?
下面描述的用于安装和启用HTTP / 2的方法并不是很多解决方法,而仅仅是软件包更新和配置更改。由于DirectAdmin的模块化设置,这些更改非常好,不会引起任何问题或其他麻烦。鉴于作者尚未对此做出解释,因此很难确定DirectAdmin为什么不立即提供支持。但是,一个相当可靠的结论是DirectAdmin由操作系统使用版本包。这些通常不是最新的软件包。HTTP / 2,技术本身及其兼容性没有问题。就像许多其他技术一样,它可能需要一些时间才能自然地适应。
用Apache激活HTTP / 2可能有哪些风险?
在激活HTTP / 2(包括升级和配置过程)中,有许多变量可能是非标准的。但是,最大的风险在于人为错误。事先拍摄快照,确保将维护通知给您的用户(如果服务器上除了您自己有维护),请当心。此外,不要在不首先考虑命令作用的情况下复制和粘贴命令。
我强烈建议使用DirectAdmin暂时分解一个单独的Vultr云实例,并逐步完成这些步骤。如果“全新”安装出现问题,您将知道在哪里以及如何调试它,因此您不必在生产环境中进行调试。
如果当前正在使用反向代理,则应切换回仅Apache环境。这是因为如果出现问题,HTTP / 2很难调试。通过能够使用Apache的集成HTTP / 2功能,您可以有效地消除大部分麻烦。
在许多情况下,您的OpenSSL版本与HTTP / 2所需的ALPN不兼容。因此,让我们通过更新OpenSSL来启用ALPN。
首先,通过执行以下命令来确保您的OpenSSL版本不兼容:
openssl version
如果您的OpenSSL版本低于1.1.0f,请以root用户身份执行以下命令。否则,请跳至步骤2。
cd ~
wget ftp://ftp.openssl.org/source/openssl-1.1.0f.tar.gz
tar xzf openssl-1.1.0f.tar.gz
cd openssl-1.1.0f
./config --prefix=/usr/local/lib_http2 no-ssl2 no-ssl3 zlib-dynamic -fPIC
make depend
make install
为了使HTTP / 2正常工作,我们需要安装nghttp2。Nghttp2是C中HTTP / 2(和HPACK)的实现。Nghttp2是C中HTTP / 2客户端,服务器和代理的组合版本。
要安装nghttp2,请执行以下命令。幸运的是,可以从CustomBuild直接构建nghttp2。
cd /usr/local/directadmin/custombuild
./build update
./build nghttp2
我们需要在Apache配置文件中更改一些值,以使其使用HTTP / 2。当Web服务器未获得使用备用HTTP版本的说明时,它将不会使用它。因此,我们需要将HTTP / 2添加到配置文件中。
为了使这些更改生效,必须通过CustomBuild重建Apache。由于在专用的配置文件中确定了构建软件时CustomBuild使用的参数和值,因此最佳实践是将这些更改放入专用的自定义配置文件中。
注意:如果您不将这些更改放入自定义文件中,则很可能会覆盖它们,并且您的设置将被破坏。请按照以下说明进行操作。
执行以下命令以创建文件并用默认值预填充它,以便我们以后可以对其进行更改:
mkdir -p /usr/local/directadmin/custombuild/custom/ap2
cp -p /usr/local/directadmin/custombuild/configure/ap2/configure.apache /usr/local/directadmin/custombuild/custom/ap2/configure.apache
到目前为止,我们有一个自定义文件,该文件与CustomBuild使用的Apache的默认配置文件相同。我们必须/usr/local/directadmin/custombuild/custom/ap2/configure.apache通过替换以下字符串来更改文件:
"--with-ssl=/usr" \
与:
"--enable-http2" \
"--enable-ssl-staticlib-deps" \
"--with-ssl=/usr/local/lib_http2" \
注意:确保在任何反斜杠之后都没有空格。那里多余的空格将导致构建中断。
接下来,重建Apache。CustomBuild将使用您刚创建的自定义配置文件:
./build apache
现在已经重建了Apache,包括HTTP / 2的必要模块和设置。这意味着我们现在在服务器上安装了支持HTTP / 2的Apache版本,但是我们需要告诉Apache首先实际使用它。
在中添加以下行/etc/httpd/conf/extra/httpd-includes.conf:
ProtocolsHonorOrder On
Protocols h2 h2c http/1.1
保存这些更改并重写配置文件,以使它们在重建过程中保持不变:
cd /usr/local/directadmin/custombuild
./build rewrite_confs
HTTP / 2现在应该在您的Web(Apache)服务器上处于活动状态。
重新引导服务器,以确保我们的更改在重新引导后仍然存在。请通过Vultr控制面板或通过执行reboot命令重新启动服务器。
使用以下工具可以轻松测试HTTP / 2的功能:HTTP / 2测试
考虑到HTTP / 2是特定于服务器的,并且不能限于特定的一对域或网站,因此输入指向服务器的任何域名甚至服务器IP地址都应该起作用。
该测试将告诉您是否可以通过HTTP / 2访问Web服务器。如果该工具说您的服务器上激活了HTTP / 2,则现在可以通过HTTP / 1.1或HTTP / 2访问DirectAdmin网站。如果客户端(访问者)无法使用HTTP / 2支持,则其浏览器将退回到HTTP / 1.1。
如果该工具无法通过HTTP / 2访问您的Web服务器,请再次执行上述步骤。通常(由于上述步骤不会主动覆盖任何内容),这不会损坏或破坏您的设置。
我建议更新cURL,以便它能够访问支持HTTP / 2的服务器。如果服务器不支持HTTP / 2,它将退回到HTTP / 1.1。
就像使用Apache一样,我们将创建一个自定义配置文件,以便CustomBuild构建的cURL将使用我们的自定义设置。
创建目录:
mkdir -p /usr/local/directadmin/custombuild/custom/curl
创建文件:
touch /usr/local/directadmin/custombuild/custom/curl/configure.curl
将以下内容复制并粘贴到文件中:
#!/bin/sh
perl -pi -e 's|CURL_CHECK_PKGCONFIG\(zlib\)|#CURL_CHECK_PKGCONFIG(zlib)|g' configure.ac
LIBS="-ldl" ./configure --with-nghttp2=/usr/local --with-ssl=/usr/local/lib_http2
如您所见,这些内容告诉cURL使用lib_http2SSL库进行编译。
保存文件并给予正确的权限:
chmod 700 /usr/local/directadmin/custombuild/custom/curl/configure.curl
接下来,我们要做的就是构建cURL。
cd /usr/local/directadmin/custombuild
./build curl
现在已使用HTTP 2支持编译了cURL。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o
在本教程中,我们将介绍在CentOS 6x x64上安装和使用nethogs的过程。nethogs是一种网络监视工具,它允许Networ
使用其他系统?简介BoltWire是一个用PHP编写的免费,轻量级的内容管理系统。与大多数其他内容管理人员相比
欢迎来到另一个Vultr教程。在这里,您将学习如何安装和运行SAMP服务器。本指南是为CentOS 6编写的。先决条件
简介/ etc /目录在Linux系统运行中起着至关重要的作用。其原因是因为几乎每个系统配置
使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示
使用其他系统?SonarQube是用于质量系统开发的开源工具。它是用Java编写的,并且支持多个数据库。它提供
使用其他系统?Mosh是Mobile Shell的缩写,是一种新兴的远程终端应用程序,旨在提供更好的连接和使用
MoinMoin是一个使用Python编写的基于文件系统的开源Wiki引擎。如今,MoinMoin已广泛用于开源社区。许多供应商
H2O是新一代HTTP服务器,它对所有当前使用的Web服务器都具有出色的,功能齐全的HTTP / 2实现。使用H2O作为您的Web服务器
在Linux和Unix系统管理员中,使用sudo用户访问服务器并在root级执行命令是一种非常普遍的做法。使用泡沫
使用其他系统?Countly是一个开源Web /移动分析和营销平台。它具有许多用于从Web收集数据的功能
MODX是一个用PHP编写的免费开放源内容管理系统。它使用MySQL或MariaDB来存储其数据库。MODX专为满足以下条件的企业而设计:
使用其他系统?Lychee 3.1相册是一种简单,灵活,免费和开源的照片管理工具,可在VPS服务器上运行。安装
使用其他系统?ERP或企业资源计划是用于管理核心业务流程的企业应用程序套件。ERPNext是免费的
使用其他系统?Paste 2.1是一个简单,灵活,免费和开源的pastebin应用程序,用于存储代码,文本等。最初是
使用其他系统?Seafile(社区版本)是一个免费和开源的文件同步和共享解决方案,类似于ownCloud。机智
使用其他系统?Kolab Groupware是一个免费的基于Web的开源组件软件。它的功能包括电子邮件通信,事件
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息