Skip to content

Latest commit

 

History

History
154 lines (96 loc) · 19.9 KB

File metadata and controls

154 lines (96 loc) · 19.9 KB

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

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

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

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

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

Что нового для разработчиков в XenForo 2 (часть 1)1

Что нового для разработчиков в XenForo 2 (часть 2)1

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

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

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

Загрузка XF 2.0

Для загрузки XF 2.0, просто зайдите в [Customer Area] (https://xenforo.com/customers) и войдите в учетную запись как обычно. Найдите правильную лицензию и нажмите ссылку «Загрузить XenForo». Выберите версию, которую вы хотите загрузить, тип пакета и принять лицензионное соглашение. Наконец, нажмите кнопку «Загрузить», чтобы загрузить файлы.

Системные требования XF 2.0

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

  • PHP: 5.4.0+
  • MySQL: 5.5+
  • PHP расширения: MySQLi, GD (with JPEG support), PCRE, SPL, SimpleXML, DOM, JSON, iconv, ctype, cURL

Загрузить скрипт проверки требований.

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

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

Локальная установка сама по себе может быть сложной, но, как правило, дает вам больше контроля, над тем, как всё настроено.

Предварительно построенная виртуальная машина

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

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

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

Готовые сборки

Существует много готовых сборок, и они могут различаться в наборе функций, производительности и надежности. Bitnami поддерживает несколько сборок, включая LAMP, MAMP и [WAMP](https:// bitnami.com/stack/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.

Примечание

Убедитесь, что вы создали файл конфигурации в каталоге 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 (для таких вещей, как emoji), перед установкой вы также должны добавить следующее:

$config['fullUnicode'] = true;

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

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

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

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

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

Установка

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

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

Для начала установки используйте следующюю команду:

$ php cmd.php xf:install

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

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

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

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

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

$ php cmd.php xf:install --clear

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

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

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

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

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

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

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

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

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

В дополнение к вышеприведенным командам для установки XF2 есть также несколько команд для управления плагинами.

Установка

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

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

Обновление

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

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

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

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

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

Удаление

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

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

Примечание

  1. Не рабочие ссылки так и указаны в документации. Если поправят - сообщите.