Установка Keitaro

Как выбрать сервер или хостинг?

Читайте на странице Как выбрать сервер или хостинг.

Процесс установки

Скачайте инсталлятор install.php и загрузите в директорию, куда собираетесь установить Keitaro.

В директории, куда планируете установить Keitaro, не должен располагаться ваш сайт. Файлы вашего сайта будут заменены файлами Keitaro, что приведет к неработоспособности сайта.

Если вы планируете взять VPS или сервер для Keitaro, используйте скрипт автонастройки сервера.

Шаг 1: Проверка конфигурации сервера

На первом шаге проверяется конфигурация сервера. Если все необходимые условия выполнены, появится кнопка перехода на следующий шаг.

Примечание: Проверьте, совпадает ли IP сервера, который показывает инсталлятор, с тем, что в вашей лицензии

Возможные проблемы и решения:

  • ionCube не установлен — установите его по инструкции ionCube или обратитесь в саппорт хостинга.

Шаг 2: Проверка лицензии

Используйте ключ вашей лицензии.

Возможные проблемы:

  • curl_exec error — проверьте настройки firewall'а, сделайте пинг с сервера до keitarotds.ru;
  • Ключ не подходит к этому серверу — проверьте, совпадают ли IP сервера (в первом шаге написано) и IP лицензии.

Шаг 3: Загрузка файлов

На этом этапе инсталлятор скачает и распакует архив с файлами Keitaro. Время процедуры зависит от нагрузки сервера и ширины канала.

Шаг 4: Загрузка внешних баз

Инсталлятор скачает гео-базу, списки сотовых операторов и ботов.

Шаг 5: Настройки доступа к базе данных

Впишите реквизиты для доступа к базе данных:

  • Хост - имя хоста базы данных (обычно localhost);
  • Имя БД - название базы данных;
  • Имя пользователя - логин для авторизации на сервере базы данных;
  • Пароль - пароль для пользователя базы данных;
  • Префикс таблиц — префикс будет добавлен к именам у создаваемых таблиц.

Если инсталлятору не удается подключиться к базе, проверьте наличие прав пользователя к самой базе и имя хоста.

Шаг 6: Импорт структуры и данных в базу данных

Инсталлятор создаст все необходимые таблицы и данные для нормальной работы Keitaro.

Шаг 7: Настройки

На этом шаге нужно установить настройки для работы системы:

  • Логин администратора — логин, который будет использоваться для доступа в админку;
  • Пароль;
  • Повтор пароля;
  • Редирект для домена — на этот адрес будет отправляться трафик с домена.

Шаг 8: Настройка Cron

Здесь будут предложены команды, которые необходимо прописать в планировщике задач (Cron). Это нужно для того, чтобы периодически запускался скрипт cron.php, который занимается пересчетом статистики, мониторингом, очисткой кэша и старых данных.

Подробнее о настройке планировщика на странице Cron.

Другие гайды по установке

Установка из консоли

sudo -u nginx php install.php install \ 
    --domain=domain.com
    --key=NNNN-NNNN-NNNN-NNNN \
    --db-user=keitaro \
    --db-name=keitaro \
    --db-password=password \
    --admin-login=admin \
    --admin-password=password \
    --language=en \
    --cache-storage=redis \
    --draft-storage=redis \
    --kversion=8 \
    --timezone="Europe/Moscow" 
  • Установку важно запускать от имени пользователя веб-сервера;
  • Укажите в cache-storage и draft-storage хранилище, которое доступно на сервере (redis, files);
  • kversion указывает на версию Keitaro;
  • timezone временная зона для администратора.

Что делать, если не установлен ionCube?

Если у вас есть root доступ к серверу, вы можете установить его по инструкции на странице ionCube. Для хостингов - вы можете попробовать обратиться в саппорт хостинга, чтобы установили «ionCube Loader».

Как установить расширение MySQL?

sudo apt-get install php5-mysql

