# ПРОЦЕССЫ Ресурсы Цикл разработки ПО Waterfall RUP Agile Kanban Управление Теория ограничений АНАЛИЗ Ресурсы ПО для Аналитика Кто аналитики? Бизнес-процесс Требования Уровни и типы Источники Стейкхолдеры Нотации Vision (Концепция) Сервисы АРХИТЕКТУРА Ресурсы ПО для Архитектора Кто архитекторы? Архитектурные слои язык Archimate GAP-анализ SOA Типы интеграции Solution Design (Проектное решение) DDD Микросервисы и service mesh ESB HTTP/REST RPC DevOps CI/CD/CDP VM и Docker Контракты API Оценка задачи git Frontend Apache Регулярка Linux ТЕСТИРОВАНИЕ Ресурсы QA и QC Цикл тестирования Уровни тестирования Виды тестирования Баг-репорт Шаблоны Тестирование требований Тест-анализ Тест план Тест дизайн Метрики качества Автотесты Selenium XPATH Генератор данных Безопасность Нагрузочное ДАННЫЕ Ресурсы MDM Big data Об информации SQL intro MongoDB intro БИБЛИОТЕКА Курсы Системная инженерия Сознание, интеллект Политэкономия Сумма технологии Экстраполяция в будущее Красивые диаграммы Арт
Эта страница:
Почерпнуть мудрость Основная информация Конфигурирование Механизм виртуальных хостов
Другие страницы:
DevOps Frontend Apache web-server Регулярные выражения git Javascript Perl Python Ruby Rust Полезности в Windows Linux
Другие разделы:
# АНАЛИЗ АРХИТЕКТУРА ДАННЫЕ DevOps БИБЛИОТЕКА ПРОЦЕССЫ ТЕСТИРОВАНИЕ
Веб-сервер Apache
last update: 01-01-2020, 06:45
Почерпнуть мудрость
Основная информация
Apache web-server logo

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

Веб-сервер - программный компонент, принимающий запросы от клиентов, обычно веб-браузеров, и выдающий им ответы, как правило, вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.

Установка: sudo apt-get install apache2

Конфигурирование
Механизм виртуальных хостов

Apache имеет встроенный механизм виртуальных хостов. Он позволяет полноценно обслуживать на одном IP-адресе множество сайтов (доменных имён), отображая для каждого из них собственное содержимое.

Для каждого виртуального хоста можно указать собственные настройки ядра и модулей, ограничить доступ ко всему сайту или отдельным файлам. Некоторые MPM, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и guid.

Примитивный пример.
  1. Создать файл с конфигурацией Apache для хоста проектаsudo nano /etc/apache2/sites-available/project.confстроки:
    <VirtualHost *:80> ServerName project.dev ServerAdmin webmaster@localhost DocumentRoot /home/username/project <Directory /home/username/project > AllowOverride all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
  2. Создать файл с конфигурацией Apache для хоста другого проектаsudo nano /etc/apache2/sites-available/project2.confстроки:
    <VirtualHost *:80> ServerName project2.dev ServerAdmin webmaster@localhost DocumentRoot /home/username/projectother <Directory /home/username/projectother > AllowOverride all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
  3. Добавить в список хостов sudo nano /etc/hosts строки: 127.0.0.1 project.dev
    127.0.0.1 project2.dev
  4. Активация (enable) созданных конфигураций Apache для наших проектовsudo a2ensite project
    sudo a2ensite project2
    Примечание: деактивация делается командой a2dissite
  5. Перезапуск Apachesudo /etc/init.d/apache2 restart
  6. Всё, теперь мы можем заходить на project.dev/ и project2.dev/ с локалки.
    Примечание: если хотим дать возможность заходить к нам на машину извне - то в файл .conf нужно добавить строку Listen 80, например.