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

В данной статье мы завершим настройку 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)1cv88.3.2.172in (в этой папке находится библиотека wsisapi.dll)

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

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

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

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

Устанавливаем права для папки bin (C:Program Files(x86)1cv88.3.2.172in)

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

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

Сначала для 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.

 

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


28 Comments

  1. anton.fly7

    Я опять же про Apache ))

    1 в Конфигураторе нажимаем Опубликовать,

    2 Перезапускаем апач,

    3 ВСЕ

    вот была бы статья-сравнение про плюсы-минусы IIS и Apache…

    Reply
  2. verter.me

    (1) anton.fly7, Чтобы Запустить Конфигуратор на виртуальной машине, необходимо решить вопрос с лицензиями.

    Вы каким образом запустили Конфигуратор на виртуальной машине?

    По сравнению IIS и Apache — это не ко мне. Запустил IIS, 1С работает и ладненько. Мне большего пока не требуется.

    Но если найдете такую статью — выложьте ссылку.

    Reply
  3. verter.me
  4. KroVladS

    Добрый день.

    Хотелось бы увидеть расчёт экономической обоснованности использования Windows Azure для целей размещения 1с.

    Без учёта халявы BizSpark и 90 дней на тестирование.

    Reply
  5. aaz2008

    Посмотрел статью, есть кой-какие замечания.

    1)

    Этап 1. Шаг 4.

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

    2)

    Этап 1. Шаг 5.

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

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

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

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

    3)

    Этап 1. Шаг 7.

    IIS_IUSRS — это вообще-то группа пользователей. Для первых двух папок достаточно доступа на чтение, full control там не нужен. Несекьюрно. 😉

    И зачем настройка доступа для группы users? Это по идее не нужно делать.

    Reply
  6. verter.me

    (4) KroVladS, Отличная идея, Владимир! В одной из следующих статей, выложу раскладку по экономике

    Reply
  7. verter.me

    (5) aaz2008, Александр, спасибо за комментарии. Чуть позже я задам несколько уточняющих вопросов.

    Reply
  8. Ed111111

    Точно также как и на windows server. Разницы никакой. Но спасибо за статью — буду теперь значить, что это яблоко не далеко от яблони упало.

    Reply
  9. Ed111111

    А сколько по деньгам выходит публикация 1с веб-сервер на azure? Например у вас.

    Что выгоднее свой сервер арендовать или использовать microsoft?

    Reply
  10. verter.me

    (9) Ed111111, Степан, иногда от меня ускользает смысл Ваших вопросов. Можете чуть точнее формулировать вопрос.

    Публикация 1С веб-сервер — бесплатна. Если Вы развернули виртуальную машину, то дальнейшие шаги я прописал. во 2-й и в 3-й частях.

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

    Все остальные варианты: приобретение сервера, аренда сервера, размещение сервера в дата центре, аренда 1С — потеряли для меня актуальность.

    Скажу, только что я Уже сэкономил 100 тысяч, которые планировал потратить на приобретение сервера, и 6000 в месяц, которые я стал бы тратить за возможность разместить сервер в датацентре. И плюс экономия на системных администраторах, которых бы я привлек для настройки сервера под мои нужды и дальнейшее сопровождение. Поэтому, по моим прикидкам, в первый год я сыэкономил примерно 200 тысяч. при этом сценарии.

    Reply
  11. KroVladS

    (6)

    когда ждать статью?

    Reply
  12. verter.me

    (11) KroVladS, На следующей неделе. Готовится еще несколько частей.

    Reply
  13. IgorXml

    Спасибо! Azure не пользуюсь, но для Windows Server 2008 R2 мне статья помогла. После того как с Апачам напрыгался.

    Reply
  14. KroVladS

    (12)

    если всё таки соберётесь писать, добавьте в расчёт цены облачных-1с-провайдеров.

    Reply
  15. alexburn

    Хорошая статья 🙂 !

    Reply
  16. deniseek77

    Очень полезная статья, целы йдень бился. А тут все и разжевоно. Спасибо автору. Скомпоновал, обрисовал, расписал. гуд. Очень помогло выиграть время.

    Reply
  17. AlexSunS

    А скйльная база ? строка в врдшном файле как будет выглядеть ?

    Reply
  18. alexand98

    Добрый день. Статья очень помогла, все работает. Остался один вопрос, как ограничить доступ извне на iis сервер. Сейчас получается есть общий доступ к 1С, остается только подобрать код к пользователям.

    Reply
  19. verter.me

    (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>
    Reply
  20. verter.me

    (18) alexand98,

    можно с помощью Windows Firewall

    ограничить вход по 80-му порту конкретными IP-адресами

    Reply
  21. AlexSunS

    (19) Будем ждать спасибо.

    Reply
  22. Zhilyakovdr

    Отличная статья!!!

    Reply
  23. chum

    Не получается…

    Подскажите, в чём проблема?

    Reply
  24. stavrovich

    Уважаемый verter.me, ваша статья оказалась весьма полезна для меня. Однако, закончилась она на самом интересном месте.

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

    Подскажите, в каком направлении копать, может кто сталкивался с подобной ошибкой?

    Reply
  25. SirYozha

    (23) chum, тоже столкнулся с данной ошибкой.

    С первого раза не установились компоненты CGI, ISAPI Extensions, ISAPI Filters.

    Заходим в менеджер сервера, снова нажимаем добавить роль Web-server (IIS) и устанавливаем недостающие компоненты.

    После этого, ошибка не возникает.

    Reply
  26. shira84

    Веб-приложения работают хорошо. Но попробовал подобным образом опубликовать мобильное приложение, при загрузке в мобильную платформу на телефоне выдает ошибку 500 (внутренняя ошибка сервера). Голову сломал не пойму что не так.

    Reply
  27. zakazchik

    Спасибо за статью ! Однако работает такая схема очень нестабильно, постоянно сбои, клиенты воют. Апач работает значительно стабильнее и в настройках на раз-два. Имеем AZURE по программе BizSpark, приглашаем грамотного человека в подобный стартап. tapko@mail.ru /

    Reply
  28. verter.me

    (27) IIS или Apache это не суть важно. Главное это возможность использовать Azure для портирования 1С. А вот про «нестабильно, постоянно сбои, клиенты воют» был бы благодарен если раскроете подробнее.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *