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

Вступление

В этом руководстве мы установим https://mailpile.is [Mailpile], быстрый, безопасный и красивый клиент веб-почты, на Ubuntu 14.04.

изображение: https: //assets.digitalocean.com/articles/mailpile/mailpile-home.png [Начальный экран запуска Mailpile]

Клиент веб-почты, такой как Mailpile, - отличный способ обеспечить доступ к своей электронной почте из любой точки мира без необходимости настройки стандартного почтового клиента. Mailpile - это просто почтовый клиент, то есть он управляет только существующими почтовыми учетными записями.

К концу этого урока у вас будет полнофункциональный Droplet, работающий с Mailpile с Nginx в качестве обратного прокси.

Помните, что в этом руководстве * Mailpile все еще находится в бета-версии *, что означает, что вы можете столкнуться с ошибками и другими трудностями на этом пути. Это не сохраняет вашу информацию между сессиями. (То есть вам придется повторно вводить данные своей учетной записи каждый раз при перезапуске службы Mailpile.)

Также отсутствует простой способ запуска в качестве службы. По умолчанию он работает только как интерактивный скрипт в вашем сеансе SSH. Мы включили сценарий Upstart, который использует Screen для запуска его в фоновом режиме, чтобы вы могли оставить клиент веб-почты включенным так долго, как вам хочется. Это не рекомендуется для производства, однако.

Предпосылки

Прежде чем мы начнем, нам нужно несколько вещей:

  • Дроплет под управлением * Ubuntu 14.04 *. Мы рекомендуем по крайней мере 512 МБ ОЗУ для настройки Mailpile, обрабатывающей только несколько почтовых ящиков. Если вы ожидаете более пары пользователей, вы можете увеличить размер

  • Пользователь с root-доступом. См. Https://www.digitalocean.com/community/tutorials/how-to-add-and-delete-users-on-an-ubuntu-14-04-vps[thutorial] для инструкций по настройке пользователя с доступ sudo в Ubuntu 14.04

  • SSL-сертификат для безопасности вашей почты. Вы можете приобрести один из https://www.namecheap.com [Namecheap] или другого центра сертификации. Если вы не хотите тратить деньги, вы также можете https://www.digitalocean.com/community/tutorials/how-to-create-an-ssl-certificate-on-nginx-for-ubuntu-14- 04 [сделайте свой собственный для использования с Nginx] или получите его по адресу StartSSL

  • Доменное имя

  • Если у вас есть готовый домен, создайте запись A, которая будет указывать на вашу каплю (например, mailpile.). Инструкции по настройке DNS-записей с помощью DigitalOcean см. В this учебник по DNS

Запишите свой SSL-сертификат и расположение ключей. Если вы следовали руководству по созданию сертификатов для использования с Nginx, они будут расположены по адресу:

  • /etc/nginx/ssl/nginx.crt

  • /etc/nginx/ssl/nginx.key

Это оно! Если у вас все готово к работе, переходите к первому шагу.

Шаг 1 - Загрузка почтового ящика

В этом разделе мы подготовим нашу рабочую среду для установки Mailpile.

Сначала нам нужно войти в нашу Droplet. Если вы ранее не использовали SSH, см. Https://www.digitalocean.com/community/tutorials/how-to-connect-to-your-droplet-with-ssh[thutorial по SSH]. Убедитесь, что вы входите в систему пользователя с доступом sudo.

Сначала нам нужно установить Git. Мы будем использовать Git для клонирования источника Mailpile из GitHub.

Обновите списки пакетов Ubuntu:

sudo apt-get update

Установите Git:

sudo apt-get install git

Теперь, когда Git установлен, давайте изменим наш каталог на тот, где мы можем работать. В этом случае мы будем использовать каталог + / var +:

cd /var

Клон Mailpile:

sudo git clone https://github.com/mailpile/Mailpile.git

Нам нужна команда sudo, чтобы Git мог создать каталог внутри + / var +, который является системным каталогом.

Мы почти готовы запустить Mailpile. Перейдите к шагу 2, чтобы приступить к решению некоторых дополнительных требований.

