Как установить Mailpile с Nginx на Ubuntu 15.10
На этой странице
- Предпосылки
- Шаг 1. Установка зависимостей Mailpile
- Шаг 2. Установка и настройка Mailpile
- Шаг 3. Установите Nginx
- Шаг 4. Создание самозаверяющего SSL-сертификата
- Шаг 5. Настройка виртуального хоста Mailpile
- Заключение
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 в качестве обратного прокси.