Настройка веб сервера apache linux

ИТ База знаний

Курс по 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-страница, которую вы хотите использовать в качестве тестовой страницы, выполните следующие действия:

Читайте также:  Windows 10 нет кнопки выключить компьютер

В окне терминала создайте новый индекс файл 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.

Читайте также:  Как установить линукс без флешки windows

Дополнительные настройки можно найти в /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 .

Читайте также:  Как выключить отладку ядра windows 10

Сначала создайте каталог:

Теперь создайте в нем отдельные конфигурационные файлы:

И включите эти файлы в основной файл настроек /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 :

Источник

Оцените статью