Добро пожаловать в XenForo 2!

Эта документация призвана помочь вам начать разработку с XenForo 2.0. Предварительные условия для этой документации предполагают, что Вы, помимо прочего, знакомы с PHP и MySQL. Необязательно иметь опыт работы с предыдущей версией XenForo, но это было бы преимуществом.

На следующих страницах мы проведем вас через краткий обзор того, как настроить локальный сервер, подготовиться к установке, выполнить чистую установку XenForo 2.0 и познакомиться с некоторыми концепциями разработки XF2.

Что нового для разработчиков?

Хотя XenForo 2.0 добавляет множество улучшений для Ваших форумов и его участников, значительные усилия были приложены для улучшения базовой структуры XenForo. вы можете прочитать дополнительную информацию об этих изменениях в следующих темах:

Начало работы

Начать разработку XF легко. вам просто нужно скачать файлы, загрузить их на веб-сервер и запустить установку.

Если у вас еще нет веб-сервера, не волнуйтесь, вы можете настроить его на своем локальном компьютере.

Скачивание XF 2.0

Чтобы загрузить XF 2.0, просто посетите Зону обслуживания клиентов и войдите в систему как обычно. Найдите нужную лицензию и щелкните ссылку «Загрузить XenForo». Выберите версию, которую вы хотите загрузить, тип пакета и примите лицензионное соглашение. Наконец, нажмите кнопку «Загрузить», чтобы загрузить файлы.

Требования XF 2.0

Требования для работы XF 2.0 изменились по сравнению с XF 1.5. Рекомендуемые требования следующие:

  • PHP: 5.4.0+
  • MySQL: 5.5+
  • Расширения PHP: MySQLi, GD (с поддержкой JPEG), PCRE, SPL, SimpleXML, DOM, JSON, iconv, ctype, cURL

Скачать скрипт тестирования требований.

Настройка локального сервера

Часто для разработки удобнее настроить локальный веб-сервер. Обычно для этого есть два подхода:

  1. Установить Apache (или nginx), MySQL (или MariaDB) и PHP самостоятельно.
  2. Установить готовую виртуальную машину
  3. Установить предварительно собранный стек.

Самостоятельная настройка более сложна, но дает вам больше контроля над тем, как все настроено.

Готовая виртуальная машина

В Интернете доступно множество готовых виртуальных машин, которые обеспечивают то преимущество, что все необходимые службы для запуска XenForo аккуратно упакованы в одном месте, без необходимости их установки и обслуживания непосредственно на Вашем компьютере.

Некоторые разработчики XenForo используют виртуальную машину под названием Scotch Box, которая включает в себя все необходимое для запуска XenForo с нулевой конфигурацией. У нас есть пошаговое руководство по настройке и запуску сервера разработки XenForo - вы можете запустить рабочий виртуальный веб-сервер и сервер базы данных всего за несколько минут, выполнив несколько команд.

Установка Scotch Box для использования с XenForo

Готовый стек

Существует множество готовых стеков, которые могут различаться по набору функций, производительности и надежности. Bitnami поддерживает несколько стеков, включая LAMP, MAMP и WAMP для использования в Linux, Mac и Windows соответственно. Все они включают полностью настроенную установку Apache, MySQL и PHP и включают PhpMyAdmin для управления MySQL.

Загрузка

Чтобы установить XF 2.0, вам просто нужно распаковать ZIP-файл, загруженный из области клиентов, и загрузить некоторые файлы и каталоги внутри.

После извлечения вы увидите каталог с именем upload. вам нужно зайти в этот каталог и загрузить файлы и каталоги в корневой каталог Вашего сервера. Обычно он находится в каталоге с именем public_html, htdocs или www.

Создание src/config.php

Если вы используете CLI для установки XF 2.0, вам нужно будет создать файл config.php вручную. Для этого войдите в каталог src в файлах XF 2.0, которые вы загрузили на свой сервер. Создайте новый файл с именем config.php и укажите в нем хост, порт, имя пользователя, пароль и имя базы данных для Вашего сервера MySQL.

Note

Убедитесь, что вы создали файл конфигурации в каталоге src. Каталог library используется только для устаревших целей.

После завершения он должен выглядеть следующим образом:

<?php

$config['db']['host'] = 'localhost';
$config['db']['port'] = '3306';
$config['db']['username'] = 'root';
$config['db']['password'] = 'mypassword';
$config['db']['dbname'] = 'xf2';

Теперь вы готовы к установке!

Если вы используете MySQL 5.5 и выше и хотите иметь полную поддержку Unicode (для таких вещей, как эмодзи), вы также должны добавить следующее перед установкой:

$config['fullUnicode'] = true;

Примечание о правах доступа к файлам

XenForo нужно будет записывать файлы в определенные места во время работы. При нормальной работе это ограничено каталогами data и internal_data (и их подкаталогами). Эти записи в файл будут запускаться такими вещами, как загрузка вложений, поэтому они обычно будут запускаться пользователем PHP, как на Вашем веб-сервере. Следовательно, необходимо убедиться, что в этих каталогах установлены разрешения, чтобы веб-сервер мог писать в них. вам нужно будет сделать это до начала установки.

