Перед процедурой переноса приложения ознакомьтесь с техническими требованиями. |
---|
В последовательности действий, перечисленных ниже, описывается перенос сайтов с 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=true"
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 соответственно.
Настройки для приложения с forms-аутентификацией.
Настройки для приложения с win-аутентификацией.
Настройки пулов см. в инструкции по настройке IIS.
В настройках сайта 1Forma_win для параметра Windows Authentication включите Enabled.
Настройка аутентификации для сайта 1Forma_win.
На этом шаге сайт уже должен запускаться и функционировать.
8. Зайдите в "Первую Форму" в режиме администратора, перейдите в раздел "Прочее" — "Системные настройки" — "Провайдеры загружаемых файлов" и исправьте строку подключения к файловой базе TaskFilesDB так, как она прописана в файле web.config. Нажмите кнопку Проверить соединение, если тест успешен — сохраните и закройте панель администратора.
Проверка соединения
9. В разделе "Прочее" — "Системные настройки" — "Общие настройки приложения" исправьте параметры, выделенные на скриншоте ниже.
В параметре "Путь к приложению" укажите путь для входа пользователей (в данном случает это название web-сервера).
В параметре "Настройки веб-сервиса" укажите новый путь к сайту с forms-авторизацией (определяется портом, который был присвоен сайту).
Параметры приложения
10. В разделе "Прочее" — "Журналы и статистика" — "Лог выполняемых заданий" убедитесь в том, что в журнал регулярно попадают записи. Если нет, проверьте ошибку, которая генерируется в EventViewer.