Шаг 2 - Настройка требований Mailpile

В этом разделе мы установим и настроим требования Mailpile.

Во-первых, давайте установим pip. pip - менеджер пакетов Python с несколькими хитростями:

sudo apt-get -y install python-pip

pip позволит нам легче устанавливать требования Mailpile. Вы увидите, как через минуту, но сначала нам нужно установить еще несколько вещей.

Далее нам нужно установить lxml. lxml - это требование Mailpile, которое обычно устанавливается pip, но мы обнаружили, что оно вызывает сбой установки по неизвестным причинам. По этой причине мы установим его с помощью apt-get:

sudo apt-get install python-lxml

Еще несколько пакетов должны быть установлены вручную, включая GnuPG и OpenSSL. Это создаст более безопасную среду для нашей почты. Некоторые из них, вероятно, будут установлены по умолчанию, но мы обязательно на всякий случай:

sudo apt-get install gnupg openssl libssl-dev

Теперь перейдите в каталог Mailpile:

cd /var/Mailpile

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

Mailpile включает в себя файл с именем + needs.txt +, который представляет собой список требований. У pip есть возможность прочитать этот список и автоматически установить каждый из них. Итак, давайте сделаем именно это:

sudo pip install -r /var/Mailpile/requirements.txt

Вы сделали Все требования установлены, и Mailpile готов к использованию. Но прежде чем мы это сделаем, нам нужно сделать несколько дополнительных шагов, чтобы усилить нашу безопасность.

Шаг 3 - Настройка обратного прокси с Nginx

В этом разделе мы настроим Nginx в качестве обратного прокси-сервера для Mailpile. Это сделает Mailpile более безопасным, позволит нам использовать SSL-сертификат и упростит доступ к клиенту веб-почты.

В Nginx вместо доступа к Mailpile путем посещения + https: //: 33411 + вы можете использовать + https: // mailpile. +. Давайте начнем!

Во-первых, нам нужно установить Nginx, поскольку именно это и будет выполнять большую часть работы. Итак, давайте возьмем Nginx прежде всего:

sudo apt-get install nginx

Теперь, когда Nginx установлен, мы можем настроить обратный прокси. Давайте отредактируем конфигурацию Nginx, чтобы указать, что наш поддомен должен направляться в Mailpile.

Мы хотим удалить исходный файл конфигурации Nginx, так как он заполнен кучей вещей, которые нам не нужны. Но сначала давайте сделаем резервную копию. Сначала создайте каталог:

sudo mkdir /home/backup

Теперь сделайте резервную копию:

sudo cp -b /etc/nginx/sites-enabled/default /home/backup

Теперь мы можем удалить файл без последствий:

sudo rm /etc/nginx/sites-available/default

Давайте удостоверимся, что это фактически уехало:

ls /etc/nginx/sites-available/

Если вы только что установили Nginx, команда не должна ничего возвращать.

Теперь создайте новый файл:

sudo nano /etc/nginx/sites-available/

Теперь пришло время настроить обратный прокси. Давайте начнем с первой части. Добавьте следующее в начало файла (мы объясним, что он делает через секунду):

/ И т.д. / Nginx / сайты-отсутствуют / по умолчанию

server {
   listen 80;
   return 301 https://$host$request_uri;
}

Это говорит Nginx перенаправлять запросы, которые он получает, к HTTPS. Но на самом деле, он попытается перенаправить на то, что еще не существует. Давайте создадим где-нибудь, чтобы это пошло:

/ И т.д. / Nginx / сайты-отсутствуют / по умолчанию

