Настройка веб-сервера в домашних условиях. Часть 2 (VirtualBox + Win7 + Apache + 1C82 + PostgreSQL)

05.05.11

Администрирование - Администрирование веб-серверов

В продолжение начатой мной темы "Настройка веб-сервера в домашних условиях (WinXP + IIS + 1C82)". Статья является логическим продолжением и посвящена вопросам повышения безопасности "домашнего веб-сервера".

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

Несмотря на то, что это продолжение, будут рассмотрены некоторые новые компоненты. Так, вместо веб-сервера IIS будет рассмотрен Apache, вместо Windows XP в качестве платформы для веб-сервера будет рассмотрена Windows 7. Основные направления повышения безопасности - виртуализация сервера (виртуальная машина Oracle VirtualBox), отказ от файлового варианта работы базы данных в пользу PostgreSQL и некоторые фичи при настройке сети.

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

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

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

См. также

Путь самурая. Ставим локальный Сервер взаимодействия

Сервера Администрирование веб-серверов Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подробная пошаговая инструкция (как делал я) установки Сервера взаимодействия версия 22.0.26 на Windows Server 2022. Установка собственного объектного хранилище с помощью системы MinIO (https://min.io/). Настройка Сервера взаимодействия для обмена файлами в сообщениях.

1 стартмани

07.04.2023    12575    VPanin56    40    

72

Публикатор 1С. Как публиковать базы с комфортом

Администрирование веб-серверов Платформа 1С v8.3 Бесплатно (free)

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

20.03.2023    6701    72    Segate    4    

26

Midnight Commander, установленный с Entware, не выполняет команды и не запускает файлы

Администрирование веб-серверов Linux Бесплатно (free)

Столкнулся с проблемой, установил на роутер Midnigt Commander с репозитория Entware, при попытке выполнения команды программа пишет ошибку "The shell is already running a command". Данная публикация описывает способ решения этой проблемы.

20.03.2023    3394    Eugen-S    2    

3

Публикация 1С на Apache SSL в локальной среде разработки

Администрирование веб-серверов Платформа 1С v8.3 Бесплатно (free)

В статье описывается установка и настройка веб-сервера Apache для работы с 1С через https.

09.02.2023    5350    lone_mayson    4    

41

Контейнер Docker для размещения публикации базы 1С на разных платформах

Администрирование веб-серверов Платформа 1С v8.3 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

Появилась необходимость развернуть на одном хосте две публикации базы, но не на одной платформе, а на разных. Тут я расскажу, как это сделать для версии 8.3.22.1704.

02.02.2023    3379    Sney_Kice    1    

21

Быстрое конфигурирование серверов с Ansible

Администрирование веб-серверов Сервера Бесплатно (free)

Всю рутину по обновлению платформы, настройке веб-серверов и серверов хранилищ на всем парке серверов компании можно автоматизировать с помощью удобочитаемых YAML-скриптов Ansible. О том, как написать сценарии такой автоматизации, чтобы запускать их параллельно для группы серверов, на митапе «Инструменты автоматизации рутины в 1С-разработке» рассказал ведущий разработчик компании ПИК Digital Павел Комаров.

26.01.2023    4907    lopatrik    4    

22
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. asidqwerty 09.04.11 22:58 Сейчас в теме
А я ещё для надежности обрезал права windows пользователю под которым будет запускаться сервер, а также права выполнять javascript а то при демонстрации можно инклудом слить все метаданные
3. 1cspecialist 1460 09.04.11 23:09 Сейчас в теме
(1) прошу прощения, может быть я чего-то не понимаю, но как javascript связан с сервером?
4. asidqwerty 09.04.11 23:40 Сейчас в теме
(3) Давай адрес своего сервера в личку, покажу простой и "элегантный" способ наклонить сервер на действия разработчиком не предусмотренные
8. BigB 191 11.04.11 06:59 Сейчас в теме
(1) По подробнее можете описать?
9. Anatolka 2 11.04.11 14:52 Сейчас в теме
(1) афтар раскрой тему связанную с javascript
2. cool.vlad4 2 09.04.11 23:07 Сейчас в теме
+1 к первому комменту...+1 к публикации, работа над ошибками... это хорошо, это по мужски...
5. opx 794 10.04.11 17:09 Сейчас в теме
Молодец. Твердый плюс. Про Ubuntu у меня на блоге можно почитать: oparin.info
6. 1cspecialist 1460 10.04.11 21:19 Сейчас в теме
(5) Спасибо за ссылку. Познавательно.
7. BigB 191 11.04.11 06:53 Сейчас в теме
(0) За статью ПЛЮС. Хотелось бы ещё и демо посмотреть/пощупать?
10. gum777 09.07.11 11:16 Сейчас в теме
Скажите если у меня статический айпи то мне не нужен роутер?
13. 1cspecialist 1460 14.12.11 13:29 Сейчас в теме
(10) gum777,
наличие статического айпи не связано с необходимостью иметь или не иметь роутер
публичный статический айпи лишь означает, что из интернета ваша машина всегда будет видна под этим айпи, а если вы купите доменное имя и привяжете к нему свой статический айпи, то до машины можно будет достучаться и по доменному имени

роутер же нужен если за айпи у вас находится несколько компьютеров

если комапьютер один, то можно и без роутера
Inkeeper; gum777; +2 Ответить
11. oaf_is 10.07.11 15:06 Сейчас в теме
1. Кратко, но чЁтко и Ясно. Спасибо и "+".
2. Досадная опечатка."Apache чувствителен к регистру в имени виртуального хоста. Помним про это при указании URL-адреса базы в бпаузере."
12. pako_amadi 14.12.11 11:35 Сейчас в теме
"{Форма.Форма(74)}: Ошибка при вызове конструктора (WSОпределения): При создании описания сервиса произошла ошибка.
ОпределенияПолеты = Новый WSОпределения("http://webservices.aeroflot.ru/flightstatus.asmx?WSDL");
по причине:
При создании описания сервиса произошла ошибка.
по причине:
Ошибка доступа к файлу 'http://webservices.aeroflot.ru/flightstatus.asmx?WSDL'
по причине:
Ошибка работы с Интернет: couldn't resolve host name" - VladSt ЕСЛИ ТАКАЯ ОШИБКА, ТО У ВАС СОЕДИНЕНИЯ С ИНТЕРНЕТОМ, прочтие в моем txt файле про inetcfg
14. пользователь 21.02.12 13:43
Сообщение было скрыто модератором.
...
Оставьте свое сообщение