如何构建您自己的云为你和你的朋友在 Debian 喘息

回到您的隐私和控制您的数据在几个小时: 为你和你的朋友建立您自己的云

一些你身份的最个人的作品都存储在服务器上超出你的控制世界各地

让我们说你已经 Gmail 用户之间 2006 和 2013 像我一样, 意思你收到 30’000+ 电子邮件和写 5000 在这封电子邮件 7 年期. 一些您发送或接收的电子邮件是非常个人, 也许这样你可能不会喜欢的个人甚至一些家庭成员或亲密的朋友,通过他们去系统地. 也许你还起草了几封邮件,你永远不会被发送,因为你在最后一刻改变主意. 但即使你从未寄出, 这些电子邮件在服务器上存储还是地方. 作为一个结果, 它是公平地说,谷歌服务器知道更多关于你的个人生活比你最亲密的朋友或你的家人.

统计, 这是一个安全的赌注,要考虑你得 智能手机. 你几乎可以使用电话而不使用联系人应用程序默认情况下,在 Google 服务器上存储您的联系人谷歌联系人. 谷歌不只了解您的电子邮件, 但也有关脱机联系人: 你想打电话给谁, 谁叫你, 谁你发短信, 和什么你发短信他们. 你不必相信我的话, 你可以通过考虑看看你给谷歌发挥服务读取列表给你打电话的人等你的短信应用程序的权限来验证自己. 您还使用带有您的手机的日历应用程序吗?除非您显式地设置您的日历时选择退出, 这意味着谷歌知道正是你在做什么, 在每一天的时间内, 一天又一天, 一年又一年. 如果你选择 iPhone 而非一部 Android 手机同样适用, 除了苹果获取要知道关于你的来函, 联系人和日程安排,而不是谷歌.

你也采取非常谨慎的联系人保存在您的目录最新, 更新你的朋友, 同事的和家人的电子邮件地址和电话号码,当他们移动到新工作或改变承运人吗?这给了谷歌非常准确, 你的社交网络的最新图片. 你爱的 GPS 你 智能手机 你用了很多,与谷歌地图. 这意味着谷歌不只知道你做什么,从您的日历,但也你在哪里, 你住在哪里, 你在哪里工作. 并通过在用户关联 GPS 位置数据, 谷歌也可以告诉你可能现在应酬谁.

分发您的个人信息或您日常习惯会影响你的生活方式,没有人可以甚至乐极生悲

总结, 如果你是一个普通的互联网用户, Google 有最新, 深入了解你的兴趣, 忧虑, 激情, 问题, 在几乎 10 年. 它有一个集合的某些最个人邮件 (电子邮件, 短信), 一个小时的小时细节的您的日常活动和位置, 和你的社交网络高质量图片. 这种亲密的知识,你有可能超越什么你最亲密的朋友, 家庭, 或你的爱人知道你.

它不会来到这一大堆深刻的个人信息给完全陌生的人的头脑, 例如通过把它所有的 USB 密钥和留下的便条上的表中随机的咖啡馆 ' 个人数据的奥利维耶 · 马丁, 使用随你便吧 '. 谁知道谁可能会发现它和他们会用它做什么?然而, 我们没有任何问题,您的身份的核心部分交给我们的数据 (也就是他们如何使他们的面包) 浓厚的兴趣与陌生人在 IT 公司和 在数据分析中的世界级专家, 也许只是因为它默认情况下会没有我们思考它那绿色的时候,我们 ' 接受’ 按钮.

与这么多高质量的信息, 多年来, 谷歌可能最终会知道你过的比你所希望知道自己: 赫克, 我过去的现在的数字通过爬行, 我不记得自己曾经写一半发送的电子邮件我五年前. 我很惊讶和高兴找回我对马克思主义的兴趣回 2005 和我加入 ATTAC (致力于限制投机并通过对金融交易征税提高社会正义组织) 下一年. 上帝知道为什么我很多的舞鞋回 2007. 这些是相当无害的信息 (你不会想到我会揭示的东西在这里丢人, 你会吗?;-). 而是通过连接点之间 (什么你生活的各个方面的高质量数据, 当, 与谁, 在哪里, …) 在这样的时间跨度, 其中一个可能外推预测声明关于你. 举个例子, 从一个 17 岁女孩的购物习惯, 超市可以告诉她是怀孕的之前她爸爸甚至听到它 (真实的故事). 谁知道什么将成为与高质量的数据,像谷歌有可能, 这大大超出购物习惯?连接点, 也许人可以预测你的品味或政治观点在未来几年将如何改变. 今天, 你从未听说过的申索的公司 500 关于你的数据点, 包括宗教, 性取向和政治观点. 说到政治, 如果你决定去在从政 10 从现在起年吗?你的生活可能会改变, 你的观点太, 你甚至可能会忘记, 但谷歌不会. 你要担心,你的对手是有权访问您的数据在谷歌的某个人联系,可以挖的东西从你们放弃多年的个人数据那些无底井上你丢人?多长时间直到谷歌或 Facebook 让黑客攻击 就像索尼一样最近黑客攻击 和您的所有个人数据结束在公共领域永远?

我们大多数人的原因之一我们的个人资料交给这些公司是他们免费提供他们的服务. 但如何免费是真的吗?平均的谷歌帐户的值取决于用于估计它的方法: 1000 美元/年 帐户的时间你投资在写电子邮件, 虽然你已占广告行业的价值是介于之间 220 美元/年500 美元/年. 所以这项服务是不完全自由: 你为它付出通过广告和我们的数据可能会发现在未来的未知的用途.

我一直在写关于谷歌主要因为这就是我已经委托本公司大部分我的数字标识到目前为止,因此那个我知道最好. 但我可能也会写苹果或 Facebook. 这些公司确实改变了整个世界与他们在设计中的极大进步, 工程和服务我们 love(d) 使用, 每天. 但这并不意味着我们应该把所有我们最个人的数据,在他们的服务器堆栈和委托他们与我们的数字生活: 潜在的危害是太大.

追回您的隐私和人民你照顾只是 5 h

它不会是这样. 你可以生活在 21 世纪, 有一部智能手机, 在日常基础上使用电子邮件和全球定位系统, 仍能保持您的隐私. 你需要做的就是回到您的个人数据的控制权: 电子邮件, 日历, 联系人, 文件, 等。. 的 棱镜-Break.org 网站 列出了软件帮助控制您的个人数据的命运. 超出这些选项, 最安全和最强大的方式来取回您的个人数据的控制权是自己的主机您的云, 通过构建您自己的服务器. 但你可能只是没有时间和精力去研究如何准确地做到这一点,使其工作的顺利进行.

这就是本文的适合. 在只是 5 小时, 我们将设置一个服务器来承载您的电子邮件, 联系人, 日历和为您的文件, 你的朋友和你的家人. 服务器被旨在作为集线器或为您的个人数据的云, 所以,你总是保留充分的控制权. 数据自动将笔记本 PC 之间进行同步, 你的手机和平板电脑. 本质上, 我们将设置替换 Gmail 系统, 谷歌驱动器 / Dropbox, 谷歌联系人, 谷歌日历和 Picasa.

只为自己做这已经将一大步. 但随后, 相当一部分的您的个人信息会将泄漏出来,最终在一些服务器上在硅谷, 只是由于你与交互,所以很多人每天都使用 Gmail 和拥有智能手机. 所以它是一个好主意,有一些人你是最近加入冒险.

