Windows Azure. Часть 3. Публикация 1С на веб-сервере IIS 7.5

Опубликовал Андрей Акулов (verter.me) в раздел Администрирование - Системное

В данной статье мы завершим настройку IIS 7.5 для работы с 1С. Опубликуем тестовую базу.

Будут рассмотрены следующие вопросы:
1. Настройка веб-сервера IIS 7.5 для работы с базой 1С
2. Публикация базы 1С на веб-сервере IIS 7.5
3. Подключение с помощью "тонкого клиента" с домашнего/офисного компьютера к базе 1С,  развернутой на виртуальной машине

Этап 1. Настройка веб-сервера IIS 7.5 для работы с базой 1С

 

Этап 1. Шаг 1. Создаем папку, которая будет определять внешний путь к нашей базе

Например, имя папки будет: "1sTestBase"

Путь к виртуальной машине у нас был определен при создании виртуальной машины: http://VM1CTest.cloudapp.net

Следовательно полный путь к нашей базе будет: http://VM1CTest.cloudapp.net/1sTestBase

Папку создаем внутри папки "wwwroot" - сюда по умолчанию смотрит веб-сервер IIS 7.5

 

Этап 1. Шаг 2. Запускаем Server Manager и раскрываем веб-сервер IIS 7.5

Этап 1. Шаг 3. Конвертируем нашу папку в приложение (Application)

Иконка нашей папки, созданной на шаге №1 должна изменится

Этап 1. Шаг 4. Определяем, что все файлы, которые будут находится в нашей папке, должны обрабатываться библиотекой 1С

Жмем два раза левой кнопкой мышки. 

Добавляем скрипт который будет передавать управление библиотеке, поставляемой платформой 1С

Если версия платформы будет в дальнейшем меняться, то надо будет оперативно менять путь к библиотеке, соответствующей версии платформы

Этап 1. Шаг 5. Так как на виртуальной машине работает 64-х разрядная операционная система, а подключаться к базе могут клиенты с 32-х разрядными ОС, то необходимо включить поддержку 32-х разрядных ОС.

Позиционируемся на Application Pools

меняем значение false на True

Этап 1. Шаг 6. Контролируем действительно ли библиотека wsisapi.dll у нас подключена

Этап 1. Шаг 7. Устанавливаем права доступа

Нас будут интересовать 3 папки:

1. C:\Program Files(x86)\1cv8\8.3.2.172\bin (в этой папке находится библиотека wsisapi.dll)

2. C:\inetpub\wwwroot\1sTestBase (это созданная нами папка которая будет использоваться для доступа извне)

3. D:\02_Base\TestAzureBase (это закачанная база данных 1С, к которой нам и нужно получить доступ по тонкому клиенту)

Для всех папок необходимо для пользователя IIS_IUSRS установить доступ "Full control"

Для папки с нашей базой данных для пользователя Users, установить доступ "Modify"

Устанавливаем права для папки bin (C:\Program Files(x86)\1cv8\8.3.2.172\bin)

Устанавливаем права для папки 1sTestBase (C:\inetpub\wwwroot\1sTestBase)

Устанавливаем права для папки TestAzureBase (D:\02_Base\TestAzureBase)

Сначала для IIS_IUSRS

Затем для Users

Этап 2. Публикация базы 1С на веб-сервере IIS 7.5


Этап 2. Шаг 1. Создаем файл default.vrd, который будет указывать, где у нас находится наша база данных

Данный файл можно создать в Notepad++ вручную, или получить его путем опубликования конфигурации через конфигуратор

Также можете скачать данный файл в данной статье

Обратите внимание, что файл создается в кодировке UTF8

параметр "Base" показывает путь к нашей папке 1sTestBase, которую мы настраивали в IIS 7.5

параметр "Ib", указывает путь, где находится наша база данных (конфигурация 1С) - видно, что база данных находится на другом диске

