Публикация 1с на веб-сервере Apache

11.08.2020 11:08:20

Отправить эту статью на мою почту

Как установить веб-сервер Apache и опубликовать 1С на Apache: HTTP-сервис и базу 1С Предприятие 8.3? Читайте пошаговую инструкцию…

Эта статья является логическим продолжением моей предыдущей статьи – «Публикация базы 1С и HTTP-сервиса в интернете на IIS», где я рассказал, как публиковать 1С на веб-сервер Microsoft IIS. Если вы ее не читали, настоятельно советую начать с неё, а потом вернуться сюда. В этой статей буду использовать туже базу 1С:Управление торговлей 11.4 (демо-версия) с нашим нетиповым HTTP-сервисом, который просто возвращает слова «Все хорошо» при обращении к нему.

Какой веб сервер выбрать: IIS или Apache?

Мое мнение на этот счет простое. Если вы в качестве сервера используете Microsoft технологии, в частности Windows Server, то и нужно использовать серверные компоненты созданные Microsoft, тем более веб-сервер IIS по умолчанию включается в состав Windows Server и устанавливается без каких-либо дополнительных дистрибутивов. Все серверные компоненты Microsoft создавались для работы друг с другом, а значит максимально оптимизированы для работы между собой. Тоже самое верно и для серверной архитектуры на Linux, если вы используете Linux, то и другие серверные компоненты, я считаю, должны быть изначально созданы для Linux, например, веб-сервер Apachе, СУБД PostgreSQL и другие…

С другой стороны, считается что веб-сервер Apache для Windows более легковесный, чем родной веб-сервер IIS, а значит немного быстрее работает, проще устанавливается и т.п. Я за эксперименты и выбор правильного и удобного решения. Поставьте вначале IIS, поработайте с ним, потом удалите и поставьте Apache, после, уже принимайте решение где вам проще и удобнее работать, а главное, где система быстрее и возникает меньше ошибок.

Устанавливаем веб-сервер Apache

Я буду использовать в качестве операционной системы Windows Sever 2012 R2, что и вам советую, но можно установить веб сервер Апачи и на не серверные ОС, например, на Windows 10 или Windows 7. При этом на сервере могут работать люди, не бойтесь, вы им не помешаете.

Для загрузки дистрибутива веб-сервера перейдем по ссылке https://www.apachelounge.com/download/ и загрузим последнюю версию дистрибутива, на данный момент (август 2020 года) это версия «Apache 2.4.46» для Win64, название файла сейчас выглядит так – «httpd-2.4.46-win64-VS16.zip».

Разархивируем архив, например, на рабочем столе.

Архив веб сервера Apache (2)

Если откроем файл «readme.txt» там увидим, что разработчики советуют перенести каталог из архива «Apache24» в корень диска «С», так и сделаем, и разумеется, что мы должны работать под пользователем администратором системы ОС Windows.

Теперь нам нужно запустить веб сервер Apache в виде службы Windows, для этого еще раз обратимся к файлу «readme.txt», там указано, что для этого нужно в командной строке (запущенной из под администратора) указать следующую команду:

"C:\Apache24\bin\httpd.exe" -k install

Установка службы веб сервера Apache (3)

Теперь перейдем в список служб, нажмите Пуск и в поле поиска введите «Службы».

В списке служб мы увидим установленную службу «Apache2.4». Запустите её.

Запуск службы Apache2-4 (4)

Откроем любой веб-браузер на текущем сервере и убедимся, что по адресу http://127.0.0.1 нам отвечает веб сервер Apache текстом: “It works!”.

It works apache (5)

Публикация 1С на веб-сервере Apache

После того как веб-сервер Apache успешно установили, пробуем опубликовать базу 1С и HTTP-сервисы.

Нажимаем правой кнопкой мыши по ярлыку 1С и запускаем от имени администратора. Выбираем публикуемую базу 1С и заходим в режим конфигуратора.

Запуск 1С из под администратора (6)

Далее в конфигураторе пункт меню «Администрирование» - «Публикация на веб-сервере…».

Публикация 1С на веб сервере Apache (7)

Устанавливаем флаги: публиковать тонкий клиент и веб-клиент, а также на закладке «HTTP-сервисы» ставим флаг на против нужного HTTP-сервиса. Убедимся что в поле «Каталог» указан путь, если его нет, то укажите, например, такой: «C:\MyWeb1C», предварительно создайте каталог «MyWeb1C» в корне диска «С». В поле «Веб-сервер» должно быть указано «Apache …» (где «…» номер установленной версии веб сервера Apache). Запомните название вашей публикации из поля «Имя» (пригодится ниже). Нажмите кнопку «Опубликовать».

Настройка публикации 1С на веб сервере Apache (8)

Хоть 1С и предложит перезапустить веб сервер Apache сразу после нажатия кнопки «Опубликовать», и даже если мы согласимся, то толку не будет… Нам необходимо вручную перезапустить службу «Apache2.4», для этого снова откройте список служб и перезапустите службу «Apache2.4».

Теперь проверим работу 1С через веб. Откройте ваш веб-браузер и укажите адрес: http://127.0.0.1/DemoTrd (где «DemoTrd» это название вашей публикации, см. выше).

Если всё сделали правильно, то вы увидите загрузку вашей базы 1С через веб.

Открытие базы 1С через веб браузер (9)

Теперь проверим работу HTTP-сервиса, для этого в адресной строке веб-браузера напишите адрес: http://127.0.0.1/DemoTrd/hs/test (где «DemoTrd» это название вашей публикации, см. выше, и «test» - корневой URL вашего HTTP-сервиса). Если 1С HTTP сервис вы использовали тот который мы рассматривали в моей предыдущей статье, то в браузере вы увидите слова «Все хорошо».

Тестирование http сервиса на веб сервере apache (10)

Доступ к веб-серверу Apache из интернета

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

Для этого нажмите меню Пуск и поле поиска впишите слово «брандмауэр», обычно достаточно только первых двух букв

Брандмауэр Windows (11)

В разделе «Правила для входящих подключений» создайте новое правило:

  • Тип правила – Для порта.
  • Протокол и порты – Определенные локальные порты – Порт №80.
  • Действие – Разрешить подключение.
  • Профиль – все флаги (доменный, частный, публичный).
  • Имя – укажите «_HTTP», нижнее подчёркивание нужно, чтобы наше правило было первым по списку.

Открыть порт 80 в брандмауэре Windows (12)

Теперь если IP адрес вашего сервера внешний и статический (это можно узнать у вашего системного администратора и интернет-провайдера), то открывать веб сервер Apache, вашу базу 1С и HTTP-сервис через интернет можно будет с любого компьютера подключенного к интернету, для этого в интернет-браузере вводите внешний статический IP-адрес сервера вместо 127.0.0.1 в адресах указанных выше.

Обсудить статью на 1С форуме?

Читайте также

Все статьи блога
КОММЕНТАРИИ
Отправлять новые сообщения на мою почту
Ваш комментарий