Перейти к основному содержимому

Публикация личного кабинета (Windows, XAMPP)

Чтобы пользователи могли работать с личным кабинетом (далее — ЛК), информационная база (далее — ИБ) «Управление IT-отделом 8» должна быть опубликована на веб-сервере.

В этой статье рассмотрен случай, когда ИБ опубликована на Apache из состава XAMPP (Windows).

Предусловие

Перед публикацией ЛК убедитесь, что ИБ уже опубликована и открывается в браузере. Только после этого приступайте к установке личного кабинета.

В примерах используются такие значения — подставьте свои:

ЧтоЗначение в примерах
Папка публикации ИБ на дискеC:\www\it4demo
Имя публикации ИБ (адрес)it4demo
Папка ЛК на дискеC:\www\it4demo_lk
Адрес ЛКhttp://localhost/it4demo/lk/

Главное правило: папка ЛК лежит рядом с публикацией, а не внутри неё

Важно!

Не кладите файлы ЛК внутрь папки публикации базы — например, в C:\www\it4demo\lk. Кабинет там не откроется.

Публикация 1С добавляет в настройки Apache блок вида <Directory "C:/www/it4demo/"> с указанием передавать все запросы модулю 1С. Вложенные папки наследуют эту настройку, поэтому файлы кабинета уйдут в 1С вместо браузера — и вместо ЛК откроется страница 1С или ошибка 404.

Поэтому папку ЛК создаём соседнейC:\www\it4demo_lk рядом с C:\www\it4demo.

Имя папки на диске и адрес в браузере — разные вещи: папка называется it4demo_lk, а открываться кабинет будет по адресу http://localhost/it4demo/lk/. Связывает их настройка Apache, которую вы подготовите на шаге 5.


Часть 1. Установка

Шаг 1. Скачайте и распакуйте дистрибутив

Скачайте дистрибутив личного кабинета с нашего сайта. Вы получите файл вида itlk_1_0_0_full.zip (цифры в имени — версия ЛК).

Распакуйте архив в любую временную папку. Внутри будут папки app, deploy, docs и файлы README.html, CHANGELOG.md.

Содержимое распакованного архива

Шаг 2. Создайте папку для файлов ЛК

Создайте папку C:\www\it4demo_lk.

Обратите внимание: папка создаётся рядом с папкой публикации базы C:\www\it4demo, а не внутри неё (см. раздел выше).

Папки it4demo и it4demo_lk рядом в каталоге www

Шаг 3. Скопируйте файлы ЛК

Скопируйте в C:\www\it4demo_lk содержимое папки app из распакованного архива — то есть сами файлы и папки, а не папку app целиком.

После копирования папка должна выглядеть так:

C:\www\it4demo_lk\
├── index.html ← должен лежать здесь, а не в подпапке app
├── config.json
├── manifest.json
├── assets\
└── kb\
Частая ошибка

Скопирована сама папка app, и получился путь C:\www\it4demo_lk\app\index.html. В этом случае кабинет не откроется — перенесите содержимое на уровень выше.

Содержимое папки кабинета: index.html на верхнем уровне

Шаг 4. Укажите адрес API

Откройте файл config.json из папки ЛК в «Блокноте» и впишите в строку apiUrl адрес обращения к API вашей базы:

{
"$schema": "./config.schema.json",
"apiUrl": "http://localhost/it4demo/hs/api/v2/"
}

Адрес строится по образцу http://[хост]/[имя публикации]/hs/api/v2/, где:

  • [хост] — адрес веб-сервера (localhost, доменное имя или IP);
  • [имя публикации] — имя, под которым опубликована ИБ.

Сохраните файл (кодировка UTF-8 — «Блокнот» Windows 10 и новее делает это по умолчанию).

Проверьте адрес сразу: откройте его в браузере. Сервер должен запросить логин и пароль или вернуть ответ в виде текста JSON. Страница «не найдено» означает, что адрес неверный — уточните путь публикации базы.

Файл config.json с заполненной строкой apiUrl

Проверка адреса API в браузере: запрос логина и пароля

