- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Установка Apache в Linux
- Установка веб-сервера Apache на Linux
- Установка Apache на CentOS и RHEL
- Установка Apache на Ubuntu и Debian
- Запуск и управление веб-сервером Apache
- Проверить веб-сервер Apache
- Проверьте тестовую страницу Apache
- Создать HTML-файл для тестирования
- Настройка фаервола для Apache
- Файлы и каталоги Apache
- Основы Apache (httpd)
- Базовая настройка сервера Apache
- Установка необходимых пакетов
- Определение основного файла конфигурации
- Создание контента веб-сервера
- Понимание файлов конфигурации Apache
- Создание виртуальных хостов Apache
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Установка Apache в Linux
Apache — популярный бесплатный opensource веб-сервер. Он является частью стека LAMP (Linux, Apache, MySQL, PHP), который обеспечивает большую часть Интернета. Мы уже рассказывали про его установку на Windows и сравнивали его с nginx, а сегодня расскажем про то как установить Apache на Linux.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
А про то как установить nginx на Linux, можно прочитать в нашей статье.
Установка веб-сервера Apache на Linux
Установка Apache на CentOS и RHEL
Откройте окно терминала и обновите списки пакетов репозитория, введя следующее:
Теперь вы можете установить Apache с помощью команды:
httpd — это имя службы Apache в CentOS. Опция –y автоматически отвечает да на запрос подтверждения.
Готово, Apache установлен.
Установка Apache на Ubuntu и Debian
В Ubuntu и Debian пакет и служба Apache называются apache2 . Сначала также обновите инструмент управления пакетами apt .
Теперь устанавливаем Apache:
Запуск и управление веб-сервером Apache
Apache — это сервис, работающий в фоновом режиме. В Debian и Ubuntu он автоматически запустится после установки, а в CentOS его нужно запустить вручную.
Не забывайте что в командах в CentOS нам нужно использовать httpd , а в Debian и Ubuntu apache2
Запустите службу Apache, введя следующее:
Система не возвращает вывод, если команда выполняется правильно.
Чтобы настроить автозагрузку Apache при запуске используйте команду:
Чтобы проверить состояние службы Apache:
Чтобы перезагрузить Apache (перезагрузит файлы конфигурации, чтобы применить изменения):
Чтобы перезапустить весь сервис Apache:
Чтобы остановить Apache:
Чтобы отключить Apache при запуске системы:
Проверить веб-сервер Apache
Задача вашего программного обеспечения Apache — обслуживать веб-страницы по сети. Ваша новая установка Apache имеет тестовую страницу по умолчанию, но вы также можете создать собственную тестовую страницу.
Проверьте тестовую страницу Apache
В окне терминала найдите IP-адрес вашей системы:
Если вы знакомы с командами ip addr show или ifconfig , вы можете использовать их вместо этого. Подробно про команду ip можно прочитать тут.
Откройте веб-браузер и введите IP-адрес, отображаемый в выводе. Система должна показать тестовую страницу HTTP-сервера Apache, как показано на скриншоте ниже:
Или так, если у вас Ubuntu:
Если ваша система не имеет графического интерфейса, используйте команду curl:
Примечание. В конце: 80 обозначает порт 80, стандартный порт для интернет-трафика. Обязательно напишите соответствующий IP-адрес вместо [your_system’s_IP_address].
Создать HTML-файл для тестирования
Если по какой-либо причине вам нужна или у вас уже есть пользовательская HTML-страница, которую вы хотите использовать в качестве тестовой страницы, выполните следующие действия:
В окне терминала создайте новый индекс файл HTML:
Отредактируйте файл по своему вкусу и сохраните его.
Теперь вы можете выполнить действия, описанные в предыдущем разделе, и если ваш сервер Apache работает правильно, если он отобразит указанную пользовательскую страницу.
Настройка фаервола для Apache
Фаервол в вашей системе блокирует трафик через разные порты. Каждый порт имеет свой номер, и разные виды трафика используют разные порты. Для вашего веб-сервера вам нужно разрешить HTTP и HTTPS трафик через порты 80 и 443 .
В терминале введите следующее:
Еще раз проверьте, правильно ли настроен ваш фаервол:
Вы должны увидеть http и https в списке разрешенных сервисов.
Если вы пользуйтесь UFW, то можно открыть порты HTTP ( 80 ) и HTTPS ( 443 ), включив профиль Apache Full :
Если вы используете nftables для фильтрации подключений к вашей системе, откройте необходимые порты, введя следующую команду:
Файлы и каталоги Apache
Apache управляется путем применения директив в файлах конфигурации:
- /etc/httpd/conf/httpd.conf — основной файл конфигурации Apache
- /etc/httpd/ — Расположение всех файлов конфигурации
- /etc/httpd/conf.d/ — Все конфигурационные файлы в этом каталоге включены в основной файл настроек
- /etc/httpd/conf.modules.d/ — Расположение конфигурационных файлов модуля Apache
Примечание. При внесении изменений в файлы конфигурации не забывайте всегда перезапускать службу Apache, чтобы применить новую конфигурацию.
Логи Apache расположены тут:
- /var/log/httpd/ — расположение файлов логов Apache
- /var/log/httpd/access_log — показывает журнал систем, которые обращались к серверу
- var/log/httpd/error_log — показывает список любых ошибок, с которыми сталкивается Apache
Назначьте каталог для хранения файлов для вашего сайта. Используйте файлы конфигурации, чтобы указать каталог, который вы выбрали. Некоторые типичные места включают в себя:
- /home/username/my_website
- /var/www/my_website
- /var/www/html/my_website
- /opt/my_website
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Источник
Основы Apache (httpd)
Базовая настройка сервера Apache
Установка необходимых пакетов
Сервер Apache предоставляется через несколько различных пакетов. Базовый пакет — httpd; этот пакет содержит все, что нужно для рабочего, но базового веб-сервера. Также есть несколько дополнительных пакетов. Для полного обзора пакетов вы можете использовать команду yum search http или использовать yum install httpd для установки базового пакета.
Обратите внимание, что команда yum search http выдает много пакетов. Это связано с тем, что веб-сервер Apache является модульным, а различные модули предоставляются через дополнительные пакеты yum.
Вместо использования отдельных пакетов вы также можете использовать yum groups. Команда yum groups list предоставляет обзор всех доступных групп yum, а yum group Basic Web Server предоставляет все необходимое для установки веб-сервера Apache и все необходимые зависимости. Чтобы выполнить установку Apache используйте yum groups install «Basic Web Server».
Определение основного файла конфигурации
Конфигурация веб-сервера Apache проходит через различные файлы конфигурации. Основной файл конфигурации Apache — /etc/httpd/conf/httpd.conf. В этом файле указано много параметров. Самый важный параметр, который нужно понять для настройки базового веб-сервера, — это параметр DocumentRoot. Этот параметр указывает местоположение по умолчанию, где веб-сервер Apache ищет контент.
Другим важным параметром конфигурации является ServerRoot. Он определяет каталог по умолчанию, где Apache будет искать свои файлы конфигурации. По умолчанию для этой цели используется каталог /etc/httpd, но могут использоваться и другие каталоги.
Вы заметите, что в httpd.conf упоминаются многие другие файлы конфигурации. Использование дополнительных файлов конфигурации позволяет приложениям легко устанавливать snap-in файлы, которые будут включены сервером Apache из пакетов RPM. Все имена этих файлов конфигурации относятся к ServerRoot в /etc/httpd.
В листинге 1 показана часть содержимого файла конфигурации httpd.conf.
Создание контента веб-сервера
После определения DocumentRoot веб-сервера вы знаете все, что нужно знать для настройки базового веб-сервера. По умолчанию веб-сервер Apache ищет файл с именем index.html и представляет содержимое этого документа клиентам, использующим браузер для доступа к веб-серверу. Достаточно настроить этот файл с очень простым содержанием; подойдет только строка типа «Добро пожаловать на мой веб-сервер».
Чтобы протестировать веб-сервер, вы можете запустить браузер. Браузер Firefox установлен по умолчанию во всех графических установках RHEL / CentOS. Если ваш сервер не поддерживает графический интерфейс, используйте yum install elinks для установки текстового браузера elinks.
Этот браузер не позволяет загружать сложные веб-страницы, но он позволяет вам проверить работу веб-сервера. Ниже на скриншоте показано, как выглядит интерфейс elinks.
В упражнении 1 вы узнаете, как настроить базовый веб-сервер.
Упражнение 1. Настройка базового веб-сервера
В этом упражнении вы узнаете, как настроить базовый веб-сервер Apache.
1. Выполните yum groups install «Basic Web Server». Это установит пакет httpd, а также некоторые из наиболее часто используемых дополнительных пакетов.
2. Откройте главный файл конфигурации Apache в редакторе и найдите строку, которая начинается с DocumentRoot. DocumentRoot определяет местоположение, где сервер Apache будет искать контент, который он будет обслуживать. Убедитесь, что он установлен в /var/www/html.
3. В каталоге /var/www/html создайте файл с именем index.html. В этом файле введите «Добро пожаловать на мой веб-сервер».
4. Чтобы запустить и включить веб-сервер, выполните systemctl start httpd; systemctl enable httpd. Команда запускает веб-сервер и гарантирует, что он будет запускаться автоматически после перезапуска сервера. Выполните systemctl status httpd, чтобы убедиться, что веб-сервер запущен и работает. В листинге 2 вы можете увидеть, как должен выглядеть результат этой команды.
5. Выполните yum install elinks, чтобы установить текстовый браузер elinks. Введите elinks http://localhost, чтобы подключиться к веб-серверу и убедиться, что он работает.
Понимание файлов конфигурации Apache
При установке веб-сервера Apache по умолчанию создается довольно сложное дерево конфигурации в каталоге /etc/httpd. В листинге 3 показано содержимое этого каталога по умолчанию. Обратите внимание, что содержимое этого каталога может отличаться на вашем сервере, если установлены дополнительный пакеты. Apache является модульным, и после установки дополнительных модулей Apache здесь могут быть установлены другие файлы конфигурации.
Листинг 3
Первое, что вы заметите, это наличие трех символических ссылок на журналы, модули и каталог выполнения. Они созданы, чтобы позволить Apache запускаться в среде chroot.
Среда chroot предоставляет поддельный корневой каталог. Это каталог в файловой системе, представленный в качестве корневого каталога для процесса, который выполняется в среде chroot. Это сделано по соображениям безопасности: процессы, работающие в среде chroot, могут обращаться к файлам только в этой среде chroot, что снижает риск возникновения инцидентов безопасности, когда злоумышленникам удается получить оболочку входа в систему с использованием идентификатора веб-сервера и попробовать пройти через файловюя систему для выполнения несанкционированных действий.
Основные файлы конфигурации для веб-сервера Apache находятся в каталоге /etc/httpd/conf. Для начала, есть файл httpd.conf, который содержит наиболее важные параметры конфигурации. Кроме того, есть файл с именем magic. Этот файл используется браузером для интерпретации того, каким должно быть содержимое веб-сервера. Это гарантирует, что содержимое веб-сервера отображается правильно в разных браузерах.
Каталог /etc/httpd/conf.d содержит файлы, которые включены в конфигурацию Apache. Это делается с помощью строки Include conf.modules.d/*.conf в файле httpd.conf.
Этот каталог может использоваться RPM, которые включают snap-in файлы оснастки Apache. Как и в случае с ServerRoot, этот подход позволяет добавлять файлы конфигурации, которые определяют различные веб-страницы, без изменения содержимого файла /etc/httpd/conf/httpd.conf.
Последним каталогом конфигурации является /etc/httpd/conf.modules.d. Apache — это модульный веб-сервер. Поэтому функциональность веб-сервера Apache можно легко расширить, добавив дополнительные модули, которые обеспечивают множество различных функций.
Если используются модули, они могут использовать свои собственные файлы конфигурации, специфичные для модулей, которые будут помещены в каталог /etc/httpd/conf.modules.d. Опять же, цель этого подхода состоит в том, чтобы сохранить конфигурацию в /etc/httpd/conf.d/httpd.conf настолько чистой, насколько это возможно, и убедиться, что конкретная конфигурация модуля не перезаписывается при обновлении универсальной конфигурации Apache.
Создание виртуальных хостов Apache
Многие компании размещают более одного сайта. К счастью, нет необходимости устанавливать новый сервер Apache для каждого веб-сайта, который вы хотите запустить. Apache можно настроить для работы с виртуальными хостами. Виртуальный хост — это отдельный файл конфигурации Apache, созданный для уникального имени хоста.
При работе с виртуальными хостами процедура доступа к хосту примерно такая:
- Клиент начинает сеанс с конкретным виртуальным хостом, обычно запуская браузер и вводя URL-адрес веб-сайта, который клиент хочет использовать.
- DNS помогает определить IP-адрес виртуального хоста, который является IP-адресом сервера Apache, на котором могут размещаться разные виртуальные хосты.
- Процесс Apache получает запросы на все виртуальные хосты, которые он размещает.
- Процесс Apache считывает заголовок HTTP, чтобы проанализировать, на какой виртуальный хост необходимо отправить этот запрос.
- Apache читает конкретный файл конфигурации виртуального хоста, чтобы определить, какой корневой каталог документов используется этим конкретным виртуальным хостом.
- Запрос перенаправляется в соответствующий файл содержимого в корне этого конкретного документа.
При работе с виртуальными хостами необходимо помнить несколько вещей:
■ Если ваш сервер Apache настроен для виртуальных хостов, все серверы, на которых он размещается, должны обрабатываться виртуальными хостами. Чтобы создать все записи перехвата для всех HTTP-запросов, которые направлены на этот хост, но у которых нет определенного файла виртуального хоста, вы можете создать виртуальный хост _default_: 80.
■ Виртуальный хостинг на основе имен является наиболее распространенным решением. В этом решении виртуальные хосты используют разные имена, но один и тот же IP-адрес.
■ Виртуальные хосты на основе IP менее распространены, но необходимы, если имя веб-сервера должно быть преобразовано в уникальный IP-адрес. Виртуальные хосты на основе IP требуют нескольких IP-адресов на одном сервере и являются общими в конфигурации, где сервер Apache использует TLS для защиты соединений.
Упражнение 2. Установка виртуальных хостов Apache
В этом упражнении вы создадите два виртуальных хоста. Чтобы помочь вам настроить виртуальные хосты, вы сначала настраиваете разрешение имен, после чего вы создаете конфигурацию виртуальных хостов.
1. На сервере server1 и server2 откройте файл /etc/hosts с помощью редактора и добавьте две строки, которые позволяют сопоставить имена виртуальных хостов, которые вы собираетесь создать, с IP-адресом сервера:
2. На сервере server1 добавьте следующее в файл /etc/httpd/conf/httpd.conf. (Вы можете оставить все остальные настройки как есть.)
3. Там же на сервере server1 создайте файл конфигурации с именем account.example.com.conf в каталоге /etc/httpd/conf.d.
Добавьте в этот файл:
4. Закройте файл конфигурации и выполните:
5. В каталоге account.example.com, который вы указали выше в строке DocumentRoot, создайте файл с именем index.html и убедитесь, что в нём написано «Добро пожаловать в account».
6. Временно выключите SELinux командой setenforce 0.
7. Выполните systemctl restart httpd для перезапуска веб-сервера Apache.
8. Выполните elinks http://account.example.com. Теперь вы должны увидеть страницу приветствия account. (Возможно, вам придется установить elinks, используя yum install -y elinks.)
9. Вернувшись в терминал, скопируйте файл /etc/httpd/conf.d/account.example.com.conf в файл с именем /etc/httpd/conf.d/sales.example.com.conf.
10. Откройте файл sales.example.com.conf в vi и выполните команду :%s/account/sales/g. Этой командой вы сделаете замену текста account на sales, который встречается во всём файле.
11. Создайте каталог /www/docs/sales.example.com и создайте в нем файл index.html, содержащий текст «Добро пожаловать на сервер sales».
12. Перезапустите httpd и убедитесь, что account и sales доступны.
Источник