gifts2017

Решение проблем работы 1С и Open Server

Опубликовал script Мальчинко (script) в раздел Администрирование - Системное

Решение проблемы публикации базы на виртуальном веб-сервере Open Server.
Решение проблемы доступа к базе с другого устройства по сети по IP-адресу.

Краткая справка по Open Server

Open Server — портативная серверная платформа.

Это портативная серверная платформа и программная среда, созданная специально для веб-разработчиков с учётом их рекомендаций и пожеланий. 

Все, что достаточно знать 1С-нику про Open Server - это то, что он включает в себя веб-сервер Apache 2, а значит, может быть использован для публикации баз 1С для веб-клиента, веб-сервисов или мобильного приложения.

Но все, кто пытались выполнить публикацию базы при запущенном OpenServer-e, столкнулись со следующей проблемой:

При выборе пункта меню "Администрирование" - "Публикация на веб-сервере" 1С предупреждает "Веб-серверы не обнаружены". Что означает, что запущенные веб-серверы на данном ПК не обнаружены и окно настройки не открывается. 


Поиск в интернете тоже не дает правильного решения. На мисте предлагают редактировать конфиг-файл апача, в котором прописать путь к файлу wsap22.dll из  bin-каталога установки 1С.

Вот пример:

LoadModule _1cws_module "C:/Program Files (x86)/1cv82/8.3.6.2332/bin/wsap22.dll"
Alias "/1cweb" "E:/openserver/domains/MyApp/"
<Directory "E:/openserver/domains/MyApp/">
AllowOverride All
Options None
Order allow,deny
Allow from all
SetHandler 1c-application
ManagedApplicationDescriptor "E:/openserver/domains/MyApp/default.vrd"

MyApp - это каталог в который публикуется база.

 

В Open Server этот файл можно найти следующим образом:

Конфиг

Но самое грустное заключается в том, что после этих манипуляций проблема не исчезает.

После нескольких дней возни я все-таки сдался и решил устанавливать отдельно еще и Apache. После установки проблема была решена, но меня вообще не устраивало что у меня на компе устновлено два веб-сервера. Что нужно постоянно то включать один, то отключать для того, чтобы включить другой.

Как-то раз я выключил Apache и запустил Open Server. Поработав некоторое время с Open Server, мне понадобилось вернуться в 1С. Но в спешке я не остановил Open Server и не запустил Apache и, о чудо, в 1С открылось окно настройки публикации. Тогда я понял, в чем заключается решение. 

При попытке опубликовать что-то из 1С на веб-сервере, 1С проверяет наличие службы Apache 2:

Службы

И самое главное, что 1С неважно, запущена эта служба или нет, главное, чтобы она была.

Когда выполняется установка Apache, эта служба устанавливается автоматически, а вот когда выполняется запуск Open Server, никакие службы автоматически не устанавливаются. В этом и вся проблема.

В итоге, для того чтобы 1С увидела веб-сервер Open Server-а нужно после инсталяции Open Server-а зарегистрировать службу веб-сервера из командной строки:

C:\OpenServer\modules\http\Apache-2.2\bin\httpd.exe -k install

Готово!

 

Теперь рассмотрим, как настроить Open Server так, чтобы к веб-серверу можно было подключиться на другом устройстве по IP-адресу. Например, нужно посмотреть, как будет выглядеть форма в веб-клиенте на планшете.

Настройка 

Я думаю, из скриншота все и так ясно. Обозначу только что:

192.168.1.105 - это адрес ПК на котором запущен Open Server.

MyApp - это каталог, в который опубликована база.

Теперь на любом устройстве, подключенном к локальной сети, достаточно запустить браузер и в адресной строке написать: http:\\192.168.1.105\MyApp.


И не забывайте, что перед изменением конфиг-файла или настроек Open Server необходимо остановить.

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. TMV 16.10.15 13:07
(0) Так в итоге-то зачем нужен 1с-нику этот Open Server, если 1С-ник может использовать сам Apache?
2. Ийон Тихий (cool.vlad4) 16.10.15 13:52
(1) TMV, наверное для разработки в тех случаях когда 1Сник , он же php шник и т.д.
3. script Мальчинко (script) 16.10.15 15:31
4. Василий Григорьев (man-1982) 21.10.15 08:26
Спасибо. В Закладки.
Маленькое дополнение. Гораздо удобней использовать командную панель OpenServer чем Window, она находиться Дополнительно -> Консоль. Но чтобы она правильно отрабатывала системные переменные, в насройках надо включить опцию Свой Path+Win Path. (Настройки -> вкладка Сервер).
1С работает с версией apache 2.2. Соответсвенно PHP 5.5 вместе с 1С работать не будет.
kefir; serge_focus; script; +3 Ответить
5. Александр Ярошенко (teller) 21.10.15 10:49
(2) cool.vlad4, когда 1Сник , он же php шник, он же pithonista и т.п то Apache он должен знать
6. Ийон Тихий (cool.vlad4) 22.10.15 11:45
(5) teller, и что из этого следует? (если не знаете как пишется python, пишите по русски питон. плюс еще дополню. не вижу смысла разводить дискуссию по тому кто, что должен знать, цель которой на самом деле почесать ЧСВ. у меня нет желания этим заниматься.)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа