Top.Mail.Ru

Как поставить одновременно две версии Apache - x32 и x64?

Решил я тут на днях опубликовать базу 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. Внутри - продвинутые статьи, видео, материалы для скачивания, закрытый чат для резидентов и возможность влиять на контент.

Оставьте комментарий

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