# БИБЛИОТЕКА Статистика Требования в проектах Redmine Управление Стейкхолдеры Информация Саморазвитие Логика, интеллект Социальные связи Экономика и общество ТЕСТИРОВАНИЕ Книги и ссылки QA и QC Этапы тестирования Тест план Тестовые случаи Баг-репорт Метрики Уровни тестирования Виды тестирования Шаблоны документов XPATH Безопасность Нагрузочное Android Автоматизация Selenium WebDriver Генератор ИНН и т.п. РАЗРАБОТКА Ресурсы Цикл разработки ПО Continuous Integration OOP - базис Frontend HTTP/REST основы Apache web-server Регулярные выражения git Javascript Perl Python Ruby Rust Полезности в Windows LINUX Ресурсы права, юзеры и группы crontab IP tables SSH консоль (терминал) tips & tricks useful apps БАЗЫ ДАННЫХ SQL MongoDB
Эта страница:
- Почерпнуть мудрость - Основная информация - Конфигурирование - Механизм виртуальных хостов
Этот раздел:
РАЗРАБОТКА Фронтенд HTTP/REST основы Apache web-server Регулярные выражения git Javascript Perl Python Ruby Rust Полезности в Windows
Разделы:
# MONGO DB SQL РАЗРАБОТКА БИБЛИОТЕКА LINUX ТЕСТИРОВАНИЕ
Веб-сервер Apache
Почерпнуть мудрость
Основная информация
Apache web-server logo

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

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

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

Конфигурирование
  • Конфигурация сервера (httpd.conf)
    ...
  • Конфигурация уровня директории (.htaccess)
    ...
  • Часть модулей использует в своей работе конфигурационные файлы операционной системы (например /etc/passwd и /etc/hosts)
    ...
Механизм виртуальных хостов

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, например.