Шаг 5. Подготовьте файл настроек Apache

Скопируйте из архива файл deploy\apache\lk-alias.conf в папку C:\xampp\apache\conf\extra\.

Откройте скопированный файл в «Блокноте». Под шапкой из комментариев есть две рабочие строки — исправить нужно только их:

Define ITLK_PATH /it4demo/lk
Define ITLK_DIR C:/www/it4demo_lk

Ниже них лежит закомментированная пара с путями Ubuntu — она начинается со знаков # и на работу не влияет, трогать её не нужно.

СтрокаЧто указатьПример
ITLK_PATHадрес, по которому будет открываться кабинет/it4demo/lk
ITLK_DIRпапка из шага 2C:/www/it4demo_lk
Обратите внимание

Пути пишутся через прямой слэш — C:/www/it4demo_lk, а не C:\www\it4demo_lk. Кавычки вокруг значений не ставятся. Путь без пробелов избавит от целого класса ошибок.

Остальную часть файла менять не нужно: значения подставляются во все настройки сами.

Файл lk-alias.conf с заполненными строками Define

Шаг 6. Подключите файл к настройкам Apache

Откройте файл C:\xampp\apache\conf\httpd.conf в «Блокноте».

Найдите в нём блок публикации 1С — он начинается со строки вида:

Alias "/it4demo" "C:/www/it4demo/"

Перед этим блоком добавьте строку:

Include conf/extra/lk-alias.conf
Важно! Порядок имеет значение

Apache проверяет адреса в том порядке, в котором они записаны в файле, и применяет первое совпадение. Если строку Include поставить после блока публикации 1С, адрес /it4demo/lk перехватит публикация базы, и вместо кабинета откроется 1С.

Сохраните файл.

Строка Include перед блоком публикации 1С в httpd.conf

Шаг 7. Проверьте, что включены нужные модули

В том же httpd.conf найдите три строки и убедитесь, что в начале каждой нет знака #:

LoadModule alias_module modules/mod_alias.so
LoadModule mime_module modules/mod_mime.so
LoadModule headers_module modules/mod_headers.so

Если знак # есть — удалите его и сохраните файл.

Строки LoadModule без символа комментария

Шаг 8. Перезапустите Apache

Сначала сохраните копию httpd.conf

Скопируйте C:\xampp\apache\conf\httpd.conf в надёжное место. Если в файле окажется опечатка, Apache не запустится — а вместе с кабинетом станет недоступна и опубликованная база 1С. С копией вы вернёте рабочий файл за несколько секунд.

Запустите XAMPP Control Panel — ярлык в меню «Пуск» или файл C:\xampp\xampp-control.exe.

В строке Apache нажмите Stop, дождитесь, пока подсветка имени модуля погаснет, затем нажмите Start.

XAMPP Control Panel: кнопки Stop и Start в строке Apache

Если настройки верны, имя Apache снова станет зелёным, а в нижнем окне журнала появятся строки со словами Status change detected: running.

XAMPP Control Panel после успешного запуска Apache

Если в настройках ошибка, Apache не запустится: подсветка не появится, а в журнале красным будут строки Error: Apache shutdown unexpectedly и Status change detected: stopped.

Что делать в этом случае:

  1. Нажмите кнопку Logs в строке Apache и выберите Apache (error.log) — откроется журнал ошибок.
  2. Посмотрите последние строки: в них указаны файл и номер строки с ошибкой. Чаще всего это опечатка в пути.
  3. Исправьте её и снова нажмите Start. Если не получается — верните сохранённую копию httpd.conf и запустите Apache, чтобы вернуть работу базы 1С, а затем разберитесь с настройками.

XAMPP Control Panel с ошибкой запуска Apache

Шаг 9. Проверьте результат

Откройте в браузере адрес личного кабинета:

http://localhost/it4demo/lk/

Должна появиться форма входа.

Форма входа личного кабинета

Если Apache в XAMPP работает не на 80-м порту, укажите порт в адресе — например, http://localhost:8080/it4demo/lk/.

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

