Настройка веб-сервера (VirtualBox + Win7 + Apache + 1C82 + PostgreSQL)

Опубликовано Павел Путков 12.07.2018 0 Комментарии

Все настройки будут описаны исходя из того, что "домашняя сеть" находится за роутером. Если в вашем конкретном случае роутер не используется и интернет подключен напрямую к компьтеру - нужно будет поэксперементировать с настройками виртуального сетевого адаптера виртуальной машины. Возможно нужно будет сменить тип подключения на NAT. Подробнее можно прочитать в инструкции к VirtualBox.

Что нам понадобится:

1. Виртуальная машина Oracle VirtualBox. Виртуальная машина позволяет эмулировать работу полноценного компьютера. Фактически вы получите два компютера на базе одного. VirtualBox распространяется бесплатно. Если лень гуглить в поисках ссылки, то скачать его можно с родного сайтаздесь.

2. Дистрибутив Windows 7. Будем ставить его на виртуальную машину. Можно было конечно и Ubuntu поставить, но выбрал Win7 из соображений большей пользователеориентированности и распространенности, да простят меня nix-адепты. Если как-нибудь соберусь испытать свзяку с Ubuntu - результатами поделюсь.

3. Веб-сервер Apache. Будем использовать версию 2.2. Ссылка на скачивание здесь.

4. Платформа 1С:Предприятие 8.2 последней версии.

5. Сервер баз данных PostgreSQL 8.4.3-3.1C, адаптированный для работы с 1С. Ссылка на скачивание здесь.

Пошаговая инструкция:

1. Устанавливаем виртуальную машину на компьютер. Выбираем тип ОС - Windows 7. Настройка виртуального сетевого адаптера - "Сетевой мост".

Создать машину очень просто - пошаговый мастер создания поможет выполнить операцию от начала и до конца.

После создания виртуальной машины нужно поставить на нее ОС. Для этого следует в менеджере машин в свойствах машины добавить виртуальный оптический привод и подключить к нему образ установочного диска ОС.

Установка ОС

Далее следует запустить машину. Вам будет предложено выполнить загрузку с оптического привода. Грузимся - устанавливаем ОС.

После этого в свойствах машины следует произвести настройку виртуального адаптера сети. Тип подключения выбираем "Сетевой мост". В свойстве "имя" связываем виртуальный адаптер с физическим.

Настройка виртуального адаптера

Далее нужно удалить виртуальные сети хоста, чтобы они не мешали. Для этого открываем "Файл" - "Настройки..." - "Сеть". Удаляем виртуальные сети из списка.

Удаление виртуальной сети хоста

DHCP-сервер на роутере назначит виртуальному адаптеру сети свой IP-адрес, на который позже мы настроим перенаправление http-трафика.

2. На виртуальную машину ставим платформу 1С 8.2 (серверная установка). Здесь все стандартно. Помним, что пользователь, от имени которого будет запускаться сервер 1С (обычно при установке предлагается создать пользователя USR1CV82) будет тем пользователем, от имени которого осуществляются файловые операции на сервере.

3. Также на виртуалку устанавливаем сервер БД PostgreSQL. Необходимо помнить, что при установке нужно выбрать кодировку сервера и клиента UTF8.

Если по какой-то причине у вас перестала запускаться служба сервера PostgreSQL, найдите в папке с установленным Postgre файл postmaster.pid и удалите его.

4. Ставим Apache на виртуалку. В папке с установленным веб-сервером ищем файл httpd.conf - это файл настроек. Меняем прослушку порта с 80 на другое значение порта.

Настройка прослушки порта http-трафика

5. Настраиваем роутер. Перенаправляем http-запросы с публичного 80 порта, на приватный, указанный нами в настройках Apache на предыдущем шаге на IP-адрес виртуальной машины.

Настройка перенаправление http-трафика на роутере

6. Прописываем базу (разворачиваем на PostgreSQL). Публикуем развернутую базу на веб-сервере.

Публикация базы на веб-сервере

Apache чувствителен к регистру в имени виртуального хоста. Помним про это при указании URL-адреса  базы в бпаузере.

Можно использовать алиасы в файле настроек веб-сервера httpd.conf для назначения дополнительных имен хостов или обход чувствительности регистра веб-сервера.

Настройка алиасов имен виртуальных хостов

7. Для удобства создаем батники на старт и на остановку виртуальной машины. Батник на старт прописываем в автозагрузку.

Старт виртуальной машины

Остановка виртуальной машины

8. Для пущей надежности при разработке конфигураций желательно предусматривать роль с запретом запуска внешних обработок. Соответственно, если вы планируете демонстрировать свою разработку через интернет, то лучше выдавать демо-доступ интернет пользователям именно с такой ролью.

Запрет внешних обработок

9. Также для повышения безопасности можно настроить права доступа к файлам и папкам файловой системы сервера встроенными средствами самой ОС (хотя это и не обязательно, если мы установили запрет для роли 1С на выполнение внешних обработок). Для этого в свойствах файлов или папок нужно перейти на закладку "Безопасность" и задать соответствующие разрешения или запреты для пользователя, от имени которого будут совершаться файловые операции - мы помним, что это USR1CV82. Следует быть остарожными с этими настройками и не "пережать" их. Подробнее об этом механизме читайте в документации к ОС.

Настройка доступа к файлам и папкам средствами ОС

В настройках брандмауэра Windows 7 на виртуалке запрещаем исходящие сетевые подключения. Для этого открываем настройки брандмауэра и переходим по ссылке "Дополнительные параметры". Правой кнопкой мыши открываем свойства корневого элемента политик брандмауэра и выбираем блокировку исходящих подключений.

Настройка блокировки исходящих соединений в брандмауэре

Ну вот вроде бы и все. Всем удачи в настройках.