Установка Postal-v3 SMTP

192 просмотров

Предварительные условия

Перед установкой Postal вам необходимо выполнить некоторые действия.

Сервер

Мы настоятельно рекомендуем устанавливать Postal на отдельном выделенном сервере (т.е. на сервере, на котором не запущено никакое другое программное обеспечение). Минимальные требования для Postal следующие:

  • Не менее 4 ГБ оперативной памяти
  • Не менее 2 ядер CPU
  • Соответствующий объем дискового пространства (не менее 25 ГБ) для вашего варианта использования

Большинство людей устанавливают Postal на виртуальных серверах. Есть много провайдеров на выбор, включая Niceserver или Digital Ocean или Linode .

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

Неважно, какую операционную систему вы выберете, если вы сможете установить на нее Docker (см. следующий раздел). Ничто в этих инструкциях не будет предполагать вашу операционную систему.

 

Докер

Postal работает полностью с использованием контейнеров, что означает, что для запуска Postal вам понадобится программное обеспечение для запуска этих контейнеров. Мы рекомендуем использовать Docker для этой цели, но вы можете использовать любое программное обеспечение, которое пожелаете.

Для начала вам нужно установить Docker Engine на вашем сервере. Следуйте инструкциям на сайте Docker, чтобы установить Docker.

Вам также необходимо убедиться, что у вас установлен плагин Docker Compose .

Прежде чем продолжить, убедитесь, что вы можете запустить dockerи docker composeиз командной строки.

 

Системные утилиты

Прежде чем вы сможете запускать некоторые команды Postal, вам необходимо установить несколько системных утилит.

В Ubuntu/Debian:

 
apt install git curl jq

В CentOS/RHEL:

 
yum install git curl jq
 

Git и вспомогательный репозиторий установки

Вам нужно убедиться, что вы gitустановили на своем сервере. Затем вам нужно будет клонировать репозиторий помощника установки Postal. Он содержит некоторую конфигурацию начальной загрузки и другие полезные вещи, которые ускорят вашу установку.

 
git clone https://github.com/postalserver/install /opt/postal/install
sudo ln -s /opt/postal/install/bin/postal /usr/bin/postal
 

MariaDB (10.6 или выше)

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

Мы не поддерживаем использование MySQL вместо MariaDB.

Вы можете запустить MariaDB в контейнере, если у вас есть Docker, с помощью этой команды:

 
docker run -d \
   --name postal-mariadb \
   -p 127.0.0.1:3306:3306 \
   --restart always \
   -e MARIADB_DATABASE=postal \
   -e MARIADB_ROOT_PASSWORD=postal \
   mariadb
  • Это запустит экземпляр MariaDB и заставит его прослушивать порт 3306.
  • Обязательно выберите надежный пароль. Вам нужно будет указать его в конфигурации Postal при установке, поэтому обязательно запишите его (в защищенном виде).
  • Если вы не можете или не хотите предоставлять права root, то пользователю базы данных, который вы создаете отдельно, потребуются все разрешения на базы данных, называемые postalи postal-*(этот префикс можно настроить в message_dbчасти вашей конфигурации).

Хотя вы можете настроить максимальный размер сообщения по своему усмотрению, вам необходимо убедиться, что MariaDB настроена на размер, innodb_log_file_sizeпо крайней мере в 10 раз превышающий размер сообщения, которое вы хотите отправить (150 МБ для 15 МБ электронной почты, 250 МБ для 25 МБ электронной почты и т. д.).

Конфигурация

Прежде чем вы сможете запустить Postal, вам понадобится некоторая конфигурация. Клонированный вами репозиторий включает инструмент для автоматического создания некоторых начальных файлов конфигурации.

Запустите команду ниже и замените ее postal.yourdomain.comна фактическое имя хоста, по которому вы хотите получить доступ к своему веб-интерфейсу Postal. Убедитесь, что вы настроили этот домен у своего провайдера DNS, прежде чем продолжить.

 
postal bootstrap postal.yourdomain.com

В результате будут созданы три файла в формате /opt/postal/config.

  • postal.ymlэто основной файл конфигурации почтовой системы
  • signing.keyэто закрытый ключ, используемый для подписи различных вещей в Postal
  • Caddyfileэто конфигурация веб-сервера Caddy

После создания вам следует открыть /opt/postal/config/postal.ymlи добавить все соответствующие значения для вашей установки (пароли баз данных и т. д.).

Обратите внимание, что настройка Docker монтируется /opt/postal/configтак /config, что любые полные пути к каталогам, упомянутые в , postal.ymlскорее всего, должны будут начинаться с /config, а не/opt/postal/config
 

Инициализация базы данных

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

 
postal initialize
postal make-user
 

Запуск

Теперь вы готовы запустить сам Postal. Вы можете сделать это, запустив:

 
postal start

Это запустит несколько контейнеров на вашей машине. Вы можете использовать postal statusдля просмотра деталей этих компонентов.

 

Caddy

Для обработки терминации SSL и всего веб-трафика вам нужно настроить веб-прокси. Вы можете использовать все, что вам нравится, — nginx, Apache, HAProxy, что угодно, — но в этом примере мы будем использовать Caddy . Это отличный маленький сервер, который требует очень мало настроек и очень прост в настройке.

 
docker run -d \
   --name postal-caddy \
   --restart always \
   --network host \
   -v /opt/postal/config/Caddyfile:/etc/caddy/Caddyfile \
   -v /opt/postal/caddy-data:/data \
   caddy

После запуска Caddy выпустит SSL-сертификат для вашего домена, и вы сразу же сможете получить доступ к веб-интерфейсу Postal и войти в систему под именем пользователя, которого вы создали раньше.

 

Поделиться: