Установка и запуск phpList на собственном сервере
firstimage=”https://www.makeuseof.com/wp-content/uploads/2011/06/subscribers.png”
Многие сайты предлагают форму подписки на новости, но часто это делегируют платным сервисам. Если вы готовы хранить списки и рассылки на своём сервере, phpList — хороший вариант: бесплатный, открытый, с веб-интерфейсом для управления подписками и кампанииями.
Важно: установка на собственный сервер даёт полный контроль над данными подписчиков, но требует базовых навыков работы с базами данных и конфигурацией почтовой отправки.
Зачем ставить phpList на свой сервер
- Полный контроль над списком подписчиков и данными.
- Нет регулярных платежей за хостинг сервиса (сам phpList бесплатен).
- Возможность гибкой кастомизации страниц подписки и писем.
- Экспорт списка в любой момент.
Когда это не подходит: если вы хотите минимально заниматься администрированием или отправлять миллионы писем — возможно, лучше выбрать платный ESP (Email Service Provider) с гарантированной доставляемостью и поддержкой больших объёмов.
Подготовка: требования и создание базы данных
- Скачайте свежую версию phpList с официального сайта проекта.
- Убедитесь, что ваш хостинг поддерживает PHP и MySQL/MariaDB.
- Создайте базу данных и пользователя. Пример имён, использованных в статье-источнике (рекомендую заменить на безопасные пароли):
CREATE DATABASE phplistdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'phplist'@'localhost' IDENTIFIED BY 'phplist';
GRANT ALL PRIVILEGES ON phplistdb.* TO 'phplist'@'localhost';
FLUSH PRIVILEGES;Примечание: замените ‘phplist’ на уникальный логин и надёжный пароль. Многие хостеры предоставляют интерфейс phpMyAdmin или панель управления для создания БД и пользователей.
Куда загружать файлы и какие правки внести
В ZIP-архиве phpList находятся папки public_html и lists. Загрузите их в нужную поддиректорию на вашем сайте (внутри public_html вашего хостинга). Например, если вы хотите, чтобы подписки открывались по адресу http://example.com/subscriptions/lists/, загрузите содержимое в папку subscriptions.
После загрузки отредактируйте файл списков конфигурации: lists/config/config.php. Основные параметры:
- Имя базы данных (database name).
- Пользователь и пароль базы данных (user, password).
- $pageroot и $adminpages — указывают корневую директорию и адреса административных страниц, убедитесь, что пути соответствуют месту, куда вы загрузили папку lists.
Пример важных строк (строки могут отличаться в зависимости от версии):
$database_name = 'phplistdb';
$database_user = 'phplist';
$database_password = 'phplist';
$pageroot = '/subscriptions/lists/';
$adminpages = '/subscriptions/lists/admin/';Запуск установщика и создание таблиц
Откройте в браузере: http://<ваш-домен>/subscriptions/lists/ (или путь, где вы разместили скрипт). Если конфиг корректен, вы увидите страницу установки phpList. Нажмите Install, и скрипт создаст таблицы в вашей БД.
Затем перейдите на main page и далее Setup phpList — пошаговый мастер поможет настроить базовые опции.
Настройка страниц подписки и дизайн
phpList позволяет настроить страницы подписки (формы), перенаправления после успешной подписки и HTML-шаблоны писем. Вы можете:
- Изменить заголовок и оформление, чтобы форма выглядела как часть вашего сайта.
- Указать страницу «Спасибо» для перенаправления после подписки.
- Настроить поля формы (имя, email, дополнительные поля).
Вы не обязаны кастомизировать интерфейс — phpList работает «из коробки». Достаточно создать ссылку «Подписаться» и вести её на /lists/ — посетитель увидит форму и сможет подписаться.
Важно: все данные подписчиков сохраняются в вашей базе данных — не в облачном сервисе третьей стороны.
Отправка писем и SMTP: типичные проблемы и решения
phpList должна уметь отправлять почту с вашего сервера. Возможные способы и подводные камни:
- Отправка через встроенную функцию mail() PHP: может блокироваться хостером или попадать в спам.
- Отправка через внешний SMTP (желательно): укажите SMTP-сервер, порт, логин и пароль в config.php.
- Порт 25: многие хостеры блокируют исходящие соединения на стандартный порт 25; используйте альтернативные порты (587, 465) и TLS/SSL, если провайдер поддерживает.
- Ограничения по объёму/лимит отправки: общий хостинг часто лимитирует число писем в час/сутки. Для больших рассылок используйте транзакционные сервисы (SMTP через SendGrid, Amazon SES и т. п.) или выделенный сервер.
Советы при проблемах:
- Проверьте логи почтового агента (sendmail, postfix) на сервере.
- Настройте SPF, DKIM и DMARC для вашего домена — это повышает доставляемость и снижает вероятность попадания в спам.
- Тестируйте отправку на несколько почтовых сервисов (Gmail, Yandex, Outlook).
- Сотрудничайте с техподдержкой хостинга для открытия нужных портов или получения информации о лимитах отправки.
Резервные копии и экспорт списка
Экспорт списка подписчиков прост — phpList поддерживает экспорт CSV. Резервные копии базы данных делайте регулярно: дамп базы храните вне сервера (локально или в защищённом хранилище). В критической ситуации экспорт CSV позволит быстро восстановить список в другом сервисе.
Когда phpList не подходит и альтернативы
Когда стоит не выбирать phpList:
- Вы ожидаете огромные рассылки (миллионы писем) и нуждаетесь в гарантированной доставляемости и аналитике в масштабе ESP.
- Вам неудобно заниматься настройкой почтового сервера и поддержкой.
Альтернативы и гибридные подходы:
- Хостинг-сервисы типа Mailchimp, SendinBlue — простота и аналитика, но тарифы при росте базы.
- Sendy — платная однократная лицензия, использует Amazon SES для экономичной отправки.
- Хостинг-версии phpList — платные, но с поддержкой и установкой под ключ.
Чек-листы по ролям
Администратор сервера:
- Проверить поддержку PHP и MySQL.
- Создать защищённую базу данных и пользователя.
- Настроить права папок и файлов.
- Организовать бэкапы базы данных.
Разработчик/интегратор:
- Отредактировать lists/config/config.php.
- Настроить шаблоны писем и формы подписки.
- Протестировать отправку на тестовые почтовые ящики.
- Настроить SPF/DKIM/DMARC.
Маркетолог/Контент-менеджер:
- Настроить поля подписки и список рассылки.
- Подготовить шаблоны писем и страницу «Спасибо».
- Создать тестовую рассылку и проверить визуально и на спам-фильтры.
Хостинг-провайдер / поддержка:
- Проверить ограничения на исходящую почту.
- Открыть необходимые порты (587/465) при необходимости.
- Помочь с конфигурацией почтового агента на сервере.
Мини‑методология развертывания
- План: цель рассылок, объёмы, требования по доставляемости.
- Подготовка: создать домен/поддомен, БД, пользователя.
- Установка: загрузить public_html и lists, отредактировать config.php.
- Конфигурация: SMTP, шаблоны, страницы подписки.
- Тестирование: отписка/подписка, отправка тестовых писем, проверка DKIM/SPF.
- Выпуск: первый контролируемый выпуск рассылки, мониторинг откликов и доставляемости.
Решающее дерево: стоить ли хостить самостоятельно?
flowchart TD
A[Нужна полная свобода над данными?] -->|Да| B[Есть навыки администрирования?]
A -->|Нет| C[Использовать хостинг-сервис]
B -->|Да| D[Использовать phpList на своём сервере]
B -->|Нет| E[Найти платную установку/поддержку или хостинг phpList]Критерии приёмки
- Форма подписки доступна по предусмотренному URL и добавляет запись в БД.
- Тестовое письмо доставлено в несколько почтовых провайдеров.
- База данных содержит таблицы phpList и их можно экспортировать.
- Шаблоны писем корректно отображаются в основных почтовых клиентах.
Короткое объявление для команды (100–200 слов)
phpList установлен на нашем сервере: теперь мы полностью контролируем базу подписчиков и шаблоны рассылок. Для запуска требуется доступ к админке phpList и права на отправку почты с сервера. В ближайшие дни настроим SPF/DKIM и протестируем отправки на несколько почтовых сервисов. Если вы планируете рассылки большого объёма, сообщите заранее — обсудим варианты интеграции с внешним SMTP (SendGrid, Amazon SES) или перенос на выделенный сервер.
Частые вопросы
Нужно ли покупать платную версию phpList?
Нет. Сам phpList доступен бесплатно и может быть установлен на вашем сервере. Платные услуги предлагают хостинг и поддержку.
Как настроить SMTP и какой порт использовать?
Рекомендуется использовать SMTP с авторизацией и TLS на порту 587 или SSL на 465. Если порт 25 заблокирован хостером, уточните альтернативы у поддержки.
Что делать, если письма попадают в спам?
Проверьте корректность SPF, DKIM и DMARC, настройте заголовки писем, уменьшите спам-подобные фразы и протестируйте отправку на разные почтовые сервисы.
Термин: краткий глоссарий
- SPF — запись DNS, позволяющая указать, какие серверы могут отправлять почту от имени домена.
- DKIM — цифровая подпись писем для подтверждения подлинности отправителя.
- SMTP — протокол отправки почты.
Резюме
phpList — рабочее решение для тех, кто хочет контролировать рассылки и списки подписчиков без постоянных платежей за сторонние сервисы. Установка и настройка потребуют базовых навыков работы с PHP и базами данных, а также внимательного отношения к настройке отправки почты и DNS-записей для хорошей доставляемости.
Если вы хотите, я могу подготовить пошаговый checklist под ваш хостинг или шаблон письма, который пройдёт базовую проверку DKIM/SPF.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone