- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Установка Apache в Linux
- Установка веб-сервера Apache на Linux
- Установка Apache на CentOS и RHEL
- Установка Apache на Ubuntu и Debian
- Запуск и управление веб-сервером Apache
- Проверить веб-сервер Apache
- Проверьте тестовую страницу Apache
- Создать HTML-файл для тестирования
- Настройка фаервола для Apache
- Файлы и каталоги Apache
- Apache HTTP Server (Русский)
- Contents
- Установка
- Настройка
- Дополнительные опции
- Пользовательские каталоги
- TLS/SSL
- Виртуальные хосты
- Управление большим количеством виртуальных хостов
- Расширения
- Дополнительные параметры
- Использование php5 c php-fpm и mod_proxy_fcgi
- Использование php5 c apache2-mpm-worker и mod_fcgid
- MySQL/MariaDB
- Решение проблем
- Просмотр журнала и текущего состояния Apache
- PID file /run/httpd/httpd.pid not readable (yet?) after start
- Обновление с Apache 2.2 до 2.4
- Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe
ИТ База знаний
Курс по 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
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Источник
Apache HTTP Server (Русский)
Перевод этой статьи или раздела не отражает оригинальное содержание.
Apache HTTP Server, или сокращенно Apache — популярный веб-сервер, разработанный Apache Software Foundation.
Apache часто используется вместе с языком сценариев PHP и СУБД MySQL. Такую комбинацию обычно называют LAMP (Linux, Apache, MySQL, PHP). Эта статья объясняет, как настроить Apache и как интегрировать с ним PHP и MySQL.
Если вам нужно быстро создать окружение для разработки и тестирования, то можете просто установить Xampp.
Contents
Установка
Настройка
Файлы настроек Apache находятся в /etc/httpd/conf . Основным файлом является /etc/httpd/conf/httpd.conf , который может по ссылкам включать в себя дополнительные файлы с настройками. В большинстве случаев будет достаточно стандартных настроек из этого файла. По умолчанию корневым каталогом веб-сервера является /srv/http .
Для старта Apache запустите службу httpd.service .
После этих действий Apache должен запуститься. Проверьте работает ли он, набрав в адресной строке браузера http://localhost/ . Веб-сервер должен отправить вам простую тестовую страничку.
При необходимости дальнейшей настройки сервера смотрите следующие разделы.
Дополнительные опции
Следующие опции (директивы) в /etc/httpd/conf/httpd.conf могут быть вам интересны:
По соображениям безопасности при запуске сервера Apache от имени суперпользователя (напрямую или через скрипт инициализации) происходит смена идентификатора пользователя (UID), от имени которого выполняется процесс сервера. По умолчанию используется пользователь http , который не имеет привилегированных полномочий в системе. Это порт, через который Apache принимает входящие соединения. Если сервер имеет выход в интернет через маршрутизатор, необходимо будет настроить перенаправление этого порта. Если вы используете Apache для разработки и тестирования, вы можете разрешить только локальный доступ к нему. Для этого укажите Listen 127.0.0.1:80 . Адрес электронной почты администратора, который будет выводиться, например, на странице ошибки Apache. Это корневая директория Apache, в которой можно разместить ваши веб-страницы. Измените ее, если нужно, но не забудьте также поменять путь в директиве на новое расположение DocumentRoot , иначе вы, скорее всего, получите сообщение об ошибке 403 Error (недостаточно полномочий) при попытке получить доступ к новому корневому каталогу Apache. Также не забудьте изменить строку Require all denied на Require all granted , иначе снова получите ошибку 403 Error. Помните, что директория DocumentRoot и ее родительские папки должны иметь разрешения на запуск для всех (можно установить командой chmod o+x /path/to/DocumentRoot> ), в противном случае вы получите ошибку 403 Error. Запрещает переопределение настроек. Если в секции указана эта директива, Apache будет полностью игнорировать настройки в файле .htaccess . Обратите внимание, что теперь такая настройка для Apache 2.4 является настройкой по умолчанию, поэтому если вы планируете использовать .htaccess , вам необходимо дать соответствующие разрешения. Если вы собираетесь включить модуль mod_rewrite или использовать настройки в .htaccess , вы можете определить какие из директив, объявленных в этих файлах, могут перезаписывать конфигурацию сервера. Для получения дополнительной информации обратитесь к документации Apache.
Дополнительные настройки можно найти в /etc/httpd/conf/extra/httpd-default.conf .
Чтобы полностью отключить вывод версии Apache в генерируемых сервером страницах, добавьте:
Чтобы подавить вывод такой информации, как версии Apache и PHP, добавьте:
Пользовательские каталоги
По умолчанию доступ к каталогам пользователей возможен по адресу http://localhost/
»user»/ , который показывает содержимое каталога
/public_html (его имя и расположение задается в файле /etc/httpd/conf/extra/httpd-userdir.conf ).
Если вы не хотите, чтобы пользовательские каталоги были доступны через web, закомментируйте следующую строку в /etc/httpd/conf/httpd.conf :
Убедитесь, что права доступа к вашему домашнему каталогу и
/public_html позволяют получать доступ к файлам в них всем пользователям:
Однако с точки зрения безопасности вышеприведенное решение слишком фривольно. Правильнее поступить по-другому. Сначала добавьте пользователя http в группу, которой принадлежит ваша домашняя папка. Например, если ваша домашняя папка и все ее подкаталоги принадлежат группе piter, можно проделать следующее:
После этого назначьте права на чтение и исполнение для каталогов
/public_html и, рекурсивно, на остальные подкаталоги для
/public_html для членов группы (в нашем примере для членов группы piter). Опираясь на нижеприведенный шаблон, осуществите эти мероприятия:
Перезапустите службу httpd.service , чтобы изменения вступили в силу. Смотрите также Umask#Set the mask value.
TLS/SSL
Для использования TLS/SSL необходимо установить openssl .
Создайте закрытый ключ и запрос на получение сертификата (CSR). Также вы можете самозаверить CSR (который создаст сертификат):
Теперь раскомментируйте следующие строки в /etc/httpd/conf/httpd.conf :
Перезапустите службу httpd.service , чтобы изменения вступили в силу.
Виртуальные хосты
Если вы хотите, чтобы Apache обслуживал не один, а несколько хостов, раскомментируйте следующую строку в файле /etc/httpd/conf/httpd.conf :
Укажите свои виртуальные хосты в /etc/httpd/conf/extra/httpd-vhosts.conf . Файл уже содержит пример полностью рабочих настроек, что поможет вам быстро выполнить настройки под ваши нужды.
Для проверки виртуальных хостов на локальной машине добавьте их виртуальные имена в ваш файл /etc/hosts :
Перезапустите httpd.service , чтобы изменения вступили в силу.
Управление большим количеством виртуальных хостов
Если Apache используется для обслуживания очень большого количества виртуальных хостов, вам может быть полезна возможность их легко включать и отключать. Для этого рекомендуется создавать собственный файл настроек на каждый хост и хранить все эти файлы в одном каталоге, например /etc/httpd/conf/vhosts .
Сначала создайте каталог:
Теперь создайте в нем отдельные конфигурационные файлы:
И включите эти файлы в основной файл настроек /etc/httpd/conf/httpd.conf :
Теперь можно быстро включать/отключать требуемые виртуальные хосты, просто закомментировав или раскомментировав соответствующие директивы Include в основном файле настроек.
Очень простой файл виртуального хоста будет выглядеть следующим образом:
Расширения
Для использования mod_mpm_prefork , откройте /etc/httpd/conf/httpd.conf и поменяйте строку
Также вы можете просто использовать mod_proxy_fcgi (смотрите #Использование php7 c php-fpm и mod_proxy_fcgi [ссылка недействительна: раздел не найден] ).
Чтобы включить модуль PHP, добавьте следующие строки в /etc/httpd/conf/httpd.conf :
- Поместите эту строку в любом месте после строки LoadModule dir_module modules/mod_dir.so :
- Разместите эту строку в конце списка Include :
Если ваш корневой каталог DocumentRoot не /srv/http , добавьте его в список open_basedir в /etc/php/php.ini (необязательно):
Перезапустите службу httpd.service , чтобы изменения вступили в силу.
Чтобы убедиться в том, что PHP настроен корректно, создайте файл test.php в каталоге DocumentRoot (то есть в /srv/http/ или
/public_html ) и поместите в него следующий код:
По адресу http://localhost/test.php или http://localhost/»
пользователь»/test.php вы должны увидеть информационную страницу PHP.
Если PHP-код не исполняется, а на странице браузера вы увидите содержимое test.php , проверьте добавили ли вы Includes в строку Options для вашего корневого каталога в /etc/httpd/conf/httpd.conf . Кроме того, убедитесь, что TypesConfig conf/mime.types раскомментирован в секции . Также можно попробовать добавить нижеследующую строку в секцию файла httpd.conf :
Дополнительную информацию вы можете получить на странице PHP.
Дополнительные параметры
Рекомендуется правильно настроить вашу временную зону (список временных зон) в /etc/php/php.ini по примеру:
По желанию включите режим показа ошибок при отладке PHP-кода, для этого измените значение опции display_errors на On в файле /etc/php/php.ini :
Ежели вы хотите использовать модуль libGD , установите php-gd и раскомментируйте extension=gd.so в /etc/php/php.ini :
Для использования модуля mcrypt установите php-mcrypt AUR и раскомментируйте extension=mcrypt.so в /etc/php/php.ini :
Не забудьте добавить индексные файлы /etc/httpd/conf/extra/php7_module.conf , если это необходимо:
Для дополнительной настройки, пожалуйста прочтите PHP.
Использование php5 c php-fpm и mod_proxy_fcgi
- Установитеphp-fpm
- Задайте listen в /etc/php/php-fpm.conf следующим образом:
- Добавьте следующие строки в /etc/httpd/conf/httpd.conf :
- Если у вас добавлен модуль php, уберите его, так как он больше не нужен:
- Перезапустите демон apache php-fpm:
Использование php5 c apache2-mpm-worker и mod_fcgid
- Раскомментируйте следующую строку в /etc/conf.d/apache :
- Раскомментируйте следующую строку в /etc/httpd/conf/httpd.conf :
- Установите пакеты mod_fcgid и php-cgi , доступные в официальных репозиториях.
- Создайте файл /etc/httpd/conf/extra/php5_fcgid.conf со следующим содержимым:
- Создайте каталог и символическую ссылку в нем на php-cgi:
- Отредактируйте /etc/httpd/conf/httpd.conf :
и перезапустите службу httpd.service .
MySQL/MariaDB
Следуйте инструкциям на странице PHP#MySQL/MariaDB.
После выполнения настройки, перезапустите службу mysqld , чтобы изменения вступили в силу.
Решение проблем
Просмотр журнала и текущего состояния Apache
Текущее состояние службы httpd вы можете вывести командой systemctl status httpd .
Лог-файлы Apache вы найдете в каталоге /var/log/httpd .
PID file /run/httpd/httpd.pid not readable (yet?) after start
Если вы получаете такую ошибку, закомментируйте строку:
в файле настроек Apache.
Обновление с Apache 2.2 до 2.4
Если вы используете php-apache , посмотрите инструкции к Apache с PHP выше.
Управление доступом было изменено. Приведите все директивы Order , Allow , Deny и Satisfy к новому синтаксису с Require . mod_access_compat позволит использовать устаревший формат на время этапа перехода.
Подробную информацию вы найдете на странице Upgrading to 2.4 from 2.2.
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe
Если не удалось запустить php5_module при старте httpd.service и вы получаете следующее сообщение об ошибке:
Это значит, что Apache работает c поточным MPM, но используется не потокобезопасная версия PHP. В этом случае, следует заменить mpm_event_module на mpm_prefork_module :
Источник