server {

   listen 443;
   server_name mailpile.;

   ssl_certificate           ;
   ssl_certificate_key       ;

   ssl on;
   ssl_session_cache  builtin:1000  shared:SSL:10m;
   ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
   ssl_prefer_server_ciphers on;

   access_log            /var/log/nginx/mailpile.access.log;

Примечание: убедитесь, что ваш сертификат и ключ находятся в + / etc / nginx / ssl / nginx.crt + и + / etc / nginx / ssl / nginx.key +. В противном случае обновите пути рядом с + ssl_certificate + и + ssl_certificate_key +, чтобы они соответствовали вашему сертификату и расположению ключей.

То, что мы только что ввели, сказало Nginx прослушивать порт 443 (веб-сайты портов с доступом SSL, в отличие от порта 80), применять наш сертификат SSL и включать SSL. Теперь нам нужно что-то передать этому новому URL-адресу HTTPS, на который мы перенаправили и включили SSL. Мы сделаем это дальше.

Добавьте следующее ниже двух предыдущих блоков:

/ И т.д. / Nginx / сайты-отсутствуют / по умолчанию

   location / {

     proxy_set_header        Host $host;
     proxy_set_header        X-Real-IP $remote_addr;
     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header        X-Forwarded-Proto $scheme;

     # Fix the "It appears that your reverse proxy set up is broken" error.
     proxy_pass          http://localhost:33411;
     proxy_read_timeout  90;

     proxy_redirect      http://localhost:33411 https://webmail.;
   }
  }

Когда вы все закончите, завершенный файл конфигурации должен выглядеть примерно так:

/ И т.д. / Nginx / сайты-отсутствуют / по умолчанию

server {
   listen 80;
   return 301 https://$host$request_uri;
}

server {

   listen 443;
   server_name mailpile.;

   ssl_certificate           ;
   ssl_certificate_key       ;

   ssl on;
   ssl_session_cache  builtin:1000  shared:SSL:10m;
   ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
   ssl_prefer_server_ciphers on;

   access_log            /var/log/nginx/mailpile.access.log;

   location / {

     proxy_set_header        Host $host;
     proxy_set_header        X-Real-IP $remote_addr;
     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header        X-Forwarded-Proto $scheme;

     # Fix the "It appears that your reverse proxy set up is broken" error.
     proxy_pass          http://localhost:33411;
     proxy_read_timeout  90;

     proxy_redirect      http://localhost:33411 https://webmail.;
   }
  }

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

sudo ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/

Сайт по умолчанию уже должен быть включен.

Пожалуйста, прочитайте эту art статью о серверных блоках Nginx если вы хотите узнать больше.

Теперь перезапустите Nginx, чтобы перезагрузить конфигурацию:

sudo service nginx restart

Это оно. Теперь Mailpile готов для доступа по адресу + https: // mailpile. +. Возможно, вам придется принять предупреждение SSL, если вы использовали самозаверяющий сертификат.

Кроме того, доступ к + http: // mailpile. + Автоматически перенаправит на SSL-версию сайта.

Мы еще не запустили Mailpile, поэтому, если вы сейчас перейдете по этим URL-адресам, вы увидите ошибку 502 Bad Gateway. Наиболее распространенной причиной этой ошибки является то, что приложение Mailpile не работает.

Перейдите к шагу 4 для запуска Mailpile.

Шаг 4 - Настройка и запуск почтового ящика

В этом разделе мы запустим Mailpile и настроим его для работы с обратным прокси.

Убедитесь, что мы находимся в правильном каталоге:

cd /var/Mailpile

Чтобы запустить Mailpile, введите:

./mp

Вы можете начать изучать Mailpile через командную строку или через веб-интерфейс.

Mailpile теперь должен находиться в + https: // mailpile. + И даже перенаправлять на HTTPS с использованием вашего SSL-сертификата. Поздравляем!

Вы можете использовать + CTRL-C +, а затем набрать + quit +, чтобы выйти из Mailpile.

Необязательно - Сделайте Mailpile Сервисом с Upstart

Чтобы Mailpile был всегда активен и готов обрабатывать вашу почту, вы можете конвертировать Mailpile в сервис, используя Upstart. Следуйте this замечательному учебнику для получения инструкций.