Таким образом, извне подключение смотрит файл default.vrd, отрабатывает его библиотекой wsisapi.dll и запускает базу по указанному пути в параметре "Ib"

Собственно это и есть публикация конфигурации на веб-сервере IIS 7.5


Этап 3. Подключение с помощью "тонкого клиента" с домашнего/офисного компьютера к базе 1С,  развернутой на виртуальной машине


Для успешного подключения к базе данных, развернутой на Windows Azure, необходимо решить вопрос с лицензиями 1С.

Возможны следующие сценарии:

1. На виртуальной машине установлены программные лицензии 1С

2. Между домашним/офисным компьютером и виртуальной машиной прокинут USB-порт (в этом случае USB-ключи с лицензиями 1С установлены на компьютере, а виртуальная машина видит их путем прокидки USB-порта)

3. Между домашним/офисным компьютером и виртуальной машиной организован VPN-туннель. В этом случае виртуальная машина рассматривается как компьютер в сети и, следовательно, можно указать на каких компьютерах сети находятся USB-ключи с лицензиями 1С

4. USB-ключ с лицензией 1С, установлен на локальном компьютере и, в этом случае, при организации подключения по "тонкому клиенту" будет задействован USB-ключ на локальном компьютере

 

Мы рассмотрим вариант №4, когда USB-ключ установлен на локальном компьютере. Также у Вас на компьютере должна быть установлена клиентская программа 1С "Тонкий клиент", либо включена поддержка подключения по тонкому клиенту при установке платформы 1С. 

Этап 3. Шаг 1. Запускаем 1С и видим окно запуска

Этап 3. Шаг 2. Выбираем вариант создания базы

Этап 3. Шаг 3. Будем тестировать на конфигурации "Библиотека стандартных подсистем"

Именно эта конфигурация была использована для тестирования технологии Windows Azure, но Вы можете использовать и любую другую конфигурацию с поддержкой управляемых форм

Этап 3. Шаг 4. Указываем параметры подключения к нашей базе

Этап 3. Шаг 5. Указываем параметры запуска

Этап 3. Шаг 5. База добавлена. Запускаем

Этап 3. Шаг 6. Все идет по плану. Указываем пользователя.

 

Итак, мы смогли запустить базу 1С, развернутой на технологии Windows Azure.

 

Продолжение следует...


Скачать файлы

Наименование Файл Версия Размер
default.vrd
.vrd 0,30Kb
09.05.13
44
.vrd 0,30Kb 44 Скачать

См. также

PowerTools от 1 000
Добавить вознаграждение
Комментарии
1. Антон (anton.fly7) 134 10.05.13 09:01 Сейчас в теме
Я опять же про Apache ))
1 в Конфигураторе нажимаем Опубликовать,
2 Перезапускаем апач,
3 ВСЕ

вот была бы статья-сравнение про плюсы-минусы IIS и Apache...
2. Андрей Акулов (verter.me) 853 11.05.13 11:51 Сейчас в теме
(1) anton.fly7, Чтобы Запустить Конфигуратор на виртуальной машине, необходимо решить вопрос с лицензиями.
Вы каким образом запустили Конфигуратор на виртуальной машине?

По сравнению IIS и Apache - это не ко мне. Запустил IIS, 1С работает и ладненько. Мне большего пока не требуется.
Но если найдете такую статью - выложьте ссылку.
3. Андрей Акулов (verter.me) 853 11.05.13 11:57 Сейчас в теме
4. Vladimir K (KroVladS) 13.05.13 09:25 Сейчас в теме
Добрый день.
Хотелось бы увидеть расчёт экономической обоснованности использования Windows Azure для целей размещения 1с.
Без учёта халявы BizSpark и 90 дней на тестирование.
5. aaz2008 (aaz2008) 13.05.13 10:01 Сейчас в теме
Посмотрел статью, есть кой-какие замечания.

