如何安装Mailpile与Nginx在Ubuntu 15.10

Mailpile是一个开源邮件客户端,专注于加密和用户隐私。 Mailpile使PGP设置变得简单,它允许您直接在电子邮件应用程序中创建PGP密钥并发送PGP加密消息。 Mailpile由Bjarni R. Einarsson于2013年创建。该软件可以作为基于Web的客户端安装在Mac OSX,Windows和Linux上。

在本教程中,我将引导您通过Ubuntu 15.10上的Mailpile安装。 我们将安装Mailpile作为基于Web的客户端,Nginx作为反向代理。

先决条件

  • Ubuntu 15.10 - 64bit。
  • 根特权。

第1步 - 安装Mailpile依赖关系

Mailpile是用python编程语言编写的,我们需要一堆用于安装的python模块。 我将在具有virtualenv的python虚拟环境中安装Mailpile,并使用python 2.7进行安装。 对于加密,我将安装GnuPG版本1.4.x.

要开始,请更新您的存储库数据库并从Ubuntu存储库安装软件包:

sudo apt-get update
sudo apt-get install gnupg openssl python-virtualenv python-pip python-lxml git

现在检查python版本和GnuPG版本:

python --version
gpg --version

Mailpile需要PIL(Python Imaging Library),因此我们安装libjpeg,zlib1g和python-dev:

sudo apt-get install libjpeg62 libjpeg62-dev zlib1g-dev python-dev

安装完成后,我们准备好进行Mailpile安装的下一步。

第2步 - 安装和配置邮箱

在此步骤中,我将Mailpile安装到“/ opt /”目录中,然后为安装创建一个新的python虚拟环境。 在开始安装之前,将Mailpile源代码从github存储库克隆到opt目录。

cd /opt/
git clone --recursive https://github.com/mailpile/Mailpile.git

现在转到Mailpile目录,并使用python2.7作为python版本创建虚拟环境:

cd /opt/Mailpile/
virtualenv -p /usr/bin/python2.7 --system-site-packages mailpile-env

-p =使用特定的python版本,我们使用python 2.7。
--system-site packages =给予虚拟环境访问全局站点包。
mailpile-env =新的虚拟环境的目录。

然后激活虚拟环境,确保您位于“/ opt / Mailpile /”目录中,最后激活它。

cd /opt/Mailpile/
source mailpile-env/bin/activate

如果虚拟环境处于活动状态,则可以检查命令行:

(mailpile-env)root@madhouse:/opt/Mailpile#

病毒环境名称应位于shell的用户名和主机名前面。

接下来,使用pip命令在mailpile-env环境中安装邮件需求:

pip install -r requirements.txt

让我们用虚拟环境中的命令“./mp”来保存Mailpile:

./mp

在屏幕截图中,我们可以看到Mailpile在localhost上运行,端口为33411。

所以让我们尝试从服务器shell的curl命令访问它:

curl -I localhost:33411

当您得到以下结果时,它正常工作:

HTTP/1.1 302 Found
Location: /setup/welcome/

实际上,在这一步,我们可以告诉Mailpile运行在我们的公共IP上,所以每个人都可以访问它。 但是在本教程中,我们将在端口33411上使用Nginx作为Mailpile的反向代理。

第3步 - 安装Nginx

使用此apt命令安装Nginx:

sudo apt-get install nginx

现在验证Nginx在端口80上运行:

netstat -plntu | grep 80

第4步 - 创建自签名SSL证书

我们去Nginx目录,并创建新的SSL目录:

cd /etc/nginx/
mkdir -p /etc/nginx/ssl/
cd ssl/

然后生成SSL证书文件:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/mailpile.key -out /etc/nginx/ssl/mailpile.crt

并将私钥的权限更改为600:

chmod 600 mailpile.key

第5步 - 配置Mailpile Virtualhost

在此步骤中,我将为Mailpile创建新的虚拟主机配置。 这个虚拟主机只是代替端口80上的传入请求到端口33411上的Mailpile。Nginx是一个安全而强大的反向代理。

转到Nginx“sites-available”目录,创建一个名为“mailpile”的新文件:

cd /etc/nginx/site-available/
touch mailpile

使用vim编辑器编辑邮件文件:

vim mailpile

粘贴virtualhost配置如下:

server {

    # Mailpile Domain
    server_name mail.mailpile.me;
    client_max_body_size 20m;

    # Nginx port 80 and 334
    listen 80;
    listen 443 default ssl;

    # SSL Certificate File
    ssl_certificate      /etc/nginx/ssl/mailpile.crt;
    ssl_certificate_key  /etc/nginx/ssl/mailpile.key;

    # Redirect HTTP to HTTPS
    if ($scheme = http) {
      return 301 https://$server_name$request_uri;
    }

    # Nginx Poroxy pass for mailpile
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://localhost:33411;
        proxy_read_timeout  90;
        proxy_redirect http://localhost:33411 https://mail.mailpile.me;
    }
}

现在激活邮箱virtualhost并重新启动Nginx:

ln -s /etc/nginx/site-available/mailpile /etc/nginx/site-enabled/
systemctl restart nginx

注意 :确保不要在虚拟环境中杀死邮件进程。

接下来,请访问Mailpile域(在我的情况下为mail.mailpile.me) ,您将被重定向到https连接。

选择默认语言,在我的情况下为“ 英语 ”,然后单击“ 开始 ”。

现在输入您的密码登录到应用程序,确保你有一个强大的密码。

并开始使用Mailpile。

Mailpile设置完成后,输入您的密码,然后按“Enter”。

您可以在登录后立即看到邮件页面:

结论

Mailpile是一个免费的OpenSource电子邮件客户端,专注于加密和用户隐私。 Mailpile具有多平台支持,可以安装在Mac,Windows或Linux上。 Mailpile可以作为私人邮件客户端安装在您自己的服务器上。 Mailpile是基于python,它很容易安装和配置,只要确保你运行python 2.7与gnupg 1.4.x. 我们可以使用Mailpile作为独立系统,但为了更好的性能,我们使用Nginx作为反向代理。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