Перенос на другой физический сервер¶
ℹ️ Перед процедурой переноса приложения ознакомьтесь с техническими требованиями
ℹ️ В последовательности действий, перечисленных ниже, описывается перенос сайтов с forms- и win-аутентификацией. Если в вашей компании используется только forms-приложение, win-приложение создавать не нужно
Для переноса ранее установленной, настроенной и работающей системы "Первая Форма" на другой физический сервер необходимо выполнить следующую последовательность действий:
На сервере БД¶
1. Создайте резервные копии *.bak баз D10Task и TaskFilesDB. Затем выполните восстановление этих баз из резервных копий на новом экземпляре SQL-сервера.
2. Скопируйте с исходного SQL-сервера папку C:\Program Files (x86)\TCSQL и перенесите ее вместе со всем содержимым на новый SQL-сервер в папку с таким же расположением. В папке TCSQL содержатся файлы для хранимых процедур и функций.
3. Выполните скрипты InstallFunctionsAndAssembly.sql и grant.sql на БД D10Task. Первый скрипт выполняет установку функций для расчета разницы рабочего времени и выдает права на их выполнение (при выполнении может выдаваться сообщение о том, что объект существует, это нормально). Второй скрипт выдает права на выполнение хранимых процедур.
4. Скопируйте нужные папки (в т.ч. 1Forma и 1Forma_win, а для версий младше 2.215 также папку C:\Program Files (x86)\TCJobService) с исходного сервера на новый. По умолчанию папки 1Forma и 1Forma_win находятся в c:/inetpub/wwwroot.
5. В настройках перенесенных баз выставите максимальный Уровень совместимости (sp_dbcmptlevel).
Установка уровня совместимости
Продолжайте на новом сервере¶
6. В папках 1Forma и 1Forma_win откройте файлы web.config, в секциях TCConnectionString и RedisConnectionString укажите актуальные данные и сохраните изменения.
Если не получается сохранить файл в ту же папку, сохраните его в другую папку и затем скопируйте в нужную. Обратите внимание, что при сохранении тип документа должен быть "All Files (*.*)".
Пример ConnectionString (строки подключения):
providerName\="System.Data.SqlClient" />
Пример RedisConnectionString (строки подключения для Redis, устаревшее):
где вместо localhost может быть адрес нового сервера.
На сервере IIS¶
7. Создайте два сайта – 1forma и 1forma_win. В качестве каталога содержимого для них укажите папки 1Forma и 1Forma_win соответственно.
Настройки пулов см. в инструкции по настройке IIS.
В настройках сайта 1Forma_win для параметра Windows Authentication включите Enabled.
На этом шаге сайт уже должен запускаться и функционировать.
8. Зайдите в "Первую Форму" в режиме администратора, перейдите в раздел "misc" — "Системные настройки" — "Провайдеры загружаемых файлов" и исправьте строку подключения к файловой базе TaskFilesDB так, как она прописана в файле web.config. Нажмите кнопку Проверить соединение, если тест успешен — сохраните и закройте панель администратора.
9. В разделе "misc" — "Системные настройки" — "Общие настройки приложения" исправьте параметры, выделенные на скриншоте ниже.
В параметре "Путь к приложению" укажите путь для входа пользователей (в данном случае — имя веб-сервера).
В параметре "Настройки веб-сервиса" укажите новый путь к сайту с forms-авторизацией (определяется портом, который был присвоен сайту).
10. В разделе "misc" — "Журналы и статистика" — "Лог выполняемых заданий" убедитесь в том, что в журнал регулярно попадают записи. Если нет, проверьте ошибку, которая генерируется в EventViewer.