1)
Этап 1. Шаг 4.
Если модуль расширения от 1С публикуется впервые на этом сервере, то оснастка дополнительно предложит внести его в глобальный список разрешенных модулей расширения веб-сервера и на это предложение следует согласиться, иначе опять же работать не будет. Этот момент пропущен, а именно после него появится запись, приведенная на Этап 1. Шаг 6.

2)
Этап 1. Шаг 5.

Неверно, разрядность клиентов тут совершенно ни при чем. Если на x64 веб-сервере установлена x32 версия платформы 1С, то чтобы заработал ее модуль расширения, необходимо в пуле приложений выставить эту настройку. Т.е это настройка на стороне веб-сервера, а совсем не клиента.

Опять же, если публикуется x64 модуль расширения веб-сервера, то эту настройку делать НЕ надо, иначе опять же не будет работать. То бишь эта настройка должна точно соответствовать разрядности публикуемого модуля расширения.

И еще раз - клиенты тут вообще ни при чем.

Просьба поправить описание, так как оно может ввести в заблуждение.

3)
Этап 1. Шаг 7.
IIS_IUSRS - это вообще-то группа пользователей. Для первых двух папок достаточно доступа на чтение, full control там не нужен. Несекьюрно. ;)
И зачем настройка доступа для группы users? Это по идее не нужно делать.
6. Андрей Акулов (verter.me) 853 13.05.13 22:31 Сейчас в теме
(4) KroVladS, Отличная идея, Владимир! В одной из следующих статей, выложу раскладку по экономике
7. Андрей Акулов (verter.me) 853 13.05.13 22:46 Сейчас в теме
(5) aaz2008, Александр, спасибо за комментарии. Чуть позже я задам несколько уточняющих вопросов.
8. Степан S (Ed111111) 11 15.05.13 17:58 Сейчас в теме
Точно также как и на windows server. Разницы никакой. Но спасибо за статью - буду теперь значить, что это яблоко не далеко от яблони упало.
9. Степан S (Ed111111) 11 19.05.13 23:13 Сейчас в теме
А сколько по деньгам выходит публикация 1с веб-сервер на azure? Например у вас.
Что выгоднее свой сервер арендовать или использовать microsoft?
10. Андрей Акулов (verter.me) 853 20.05.13 00:48 Сейчас в теме
(9) Ed111111, Степан, иногда от меня ускользает смысл Ваших вопросов. Можете чуть точнее формулировать вопрос.
Публикация 1С веб-сервер - бесплатна. Если Вы развернули виртуальную машину, то дальнейшие шаги я прописал. во 2-й и в 3-й частях.

Если по поводу вообще о начале работы с Windows Azure, то для меня это практически бесплатно. Точнее моя компания участвует в программе Microsoft BizSpark. В рамках этой программы мне компенсируются услуги на сумму 6000$ в год. Поэтому, если не превышать этот лимит, то на 3 года использование Windows Azure будет мне бесплатно. По крайней мере, мне этого достаточно на текущем этапе развития моей компании. Плюс есть возможность увеличить данную сумму в 10 раз. Т.е. до 60 000$ (над этим как раз сейчас работаем)

