如何在CentOS 7上安装Mailtrain新闻通讯应用程序
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
有很多解决方案可以用Linux解决方案代替Microsoft Exchange,但是所有这些解决方案都有一个我真的不喜欢的问题。当我收到会议邀请时,它们将作为附件到达我的iOS设备上,而不是直接在日历应用中打开。Zarafa是我测试过的唯一可在日历应用程序中打开日历事件的解决方案。本指南将教您如何在CentOS 6上设置Zarafa和Yaffas。
我们进行以下假设以使其更容易理解配置。但是,您应该对这些项目使用自己的真实值:
首先部署您的vultr.com服务器实例。我选择了运行32位CentOS 6的1 GB VPS。安装完成后,我们准备将服务器变为邮件服务器。
在服务器控制面板的“我的服务器”屏幕中,单击新创建的服务器旁边的“管理”链接。在打开的页面上,您可以查看服务器的详细信息。单击IPv4选项卡,然后单击蓝色的“更新”按钮。出现一个文本输入字段,并预先设置了诸如“ .vultr.com”之类的内容。将该条目替换为服务器的完整域名(例如:pegasus.example.com),然后按蓝色的“更新”按钮。
现在该登录新服务器了。打开您的ssh终端并连接到服务器。或者,您可以单击蓝色的“ View Console”按钮以获取带有服务器登录屏幕的浏览器窗口。
ssh root@your_ip_address
“ your_ip_address
”部分是服务器控制面板中列出的主要IP地址。如果使用浏览器连接到服务器,则只需使用root密码以root用户身份登录。
首先,我们设置正确的域名。打开网络配置文件。
nano /etc/sysconfig/network
将“ vultr.guest”替换为服务器的完整域名(例如:pegasus.example.com)。按Ctrl + X,然后按Y保存文件。
我们更改的第二个点是/etc/hosts
文件。
nano /etc/hosts
添加以下行。它可以在文件的顶部或第二行。
127.0.1.1 pegasus.example.com pegasus
按Ctrl + X,然后按Y保存文件。我想确保重新启动后一切正常,因此在进行这些更改后,我重新启动了VPS。
reboot
请稍等一下计算机重新引导,然后重新连接。
ssh root@your_ip_address
Yaffas和Zarafa需要EPEL存储库,该存储库已安装在vultr.com服务器上的源代码中。他们也需要RPMforge存储库。发出以下命令来安装该存储库。
32位系统:
rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
64位系统:
rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
接下来,我们添加Yaffas存储库。
nano /etc/yum.repos.d/yaffas.repo
将以下文本粘贴到新创建的文件中:
[yaffas]
name = yaffas $releasever
baseurl = http://repo.yaffas.org/releases/latest/rhel/$releasever
enabled = 1
protect = 0
gpgcheck = 1
priority = 1
按Ctrl + X,然后按Y保存文件。
为了避免兼容性问题,我们需要从EPEL存储库中排除某些项目。打开存储库文件。
nano /etc/yum.repos.d/epel.repo
然后,在[epel]
“ gpgkey”行下方的部分中,输入以下内容。
exclude=clamav* clamd* amavisd* libvmime libical libvmime-devel libical-devel php-mapi zarafa*
完整的部分如下所示:
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
exclude=clamav* clamd* amavisd* libvmime libical libvmime-devel libical-devel php-mapi zarafa*
按Ctrl + X,然后按Y保存文件。
导入Yaffas存储库的GPG密钥:
rpm --import http://repo.yaffas.org/repo.rpm.key
现在,让我们清理百胜。
yum clean all
至此,我们应该为Yaffas安装做好准备。只需输入此命令即可安装。
yum install yaffas
Yum将检查依赖关系并提供摘要。
Install 359 Package(s)
Total download size: 260 M
Installed size: 639 M
Is this ok [y/N]:
按Y,然后按Enter / Return键开始安装。
安装将花费一些时间,因此在等待安装完成时请自己喝杯咖啡和饼干。
在开始最终设置之前,我们必须配置MySQL。启动MySQL并开始安全设置。
service mysqld restart
mysql_secure_installation
为了登录MySQL进行安全保护,我们需要root用户的当前密码。如果您刚刚安装了MySQL,但尚未设置root密码,则该密码将为空,因此您只需在此处按Enter / Return。
Enter current password for root (enter for none): **{press Enter/Return}**
[...]
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] **Y**
New password: **{enter super secret password}**
Re-enter new password: **{enter super secret password again}**
Remove anonymous user? [Y/n] **Y**
Disallow root login remotely? [Y/n] **Y**
Remove test database and access to it? [Y/n] **Y**
Reload privilege tables now? [Y/n] **Y**
打开网络浏览器,然后转到以下URL。
http://your_ip_address:10000
#If you have a DNS entry already, use this instead.
http://server.example.com:10000
初始用户名admin
带有密码yaffas
。
登录后,您将看到安装向导。它有5个步骤。按“下一步”开始。
第一步是输入新的管理员密码。输入两次新密码。确保它足够复杂以确保安全,但不要忘记它。然后点击“下一步”。
下一个屏幕将配置MySQL后端。您唯一需要输入的是您为MySQL root用户创建的密码。
在第四个屏幕上,设置您的邮件域。在主要邮件域字段中输入“ example.com”。这必须是您自己的域。按“下一步”。
我相信第5个屏幕是可选的,但为了安全起见,请创建一个将成为LDAP管理员的用户帐户,然后单击“完成”。
设置过程需要一段时间。完成后,将显示一个弹出窗口,告诉您一切成功。点击“确定”按钮。片刻之后,您将再次看到登录屏幕。您可以使用在安装过程中创建的新密码以admin身份登录。
在安装过程中,将生成并安装该应用程序的一些常规自签名证书。就个人而言,我更喜欢拥有自己的自签名证书来显示输入的值,并且我还想确保所有请求都通过HTTPS发送。
Zarafa带有一些脚本来生成您自己的证书。这些当然是自签名证书。
让我们为证书颁发机构做好准备。
mkdir -p /etc/zarafa/ssl
chmod 700 /etc/zarafa/ssl
cd /etc/zarafa/ssl
...然后运行脚本:
sh /usr/share/doc/zarafa/ssl-certificates.sh server
参数“服务器”意味着我们创建的证书将被称为server.pem
。
您将收到以下消息。
No Certificate Authority Root found in current directory.
Press enter to create, or ctrl-c to exit.
按Enter或Return 键。
出现的下一条消息是:
CA certificate filename (or enter to create)
按Enter或Return键继续并创建CA证书。
在屏幕上进行一些活动后,将提示您输入PEM密码。输入CA证书的任何密码,但请确保不要忘记它,因为稍后将需要它。为了简单起见,假设我们选择了密码短语“ ca-root-pem”。
回答问题以生成证书。答案是我的示例,因此请使用自己的正确值替换它们。
Country Name (2 letter code) [XX]: **MY**
State or Province Name (full name) []:**Selangor**
Locality Name (eg, city) [Default City]: **Shah Alam**
Organization Name (eg, company) [Default Company Ltd]: **ELMIMA-Systems**
Organizational Unit Name (eg, section) []: **Certificate Authority**
Common Name (eg, your name or your server's hostname) []:**server.example.com** **Must be the full domain name of your server**
Email Address []: **[email protected]**
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: **Enter/Return**
An optional company name []: **Enter/Return**
接下来,它将询问您cakey.pem
文件的密码。这是您之前创建的密码。
Enter pass phrase for /etc/pki/CA/private/./cakey.pem:ca-root-pem
您将在屏幕上看到一个小活动,然后将提示您输入PEM密码。这是server.pem
我们创建的文件的密码。输入您想要的任何内容,但请确保您不会忘记它。为简单起见,我们将使用“ server-pem-phrase”。
Enter PEM pass phrase:**server-pem-phrase**
Verifying - Enter PEM pass phrase:**server-pem-phrase**
是时候输入server.pem
文件的值了。
Country Name (2 letter code) [XX]: **MY**
State or Province Name (full name) []:**Selangor **
Locality Name (eg, city) [Default City]: **Shah Alam**
Organization Name (eg, company) [Default Company Ltd]: **ELMIMA-Systems**
Organizational Unit Name (eg, section) []: **Server SSL Certificate**
Common Name (eg, your name or your server's hostname) []: **server.example.com** **Must be the full domain name of your server**
Email Address []: [email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: **Enter/Return**
An optional company name []: **Enter/Return**
Enter pass phrase for /etc/pki/CA/private/cakey.pem:ca-root-pem **Replace with your own passphrase**
屏幕上的某些活动显示证书已生成。
Sign the certificate? [y/n]:
输入Y并按Enter / Return键。
1 out of 1 certificate requests certified, commit? [y/n]
输入Y并按Enter / Return键。
Create public key from this certificate? [y]
我们并不是真的需要它,但是我想创建它并没有什么害处。只需按Enter / Return键。
Enter pass phrase for server.pem: **server-pem-phrase**
现在是时候server.cfg
为Zarafa 配置文件了。
nano /etc/zarafa/server/cfg
找到该条目server_ssl_enabled
并将其值更改为“是”(不带引号)。
找到该条目server_ssl_port
并确认它是237。
找到该条目server_ssl_key_file
并将其值设置为“ /etc/zarafa/ssl/server.pem
”(不带引号)。
server_ssl_key_pass
使用为server.pem
文件创建的密码短语(例如:server-pem-phrase)作为其值来创建条目。
查找条目server_ssl_ca_file
。Zarafa的原始文档假定该路径为/etc/zarafa/ssl/demoCA/cacert.pem
,但是在CentOS上该路径为/etc/pki/CA/cacert.pem
。相应地更新此值。
server_ssl_ca_file = /etc/pki/CA/cacert.pem
重新启动Zarafa服务器。
service zarafa restart
让我们为Apache生成证书。
cd /etc/zarafa/ssl
openssl req -nodes -newkey rsa:2048 -keyout zarafa-ssl.key -out zarafa-ssl.csr
我们得到另一种形式来创建证书。
Country Name (2 letter code) [XX]: **MY **
State or Province Name (full name) []: **Selangor**
Locality Name (eg, city) [Default City]: **Shah Alam**
Organization Name (eg, company) [Default Company Ltd]: **ELMIMA-Systems**
Organizational Unit Name (eg, section) []: **Zarafa Web Services**
Common Name (eg, your name or your server's hostname) []: **server.example.com** **Must be the full domain name of your server**
Email Address []: **[email protected]**
然后,签署证书。
openssl x509 -req -in ./zarafa-ssl.csr -signkey zarafa-ssl.key -out zarafa-ssl.crt -days 9999
...并将其添加到Apache。
cd /etc/httpd/conf.d
nano ssl.conf
找到“ SSLCertificateFile /opt/yaffas/etc/ssl/certs/zarafa-webaccess.crt”行,并将其更改为“ SSLCertificateFile /etc/zarafa/ssl/zarafa-ssl.crt”。
找到“ SSLCertificateKeyFile /opt/yaffas/etc/ssl/certs/zarafa-webaccess.key”行,并将其更改为“ SSLCertificateKeyFile /etc/zarafa/ssl/zarafa-ssl.key”
保存文件并退出。
现在,打开zarafa-webapp.conf
文件。
nano /etc/httpd/zarafa-webapp.conf
找到以下两行,并取消注释。
#php_flag session.cookie_secure on
#php_flag session.cookie_httponly on
添加以下行。
RewriteEngine On
RewriteCond % !=on
RewriteRule (.*) https://pegasus.example.com/webapp/ [R] (Of course use your own real domain here)
保存文件并退出。然后重新启动Apache。
service httpd restart
现在,Web应用程序将始终使用HTTPS。您可以针对进行相同操作zarafa-webapp.conf
。
在CentOS上测试安装时,由于缺少文件夹,我注意到一些错误消息。您可以使用以下命令修复它。
mkdir -p /var/run/policyd-weight/cores/master
mkdir -p /var/run/policyd-weight/cores/cache
chown -R polw /var/run/policyd-weight
要将新的Zarafa服务器用作您域的邮件服务器,您将需要为域设置A记录和MX记录。如果需要,您可以使用自己喜欢的搜索引擎查找SPF向导,从而可以轻松地为您的域创建SPF记录。
使用其他系统?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 機器變磚。閱讀這篇文章以了解更多信息