Пройдите список целиком — это пара минут:

  1. Кабинет открывается, появляется форма входа.
  2. Кабинет не спрашивает адрес информационной базы. Если спрашивает — не прочитан config.json.
  3. Вход выполняется, открывается список задач.
  4. Открывается вкладка «База знаний», статьи читаются, в статьях видны схемы и цветная подсветка кода.
  5. Задача с вложением открывается, вложение скачивается без повреждений.
  6. Обновление страницы (F5) не приводит к выходу из системы.

Часть 2. Обновление версии

Обновление — это замена файлов кабинета. Настройки Apache при этом не меняются: их достаточно было выполнить один раз при установке. Перезапускать Apache тоже не нужно.

Шаг 1. Сохраните config.json

Скопируйте файл C:\www\it4demo_lk\config.json в надёжное место. В нём указан адрес API вашей базы — это единственное, что нужно сохранить.

Шаг 2. Распакуйте новую версию

Распакуйте архив новой версии во временную папку.

Шаг 3. Очистите папку кабинета

Удалите содержимое папки C:\www\it4demo_lk. Саму папку и настройки Apache удалять не нужно.

Именно удалите, а не копируйте поверх

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

Шаг 4. Скопируйте файлы новой версии

Скопируйте содержимое папки app из нового архива в C:\www\it4demo_lk — так же, как при установке.

Шаг 5. Верните config.json

Скопируйте сохранённый на шаге 1 config.json обратно в папку кабинета, поверх нового.

Шаг 6. Проверьте результат

Откройте кабинет в браузере и обновите страницу с очисткой кэша: Ctrl + F5.

Убедитесь, что версия обновилась: откройте файл manifest.json из папки кабинета — значение поля version должно совпадать с версией нового архива. Что изменилось в версии, описано в CHANGELOG.md в корне архива.

Файл manifest.json с полем version

Совет

Храните архив предыдущей версии, пока новая не проработает без замечаний хотя бы несколько дней. Откат выполняется тем же способом: распакуйте прежнюю версию и верните свой config.json.


Если что-то не работает

Что видноПричина и решение
Открывается 1С или ошибка 404, хотя файлы на местеОдно из двух: строка Include стоит после блока публикации 1С в httpd.conf (шаг 6) — переставьте её выше; либо папка ЛК создана внутри папки публикации C:\www\it4demo — перенесите её рядом, в C:\www\it4demo_lk, и поправьте ITLK_DIR
Пустая страница, в консоли браузера — ошибки загрузки файловСкопирована сама папка app. Проверьте, что index.html лежит прямо в C:\www\it4demo_lk (шаг 3)
Кабинет спрашивает адрес информационной базыНе прочитан config.json: проверьте, что файл лежит рядом с index.html, поле apiUrl заполнено и не нарушен синтаксис (лишняя запятая, одинарные кавычки)
Вход не проходит, ошибка 401Логин и пароль не приняты самой 1С. Проверьте учётную запись, войдя с ней в базу напрямую
Список файлов вместо кабинета или ошибка 403Не применились настройки из lk-alias.conf: проверьте, что имя Apache в XAMPP Control Panel подсвечено зелёным, а строка Include добавлена в httpd.conf (шаг 6)
Нет диаграмм и подсветки кода, шрифты стандартныеНе скопирована папка assets — скопируйте её из app целиком
После обновления интерфейс ведёт себя странноБраузер использует файлы из кэша. Обновите страницу с очисткой кэша: Ctrl + F5

Журнал ошибок Apache: C:\xampp\apache\logs\error.log.

Что приложить к обращению в поддержку

  • Файл manifest.json из папки кабинета целиком.
  • Адрес, по которому открывается кабинет, и значение apiUrl из config.json.
  • Ваш файл lk-alias.conf и фрагмент httpd.conf со строкой Include.
  • Снимок вкладки Console браузера (клавиша F12) с сообщениями об ошибках.
Важно!

Описанный в статье функционал доступен в конфигурации «Управление IT-отделом» редакции 4.0.