我们将建立一个系统,

  1. 支持任意数量的域和用户. 这使得它容易与家人和朋友分享您的服务器, 所以,他们也得到他们的个人数据的控制权,可以与你共享了服务器的成本. 人共同分享您的服务器可以使用他们自己 域名 或分享你.
  2. 允许您发送和接收您的电子邮件从任何网络 在成功登录到服务器. 这边, 您可以从任何您的电子邮件地址发送您的电子邮件, 从任何设备 (PC, 电话, 平板电脑), 和任何网络 (在家里, 在工作, 从公用网络, …)
  3. 对网络流量进行加密 发送和接收电子邮件,所以你不信任的人不会鱼时出您的密码,将无法读取您的私人电子邮件.
  4. 提供先进的反垃圾邮件, 结合已知的垃圾邮件黑名单, 自动灰名单, 和自适应的垃圾邮件过滤. 再培训适应垃圾邮件过滤器,如果一封电子邮件误判是简单地通过移动垃圾邮件或垃圾/垃圾邮件文件夹之外. 还, 服务器将有助于拼搏努力的以社区为基础的垃圾邮件.
  5. 需要偶尔在仅仅几分钟的维修, 基本上要安装安全更新并简要检查服务器日志. 添加一个新的电子邮件地址归结为添加一条记录到 数据库. 此外,, 你可以忘掉它,你的生活. 在这篇文章中所描述的系统设置 14 几个月前及东西只一直顺利从那时起. 所以完全忘了它, 直到我最近想到笑了,随便按 ' 检查电子邮件’ 我的电话按钮引起电子一路前往的冰岛 (我的服务器所在的) 和背部.

要通过这篇文章, 你需要最低限度的技术能力. 如果你知道 SMTP 和 IMAP 的区别是什么, 是什么 DNS, 有的 TCP/IP 的基本认识, 你知道足以遵循. 您还需要一个基本的工作知识的 Unix (工作文件从命令行, 基本系统管理). 你需要的共 5 个小时的时间来设置它.

 

这篇文章受启发和借鉴以前的工作

这篇文章大都是从其他两篇文章, 即 克洛德 · 泽维尔德鲁 · 克劳福德自申办电子邮件简介.

这篇文章主要包括所有的浩宇平局的文章, 除了从三个特征后,德鲁和我并不需要, 即把支持电子邮件 (我想检查电子邮件,只有当我决定, 否则,所有的时间,我会分心), 全文搜索中的邮件 (我没有使用), 和 (我的电子邮件和数据不是关键,我必须对它们进行加密本地服务器上的点) 以加密形式存储的电子邮件. 如果你需要任何这些功能, 自由只是它们添加以下到德鲁的文章的各自部分的感觉, 这是与目前兼容.

相比,浩宇德鲁的工作, 本文改进了几个方面:

  • 它修复 bug 和错别字基于我的经验与德鲁的文章和他的原文的无数评论. 我也经历了本文, 设置从零开始服务器多次复制它,并确保它将工作权开箱即用.
  • 低维护: 相比,浩宇的工作, 本文在服务器上添加多个电子邮件域支持. 它是通过要求服务器维护可能的最低金额: 基本上, 若要添加一个域或用户, 只是向 mysql 表中添加一行,就是这样 (无需添加筛脚本, …).
  • 我添加了 web 邮件.
  • 我添加了一节关于建立云, 东道国不只是您的电子邮件,但您的文件, 你的通讯簿 / 联系人 (电子邮件, 电话号码, 生日, …), 日历和图片在您的设备使用.

得到一个虚拟的私人服务器, 域名, 和设置它们

让我们开始通过设置基本的基础设施: 我们虚拟专用服务器和我们 域名.

我已经与虚拟专用服务器 (优秀经验VPS) 的 1984.是Linode. 在这篇文章, 我们将使用 Debian 喘息, 哪两个 1984 Linode 提供现成的图像来部署上你 VPS. 我喜欢 1984 由于服务器承载于冰岛完全在可再生能源 (geothermical 和水电) 上运行,因此无助于气候变化, 不同于 燃煤电厂对当前上运行的大多数基于美国的数据中心. 还, 他们把重点放 公民自由, 透明度, 自由免费软件.

它可能是一个好的主意,开始一个文件来存储各种 密码 我们将需要在服务器上 (用户帐户设置, 邮件帐户, 云计算帐户, 数据库 帐户). 它绝对是个好主意 (也许与此文件进行加密 GnuPG), 这样它就不会太容易攻击您的服务器,即使计算机你使用来设置您的服务器获取窃取或破坏.

注册域名, 我一直在使用的服务 甘地说 为结束 10 现在的年, 此外满意. 这篇文章, 我们将建立起一个区的名称 jhausse.net. 我们然后添加命名主机 cloud.jhausse.net 到它, 到该主机设置的 MX 记录. 当你在它, 设置短时间 (TTL) 的生活为你记录像 300 秒,你将能够对您的区域进行更改并迅速测试结果,虽然您设置的服务器.

最后, 设置 PTR 记录 (反向 DNS) 所以, IP 地址 主机映射回其名称的. 如果你不懂前一句, 阅读 这篇文章 以获得的背景. 如果你使用 Linode, 你可以在控制面板的远程访问部分中设置的 PTR 记录. 与 1984, 联系技术支持将帮助你与它的人.

在服务器上, 我们将开始通过添加非 privledged 用户, 所以,我们不要到头来工作如一根所有的时间. 还, 以 root 身份登录将需要额外的安全层.

 adduser 鲁迪

然后, 在 /等/ssh/sshd_config, 我们设置

 PermitRootLogin 没有

并重新加载 ssh 服务器

 服务 ssh 重新加载

然后, 我们就需要更改服务器的主机名. 编辑 /等/主机名 因此,它具有单符合您的主机名, 在我们的案例

 云计算

然后, 编辑 ssh 服务器的公共密钥文件 /etc/ssh/ssh_host_rsa_key.pub, /etc/ssh/ssh_host_dsa_key.pub, /etc/ssh/ssh_host_ecdsa_key.pub 使文件末尾反映您的主机名, 或实例 [email protected]. 然后重新启动系统以确保主机名固定无论是应该是

 重新启动

我们将更新系统和删除的服务,我们不需要减少远程攻击的风险.

 apt-get 来更新 apt-get 来 dist 升级服务 exim4 停止 apt-get 来删除 exim4 rpcbind apt-get 来而 apt-get 来安装 vim

我喜欢用 vim 进行远程编辑配置文件. 为此, 它有助于自动打开语法突出显示. 我们这样做是通过添加

 在 syn

~/.vimrc.

设置后缀和达夫科特来发送和接收电子邮件

 apt-get 来安装后缀后缀 mysql 达夫科特核心达夫科特 imapd 达夫科特 mysql mysql 服务器达夫科特-lmtpd postgrey

后缀 配置菜单, 我们选择 互联网网站, 并将该系统的邮件名称设置为 jhausse.net.

