前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Ubuntu 14.04上使用PEPS运行自己的邮件服务器和文件存储

如何在Ubuntu 14.04上使用PEPS运行自己的邮件服务器和文件存储

原创
作者头像
圣人惠好可爱
修改2018-10-22 11:40:26
1.7K0
修改2018-10-22 11:40:26
举报

介绍

我们都使用Gmail或Dropbox等电子邮件和在线文件存储服务。但是,这些服务可能不适合存储个人和专业的敏感数据。在附上重要的商业合同或机密信息时,我们是否相信其隐私政策?我们是否接受所有数据的收集,处理和分析?

这个问题有一个解决方案:PEPS是一个使用端到端加密的电子邮件,文件共享和聊天平台。端到端加密可确保加密和解密在您的计算机(客户端)上进行,而不是在服务器上进行,服务器永远不会以明文形式看到机密数据。

本教程将指导您完成在腾讯云CVM上部署PEPS实例的过程,以便您可以安全地存储数据。

准备

PEPS作为Docker容器分发,以便于设置。您需要一台带有Ubuntu 14.04 x64的腾讯云CVM,并在其上安装Docker应用程序。特别:

  • 一个Ubuntu 14.04 x64 腾讯云CVM有2 GB的内存,如果你只有几个用户。如果您需要更多用户,或者只需要更多数据存储空间,请选择4 GB或更多RAM。
  • 购买SSL证书以代替自签名证书; 这适用于生产环境。或者,您可以创建免费签名的SSL证书。本教程后面将介绍创建证书的说明。

腾讯云CVM的名称很重要:如果您打算通过电子邮件向外部收件人发送邮件,则需要配置反向DNS以避免邮件被标记为垃圾邮件。好消息:如果您的腾讯云CVM名称设置为您的FQDN(完全限定域名),腾讯云会自动配置 PTR记录。如果您打算发送电子邮件mail.example.com,那也应该是您的腾讯云CVM的名称(即使您的地址是以形式user@example.com)。

一台已经设置好可以使用sudo命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器

第1步 - 安装Docker

第一步是安装Docker。本教程基于Docker 1.6.2。

  • 在创建Ubuntu 14.04 x64 腾讯云CVM时添加Docker应用程序

您还需要将您创建的非root用户(将在本教程中运行所有命令的docker用户)添加到用户组。用您的用户名替换sammy:

代码语言:javascript
复制
sudo usermod -aG docker sammy

您还需要注销并以非root用户身份重新登录,以使此更改生效。

第2步 - 部署PEPS

使用(替换您的用户名和服务器IP)通过SSH连接到您的腾讯云CVM,并运行以下命令来准备环境。sshsammy@your_server_ip

首先,克隆存储库:

代码语言:javascript
复制
git clone https://github.com/MLstate/PEPS

切换到PEPS目录:

代码语言:javascript
复制
cd PEPS

配置您的域名,将example.com替换为您的域名:

代码语言:javascript
复制
echo example.com > domain

此命令创建一个以您的域名命名的domain文本文件,作为文件中的第一行也是唯一一行。

安装make:

代码语言:javascript
复制
sudo apt-get update
sudo apt-get install make

现在是时候建造容器了,大约需要10-20分钟,所以你可以享用咖啡或安排站立式会议:

代码语言:javascript
复制
make build

如果一切运行正常,它会以下面的内容结束(ID是随机生成的,会有所不同):

代码语言:javascript
复制
Removing intermediate container 38d212189d43
Successfully built 24fd74241e48

首次启动时,我们将创建临时SSL / TLS证书并运行容器。(这两个步骤几乎是即时的,所以不要以为你会再喝咖啡休息时间。)

如果您已拥有适用于您的域的SSL证书,请跳过此步骤并复制您的证书和密钥(请参阅步骤5)。

使用以下命令创建临时SSL证书:

代码语言:javascript
复制
make certificate

选择一个简单的密码,因为您将被要求输入4次,证书是占位符。大多数问题都可以跳过:唯一重要的问题应该是Common Name (e.g. server FQDN or YOUR name) []:与您的域名相同。

这是一个示例对话框:

代码语言:javascript
复制
openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus [...]
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:
openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key:
You are about to be asked to enter information that will be [...]
Country Name (2 letter code) [AU]: DE
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []: example.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key # strip passphrase
Enter pass phrase for server.key.org:
writing RSA key [...]
Getting Private key

现在,我们已准备好使用以下命令启动PEPS:

代码语言:javascript
复制
sudo make run

第3步 - 首次登录

通过浏览器访问https://your_server_ip腾讯云CVM的IP地址,使用其your_server_ipIP地址连接到您的腾讯云CVM。

由于我们现在使用的是临时SSL证书,因此您的浏览器会警告您该站点不安全。无论如何接受它。在Chrome中,单击“ 高级”继续。

首次运行时,系统将提示您创建管理员密码。选择您喜欢的任何一种,只要它的复杂性足够。

由于PEPS中的端到端加密,管理员帐户可以创建和删除用户,但无法访问任何现有的加密用户数据。

设置管理员密码后,将显示主PEPS界面。

接下来,让我们专注于正确设置域和证书。

第4步 - 设置域名

现在您的实例运行正常,我们仍然需要正确设置域,这涉及使用真正的SSL证书,配置DNS等。

让我们从DNS开始吧。根据您的域名提供商,使用自己的界面为您的域设置DNS条目或设置您自己的DNS服务器。

您必须同时设置A和MX记录。例如,对于托管在以下example.com位置的虚构域mail.example.com

代码语言:javascript
复制
mail.example.com.   10799   IN   A   your_server_ip
mail.example.com.   10799   IN   MX  example.com.

你的腾讯云CVM名称应该是mail.example.com。别担心。您可以从腾讯云帐户重命名腾讯云CVM。单击腾讯云CVM名称以查看其详细信息,单击“ 设置”选项卡,然后单击“ 重命名”选项卡。您可能必须等待DNS更新。

您还可以设置其他记录。在线检查器MXToolBox可用于验证您的域是否已正确设置并提供有关多个点的建议。

请注意,DNS传播可能有点慢,但过了一段时间(通常是1小时),您将能够从中访问PEPS https://example.com

注意:完成PEPS配置后,如果无法从外部域发送或接收电子邮件,请仔细检查A和MX记录。如果设置不正确,您将无法从您自己以外的域发送或接收电子邮件。

第5步 - 设置SSL证书

您的浏览器仍会收到无效的SSL证书警告。

现在是时候设置SSL证书了。您还没有SSL证书,如果你有域名,保护你网站的最简单方法是使用腾讯云SSL证书服务,它提供免费的可信证书。腾讯云SSL证书安装操作指南进行设置。如果你没有域名,建议您先去这里注册一个域名,如果你只是使用此配置进行测试或个人使用,则可以使用自签名证书,不需要购买域名。自签名证书提供了相同类型的加密,但没有域名验证公告。关于自签名证书,你可以参考为Apache创建自签名SSL证书如何为Nginx创建自签名SSL证书这两篇文章。

一定要在/etc/peps/目录中复制两个名为server.keyserver.crt键和命名的证书。

在本地计算机上准备它们,并通过从包含证书的目录运行将文件复制到服务器:

代码语言:javascript
复制
scp server.key server.crt your_server_ip:/etc/peps/

your_server_ip是你得腾讯云CVM的IP地址。

完成后,检查您的浏览器是否可以访问https://example.com而不会出现SSL错误。

第6步 - 测试

要创建更多用户,请以管理员用户admin身份使用您在步骤3:首次登录时创建的用户名和密码登录。管理员用户可以为您的域创建电子邮件帐户。转到PEPS管理员手册以了解具体方法。

首先,尝试在您域中的两个不同用户之间发送和接收电子邮件。例如,尝试从admin@example.com发送电子邮件至sammy@example.com。如果成功,请尝试让sammy响应admin以确保反向操作成功。

现在,将电子邮件发送到您域外的帐户。如果此操作失败,则说明您的A和MX记录未正确配置。返回步骤4:设置域。不要忘记测试从您域外的用户接收电子邮件。

结论

恭喜!您现在有一个在腾讯云CVM上运行的PEPS实例。您可以安全地发送消息,共享文件等(通过运行聊天等插件)。

有几本手册可供选择:

另请访问PEPS Facebook页面,了解有关PEPS的最新消息。

更多Ubuntu教程请前往腾讯云+社区学习更多知识。


参考文献:《How To Run Your Own Mail Server and File Storage with PEPS on Ubuntu 14.04》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
    • 准备
      • 第1步 - 安装Docker
        • 第2步 - 部署PEPS
          • 第3步 - 首次登录
            • 第4步 - 设置域名
              • 第5步 - 设置SSL证书
                • 第6步 - 测试
                  • 结论
                  相关产品与服务
                  云服务器
                  云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档