Когда задействован интерфейс командной строки, эта ситуация усложняется, поскольку теперь потенциально есть два пользователя, которым необходимо иметь возможность писать в файлы. Таким образом, важно принять меры, чтобы избежать проблем с записью в эти файлы. Вот несколько вариантов.

  1. Используйте одного и того же пользователя для интерфейса командной строки и веб-сервера. Это может иметь форму переключения на пользователя веб-сервера перед запуском любой команды установки или обновления (или любой другой, которая будет записывать файлы).
  2. Если возможно, рассмотрите возможность применения ACL к каталогам data и internal_data. Эта концепция зависит от ОС и конфигурации, но общая идея описана здесь.
  3. Установите особые разрешения на то, что написано на PHP. Это можно сделать с помощью файла src/config.php с такой строкой: $config['chmodWritableValue'] = 0666;. Этот подход потенциально самый простой для целей разработки.

Обратите внимание, что если вы разрабатываете дополнение, у вас потенциально могут быть другие места, в которые нужно будет писать пользователям интерфейса командной строки и веб-сервера. Примечательно, что сюда входит каталог _output в дополнениях. В этой ситуации запуск Вашего веб-сервера от имени пользователя CLI может вызвать наименьшее трение. Если вы выберете любой другой путь, вам может потребоваться убедиться, что ваш веб-сервер может писать для всей Вашей установки XenForo; в продакшене это не рекомендуется.

Установка

Текущий способ установки XF 2.0 - через новую систему командной строки. Многие процессы разработки могут быть выполнены только с использованием интерфейса командной строки, поэтому давайте остановимся на его использовании для установки XF 2.0. Для запуска этих команд вам понадобится доступ к терминалу/оболочке, команда php CLI и текущий рабочий каталог должны быть корнем того, куда вы загрузили файлы XF 2.0.

Warning

Чтобы устранить проблемы с правами доступа к файлам, мы рекомендуем запускать установщик от имени того же пользователя, что и PHP, через ваш веб-сервер. Если вы этого не сделаете, вам следует предпринять шаги, чтобы убедиться, что разрешения установлены правильно. Смотрите более подробную информацию в разделе выше.

Чтобы начать установку, просто введите следующую команду:

Terminal

$ php cmd.php xf:install

вам будет задан ряд вопросов, таких как начальное имя пользователя и пароль администратора, название форума. После этого, таблицы базы данных XF 2.0 и основные данные будут импортированы.

XF 2.0 установлен!

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

Иногда может потребоваться переустановка XF2. Это особенно верно на этапе предварительного просмотра, который не поддерживает обновление. Если вы готовы выполнить переустановку, загрузите новые файлы (если применимо) в соответствии с разделом Загрузка XF 2.0 выше. Как правило, должно быть возможно просто объединить и перезаписать существующие файлы. Если вы выполняете полную чистую переустановку, вы можете сохранить копию файла config.php или воссоздать его в соответствии с инструкциями в Создание src/config.php.

Перед загрузкой новых файлов вы должны удалить содержимое Ваших каталогов data и internal_data.

Наконец, вам просто нужно будет начать установку, как описано выше. вам нужно будет использовать параметр --clear, который удалит все существующие таблицы xf_.

Terminal

$ php cmd.php xf:install --clear

После завершения переустановки вы сможете снова войти в систему.

Если вы разрабатывали дополнения и выбрали сохранение или резервную копию существующего каталога src/addons, вы можете восстановить данные дополнения с помощью команды Импортирования выходных данных разработки.

Warning

Будьте осторожны, если вы решите создать резервную копию и восстановить каталог src/addons. Каталог XF внутри содержит основные данные XF и не должен восстанавливаться из резервной копии, чтобы у вас всегда была самая последняя версия файлов.

Выполнение переустановки таким образом является разрушительной операцией и приведет к удалению всех созданных Вами данных. Кроме того, имейте в виду, что очищаются только таблицы с префиксом xf_. Это важная причина для рекомендации, что все таблицы, даже для дополнений, должны иметь префикс xf_.

Проверка целостности файла

Когда вы устанавливаете XF2, мы выполняем проверку целостности файла при установке. Если необходимо, и в противном случае вы не можете выполнить проверку через страницу в Admin CP, вы можете запустить команду CLI, чтобы выполнить эту проверку.

Terminal

$ php cmd.php xf:file-check [addon_id]

Если вы хотите проверить работоспособность всех файлов, включая сам XF, просто опустите аргумент [addon_id]. Только для XF, просто используйте XF вместо аргумента, или для конкретного дополнения просто укажите идентификатор дополнения, который вы хотите проверить.

Команды управления дополнениями

Помимо вышеперечисленных команд для установки XF2, есть также несколько команд для управления дополнениями.

Установка

Terminal

$ php cmd.php xf:addon-install [addon_id]

Устанавливает указанное дополнение, если он доступен, и проходит проверку работоспособности файла. Если доступны выходные данные разработки, вам будет предложено подтвердить, хотите ли вы использовать их для установки вместо файлов XML с экспортированными данными.

Обновление

Terminal

$ php cmd.php xf:addon-upgrade [addon_id]

Обновляет указанное дополнение, если его можно обновить, и проходит проверку работоспособности файла. При желании можно выполнить импорт из результатов разработки.

Перестроение

Terminal

$ php cmd.php xf:addon-rebuild [addon_id]

Восстанавливает основные данные для указанного дополнения, если они могут быть перестроены, и проходит проверку работоспособности файла. Это повторно импортирует данные дополнения. При желании можно выполнить импорт из результатов разработки.

Удаление

Terminal

$ php cmd.php xf:addon-uninstall [addon_id]

Удаляет указанное дополнение до тех пор, пока оно не будет удалено.