Httpd conf где находится debian
Apache часто используется вместе с языком сценариев PHP и СУБД MySQL. Такую комбинацию обычно называют LAMP (Linux, Apache, MySQL, PHP). Эта статья объясняет, как настроить Apache и как интегрировать с ним PHP и MySQL.
Если вам нужно быстро создать окружение для разработки и тестирования, то можете просто установить Xampp.
Contents
Установка
Настройка
При необходимости дальнейшей настройки сервера смотрите следующие разделы.
Дополнительные опции
Совет: Вы можете проверить корректность настроек Apache без запуска сервера командой apachectl configtest .Чтобы полностью отключить вывод версии Apache в генерируемых сервером страницах, добавьте:
Чтобы подавить вывод такой информации, как версии Apache и PHP, добавьте:
Пользовательские каталоги
''user''/ , который показывает содержимое каталога
Убедитесь, что права доступа к вашему домашнему каталогу и
/public_html позволяют получать доступ к файлам в них всем пользователям:
После этого назначьте права на чтение и исполнение для каталогов
/public_html и, рекурсивно, на остальные подкаталоги для
/public_html для членов группы (в нашем примере для членов группы piter). Опираясь на нижеприведенный шаблон, осуществите эти мероприятия:
TLS/SSL
Для использования TLS/SSL необходимо установить openssl .
Создайте закрытый ключ и запрос на получение сертификата (CSR). Также вы можете самозаверить CSR (который создаст сертификат):
Примечание: Вы можете настроить длину ключа в битах ( rsa_keygen_bits:2048 ). Также вы можете убрать опцию -sha256 для использования SHA-1 вместо SHA-2 или изменить время его действия в днях ( -days 365 ).Виртуальные хосты
Для проверки виртуальных хостов на локальной машине добавьте их виртуальные имена в ваш файл /etc/hosts :
Управление большим количеством виртуальных хостов
Сначала создайте каталог:
Теперь создайте в нем отдельные конфигурационные файлы:
Теперь можно быстро включать/отключать требуемые виртуальные хосты, просто закомментировав или раскомментировав соответствующие директивы Include в основном файле настроек.
Очень простой файл виртуального хоста будет выглядеть следующим образом:
Расширения
- Поместите эту строку в любом месте после строки LoadModule dir_module modules/mod_dir.so :
- Разместите эту строку в конце списка Include :
/public_html ) и поместите в него следующий код:
пользователь''/test.php вы должны увидеть информационную страницу PHP.
Дополнительную информацию вы можете получить на странице PHP.
Дополнительные параметры
Рекомендуется правильно настроить вашу временную зону (список временных зон) в /etc/php/php.ini по примеру:
По желанию включите режим показа ошибок при отладке PHP-кода, для этого измените значение опции display_errors на On в файле /etc/php/php.ini :
Ежели вы хотите использовать модуль libGD , установите php-gd и раскомментируйте extension=gd.so в /etc/php/php.ini :
Примечание: Проверьте, какие расширения PHP вы раскомментируете. Подключайте только те расширения, которые необходимы и достаточны для работы.Для использования модуля mcrypt установите php-mcrypt AUR и раскомментируйте extension=mcrypt.so в /etc/php/php.ini :
Для дополнительной настройки, пожалуйста прочтите PHP.
Использование php5 c php-fpm и mod_proxy_fcgi
Примечание: В отличие от широко распространенной установки с ProxyPass, конфигурация прокси с SetHandler использует директивы DirectoryIndex. Это обеспечивает лучшую совместимость с программным обеспечением, разработанным для libphp5, mod_fastcgi и mod_fcgid. Если вы хотите попробовать ProxyPass, используйте такую строку:Использование php5 c apache2-mpm-worker и mod_fcgid
Примечание: Так же как и в Apache 2.4 вы можете использовать mod_proxy_fcgi вместе с PHP-FPM. Пример конфигурации вы можете найти на странице [1].MySQL/MariaDB
После выполнения настройки, перезапустите службу mysqld , чтобы изменения вступили в силу.
Решение проблем
Просмотр журнала и текущего состояния Apache
Если вы получаете такую ошибку, закомментируйте строку:
в файле настроек 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
Это значит, что Apache работает c поточным MPM, но используется не потокобезопасная версия PHP. В этом случае, следует заменить mpm_event_module на mpm_prefork_module :
Apache – самый популярный веб-сервер в сети Интернет, который обслуживает больше половины активных сайтов.
В этой статье мы рассмотрим общие конфигурационные файлы и основные параметры Apache в системе Ubuntu/Debian
Примечание: Файлы Apache отличаются в зависимости от дистрибутива, потому эта статья не подходит пользователям RHEL.
Установка Apache в Ubuntu/Debian
Если веб-сервер Apache ещё не установлен, используйте команды:
sudo apt-get update
sudo apt-get install apache2
Чтобы убедиться, что установка прошла успешно, откройте в браузере IP-адрес своего сервера. На экране должна появиться приветственная страница Apache:
It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.
Иерархия файлов Apache
В Ubuntu и Debian Apache хранит конфигурационные файлы в папке /etc/apache2.
Эта папка содержит ряд простых текстовых файлов и подкаталогов. Наиболее важные из них:
- apache2.conf: главный конфигурационный файл сервера. В нём можно выполнить почти все конфигурации.
- ports.conf: этот файл задаёт порты, которые прослушиваются виртуальными хостами. Проверьте этот файл при настройке SSL.
- conf.d/: этот каталог управляет отдельными аспектами конфигурации Apache. К примеру, с его помощью часто определяется конфигурация SSL и стандартная политика безопасности.
- sites-available/: этот каталог хранит все доступные виртуальные хосты, которые определяют, какой контент будет обслуживаться на сайте. Эти хосты не активны.
- sites-enabled/: этот каталог определяет активные виртуальные хосты. Как правило, он содержит символические ссылки на файлы, определенные в каталоге sites-available.
- mods-[enabled,available]/: эти каталоги работают по тому же принципу, что и sites-available и sites-enabled. Они хранят модули.
Как видите, конфигурации Apache не ограничены главным конфигурационным файлом, они распределены между несколькими файлами и каталогами. Такую структуру конфигураций можно расширить при помощи новых файлов.
Конфигурационный файл Apache
Основные настройки Apache хранятся в /etc/apache2/apache2.conf.
Этот файл содержит три главных раздела: глобальные настройки Apache, настройки сервера по умолчанию и конфигурации виртуальных хостов.
В Ubuntu и Debian большая часть файла отведена под глобальные настройки, а конфигурация сервера по умолчанию и настройки виртуальных хостов обрабатываются в конце файла с помощью директивы Include.
Директива Include позволяет Apache читать другие конфигурационные файлы. В результате Apache динамически генерирует всеобъемлющий конфигурационный файл при запуске.
В конце файла вы найдёте множество настроек Include. Они определяют модули, добавляют документ ports.conf, определённые файлы из каталога conf.d/ и настройки виртуальных хостов из каталога sites-enabled/.
Сосредоточимся на глобальных настройках веб-сервера Apache.
Глобальные настройки Apache
Данный раздел рассматривает важные параметры глобальных настроек Apache.
Timeout
По умолчанию этот параметр имеет значение 300. Это значит, что на выполнение каждого запроса у сервера есть максимум 300 секунд. В большинстве случаев это значение очень большое, и его рекомендуют уменьшить до 30-60 секунд.
KeepAlive
Если этот параметр имеет значение On, сервер позволит клиенту запрашивать несколько объектов в рамках одного соединения. Если параметр имеет значение Off, то каждый новый запрос будет создавать индивидуальное соединение. Такое поведение может привести к перенагрузке сайта с большим трафиком.
MaxKeepAliveRequests
Этот параметр позволяет определить максимальное количество запросов для одного соединения. Это позволяет увеличить производительность Apache.
Значение 0 позволит веб-серверу обрабатывать неограниченное количество запросов в рамках одного соединения.
KeepAliveTimeout
Данный параметр устанавливает промежуток времени между запросами. Если в течение указанного времени клиент не создал следующий запрос. Веб-сервер прервёт соединение. Если в дальнейшем этот клиент отправит запрос, сервер создаст новое соединение.
Настройки MPM
Далее идут параметры MPM (Multi-Processing Module).
Чтобы узнать, с помощью каких модулей был скомпилирован Apache, откройте терминал и наберите:
Как видите, в данном случае веб-сервер скомпилирован с модулем prefork.c и файлом apache2.conf.
Конфигурации виртуальных хостов
Стандартный виртуальный хост находится в файле default в каталоге sites-available.
Чтобы ознакомиться с общим форматом виртуального хоста, откройте этот файл:
sudo nano /etc/apache2/sites-available/default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
. . .
По умолчанию виртуальный хост обрабатывает запросы на порте 80.
Это не означает, что веб-сервер обязательно будет обрабатывать каждый запрос через этот порт. Apache может переопределять конфигурации.
Настройки виртуального хоста высшего уровня
Эти параметры устанавливаются в разделе Virtual Host и применяются ко всему виртуальному хосту.
Параметр ServerAdmin указывает контактный адрес электронной почты, который будет использоваться в случае возникновения проблем на сервере. Этот адрес можно вставить на страницу ошибки. Для этого параметр ServerSignature (в файле /etc/apache2/conf.d/security) должен иметь значение Email.
Директива ServerName задаёт доменное имя или IP-адрес сервера. Это индивидуальный параметр каждого виртуального хоста, который может переопределить настройки по умолчанию, если он совпадает со значением ServerName.
Настройки каталогов
В конфигурации виртуального хоста есть специальный раздел для настройки обработки отдельных каталогов файловой системы. Эти настройки также можно переопределять.
Сначала виртуальный хост предлагает набор правил для каталога / (root-каталог). Этот раздел обеспечит базовую конфигурацию виртуального хоста, поскольку он относится ко всем файлам, которые обслуживаются в файловой системе.
По умолчанию Ubuntu не накладывает никаких ограничений на файловую систему. Apache рекомендует добавить несколько стандартных ограничений доступа, например:
<Directory />
Options FollowSymLinks
AllowOverride None
Order Deny,Allow
Deny from All
</Directory>
Это заблокирует доступ ко всему контенту, если в последующих определениях каталогов не указано иное.
Далее идут настройки каталога document root, в которых параметр allow from all переопределяет параметры каталога /.
Параметр AllowOverride позволяет настроить переопределение конфигураций с помощью файлов .htaccess. Чтобы переопределить настройки, файл .htaccess должен находиться в каталоге с контентом. По умолчанию эта функция отключена.
Настройки Alias и ScriptAlias
Иногда перед разделом Directory идут параметры Alias и ScriptAlias.
Директива Alias позволяет добавлять к обслуживаемому контенту каталоги вне DocumentRoot.
ScriptAlias работает аналогичным образом, но содержит путь к каталогам с исполняемыми файлами.
Alias /content/ /path/to/content/
Помните, что открывая доступ к дополнительным каталогам, нужно устанавливать ограниченные привилегии на них.
Включение сайтов и модулей в Apache
Создав файл виртуального хоста, вы можете включить его. Для этого нужно создать символическую ссылку на файл в каталоге sites-enabled:
sudo a2ensite файл_виртуального_хоста
Включив сайт, перезапустите Apache, чтобы веб-сервер перечитал конфигурации:
sudo service apache2 reload
Чтобы отключить виртуальный хост, нужно удалить символьную ссылку из sites-enabled:
sudo a2dissite файл_виртуального_хоста
После этого нужно снова перезапустить веб-сервер:
sudo service apache2 reload
Включить и отключить модуль Apache можно с помощью следующих команд (соответственно):
Они работают так же, как и ранее упомянутые команды a2ensite иa2dissite. После включения или отключения модуля нужно перезапускать веб-сервер.
Заключение
Данная статья охватывает только базовые настройки файлы веб-сервера Apache. Набор функций Apache можно значительно расширить с помощью модулей.
Если вам нужна дополнительная информация о веб-сервере, обратитесь к официальной документации Apache.
LAMP - является набором программных продуктов, широко применяемых для создания веб-сервисов. Данный набор состоит из операционной системы Linux, одного из самых распространенных веб-серверов Apache, СУБД Mysql и скриптового языка PHP. Данная статья посвящена процедуре стандартной установки и настройки данного набора для дальнейшего использования под веб-сервисы.
В качестве операционной системы был выбран Debian 8, как один из самых популярных дистрибутивов GNU/Linux. Сам процесс установки данной операционной системы рассматриваться не будет, так как не относится к теме статьи.
Все операции по установке и настройке будут выполняться под учетной записью пользователя root.
Установка Apache
Перед началом установки необходимо выполнить команду:
Далее необходимо установить пакет самого веб-сервера Apache:
После завершения установки веб-сервер будет готов к работе. Проверить его работоспособность можно просто, открыв в веб-браузере IP-адрес сервера, на который был установлен пакет Apache. Для версии 2.4 страница заглушка выглядит следующим образом:
Конфигурационный файл Apache, находится в /etc/apache2/apache2.conf
Директория /etc/apache2/sites-enabled/ содержит файлы конфигурации созданных веб-сервисов, а директория /etc/apache2/sites-available/ символические ссылки на файлы конфигураций веб-сервисов, которые на данный момент включены.
Рассмотрим создание простейшей веб странички с надписью “Hello World”. Для начала создадим папку, где будет храниться содержимое. Для этого выполним команду:
В данной папке создадим простейший html файл index.html следующего содержания:
Здесь присутствуют параметры:
- ServerName – доменное имя виртуального хоста (нашей странички);
- ServerAdmin – адрес электронной почты администратора;
- ServerAlias – псевдоним виртуального хоста (доменное имя хоста с добавлением www);
- DocumentRoot – место, где хранится содержимое самого сервиса;
- CustomLog - название файла журнала доступа с сервису;
- ErrorLog – название файла журнала ошибок.
Следующим шагом необходимо включить наш виртуальный хост. Это можно сделать как просто создав символическую ссылку:
Также включение и выключение виртуальных хостов можно выполнять, применяя команды a2ensite и a2dissite соответственно.
После включения хоста, необходимо перезапустить сервер Apache:
Теперь можно проверить работу созданной странички.
Для проверки страницы, возможно, на компьютере, с которого осуществляется проверка понадобиться добавить строчку в файл hosts:
Где xxx.xxx.xxx.xxx – это IP-адрес сервера с установленным Apache. Файл hosts, находится:
- C:\Windows\System32\drivers\etc (в Win7);
- /etc/hosts (в Debian).
Установка PHP
Следующий шаг – это установка скриптового языка PHP. Установка осуществляется командой:
Следует отметить, что существует модуль PHP под сервер Apache. Этот модуль позволяет Apache и PHP работать более эффективно. Проверить установлен ли модуль можно:
Если модуля нет, то его надо установить:
Проверить подключен ли модуль в самом сервере Apache можно следующим образом:
Должно появиться следующее:
Если модуль не включен, его по аналогии с виртуальными хостами можно включить командой
Выключается модуль командой a2dismod.
Установка mysql
Последним шагом к подготовке среды для работы с веб-сервисами является установка СУБД mysql. Установка осуществляется командой:
В процессе установки необходимо будет ввести пароль для пользователя root.
После завершения установки проверить работу mysql можно подключившись к самой СУБД.
На этом базовая подготовка сервера завершена. Дополнительно для управления базой данных можно еще установить утилиту phpmyadmin.
При установке нужно указать сервер с которым будет производиться работа, это позволит программе установке автоматически настроить утилиту для работы с данным сервером.
Также можно ответить положительно на предложение о настройке базы данных.
И несколько раз ввести пароль для администратора базы данных (тот что был указан для root пользователя при установке mysql).
Для входа необходимо использовать логин и пароль, заданные при установке mysql.
Базовая настройка сервера Apache
- Установить необходимые пакеты.
- Определить основной файл конфигурации.
- Создать некоторый контент веб-сервера.
Установка необходимых пакетов
Вместо использования отдельных пакетов вы также можете использовать yum groups. Команда yum groups list предоставляет обзор всех доступных групп yum, а yum group Basic Web Server предоставляет все необходимое для установки веб-сервера Apache и все необходимые зависимости. Чтобы выполнить установку Apache используйте yum groups install "Basic Web Server".
Определение основного файла конфигурации
Создание контента веб-сервера
Чтобы протестировать веб-сервер, вы можете запустить браузер. Браузер Firefox установлен по умолчанию во всех графических установках RHEL / CentOS. Если ваш сервер не поддерживает графический интерфейс, используйте yum install elinks для установки текстового браузера elinks.
Этот браузер не позволяет загружать сложные веб-страницы, но он позволяет вам проверить работу веб-сервера. Ниже на скриншоте показано, как выглядит интерфейс elinks.
В упражнении 1 вы узнаете, как настроить базовый веб-сервер.
Упражнение 1. Настройка базового веб-сервера
В этом упражнении вы узнаете, как настроить базовый веб-сервер Apache.
2. Откройте главный файл конфигурации Apache в редакторе и найдите строку, которая начинается с DocumentRoot. DocumentRoot определяет местоположение, где сервер Apache будет искать контент, который он будет обслуживать. Убедитесь, что он установлен в /var/www/html.
Понимание файлов конфигурации Apache
Листинг 3
Первое, что вы заметите, это наличие трех символических ссылок на журналы, модули и каталог выполнения. Они созданы, чтобы позволить Apache запускаться в среде chroot.
Среда chroot предоставляет поддельный корневой каталог. Это каталог в файловой системе, представленный в качестве корневого каталога для процесса, который выполняется в среде chroot. Это сделано по соображениям безопасности: процессы, работающие в среде chroot, могут обращаться к файлам только в этой среде chroot, что снижает риск возникновения инцидентов безопасности, когда злоумышленникам удается получить оболочку входа в систему с использованием идентификатора веб-сервера и попробовать пройти через файловюя систему для выполнения несанкционированных действий.
Создание виртуальных хостов Apache
Многие компании размещают более одного сайта. К счастью, нет необходимости устанавливать новый сервер Apache для каждого веб-сайта, который вы хотите запустить. Apache можно настроить для работы с виртуальными хостами. Виртуальный хост - это отдельный файл конфигурации Apache, созданный для уникального имени хоста.
■ Виртуальный хостинг на основе имен является наиболее распространенным решением. В этом решении виртуальные хосты используют разные имена, но один и тот же IP-адрес.
■ Виртуальные хосты на основе IP менее распространены, но необходимы, если имя веб-сервера должно быть преобразовано в уникальный IP-адрес. Виртуальные хосты на основе IP требуют нескольких IP-адресов на одном сервере и являются общими в конфигурации, где сервер Apache использует TLS для защиты соединений.
Упражнение 2. Установка виртуальных хостов Apache
В этом упражнении вы создадите два виртуальных хоста. Чтобы помочь вам настроить виртуальные хосты, вы сначала настраиваете разрешение имен, после чего вы создаете конфигурацию виртуальных хостов.
Предполагается, что у вас есть два сервера с именем server1 и server2. Если что, вы можете настроить гипервизор и создать две виртуальные машины по этой статье: KVM в CentOS 7.Добавьте в этот файл:
4. Закройте файл конфигурации и выполните:
6. Временно выключите SELinux командой setenforce 0.
Читайте также: