Развёртывание основного сайта

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 для ускорения работы.

  1. Распакуйте файлы из папки work в корневую папку домена.
  2. Создайте базу данных MySQL (не требуется при использовании нашего скрипта настройки сервера)
  3. Откройте основой адрес платформы в браузере и укажите данные для доступа к базе MySQL.
  4. Если вы увидели белый экран, убедитесь, что на сервере установлен ionCube Loader 10 и активный файл лицензии altercpa.txt - без них установка не запустится.
  5. На следующем шаге укажите адрес почты и пароль, который будет использовать главный администратор сети.
  6. Рекомендуется в целях безопасности переименовать файл cc.php в любое другое случайное имя и указать это в настройках сайтов лендингов и прелендингов. При использовании ClickServer, файл cc.php необходимо удалить.
  7. Если планируется использование домена перенаправления, удалите также файл go.php.
  8. В качестве дополнительной меры безопасности, вы можете также переименовать папку 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.1
  • MC_PORT - порт сервера MemCached, по умолчанию: 11211
  • MC_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;
}

Первичная настройка конфигурации сети

После установки основного сайта, авторизуйтесь на нём и перейдите в раздел "Управление", подраздел "Настройки". Изучите разделы "Основные", "Сайты", "Расширенные" и "Финансы", настройте в них требуемые параметры для работы своей сети.

  1. Название и основной адрес сети указываются в разделе "Основные".
  2. При необходимости, укажите настройки электронной почты для отправки сообщений
  3. Скройте не используемые разделы через вкладку "Расширенные".
  4. Укажите стандартную валюту сети и другие настройки "Финансов".

Дальнейшие шаги

  • Развернуть хранилище сайтов - требуется при ручной установке сервера. В случае использования нашего скрипта настройки сервера, хранилище уже установлено и готово к работе, но требуется указать некоторые дополнительные настройки.