我们现在将设置一个数据库来存储在我们的服务器上承载的域的列表, 用户列表中的每个域 (以及他们的密码), 和列表的邮件别名 (要从一个给定的地址的电子邮件转发到另一个).

 mysqladmin-p 创建邮件服务器 mysql-p 邮件服务器 mysql> 格兰特选择 ON mailserver.* 到 'mailuser'@'localhost' 确定的 'mailuserpass';mysql> 冲洗的特权;mysql> 创建表 'virtual_domains' ('id' int(11) NOT NULL auto_increment,   name varchar(50) NOT NULL,   主键 ('id')) 引擎 = InnoDB 默认字符集 = utf8;mysql> 创建表 'virtual_users' ('id' int(11) NOT NULL auto_increment,   'domain_id' int(11) NOT NULL,   '密码' varchar(106) NOT NULL,   '电子邮件' varchar(100) NOT NULL,   主键 ('id'),   电子邮件 (电子邮件) 的唯一键,   外键 (domain_id) 引用 virtual_domains(id) ON DELETE CASCADE) 引擎 = InnoDB 默认字符集 = utf8;mysql> 创建表 'virtual_aliases' ('id' int(11) NOT NULL auto_increment,   'domain_id' int(11) NOT NULL,   '源' varchar(100) NOT NULL,   '目的地' varchar(100) NOT NULL,   主键 ('id'),   外键 (domain_id) 引用 virtual_domains(id) ON DELETE CASCADE) 引擎 = InnoDB 默认字符集 = utf8;

我们将举办 jhausse.net 域. 如果有你想要主办其他域, 您还可以添加他们. 我们还建立了为每个域的邮局主管地址, 其中将转发到 [email protected].

 mysql> 插入到 virtual_domains (name) 值 ('jhausse.net');mysql> 插入到 virtual_domains (name) 值 ('otherdomain.net');mysql> 插入到 virtual_aliases ('domain_id', 源, '目的地') 值 ('1', 邮政, [email protected]');mysql> 插入到 virtual_aliases ('domain_id', 源, '目的地') 值 ('2', 邮政, [email protected]');

现在,我们添加一个本地承载的电子邮件帐户 [email protected]. 第一次, 我们为它生成密码哈希:

 doveadm pw-s SHA512 地穴

然后将哈希值添加到数据库

 mysql> 插入到邮件服务器'.'virtual_users' ('domain_id', 密码, 电子邮件) 值 ('1', '$  6$  YOURPASSWORDHASH', [email protected]');

现在,我们的域的列表, 别名和用户已经到位, 我们将设置后缀 (SMTP 服务器, 传出的邮件). 替换的内容 /etc/postfix/main.cf 替换为:

 myhostname = cloud.jhausse.net myorigin = / 等/主机 mydestination = localhost.localdomain, 本地主机 mynetworks_style = 主机  # 我们禁用中继在一般案件 smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination # 对与我们取得联系的服务器的要求: 我们验证客户端不是 # 已知的垃圾邮件发送者 (reject_rbl_client) 和使用 graylist 机制 # (postgrey) 能帮助减少垃圾邮件 (check_policy_service) smtpd_client_restrictions = permit_mynetworks, reject_rbl_client zen.spamhaus.org, check_policy_service inet:127.0.0.1:10023 disable_vrfy_command = yes inet_interfaces = 所有 smtpd_banner 都 = $  myhostname ESMTP $  mail_name (Debian/GNU) biff = 没有 append_dot_mydomain = 没有 readme_directory = 否  # TLS 参数 smtpd_tls_cert_file=/etc/ssl/certs/cloud.crt smtpd_tls_key_file=/etc/ssl/private/cloud.key smtpd_use_tls = yes smtpd_tls_auth_only = yes smtp_tls_security_level = 五月 smtp_tls_loglevel = 1 smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_database = b 树: $ {data_directory} / smtpd_scache smtp_tls_session_cache_database = b 树: $ {data_directory} / smtp_scache  # 交付 alias_maps = 哈希: / 等/别名 alias_database = 哈希: / 等/别名 message_size_limit = 50000000 recipient_delimiter = +  # 接下来的行都有用来设置备份 MX 为 myfriendsdomain.org # relay_domains = myfriendsdomain.org # relay_recipient_maps =  # 虚拟域 virtual_transport = lmtp:unix:private / 达夫科特 lmtp virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf local_recipient_maps = $  virtual_mailbox_maps

现在我们需要教后缀来找出哪些域我们希望他能接受的电子邮件的使用我们刚建立的数据库. 创建一个新文件 /etc/postfix/mysql-virtual-mailbox-domains.cf 并添加以下内容:

 用户 = 邮件密码 = mailuserpass 主机 = 127.0.0.1 数据库名称 = 邮件服务器查询 = 选择 1 从 virtual_domains 那里名称 = %s

我们教后缀来找出一个给定的电子邮件帐户是否存在通过创建 /etc/postfix/mysql-virtual-mailbox-maps.cf 使用以下内容

 用户 = 邮件密码 = mailuserpass 主机 = 127.0.0.1 数据库名称 = 邮件服务器查询 = 选择 1 从 virtual_users 在电子邮件 = %s

最后, 将使用后缀 /etc/postfix/mysql-virtual-alias-maps.cf 查找邮件别名

 用户 = 邮件密码 = mailuserpass 主机 = 127.0.0.1 数据库名称 = 邮件服务器查询 = 选择 virtual_aliases.destination 作为目的地 FROM virtual_aliases, virtual_domains 在哪里 virtual_aliases.source='%u' 和 virtual_aliases.domain_id = virtual_domains.id 和 virtual_domains.name='%d'

与所有在这个地方,, 现在是时候来测试如果后缀可以正确查询我们的数据库. 我们可以这样做使用 postmap:

 postmap q jhausse.net mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf postmap q [email protected] mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf postmap q [email protected] mysql:/etc/postfix/mysql-virtual-alias-maps.cf postmap q [email protected] mysql:/etc/postfix/mysql-virtual-alias-maps.cf

如果您正确设置了一切, 前两个查询应返回 1, 第三个查询应返回 [email protected] 和最后一个应该根本不返回任何内容.

现在, 让我们来建立达夫科特 (IMAP 服务器, 从我们的设备,在服务器上获取传入的邮件). 编辑 /etc/dovecot/dovecot.conf 要设置以下参数:

 # 启用安装协议 # ! include_try /usr/share/dovecot/protocols.d/*.protocol 协议 = imap lmtp

只有使 imap (让我们获取电子邮件) 和 lmtp (其中后缀将用于将传入电子邮件传递给达夫科特). 编辑 /etc/dovecot/conf.d/10-mail.conf 要设置以下参数:

 mail_location = maildir:/var/mail/%d/%n [......] mail_privileged_group = 邮件 [......] first_valid_uid = 0

这会将电子邮件存储在 /var/mail/domainname/username. 请注意,这些设置在不同的地点,在该文件中传播, 和有有时已经为我们设置: 我们只需要注释掉. 这已经是在文件中的其他设置, 你可以保留原样. 我们将不得不这样做,以更新更多的文件,在剩下的这篇文章中的设置. 在 /etc/dovecot/conf.d/10-auth.conf, 设置参数:

 disable_plaintext_auth = yes auth_mechanisms = 平原 #! 包括 auth system.conf.ext ! 包括 auth sql.conf.ext

/etc/dovecot/conf.d/auth-sql.conf.ext, 设置以下参数:

 passdb {驱动程序 = sql args = /etc/dovecot/dovecot-sql.conf.ext} userdb {驱动程序 = 静态 args = uid = 邮件 gid = 邮件 home=/var/mail/%d/%n}

在这里我们只是教用户有他们的电子邮件,在 /var/mail/domainname/username 和查找的达夫科特 密码 从我们刚创建的数据库. 现在我们仍然需要教达夫科特到底是如何使用数据库. 要这样做, 把下列句子变成 /etc/dovecot/dovecot-sql.conf.ext:

 驱动程序 = mysql 连接 = 主机 = 本地主机数据库名称 = 邮件服务器用户 = 邮件密码 = mailuserpass default_pass_scheme = SHA512 地穴 password_query = 作为用户选择电子邮件, 密码 FROM virtual_users 在电子邮件 = '%u';

