Перенос на другой физический сервер¶
ℹ️ Перед процедурой переноса приложения ознакомьтесь с техническими требованиями
ℹ️ В последовательности действий, перечисленных ниже, описывается перенос сайтов с 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 (строки подключения):
<add name\="TCConnectionString" connectionString\="packet size=4096;user id=ПОЛЬЗОВАТЕЛЬ\_SQL;data source=НАЗВАНИЕ\_SQL\_СЕРВЕРА;
persist security info=True;initial catalog=НАЗВАНИЕ\_БД;password=ПАРОЛЬ\_ПОЛЬЗОВАТЕЛЯ\_SQL;Max Pool Size=2500;MultipleActiveResultSets=false"
providerName\="System.Data.SqlClient" />
Пример RedisConnectionString (строки подключения для Redis, устаревшее):
<add name\="RedisConnectionString" connectionString\="localhost:6379,allowAdmin=true,abortConnect=false,keepAlive=60,syncTimeout=30000"/>
где вместо 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.