Все остальные варианты: приобретение сервера, аренда сервера, размещение сервера в дата центре, аренда 1С - потеряли для меня актуальность.
Скажу, только что я Уже сэкономил 100 тысяч, которые планировал потратить на приобретение сервера, и 6000 в месяц, которые я стал бы тратить за возможность разместить сервер в датацентре. И плюс экономия на системных администраторах, которых бы я привлек для настройки сервера под мои нужды и дальнейшее сопровождение. Поэтому, по моим прикидкам, в первый год я сыэкономил примерно 200 тысяч. при этом сценарии.
deniseek77; +1 Ответить
11. Vladimir K (KroVladS) 22.05.13 10:38 Сейчас в теме
(6) verter.me,
когда ждать статью?
12. Андрей Акулов (verter.me) 853 22.05.13 12:40 Сейчас в теме
(11) KroVladS, На следующей неделе. Готовится еще несколько частей.
13. Igor2010 (IgorXml) 23.06.13 22:13 Сейчас в теме
Спасибо! Azure не пользуюсь, но для Windows Server 2008 R2 мне статья помогла. После того как с Апачам напрыгался.
14. Vladimir K (KroVladS) 02.07.13 19:16 Сейчас в теме
(12) verter.me,
если всё таки соберётесь писать, добавьте в расчёт цены облачных-1с-провайдеров.
15. Александр Шерстнюк (alexburn) 32 03.02.14 23:35 Сейчас в теме
Хорошая статья :) !
deniseek77; +1 Ответить
16. Денис Новиков (deniseek77) 87 09.02.14 22:19 Сейчас в теме
Очень полезная статья, целы йдень бился. А тут все и разжевоно. Спасибо автору. Скомпоновал, обрисовал, расписал. гуд. Очень помогло выиграть время.
17. Alex Gaiduk (AlexSunS) 12.02.14 07:48 Сейчас в теме
А скйльная база ? строка в врдшном файле как будет выглядеть ?
18. Александр Alex (alexand98) 17.02.14 23:12 Сейчас в теме
Добрый день. Статья очень помогла, все работает. Остался один вопрос, как ограничить доступ извне на iis сервер. Сейчас получается есть общий доступ к 1С, остается только подобрать код к пользователям.
Прикрепленные файлы:
19. Андрей Акулов (verter.me) 853 18.02.14 01:36 Сейчас в теме
(17) AlexSunS, мануал по развертыванию SQL - баз на Azure скоро появится
строка подключения выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
		xmlns:xs="http://www.w3.org/2001/XMLSchema"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		base="/My_Base"
		ib="Srvr="localhost";Ref="My_Base";">
</point>
...Показать Скрыть
AlexSunS; deniseek77; +2 Ответить 1
20. Андрей Акулов (verter.me) 853 18.02.14 01:45 Сейчас в теме
(18) alexand98,
можно с помощью Windows Firewall
ограничить вход по 80-му порту конкретными IP-адресами
Прикрепленные файлы:
21. Alex Gaiduk (AlexSunS) 27.02.14 04:35 Сейчас в теме
(19) verter.me, Будем ждать спасибо.
22. Дмитрий Жиляков (Zhilyakovdr) 77 24.03.14 16:10 Сейчас в теме
23. chum (chum) 24.08.14 11:04 Сейчас в теме
Не получается...
Подскажите, в чём проблема?
24. Алексей Ставрович (stavrovich) 03.10.14 15:54 Сейчас в теме
Уважаемый verter.me, ваша статья оказалась весьма полезна для меня. Однако, закончилась она на самом интересном месте.

Фирма у нас не маленькая - естественно, имеется домен. Вход пользователей в 1С происходит посредством Windows-авторизации, никаких паролей к 1С ни у кого нет. Но при попытке зайти через браузер пользователь получает предложение ввести логин и пароль 1С. Причем, если заходить с сервера, где крутится IIS - все в порядке. В общем, не происходит сквозной авторизации с помощью учетки Windows.

Подскажите, в каком направлении копать, может кто сталкивался с подобной ошибкой?
25. Сергей Гуков (SirYozha) 166 27.02.15 12:02 Сейчас в теме
(23) chum, тоже столкнулся с данной ошибкой.

С первого раза не установились компоненты CGI, ISAPI Extensions, ISAPI Filters.
Заходим в менеджер сервера, снова нажимаем добавить роль Web-server (IIS) и устанавливаем недостающие компоненты.
После этого, ошибка не возникает.
26. Александр Ширипов (shira84) 177 19.08.15 20:29 Сейчас в теме
Веб-приложения работают хорошо. Но попробовал подобным образом опубликовать мобильное приложение, при загрузке в мобильную платформу на телефоне выдает ошибку 500 (внутренняя ошибка сервера). Голову сломал не пойму что не так.