Поскольку Mailpile находится в бета-версии, он еще не был должным образом демонизирован. Также требуется интерактивная командная строка, поэтому вы не можете просто напрямую запустить скрипт Python. Этот сценарий Upstart является * хакерским * способом запуска приложения Python как службы через https://www.digitalocean.com/community/tutorials/how-to-install-and-use-screen-on-an-ubuntu- облако-сервер [экран]:

sudo nano /etc/init/mailpile.conf

/etc/init/mailpile.conf

description "Mailpile Webmail Client"
author      "Sharon Campbell"

start on filesystem or runlevel [2345]
stop on shutdown

script

   echo $$ > /var/run/mailpile.pid
   exec /usr/bin/screen -dmS mailpile_init /var/Mailpile/mp

end script

pre-start script
   echo "[`date`] Mailpile Starting" >> /var/log/mailpile.log
end script

pre-stop script
   rm /var/run/mailpile.pid
   echo "[`date`] Mailpile Stopping" >> /var/log/mailpile.log
end script

Этот скрипт запустит Mailpile и будет поддерживать его в течение всего сеанса Screen. Он не останавливает сеанс экрана должным образом, поэтому вам придется остановить сеанс экрана вручную, если вы хотите остановить Mailpile.

С помощью этого скрипта вы можете запустить Mailpile с:

sudo start mailpile

Это приведет к сеансу Screen с именем * .mailpile_init *, который принадлежит пользователю * root *.

Однако другие команды Upstart не будут работать. Вам придется завершить сеанс экрана вручную. Кроме того, если служба дает сбой или остановлена, вам придется запустить ее снова и сбросить все свои настройки.

Шаг 4 - Начало работы с Mailpile

В этом разделе описывается использование Mailpile из интерфейса веб-почты по адресу + https: // mailpile. +.

Вот экран, который вы увидите при первом посещении Mailpile.

изображение: https: //assets.digitalocean.com/articles/mailpile/mailpile-home.png [Начальный экран запуска Mailpile]

Выберите язык из выпадающего меню.

Нажмите кнопку * Начать *.

Создайте новый пароль, затем введите его дважды.

Нажмите кнопку * Начать использовать Mailpile *.

Экран входа в систему: пожалуйста, введите пароль, который вы только что создали.

изображение: https: //assets.digitalocean.com/articles/mailpile/YH043iM.png [Экран входа]

Добавьте новую учетную запись с помощью кнопки * + Добавить учетную запись *.

изображение: https: //assets.digitalocean.com/articles/mailpile/9OPj3Or.png [Добавить новую учетную запись]

Отсюда вам нужно будет ввести данные для вашей почтовой учетной записи. Вы должны ввести адрес электронной почты и пароль для этой конкретной почтовой учетной записи. Mailpile попытается подключиться к вашей учетной записи с этими учетными данными, что может занять несколько минут.

Вы также можете ввести учетные данные * Sending Mail * и * Receiving Mail * вручную, если Mailpile сам не может их выяснить.

После входа в систему вы увидите этот экран:

изображение: https: //assets.digitalocean.com/articles/mailpile/ueJqKlG.png [почтовый ящик]

Попробуйте отправить и получить тестовое электронное письмо для учетной записи, которую вы добавили в Mailpile, на другую учетную запись электронной почты. Если это успешно, вы будете знать, что Mailpile работает с вашим адресом электронной почты.

  • Другие функции Mailpile *

Mailpile также предлагает широкий спектр вариантов шифрования:

изображение: https: //assets.digitalocean.com/articles/mailpile/Nh2yptT.png [Параметры шифрования Mailpile]

Заключение

Чтобы начать работу с Mailpile, см. Https://www.mailpile.is/faq/[FAQ].

Для получения дополнительных параметров конфигурации запустите + help + из командной строки Mailpile.

Поздравляем, теперь у вас есть собственный почтовый клиент Mailpile, работающий на Ubuntu 14.04 Droplet. Он полностью оснащен SSL и автоматически перенаправляет на HTTPS-версию вашего сайта. Теперь вы можете настроить свои учетные записи электронной почты и управлять своими контактами, почтой, категориями и многим другим с помощью красивого интерфейса Mailpile. Повеселись!

Related