CPA-сеть на базе платформы AlterCPA состоит из двух основных частей: панели управления и хранилища сайтов. Для обеспечения надёжности работы системы и распределения нагрузки, каждый из этих элементов вы можете располагать на отдельных серверах.
Системные требования
Для работы сети мы рекомендуем следующую программную платформу.
- Сервер (виртуальный или выделенный) на базе Linux-подобной системы (Debian 11 строго рекомендуется)
- Веб-сервер nginx (рекомендуется)
- PHP версии 7.2 и выше (архив версии 7.2 подходит для работы с версиями до 7.4)
- ionCube Loader 10 для PHP соответствующей версии
- PHP-модули curl, gd, xml, mbstring, iconv, json, mysqli (для панели управления), soap (для служб доставки), memcache/memcached (рекомендуется) или apcu, активная поддержка short_open_tag в конфигурации PHP
- MySQL версии 5.1-5.6 (для панели управления), 5.7 и выше с отключенным stict mode, или аналогичная версия MariaDB (рекомендуется)
- MemCached сервер (настоятельно рекомендуется) или APCu-кеш в PHP
- Программист со знанием PHP хотя бы на базовом уровне (обязательно!)
База данных MySQL требуется только на том сервере, где будет установлена панель управления. Наличие технического специалиста со знанием администрирования серверов и PHP является строго обязательным условием. Платформа не предназначена для развёртывания без соответствующих знаний. Вы можете заказать развёртывание сети у наших специалистов. Система предназначена для установки на виртуальных или выделенных серверах, установка на shared-хостинге не поддерживается.
Подготовка к старту
Для удобства, будем считать, что наша партнёрская сеть расположилась по абстрактному адресу https://domain.com
, её панель управления заняла домен domain.com
, сайты расположились по адресу r.domain.com
.
Если на сервере установлена MySQL версии 5.7 и выше, необходимо отключить Strict Mode. Для этого на сервере (пример для Debian 9) создайте файл /etc/mysql/conf.d/disable_strict_mode.cnf
с содержимым:
[mysqld] sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
После чего перепустите MySQL командой service mysql restart
или аналогичной для используемой платформы.
Установка лицензии
Вам необходимо установить на сервер лицензионный файл altercpa.txt
и обновлять его каждый раз при продлении лицензии. Получить этот файл вы можете в разделе "Мои лицензии", открыв соответствующую покупку и нажав на кнопку "Лицензия". Этот файл должен располагаться на один уровень выше папки, в которой установлена платформа. Например, если основной сайт платформы располагается в папке /var/www/domain.com
, то файл лицензии надлежит расположить в /var/www
, то есть полный путь к нему будет /var/www/altercpa.txt
. Ни в коем случае не помещайте файл с лицензией в корневую папку домена, где установлена платформа!
Развёртывание панели управления
Для функционирования панели управления необходим сервер с PHP версии 7.2 и выше (рекомендуется PHP 7.3 и выше), базой данных MySQL 5 (рекомендуется MariaDB) и новее, обязательно наличие ionCube Loader 10, желательна поддержка PHP OpCache и MemCache/APCu для ускорения работы.
- Распакуйте файлы из папки
work
в корневую папку домена. - Создайте базу данных MySQL (не требуется при использовании нашего скрипта настройки сервера)
- Откройте основой адрес платформы в браузере и укажите данные для доступа к базе MySQL.
- Если вы увидели белый экран, убедитесь, что на сервере установлен ionCube Loader 10 и активный файл лицензии
altercpa.txt
- без них установка не запустится. - На следующем шаге укажите адрес почты и пароль, который будет использовать главный администратор сети.
- Рекомендуется в целях безопасности переименовать файл
cc.php
в любое другое случайное имя и указать это в настройках сайтов лендингов и прелендингов. При использовании ClickServer, файлcc.php
необходимо удалить. - Если планируется использование домена перенаправления, удалите также файл
go.php
. - В качестве дополнительной меры безопасности, вы можете также переименовать папку
tasks
и заменить соответствующие строчки в.htaccess
и путях к файлам в crontab.
Важно! Иногда после установки системы на Apache2 возникает ошибка Requested url not found. Чтобы исправить её, вручную извлеките файл .htaccess из архива и залейте его на сервер по FTP. Некоторые ОС не распаковывают его автоматически из-за настроек безопасности.
Файл конфигурации системы
При ручной установке, необходимо создать конфигурационный файл подключения к базе данных. В качестве примера используйте файл config-dist.php. В файле config.php задаётся следующая конфигурация системы:
HACK
- имя папки хаков платформыSQL_HOST
- хост MySQL-сервера, по умолчанию:localhost
SQL_BASE
- название базы данных на сервереSQL_USER
- имя пользователя базы данныхSQL_PASS
- пароль базы данныхSQL_PREF
- префикс таблиц базы данных, по умолчанию:cpa_
SQL_CHARSET
- основная кодировка базы данных, по умолчанию:utf8
SQL_COLLATE
- кодировка хранилища базы данных, по умолчанию:utf8_general_ci
MC_HOST
- хост сервера MemCached, раскомментируйте только при его наличии, по умолчанию: 127.0.0.1MC_PORT
- порт сервера MemCached, по умолчанию: 11211MC_PREF
- префикс для данных MemCached, любые 3-5 символовSTRICT_HOST
- использовать только это имя хоста, автоматически перенаправлять на негоSTRICT_HTTPS
- всегда использовать HTTPS
Настройка планировщика
Файлы, находящиеся в папке tasks, должны быть добавлены в библиотеку планировщика заданий с определённой периодичностью.
- 10min.php - раз в 10 минут
- 1min.php - ежеминутно
- 3min.php - раз в 3-5 минут
- 1day.php - каждый день в полночь
Пример настройки crontab для платформы:
*/10 * * * * php -f /var/www/domain.com/tasks/10min.php >/dev/null 2>&1 */3 * * * * php -f /var/www/domain.com/tasks/3min.php >/dev/null 2>&1 * * * * * php -f /var/www/domain.com/tasks/1min.php >/dev/null 2>&1 0 0 * * * php -f /var/www/domain.com/tasks/1day.php >/dev/null 2>&1
Не забывайте также добавить в планировщик cron-файл для хранилища сайтов.
Если для настройки сервера использовался наш скрипт автоматической настройки, настраивать планировщик для платформы не потребуется - всё уже сделано автоматически.
Настройки для nginx
Панель управления поставляется в комплекте с файлом конфигурации для Apache. Чтобы всё работало на nginx, необходимо использовать следующий блок конфигурации хоста:
location ~ /data/(cache|load|session|tpls|work) { deny all; return 403; } location ~ /tasks { deny all; return 403; } location / { try_files $uri $uri/ /index.php?$args; }
Первичная настройка конфигурации сети
После установки основного сайта, авторизуйтесь на нём и перейдите в раздел "Управление", подраздел "Настройки". Изучите разделы "Основные", "Сайты", "Расширенные" и "Финансы", настройте в них требуемые параметры для работы своей сети.
- Название и основной адрес сети указываются в разделе "Основные".
- При необходимости, укажите настройки электронной почты для отправки сообщений
- Скройте не используемые разделы через вкладку "Расширенные".
- Укажите стандартную валюту сети и другие настройки "Финансов".
Дальнейшие шаги
- Развернуть хранилище сайтов - требуется при ручной установке сервера. В случае использования нашего скрипта настройки сервера, хранилище уже установлено и готово к работе, но требуется указать некоторые дополнительные настройки.