Поиск по сайту:

Как установить Mailpile с Nginx на Ubuntu 15.10


На этой странице

  1. Предпосылки
  2. Шаг 1. Установка зависимостей Mailpile
  3. Шаг 2. Установка и настройка Mailpile
  4. Шаг 3. Установите Nginx
  5. Шаг 4. Создание самозаверяющего SSL-сертификата
  6. Шаг 5. Настройка виртуального хоста Mailpile
  7. Заключение

Mailpile — это почтовый клиент с открытым исходным кодом, ориентированный на шифрование и конфиденциальность пользователей. Mailpile упрощает настройку PGP, позволяет создавать ключи PGP непосредственно в приложении электронной почты и отправлять зашифрованные сообщения PGP. Mailpile был создан Бьярни Р. Эйнарссоном в 2013 году. Программное обеспечение можно установить на Mac OSX, Windows и Linux в качестве веб-клиента.

В этом руководстве я проведу вас через установку Mailpile в Ubuntu 15.10. Мы установим Mailpile в качестве веб-клиента с Nginx в качестве обратного прокси-сервера.

Предпосылки

  • Убунту 15.10 — 64-разрядная версия.
  • Привилегии root.

Шаг 1 — Установите зависимости Mailpile

Mailpile написан на языке программирования Python, и для его установки нам понадобится несколько модулей Python. Я установлю Mailpile в виртуальной среде Python с помощью virtualenv и буду использовать 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), поэтому мы устанавливаем libjpeg, zlib1g и python-dev:

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

Когда установка завершена, мы готовы к следующему шагу установки Mailpile.

Шаг 2 — Установите и настройте Mailpile

На этом этапе я установлю 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):/opt/Mailpile#

Имя виртуальной среды должно стоять перед вашим именем пользователя и именем хоста в оболочке.

Затем установите требования к почтовым ящикам с помощью команды pip в среде mailpile-env:

pip install -r requirements.txt

Давайте запустим Mailpile с помощью команды \./mp\ в виртуальной среде:

./mp

На скриншоте мы видим, что Mailpile работает на локальном хосте с портом 33411.

Итак, давайте попробуем получить к нему доступ с помощью команды curl из оболочки сервера:

curl -I localhost:33411

Он работает правильно, когда вы получаете следующий результат:

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

На самом деле, на этом шаге мы могли бы указать Mailpile работать на нашем общедоступном IP-адресе, чтобы каждый мог получить к нему доступ. Но в этом руководстве мы будем использовать Nginx в качестве обратного прокси-сервера для Mailpile на порту 33411.

Шаг 3 — Установите Nginx

Установите 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

На этом этапе я создам новую конфигурацию виртуального хоста для Mailpile. Этот виртуальный хост просто передает входящие запросы через порт 80 в Mailpile через порт 33411. Nginx — это безопасный и мощный обратный прокси-сервер.

Перейдите в каталог Nginx «sites-available» и создайте новый файл с именем «mailpile»:

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

Отредактируйте файл почтовой папки с помощью редактора vim:

vim mailpile

Вставьте конфигурацию виртуального хоста ниже:

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;
    }
}

Теперь активируйте виртуальный хост mailpile и перезапустите Nginx:

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

Примечание. Убедитесь, что вы не убили процесс mailpile в виртуальной среде.

Затем посетите домен Mailpile (в моем случае mail.mailpile.me), и вы будете перенаправлены на https-соединение.

Выберите язык по умолчанию, в моем случае \английский\ и нажмите \Начать\.

Теперь введите свой пароль для входа в приложение, убедитесь, что у вас надежный пароль.

И начните использовать Mailpile.

Настройка Mailpile завершена, введите свой пароль и нажмите \Enter\.

Вы можете увидеть страницу почты сразу после авторизации:

Заключение

Mailpile — это бесплатный почтовый клиент с открытым исходным кодом, ориентированный на шифрование и конфиденциальность пользователей. Mailpile поддерживает несколько платформ, его можно установить на Mac, Windows или Linux. Mailpile можно установить на свой сервер в качестве частного почтового клиента. Mailpile основан на python, его легко установить и настроить, просто убедитесь, что вы используете python 2.7 с gnupg 1.4.x. Мы можем использовать Mailpile как отдельную систему, но для большей производительности мы используем Nginx в качестве обратного прокси.