Как установить расширение CURL?

sudo apt-get install php5-curl

Могу ли я установить Keitaro, где уже стоит сайт?

Создайте папку и установите в неё. Иначе сайт перестанет функционировать.

Можно ли установить в поддиректорию домена (папку)?

Да, вы можете установить в папку.

Как создать базу MySQL и пользователя для неё?

При наличии панели управления:

Если на вашем сервере установлена панель управления, найдите раздел «Базы данных» или «MySQL». Создайте новую базу и пользователя с правами на эту базу.

Без панели управления:

Зайдите в консоль MySQL

mysql

или с паролем:

mysql -p

Выполните SQL-команды, заменив логин, пароль и название базы на свои:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE database_name;
GRANT ALL PRIVILEGES ON database_name. * TO 'username'@'localhost';

Как создать базу в cPanel?

  1. Зайдите на страницу «MySQL Databases»;
  2. Создайте базу данных в разделе «Create New Database»;
  3. Создайте пользователя в разделе «Add New User»;
  4. Выдайте права пользователю на базу в разделе «Add User To Database». Выставите «ALL PRIVILEGES»;

Какие права нужны пользователю базы данных?

SELECT, UPDATE, INSERT, DELETE, TRUNCATE, ALTER, DROP, CREATE.

Для чего нужна настройка Планировщика (Cron)?

При запуске cron.php выполняется несколько важных задач:

  • Подсчет статистики для отчетов;
  • Обработка постбеков;
  • Мониторинг потоков;
  • Чистка старых данных.

Как установить Keitaro за CloudFlare?

Если вы еще не установили Keitaro

Отредактируйте «install.php», найдите такую строку и пропишите там IP вашего сервера:

define('RESOLVE_METHOD', 'x.x.x.x');

Если Keitaro уже установлен

Откройте файл «application/config/config.ini.php», найдите строку resolve_method. Пропишите для него IP вашего сервера:

resolve_method = x.x.x.x

При запуске install.php ошибка "Parse error: syntax error, unexpected '{' in ..." или страница "500 Internal Error"

Такая ошибка бывает при запуске на старой версии PHP. Для запуска инсталлятора нужна версия PHP 5.4 или новее. Поищите в настройках вашего хостинга переключение версий PHP.

Как развернуть несколько серверов Keitaro с центральной базой?

Здесь подразумевается использование нескольких серверов под одним балансировщиком.

Необходимая настройка Keitaro:

  1. Использовать одинаковый конфиг application/config/config.ini.php. Это необходимо для того, чтобы использовалась одна Keitaro и одинаковая «соль» (параметр salt).
  2. Использовать хранилище кэша Redis или отключить кэширование. Изменяется на странице «Обслуживание > Настройки > Производительность».
  3. Использовать единое хранилище для обработчика. Нужно обязательно установить центральный «Redis».
  4. Настроить запуск cron.php только на одном сервер.

Что еще можно сделать:

  1. Централизовать обновление Keitaro и её баз, через Puppet или его аналог. Читайте инструкцию по использованию консоли Keitaro на странице Консольные команды.

Особенности с cPanel

CPanel для переключения версий PHP добавляет строку в «.htaccess». При установке и обновлении Keitaro этот файл затирается. Поэтому, необходимо сделать следующее:

  1. Переключите версию PHP
  2. Откройте файл «.htaccess» в «public_html». Если не видите файла, в настройках файлового менеджера включите показ системных файлов.
  3. Скопируйте строку из файла. Она начинается как AddHandler....
  4. Создайте файл .htaccess в корне вашей домашней директории и вставьте туда эту строку.

Как подключить slave базу для отчетов?

Keitaro умеет использовать slave-базу MySQL для сборки отчетов. Для этого нужно прописать параметры второй базы.

  1. Откройте файл «application/config/config.ini.php».
  2. Найдите секцию «[db_slave]».
  3. Пропишите параметры slave-базы MySQL.