Решил я тут на днях опубликовать базу 1С, для того чтоб проверить отладку под другим пользователем в веб-клиенте. Но, как водится, не обошлось без приключений
Apache x64 и комьюнити-лицензия
Суть проблемы. На сайте developer.1c.ru можно скачать дистрибутивы платформы. Но есть нюанс, Петька(с). Дистрибутив для windows скачивается 32-битный. Соответственно, я пользуюсь комьюнити-лицензией, скачиваю дистрибы оттуда. А Apache Web Server у меня на локальной машине стоит x64.
И при попытке опубликовать базу на веб-клиенте вылезла ошибка:

Варианты решения
По сути, надо привести в соответствие разрядность платформы и веб-сервера Apache. И тут два варианта - либо заморачиваться с добычей легальной x64 платформы, либо поставить 32-битный Apache.
Я решил пойти по второму пути. Но удалять рабочий x64 веб-сервер тоже не хочется. Что делать?
Поставить два веб-сервера на разные порты!
Ставим еще один Apache рядом с текущим
Для этого я зашел на apachelounge и скачал там нужный дистрибутив Win32. Основной веб-сервер у меня развернут в папке C:\Apache24
Соответственно, второй (третий, да хоть десять их можно поставить рядом) распаковываем в папку по соседству. Я свою назвал Apache24_86 - и все дальнейшие манипуляции предполагают именно это название. У вас папка может называться по-другому, соответственно, везде вместо Apache24_86 в этом случае вам нужно будет прописать свое название папки.
Дальше надо зайти в файл C:\Apache24_86\conf\httpd.conf и открыть в Блокноте или любимом текстовом редакторе (у меня VSCode).
Нужно найти следующие строки:
Путь к серверу:
Define SRVROOT "c:/Apache24" меняем на
Define SRVROOT "c:/Apache24_86" (чтобы он не путался с папкой 64-битного апача).
Порт: Listen 80 я изменил на Listen 8080, но можно и другой свободный порт, если нужно.
Имя сервера: ServerName localhost:80 соответственно, меняем на ServerName localhost:8080, т.е. указываем тот же порт что в Listen. Если эта строчка закомментирована -нужно убрать символ решетки "#".
Сохраняем файл.
Дальше я открыл командную строку от имени Администратора, и перешел в папку bin нового апача:
cd C:\Apache24_86\bin
Его нужно установить как службу Windows, но обязательно дать ей другое имя:
httpd.exe -k install -n "Apache_x86"
И запускаем новую службу:
httpd.exe -k start -n "Apache_x86"
Проверяем, что удалось установить два апача рядом
Для этого заходим в службы и находим наши службы веб-сервера Apache

Ну и финальный штрих - открываем localhost и localhost:8080. Если в обоих окошках "It works!", значит, мы все сделали правильно, апачи работают на соседних портах и не мешают друг другу.

Но при этом возникает другая проблема - в конфигураторе по-прежнему виден x64 апач, а не нужный нам x32. И для решения этой проблемы понадобилось вручную публиковать базу на веб-сервере. О публикации базы вручную, а не через конфигуратор, я расскажу в отдельной статье. Ну а на сегодня - все!
Чувствуете, что застряли в основах 1С?
Информация в интернете кажется обрывочной, а на решение простых задач уходят часы? Вы не одиноки. Я запустил Клуб для 1С разработчиков Alexcode.PRO. Внутри - продвинутые статьи, видео, материалы для скачивания, закрытый чат для резидентов и возможность влиять на контент.
