PHPList — система управления email рассылками с открытым исходным кодом написанная на языке PHP, что очевидно из названия
Разработчики рекомендуют отключить SELinux
# vim /etc/sysconfig/selinux
И меняем значение на disabled
SELINUX=enforced -> SELINUX=disabled
Устанавливаем необходимый компонент. Подразумевается, что базовая настройка WEB-сервера уже выполнена
# yum install unzip
Скачиваем сам phplist и распаковываем
# wget http://prdownloads.sourceforge.net/phplist/phplist-3.2.4.zip --2016-05-14 04:00:00-- http://prdownloads.sourceforge.net/phplist/phplist-3.2.4.zip Resolving prdownloads.sourceforge.net (prdownloads.sourceforge.net)... 216.34.181.59 Connecting to prdownloads.sourceforge.net (prdownloads.sourceforge.net)|216.34.181.59|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: http://downloads.sourceforge.net/project/phplist/phplist/3.2.4/phplist-3.2.4.zip [following] --2016-05-14 04:00:00-- http://downloads.sourceforge.net/project/phplist/phplist/3.2.4/phplist-3.2.4.zip Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59 Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://kent.dl.sourceforge.net/project/phplist/phplist/3.2.4/phplist-3.2.4.zip [following] --2016-05-14 04:00:00-- http://kent.dl.sourceforge.net/project/phplist/phplist/3.2.4/phplist-3.2.4.zip Resolving kent.dl.sourceforge.net (kent.dl.sourceforge.net)... 212.219.56.185 Connecting to kent.dl.sourceforge.net (kent.dl.sourceforge.net)|212.219.56.185|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 11830526 (11M) [application/octet-stream] Saving to: 'phplist-3.2.4.zip' 100%[====================================================>] 11,830,526 34.1MB/s in 0.3s 2016-05-14 04:00:01 (34.1 MB/s) - 'phplist-3.2.4.zip' saved [11830526/11830526] # unzip phplist-3.2.4.zip # mkdir /usr/share/phplist # mv phplist-3.2.4/public_html/lists/ /usr/share/phplist/ # ls /usr/share/phplist/ lists
Всё ок
Создаём базу данных
# mysql -uroot -p MariaDB [(none)]> CREATE DATABASE phplist CHARACTER SET utf8 COLLATE utf8_general_ci; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on phplist.* to phplist@localhost identified by 'phplistpassw0rd'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> \q Bye
Немного правим конфиг
# vim /usr/share/phplist/lists/config/config.php
1) Настройка параметров соединения с БД;
2) По умолчанию phplist работает в тестовом режиме, переводим в «боевой». Разница только в том, что в тестовом режиме письма реально не отправляются;
3) Устанавливаем русскай язык по умолчанию;
4) Этот параметр важен, если вы как и я устанавливаете веб интерфейс на поддомен;
/* 1 */ $database_host = "localhost"; $database_name = "phplist"; $database_user = "phplist"; $database_password = 'phplistpassw0rd'; /* 2 */ # if test is true (not 0) it will not actually send ANY messages, but display what it would have sent # this is here, to make sure you edited the config file and mails are not sent "accidentally" # on unmanaged systems define ("TEST",0); /* 3 */ $default_system_language = "ru"; /* 4 */ $pageroot = '/';
Далее добавляем конфигурацию в nginx
# vim /etc/nginx/conf.d/phplist.conf server { listen 80; server_name www.phplist.tradenark.com.ua phplist.tradenark.com.ua; root /usr/share/phplist/lists; client_max_body_size 32m; location / { root /usr/share/phplist/lists; index index.php index.html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { #root html; try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Проверяем и применяем
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful # nginx -s reload
Установка
Открываем в браузере URL указанный в NGinx и добавляем /admin/
У меня ссылка имеет вид http://phplist.tradenark.com.ua/admin/
Система сообщает, что база данных не инициализирована и предлагает сделать это
Соглашаемся и жмакаем на ссылку. На следующем шаге нам предлагают ввести основную информацию: пользователь, компания, e-mail и пароль. Обратите внимание, что этот пароль будет использоваться в дальнейшем для автризации, но логин будет admin
После успешного наполнения БД продолжаем усановку
Следующим шагом будет проверка установок. Она включает в себя несколько шагов. Так как инизиализацию БД мы проделали, то переходим к настройкам самой системы
После этого попадаем в окно авторизации. Напомню, что пароль тот, который мы установили на шаге инициализации базы данных
Ну и попадаем в интерфейс управления, в котором очень много настроек. Даже если ничего не трогать, то рассылка всё равно будет работать. Лично я первым делом перевёл все уведомления и шаблоны на русский язык
Настроек очень много. Конфигурируется сама система, подписи, персональные URL для отписки/личного кабинета, кампании, списки рассылок и многое другое. Так как это продукт для рассылки электронной почты, то рекомендуется настроить SPF и DKIM записи для увеличения вероятности миновать СПАМ
Душа продолжения просит, Глеб.
Спасибо за статью. Не подскажете, у меня отчего-то символы бьются некоторые при отправке:
«дминистра� �ия оставляет за собой прав� � и»
Есть мысли, с чем это может быть связано?
Все эти данные хранятся в MySQL. Вы создавали базу по инструкции через
?
Так же необходимо проверить кодировку самой таблицы. Сейчас не скажу в какой именно хранятся эти шаблоны