我们现在修复权限配置文件

 chown-R 邮件: 达夫科特/等/达夫科特 chmod-R o 可/等/达夫科特

快到了!我们只被需要更多的几个文件进行编辑. 在 /etc/dovecot/conf.d/10-master.conf, 设置以下参数:

 服务登录 imap {inet_listener imap {#port = 143     端口 = 0   } inet_listener 微电子 {端口 = 993     ssl = 是}} 服务 pop3 登录 {inet_listener pop3 {#port = 110     端口 = 0   } inet_listener pop3s {#port = 995     #ssl 是端口 = = 0   }} 服务 lmtp {unix_listener /var/spool/postfix/private/dovecot-lmtp {模式 = 0666     组 = 后缀用户 = 后缀} 用户 = 邮件} 服务 auth {unix_listener auth userdb {模式 = 0600     用户 = 邮件 #group =}    # 后缀 smtp auth unix_listener /var/spool/postfix/private/auth {模式 = 0666     用户 = 后缀组 = 后缀}    # 作为此用户运行验证过程.   #用户 = $  default_internal_user 用户 = 达夫科特} 服务 auth 工人 {用户 = 邮件}

请注意,我们设置的但对微电子的所有服务端口 0, 这有效地将它们禁用. 然后, 在 /etc/dovecot/conf.d/15-lda.conf, 为邮局指定电子邮件地址:

 postmaster_address = [email protected]

最后但并非最不重要, 我们需要生成一对公共和 私钥 服务器, 我们将用在达夫科特和后缀:

 openssl 必需-新-newkey rsa:4096-x 509-天 365 -nodes -out "/etc/ssl/certs/cloud.crt" -keyout "/etc/ssl/private/cloud.key"

请确保你指定你完全限定域名 (FQDN) 的服务器, 在我们的例子:

 通用名称 (例如. 服务器 FQDN 或你的名字) []: cloud.jhausse.net

如果你不, 我们的客户可能会抱怨中的 SSL 证书的服务器名称与它们连接到的服务器的名称不匹配. 我们告诉达夫科特,通过设置以下参数中使用这些键 /etc/dovecot/conf.d/10-ssl.conf:

 ssl 所需的 ssl_cert = = </etc/ssl/certs/cloud.crt ssl_key = </etc/ssl/private/cloud.key

就是这样!现在,来测试的后缀和达夫科特服务器 !

 达夫科特服务重新启动服务后缀重启

从服务器本身, 尝试向本地用户发送一封电子邮件:

 telnet localhost 25 EHLO cloud.jhausse.net 邮件 FROM:[email protected] rcpt to:[email protected] 数据主题: 你好 ! 这是个测试, 检查 cloud.jhausse.net 是否已准备好要 MX ! 欢呼, 鲁迪 . 退出

服务器应该接受我们的电子邮件,像一条消息

 250 2.0.0 Ok: 排队作为 58D54101DB

检查日志 /var/log/mail.log 如果一切都很顺利. 应该说类似的线

 11 月 14 07: 57:06 云达夫科特: lmtp (4375, [email protected]): ... 保存到收件箱的邮件

目前为止,一切都好?好. 现在, 让我们试着从不同的机器一样, 像计算机我们用来设置服务器. 我们会谈到这一次使用 (TLS) 加密的服务器:

 openssl s_client-连接 cloud.jhausse.net:25 starttls smtp EHLO cloud.jhausse.net 邮件 FROM:[email protected] rcpt to:[email protected]

服务器应该响应

 554 5.7.1 <[email protected]>: 继电器访问被拒绝

这就是好: 服务器接受邮件, 这将意味着,我们设置后缀为开放中继的世界和 beyhond 的所有垃圾邮件发送者使用. 而不是 ' 中继访问被拒绝’ 消息, 相反,你可能得到的信息

 554 5.7.1 服务不可用;使用 zen.spamhaus.org; 阻止的主机客户端 [87.68.61.119]http://www.spamhaus.org/query/bl?ip=87.68.61.119

这意味着你正在试图与服务器联系,从 IP 地址 这被认为是垃圾邮件发送者的地址. 我在尝试连接到服务器通过我定期的互联网服务提供商 (ISP) 时收到此消息. 要解决此问题, 你可以尝试从另一台主机连接, 也许另一台服务器,您可以通过访问 SSH. 或者, 您可以重新配置后缀的 main.cf 切勿使用 Spamhaus 的 RBL, 重新加载后缀, 验证上述测试工作. 在这两种情况, 重要的是你找到适合你,因为我们将测试其他东西在一分钟的解决方案. 如果您选择了重新配置后缀不能使用 Rbl, 别忘了放 Rbl 回并重新加载完的文章,避免不必要的更多垃圾邮件后缀.

现在让我们 尝试发送有效的电子邮件通过 SMTP 端口上 25, 其中普通邮件服务器使用互相交谈:

 openssl s_client-连接 cloud.jhausse.net:25 starttls smtp EHLO cloud.jhausse.net 邮件 FROM:[email protected] rcpt to:[email protected]

服务器应该响应

 被拒绝的客户端主机: Greylisted, 请参阅 http://postgrey.schweikert.ch/help/jhausse.net.html

其结果表明 postgrey 因为它应该工作. 如果发件人从来没有过什么 postgrey 这样做是为了拒绝与临时错误电子邮件. 电子邮件的技术规则要求,试图再次传递电子邮件的电子邮件服务器. 五分钟后, postgrey 将接受电子邮件. 世界各地的合法的电子邮件服务器将尝试 repeatidly 重发发邮件给我们, 但大多数垃圾邮件发送者不会. 所以, 等待 5 分钟, 尝试发送的电子邮件,请再次使用上面的命令, 并验证该后缀现在接受电子邮件.

之后, 我们会检查我们可以拿两封电子邮件,我们只是派自己通过 IMAP 交谈达夫科特:

 openssl s_client crlf-连接 cloud.jhausse.net:993 1 login [email protected] "mypassword" 2 LIST "" "*" 3 选择收件箱 4 UID 回迁 1: 1 (UID RFC822。大小旗帜身体。PEEK[]) 5 注销

在哪里你应该替换设置此电子邮件帐户的密码的密码. 如果那工作, 基本上,我们有一个功能的电子邮件服务器,可以接收我们传入的邮件, 从中我们得到检索这些电子邮件从我们的设备 (PC/笔记本电脑, 平板电脑, 电话, …). 但我们不能给它我们的电子邮件来发送,除非我们从服务器本身向他们发送. 我们现在允许后缀转发我们的电子邮件, 但只有在成功的身份验证, 这就是后它可以确保电子邮件来自服务器上的有效帐户的人. 要这样做, 我们会打开一个特殊, 仅 SSL, SASL 阿里巴巴电子邮件提交服务. 在中设置以下参数 /etc/postfix/master.cf:

 提交 inet n       -       -       -       -       smtpd-o syslog_name = 后缀/提交-o smtpd_tls_security_level = 加密-o smtpd_sasl_auth_enable = yes-o smtpd_client_restrictions = permit_sasl_authenticated,拒绝-o smtpd_sasl_type = 达夫科特-o smtpd_sasl_path = 私营/auth o smtpd_sasl_security_options = noanonymous-o smtpd_recipient_restrictions = permit_sasl_authenticated、 reject_non_fqdn_recipient、 reject_unauth_destination

并重新加载后缀

 服务后缀重新加载

现在, 让我们试着使用这项服务从不同的机器比服务器, 要验证后缀会现在转达我们的电子邮件而不是别人的:

 openssl s_client-连接 cloud.jhausse.net:587 starttls smtp EHLO cloud.jhausse.net

注意到 250-AUTH 平原’ 由服务器联署发出的能力, 当我们连接到端口时不会出现 25.

 邮件 FROM:[email protected] rcpt to:[email protected] 554 5.7.1 <[email protected]>: 继电器访问被拒绝退出

很好, 后缀不会传递我们的电子邮件,如果他不知道我们. 因此,让我们首先 authentify 我们自己. 要这样做, 首先,我们需要生成身份验证字符串:

 回声-ne '[email protected]' | base64

和让我们尝试重新发送电子邮件,通过该服务器:

 openssl s_client-连接 cloud.jhausse.net:587-starttls smtp EHLO cloud.jhausse.net AUTH 平原 DGplYW5AMTk4NGNsb3VQLm5ldAA4bmFmNGNvNG5jOA = = 邮件 FROM:[email protected] rcpt to:[email protected]

其中后缀应该现在接受. 完成测试, 我们来验证一下我们虚拟别名工作通过向 [email protected] 发送一封电子邮件,并确保它去 [email protected]:

 telnet cloud.jhausse.net 25 EHLO cloud.jhausse.net 邮件 FROM:[email protected] rcpt to:[email protected] 数据主题: 虚拟别名测试亲爱邮政, 很长时间没有听到 !我希望你的 MX 工作顺利和安全地. 你的真诚, 鲁迪 . 退出

让我们检查所有的方式向正确的收件箱中的邮件:

 openssl s_client crlf-连接 cloud.jhausse.net:993 1 login [email protected] "mypassword" 2 LIST "" "*" 3 选择收件箱 * 2 存在 * 2 最近 4 注销

在这一点, 我们有一个功能的电子邮件服务器, 既为传入和传出邮件. 我们可以设置我们的设备要使用它.

PS: 你记得吗对吗 尝试通过端口服务器承载的帐户发送电子邮件 25 再一次, 要验证,便是你不再堵住 postgrey 吗?

阻止垃圾邮件到达您的收件箱

为了垃圾邮件过滤, 我们已经有实时黑名单 (Rbl) 和灰名单 (postgrey) 在的地方. 现在,我们将通过添加自适应的垃圾邮件过滤的战斗能力上升一个档次我们垃圾邮件. 这意味着我们将添加到我们的电子邮件服务器的人工智能, 所以,它能从中学到经验什么是垃圾邮件,什么不是. 我们将使用 dspam 为此.

 apt-get 来安装 dspam 达夫科特-反垃圾邮件后缀 pcre 达夫科特筛

达夫科特-反垃圾邮件是一个软件包,让达夫科特再培训的垃圾邮件筛选器,如果我们发现错误分类的 dspam 电子邮件. 基本上, 所有我们需要做是将电子邮件移入或出垃圾/垃圾邮件文件夹. 达夫科特-反垃圾邮件会然后照顾调用 dspam 再培训筛选器. 作为后缀 pcre 和达夫科特筛, 我们将使用它们分别通过垃圾邮件过滤器的传入电子邮件并自动将垃圾邮件移动到用户的垃圾/垃圾邮件文件夹.

/etc/dspam/dspam.conf, 对这些值设置以下参数:

 TrustedDeliveryAgent "/usr/sbin/sendmail" UntrustedDeliveryAgent "/usr/lib/dovecot/deliver -d %u" Tokenizer osb IgnoreHeader X-Spam-Status IgnoreHeader X-Spam-Scanned IgnoreHeader X-Virus-Scanner-Result IgnoreHeader X-Virus-Scanned IgnoreHeader X-DKIM IgnoreHeader DKIM-Signature IgnoreHeader DomainKey-Signature IgnoreHeader X-Google-Dkim-Signature ParseToHeaders on ChangeModeOnParse off ChangeUserOnParse full ServerPID               /var/run/dspam/dspam.pid ServerDomainSocketPath  "/var/run/dspam/dspam.sock" ClientHost      /var/run/dspam/dspam.sock

然后, 在 /etc/dspam/default.prefs, 更改到以下参数:

 spamAction = 交付         # {检疫 | 标签 | 提供}-> 默认: 检疫 signatureLocation = 标题  # {消息 | 标题}-> 默认: 消息 showFactors =

现在我们需要通过添加以下两行末尾连接 dspam 后缀和达夫科特 /etc/postfix/master.cf:

 dspam unix  -       n n       -       10      管道标志 = 汝用户 = dspam argv = / usr/bin/dspam — — 交付 = 无辜,垃圾邮件--用户 $  收件人-i-f $  发件人 -- $  收件人的达夫科特 unix  -       n n       -       -       管道标志 = DRhu 用户 = 邮件: 邮件 argv = / usr/lib/达夫科特/交付-f $  {发件人}-d $  {收件人}

现在我们将告诉后缀来筛选每一个新的电子邮件,获取提交到服务器上的端口 25 (正常 SMTP 通信) 通过 dspam, 除了如果电子邮件从服务器本身 (permit_mynetworks) 提交的。. 请注意要么就我们提交与 SASL 验证后缀的电子邮件不会筛选通过 dspam, 我们成立单独提交服务为那些在前一节. 编辑 /etc/postfix/main.cf 若要更改 smtpd_client_restrictions 以下内容:

 smtpd_client_restrictions = permit_mynetworks, reject_rbl_client zen.spamhaus.org, check_policy_service inet:127.0.0.1:10023, check_client_access pcre: / 等/后缀/dspam_filter_access

在文件的末尾, 也还添加:

 # 为 DSPAM, 只扫描一个邮件在时间 dspam_destination_recipient_limit = 1

我们现在需要指定我们定义的筛选器. 基本上, 我们将告诉后缀来发送所有电子邮件 (/./) 到 dspam 通过 unix 套接字. 创建一个新文件 /等/后缀/dspam_filter_access 并投入它下面的行:

 /./   滤清器 dspam:unix:/run/dspam/dspam.sock

这就是后缀部分. 现在让我们来建立达夫科特的垃圾邮件过滤. 在 /etc/dovecot/conf.d/20-imap.conf, 编辑 imap mail_plugins 插件参数这样:

 mail_plugins = $  mail_plugins 反垃圾邮件

并添加为 lmtp 的一段:

 协议 lmtp { # 空格分隔的插件加载列表 (默认是全球 mail_plugins).   mail_plugins = $  mail_plugins 筛}

我们现在配置达夫科特-反垃圾邮件插件. 编辑 /etc/dovecot/conf.d/90-plugin.conf 将以下内容添加到插件部分:

 插件 {   ...   # 反垃圾邮件 (DSPAM) antispam_backend = dspam antispam_allow_append_to_spam = YES antispam_spam = 垃圾;垃圾邮件 antispam_trash = 垃圾; 垃圾 antispam_signature = X-DSPAM-签名 antispam_signature_missing = 错误 antispam_dspam_binary = /usr/bin/dspam antispam_dspam_args =--用户; %u; — — 交付 =; — — 源 = 错误 antispam_dspam_spam = — — 类 = 垃圾邮件 antispam_dspam_notspam = — — 类 = 无辜 antispam_dspam_result_header = X-DSPAM-结果}

中和 /etc/dovecot/conf.d/90-sieve.conf, 指定将应用于服务器的所有用户的默认筛脚本:

 sieve_default = /etc/dovecot/default.sieve

什么是筛,我们为什么需要一个默认脚本的所有用户?筛让我们自动化 IMAP 服务器上的任务. 在我们的案例, 我们不会所有的电子邮件标识为垃圾邮件,放在垃圾文件夹而不是在收件箱. 我们希望这是服务器上的所有用户的默认行为那为什么我们只是设有此脚本作为默认脚本. 现在让我们创建这个脚本, 通过创建一个新文件 /etc/dovecot/default.sieve 使用以下内容:

 require ["regex", "fileinto", "imap4flags"]; # 捕获邮件标记为垃圾邮件, except Spam retrained and delivered to the mailbox if allof (header :regex "X-DSPAM-Result" "^(Spam|Virus|Bl[ao]cklisted)$  ",           not header :contains "X-DSPAM-Reclassified" "Innocent") {   # 标记为已读   # setflag "\Seen";   # Move into the Junk folder   fileinto "Junk";   # 停止在这里处理站;}

现在我们需要编译该脚本,因此,达夫科特可以运行它. 我们还需要给它适当的权限.

 cd/等/达夫科特 sievec . chown mail.dovecot default.siev* chmod 0640 default.sieve chmod 0750 default.svbin

最后, 我们需要解决两个后缀配置文件的权限,dspam 需要从读取:

 chmod 0644 /etc/postfix/dynamicmaps.cf /etc/postfix/main.cf

就是这样!让我们重启达夫科特和后缀

 达夫科特服务重新启动服务后缀重启

并测试反垃圾邮件, 通过与远程主机 (例如从服务器联系. 我们用来设置服务器的计算机):

 openssl s_client-连接 cloud.jhausse.net:25 starttls smtp EHLO cloud.jhausse.net 邮件 FROM:[email protected] rcpt to:[email protected] 数据主题: DSPAM 测试喜鲁迪, 你想今晚吃一些火腿?你, J . 退出

让我们检查是否邮件到达:

 openssl s_client crlf-连接 cloud.jhausse.net:993 1 login [email protected] "mypassword" 2 LIST "" "*" 3 选择收件箱 4 UID 回迁 3: 3 (UID RFC822。大小旗帜身体。PEEK[])

这应返回电子邮件与垃圾邮件设置的标志,看起来像这样的集合:

 X-DSPAM-结果: 无辜 X DSPAM 处理: 太阳 Oct  5 16: 25:48 2014 X-DSPAM-信心: 1.0000 X-DSPAM-概率: 0.0023 X-DSPAM-签名: 5431710 c 178911166011737 X-DSPAM-因素: 27,         收到了 * 后缀 + 与, 0.40000,         收到了 * 与 #+ id, 0.40000,         像 + #+ #+ #+ 火腿, 0.40000,         一些 + # + 今晚, 0.40000,         收到了 * 证书 + 要求, 0.40000,         收到了 * 客户端 + 证书, 0.40000,         收到了 * 为 + 鲁迪, 0.40000,         收到了 * 太阳 + #+ #+ # + 16, 0.40000,         收到了 * 太阳 + #+ Oct, 0.40000,         收到了 * 鲁迪 + #+ #+ #+ Oct, 0.40000,         吃 + 一些, 0.40000,         收到了 * 5 + #+ # + 16, 0.40000,         Received*cloud.jhausse.net+#+#+#+id, 0.40000,         鲁迪 + #+ #+ #+ 到, 0.40000,         收到了 * Oct + # + 16, 0.40000,         到 + #+ #+ 火腿, 0.40000,         收到了 * 没有 + #+ #+ 要求, 0.40000,         Received*jhausse.net+#+#+Oct, 0.40000,         收到了 * 256 + 256, 0.40000,         像 + #+ #+ 一些, 0.40000,         收到了 * ESMTPS + id, 0.40000,         如何有 + #+ #+ 到, 0.40000,         今晚 + 你, 0.40000,         收到了 * 与 + 密码, 0.40000 5 注销

好 !你现在有自适应的垃圾邮件过滤设置为您的服务器的用户使用. 答案是肯定的, 每个用户将需要在头几个星期训练筛选器. 训练的邮件为垃圾邮件, 只是将其移动到一个名为文件夹 “垃圾邮件” 或 “垃圾” 使用任何您的设备 (PC, 平板电脑, 电话). 否则它会被训练作为火腿.

请确保您的邮件得到通过垃圾邮件过滤器

我们在这一节的目标将使我们的邮件服务器出现尽可能向世界的干净,以我们的名义发送电子邮件的垃圾邮件发送者的难度. 作为一个副作用, 这将帮助我们得到我们的电子邮件通过其他邮件服务器的垃圾邮件筛选器.

发件人策略框架

发件人策略框架 (SPF) 是一个记录,您将添加到区域的声明哪些邮件服务器整体上互联网可以发送电子邮件为您的域名. 设置是很容易, 使用 SPF 向导在 microsoft.com 要生成你的 SPF 记录, 然后将它添加到您的区域作为 TXT 记录. 看起来会像这样:

 jhausse.net.       300 在 TXT v = spf1 mx mx:cloud.jhausse.net-所有

反向 PTR

我们讨论这点 早些时候 在这篇文章, 它是一个好主意,您正确设置了反向 DNS 为您的服务器, 这样做对您的服务器的 IP 地址的反向查找返回您的服务器的实际名称.

OpenDKIM

当我们激活 OpenDKIM, 后缀将签署每个发送的电子邮件使用一个加密密钥. 我们然后将该密钥存入我们区, 在 DNS 上. 那边, 在世界的每个邮件服务器将能够验证是否电子邮件实际上来自于我们, 或如果它由垃圾邮件发送者伪造. 让我们安装 opendkim:

 apt-get 来安装 opendkim opendkim 工具

并通过编辑设置它 /etc/opendkim.conf 所以,它看起来像这样:

 ## ## opendkim.conf -- OpenDKIM 过滤器配置文件 ## 规范化放松/放松 ExternalIgnoreList refile: / 等/opendkim/TrustedHosts InternalHosts 再次提出: / 等/opendkim/TrustedHosts,KeyTable 再次提出: / 等/opendkim/KeyTable LogWhy 是 MinimumKeyBits          1024 模式 sv PidFile /var/run/opendkim/opendkim.pid SigningTable refile: / 等/opendkim/SigningTable 插座 inet:[email protected] Syslog 是 SyslogSuccess 是 TemporaryDirectory /var/tmp UMask                   022 用户 Id opendkim:opendkim

我们需要几个额外的文件,我们将存储在 /等/opendkim:

 mkdir-pv /etc/opendkim/cd /etc/opendkim /

让我们创建一个新文件 /等/opendkim/TrustedHosts 使用以下内容

 127.0.0.1

和一个新的文件,称为 /等/opendkim/KeyTable 使用以下内容

 cloudkey jhausse.net:mail:/etc/opendkim/mail.private

这就告诉我们想要使用的加密密钥命名的 OpenDKIM ' cloudkey’ 其内容可以发现在 /etc/opendkim/mail.private. 我们将创建另一个名为的文件 /等/opendkim/SigningTable 并添加以下行:

 *@jhausse.net cloudkey

这告诉 OpenDKIM 应签署的 jhausse.net 域的每个电子邮件,使用 'cloudkey' 的关键. 如果我们有,我们想要签署其他域, 我们也可以在这里添加他们.

下一步是生成该密钥,固定在 OpenDKIM 的配置文件上的权限.

 opendkim-genkey-r-s 邮件 [-t] chown-Rv opendkim:opendkim/等/opendkim chmod 0600 /等/opendkim / * chmod 0700 /等/opendkim

在第一次, 它是一个好主意,使用 -t 这会发信号给其他邮件服务器,您都只是在测试模式, 和他们不应该放弃电子邮件签名的基础你 OpenDKIM (尚). 您可以从 mail.txt 文件获得您的 OpenDKIM 密钥:

 猫咪 mail.txt

然后将它添加到你作为 TXT 记录的区域文件, 应该看起来像这样

 mail._domainkey.cloud1984.net.     300     在 TXT v = DKIM1;k = rsa;p = MIGfMA0GCSqG。.

最后, 我们需要告诉后缀签署传出电子邮件. 在结束了 /etc/postfix/main.cf, 添加:

 # 现在的 OpenDKIM: 我们将要签署所有传出电子邮件 smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = $  smtpd_milters milter_default_action = 接受

并重新加载相应的服务

 服务后缀重新加载服务 opendkim 重新启动

现在让我们测试如果我们 OpenDKIM 公钥可以发现和匹配 私钥:

 opendkim 测试键-d jhausse.net-s 邮件-k mail.private-小

这应返回

 opendkim 测试键: 键 OK

为此, 您可能需要稍等一会,直到名称服务器重新加载 (在 Linode 区, 发生这种情况每 15 分钟一班). 您可以使用 要检查是否区尚未被重新加载.

如果是这样的话, 让我们来测试如果其他服务器可以验证我们的 OpenDKIM 签名和 SPF 记录. 要做到这一点, 我们可以使用 布兰登 Checkett 电子邮件测试. 要向测试地址给我们发送电子邮件 布兰登的网页, 我们可以在服务器上运行下面的命令

 邮件-s CloudCheck [email protected]

布兰登的网页上, 然后您应该看到 结果 = 传递 在 ' DKIM 签名’ 一节, 和 结果: 通过 在 SPF 信息’ 一节. 如果我们的电子邮件通过这次考试, 只是重新生成没有 OpenDKIM 键 -t 开关, 对区域文件上载新的密钥, 并重新测试到仍然如果它仍通过了测试. 如果是这样, 恭喜 !你刚刚成功地 OpenDKIM 和 SPF 您在服务器上设置 !

主机日历, 联系人, 与 Owncloud 和 webmail 总是与设置文件

现在,我们有一流的电子邮件服务器, 让我们将添加到它的可能性来存储您的联系人, 日历, 和云计算中的文件. 这些都是服务, Owncloud 提供开箱即用. 虽然我们在这, 我们还将设置电子邮件, 这样,您可以查看电子邮件,即使你没有电子旅行, 或你的手机和笔记本电脑电池用完的情况下.

安装 Owncloud 是正直,是很好的描述 在这里. 在 Debian 上, 它归结为 owncloud 资料库添加到你的 apt 源, 下载 owncloud 的释放键并将其添加到您 apt 的密匙环, 然后安装 owncloud 本身使用 apt-get 来:

 回声 ' deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /' >> /etc/apt/sources.list.d/owncloud.list wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_6.0/Release.key apt-键添加 - < Release.key apt-get 来更新 apt-get 来安装 apache2 owncloud 总是

当系统提示输入它, 选择 dbconfig 然后说你想说的话 总是 使用 mysql. 然后, 提供 mysql 超级用户口令 和为总是 mysql 用户设置一个好的密码. 然后, 编辑总是配置文件 /etc/roundcube/main.inc.php 所以,总是登录将默认情况下使用您的 IMAP 服务器:

 $  rcmail_config ['default_host'] = 'ssl://localhost'; $  rcmail_config ['default_port'] = 993;

现在我们将设置 apache2 web 服务器的 SSL 以便我们可以谈谈 Owncloud 和总是使用我们的密码和数据加密. 让我们打开 Apache 的 ssl 模块:

 a2enmod ssl

和编辑 /etc/apache2/ports.conf 要设置以下参数:

 NameVirtualHost *: 听着 80 80 服务器名称 www.jhausse.net  <IfModule mod_ssl.c>     # 如果您添加 NameVirtualHost *: 在这里 443, 你也会有改变     # /etc/apache2/sites-available/default-ssl 中的虚拟主机语句     # 自 <虚拟主机 *: 443>     # 服务器 SSL 命名的名称指示 虚拟主机 目前并不     # 支持由 MSIE Windows XP.     NameVirtualHost *: 听着 443 443 </IfModule>  <IfModule mod_gnutls.c>     听着 443 </IfModule>

我们会设置一个默认 网站 作为 web 服务器的加密连接 https://www.jhausse.net 在下 /var/www. 编辑 /等/apache2/网站-可用/默认-ssl:

 <虚拟主机 _default_:443>         ServerAdmin [email protected] 虚拟主机/var/www 服务器名称 www.jhausse.net [......]         <目录 /var/www/owncloud>           拒绝从所有         </目录>         [...]        SSLCertificateFile /etc/ssl/certs/cloud.crt SSLCertificateKeyFile /etc/ssl/private/cloud.key [......] </虚拟主机>

和让我们也建立了一个网站为未加密连接到 http://www.jhausse.net 在下 /var/www. 编辑 /等/apache2/网站-可用/默认值:

 <虚拟主机 _default_:443>         虚拟主机/var/www 服务器名称 www.jhausse.net [......]         <目录 /var/www/owncloud>           拒绝从所有         </目录> </虚拟主机>

那边, 我们可以把它们放在 /var/www 这样服务 www.jhausse.net 页. ' 从所有拒绝’ 指令可以防止访问 Owncloud 通过 www.jhausse.net: 我们会将它设置成访问它通过 https://cloud.jhausse.net 相反.

我们现在将设置邮箱 (总是),以便它将通过访问 https://webmail.jhausse.net. 编辑 /等/apache2/网站-可用/总是 有以下内容:

 <IfModule mod_ssl.c> <虚拟主机 *: 443>         ServerAdmin [email protected] 虚拟主机 /var/lib/roundcube         # 根据您想要访问网络邮件服务器名称 webmail.jhausse.net 的主机名         <目录 />                 选项列出 AllowOverride 无         </目录>          错误日志 $  {APACHE_LOG_DIR}/error.log          # 可能的值包括: 调试, 信息, 通知, 警告, 错误, 致命一击,         # 警报, 两毛钱.         日志级别警告 CustomLog $  {APACHE_LOG_DIR}/ssl_access.log 相结合          #   SSL 发动机开关:         #   这个虚拟的主机的启用/禁用 SSL.         对 SSLEngine          # 不允许不安全的连接         # SSLRequireSSL SSLCipherSuite 高度: 中等          #   可以通过安装创建自签名 (工) 证书         #   ssl 证书包. 请参见         #   /usr/share/doc/apache2.2-common/README。Debian.gz 更多的信息.         #   如果两个密钥和证书存储在同一个文件中, 只有         #   SSLCertificateFile 指令被需要.         SSLCertificateFile /etc/ssl/certs/cloud.crt SSLCertificateKeyFile /etc/ssl/private/cloud.key          # 这些别名无法正常工作几台主机的 apache 服务器         # 取消注释,使用它或使其适应您配置别名/程序/js/tiny_mce / / usr/共享/tinymce/www /          # 对 tinymce 文件的访问         <Directory "/usr/share/tinymce/www/">                 上海列出 AllowOverride 没有命令允许,拒绝允许从所有的选项索引         </目录>          <目录/var/lib/总是 />                 选项 + 列出                 # 这被需要解析 /var/lib/roundcube/.htaccess. 看到它                 # 之前设置为 None 的放入的内容.                 放入所有命令都允许,拒绝都允许从所有         </目录>          # 保护基本目录:         <目录 /var/lib/roundcube/config>                 选项-列出 AllowOverride 无         </目录>          <目录 /var/lib/roundcube/temp>                 选项-列出 AllowOverride 无秩序允许,从所有否认拒绝         </目录>          <目录 /var/lib/roundcube/logs>                 选项-列出 AllowOverride 无秩序允许,从所有否认拒绝         </目录>          <FilesMatch "\.(cgi|shtml|phtml|php)$  ">                 SSLOptions + StdEnvVars         </FilesMatch>         <目录 /usr/lib/cgi-bin>                 SSLOptions + StdEnvVars         </目录>         #   SSL 协议调整:         #   安全和默认但仍 SSL/TLS 标准兼容关机         #   方法是那 mod_ssl 发送关闭通知警报,但并不等待         #   关闭通知警报从客户端. 当你需要不同的关机         #   您可以使用下列变量之一的方法:         #   o ssl-洁净-关机:         #     这就迫使不洁的关机时关闭的连接, 即. 不         #     SSL 关闭通知警报发送或允许接收.  这违反了         #     SSL/TLS 标准但需要为某些脑残的浏览器. 使用         #     这当你收到 I/O 错误的标准方法由于在哪里         #     mod_ssl 发送关闭通知警报.         #   o ssl-准确-关机:         #     这就迫使准确关机时关闭的连接, 即. 一个         #     SSL 关闭通知警报是发送和 mod_ssl 等待关闭通知         #     客户端的警报. 这是 100% SSL/TLS 标准兼容, 但在         #     实践往往导致悬挂连接脑死亡的浏览器. 使用         #     这只为浏览器在哪里你知道他们实现 SSL         #     正常工作.         #   注意: 破碎的客户大多数问题也牵涉到 HTTP         #   保持设施, 所以你通常另外想禁用         #   为这些客户端保持, 太. Use variable "nokeepalive" for this.         #   同样, 一个人不得不强制一些客户端使用 HTTP/1.0 变通办法         #   他们破碎的 HTTP/1.1 执行. Use variables "downgrade-1.0" and         #   "force-response-1.0" for this.         BrowserMatch "MSIE [2-6]" \                 nokeepalive ssl-洁净-关机 \                 评级下调 1.0 力-响应-1.0         # MSIE 7 and newer should be able to use keepalive         BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </虚拟主机> </IfModule>

并宣布在您的 DNS 服务器, 例如:

 webmail.jhausse.net.       300     在 CNAME cloud.jhausse.net.

现在让我们使这三个网站

 a2ensite 默认默认 ssl 总是服务 apache2 重新启动

和电子邮件, 访问下 https://webmail.jhausse.net, 应基本上工作. 使用完整的电子邮件 (例如登录. [email protected]) 和您在这篇文章开头邮件 DB 服务器中设置的密码. 第一次连接, 浏览器会警告你,证书不由证书颁发机构签署. 那很好, 只需添加异常.

最后但并非最不重要, 我们将创建一个虚拟主机的 owncloud 通过将下面的内容放在 /等/apache2/网站-可用/owncloud:

 <IfModule mod_ssl.c> <虚拟主机 *: 443>         ServerAdmin [email protected] 虚拟主机 /var/www/owncloud 服务器名称 cloud.jhausse.net         <目录 />                 选项列出 AllowOverride 无         </目录>         <目录 /var/www/owncloud>                 选项索引列出上海放入所有命令都允许,拒绝都允许从所有         </目录>          ScriptAlias /cgi-bin / /usr/lib/cgi-bin /         <Directory "/usr/lib/cgi-bin">                 放入没有选项 + ExecCGI-多角度 + SymLinksIfOwnerMatch 命令允许,拒绝允许从所有         </目录>          错误日志 $  {APACHE_LOG_DIR}/error.log          # 可能的值包括: 调试, 信息, 通知, 警告, 错误, 致命一击,         # 警报, 两毛钱.         日志级别警告 CustomLog $  {APACHE_LOG_DIR}/ssl_access.log 相结合          #   SSL 发动机开关:         #   这个虚拟的主机的启用/禁用 SSL.         对 SSLEngine          # 不允许不安全的连接         # SSLRequireSSL SSLCipherSuite 高: 介质 SSLCertificateFile /etc/ssl/certs/cloud.crt SSLCertificateKeyFile /etc/ssl/private/cloud.key          <FilesMatch "\.(cgi|shtml|phtml|php)$  ">                 SSLOptions + StdEnvVars         </FilesMatch>         <目录 /usr/lib/cgi-bin>                 SSLOptions + StdEnvVars         </目录>          BrowserMatch "MSIE [2-6]" \                 nokeepalive ssl-洁净-关机 \                 评级下调 1.0 力-响应-1.0         # MSIE 7 and newer should be able to use keepalive         BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </虚拟主机> </IfModule>

并通过运行激活 owncloud

 a2ensite owncloud 服务 apache2 重新加载

再向前走 配置 通过连接到 owncloud https://cloud.jhausse.net/ 在 web browswer.

就是这样!现在你已经有你自己的 Google Drive, 日历, 联系人, Dropbox, 和 Gmail !享受你刚恢复的隐私 !🙂

同步您的设备向云

同步您的电子邮件, 您可以只使用您最喜爱的电子邮件客户端: Android 或 iOS 上的标准的电子邮件程序, k9mail, 或您的 PC 上的雷鸟. 或者你也可以使用我们设置的邮箱.

在 owncloud 文档中介绍如何同步您的日历和联系人与云. 在 Android 上, 我使用的 CalDAV 同步和 CardDAV 同步的应用程序,作为手机的 Android 的日历和联系人应用程序与 owncloud 服务器之间的桥梁.

为文件, 那里是 Android 的应用程序称为 Owncloud 访问您的文件从您的手机,并自动上传图片和视频你带到你的云. 访问您的文件在 PC Mac 是容易和 很好的描述 Owncloud 文档.

最后一个小贴士

在头几个星期, 它是一个好的主意来监测 /var/日志/系统日志/var/log/mail.log 在日常工作和确保一切一切正在顺利进行. 很重要的这样做之前你邀请其他人 (朋友, 家庭, …) 驻留在您的服务器;你可能失去他们的信任自托管为好,如果他们信任你与他们的数据和服务器突然变得不可用.

若要添加另一个电子邮件用户, 只是向其中添加行 virtual_users 表的 邮件服务器 DB.

若要添加域, 只是向其中添加行 virtual_domains 表. 然后更新 /等/opendkim/SigningTable 要得到传出电子邮件签名, 将 OpenDKIM 键上传到该区域, 并重新加载 OpenDKIM.

Owncloud 具有其自己的用户 DB 可以由在 Owncloud 以管理员身份登录管理.

最后, 它是重要的去想解决办法之前,以防您的服务器暂时不可. 举个例子, 你的邮件直到您的服务器返回去哪里?一个解决办法是要找到一个可以充当您备份的 MX 的朋友, 而你作为他备份 MX (请参见 relay_domainsrelay_recipient_maps 在后缀的设置 main.cf 文件). 同样, 如果您的服务器是否受到危害和恶意的个人将擦除您的所有文件?为此, 它是必须要考虑的定期备份系统. Linode 作为一个选项提供备份. 在 1984.is 上, 设置使用 crontab 中和 scp 上的基本,但足够的自动备份系统.

 

一个响应

发表评论