Httpd conf: Настройка Apache
Главный файл настроек Apache. httpd.conf.
Для того, чтобы мы могли что-то сделать с веб-сервером Apache, потестировать его работу, что-то настроить, что-то изменить и.т.д. нам нужно обратиться к файлу его настроек.
Поэтому, давайте сейчас разберемся с таким вопросом, где в веб-сервере Apache находится файл настроек. Где мы можем что-то поменять, что-то настроить, посмотреть как настроен какой-то момент и.т.д.
Apache — это веб-сервер, который не имеет графического интерфейса. При его установке и запуске нам нечего переключать, негде покликать. У нас нет никаких графических элементов, с которыми мы могли бы повзаимодействовать.
Веб-сервер Apache управляется через командную строку или терминал операционной системы. А все настройки, которые мы можем устанавливать, хранятся в обычном текстовом файле, который называется httpd.conf.
Это самый главный настроечный файл в Apache (есть и другие настроечные файлы).
Самое главное, что нужно сейчас понять, что это обычный текстовый файл, который мы можем, соответственно, править в любом текстовом редакторе.
Где же найти этот файл?
Есть несколько вариантов, как это можно сделать.
Один из вариантов обратиться по этому адресу:
https://wiki.apache.org/httpd/DistrosDefaultLayout
Это страница, на которой приводятся различные операционные системы. В зависимости от того, какая у вас на компьютере операционная система, файл httpd.conf может находится в разных местах.
Можете перейти по ссылке, которая соответствует вашей операционной системе и посмотрите на путь, где находится файл httpd.conf.
Другой способ узнать положение файла httpd.conf — это воспользоваться вот такой командой, которую нужно ввести в командную строку в вашей операционной системе:
httpd -V
В результатах выполнения этой команды самым последним параметром вы можете увидеть положение файла httpd.conf.
Файл httpd.conf — это обычный текстовый файл и мы можем его открыть и редактировать в любом текстовом редакторе или консольном текстовом редакторе.
В этом файле довольно много настроек, но не пугайтесь, последовательно, с основными из них мы познакомимся.
И один важный момент.
Какие бы изменения вы не произвели в файле httpd.conf эти изменения будут вступать в силу только после перезагрузки сервера. Т.е. вы что-то поменяли в этом файле, эти изменения не будут работать до тех пор, пока вы не перезагрузите веб-сервер.
Имейте в виду этот момент.
Теперь, главная задача, которая стоит после этого урока, найти файл httpd.conf на вашем компьютере, открыть его и в дальнейшем мы с ним будем работать.
Основы Apache (httpd) » Linux
Для администратора Linux важно знать, как обращаться с веб-сервером Apache. В этой статье вы узнаете немного теории о логике работы Apache, а также как его установить и запустить, как создать виртуальные хосты и применить к ним контексты SELinux.
Базовая настройка сервера Apache
Настроить базовый сервер 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.
Листинг 1
[root@kvm ~]# cat /etc/httpd/conf/httpd.conf | grep -v '#'
ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "/var/www/html"
<Directory "/var/www">
AllowOverride None
Require all granted
</Directory>
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
<Files ".ht*">
Require all denied
</Files>
ErrorLog "logs/error_log"
LogLevel warn
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "logs/access_log" combined
</IfModule>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
<IfModule mime_module>
TypesConfig /etc/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule>
AddDefaultCharset UTF-8
<IfModule mime_magic_module>
MIMEMagicFile conf/magic
</IfModule>
EnableSendfile on
IncludeOptional conf.d/*.conf
[root@kvm ~]#
Создание контента веб-сервера
После определения 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, чтобы подключиться к веб-серверу и убедиться, что он работает.
[root@kvm ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2019-10-27 21:48:23 +10; 13min ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 29160 (httpd)
Status: "Total requests: 3; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─29160 /usr/sbin/httpd -DFOREGROUND
├─29167 /usr/sbin/httpd -DFOREGROUND
├─29168 /usr/sbin/httpd -DFOREGROUND
├─29169 /usr/sbin/httpd -DFOREGROUND
├─29170 /usr/sbin/httpd -DFOREGROUND
├─29171 /usr/sbin/httpd -DFOREGROUND
├─29172 /usr/sbin/httpd -DFOREGROUND
├─29831 /usr/sbin/httpd -DFOREGROUND
├─29833 /usr/sbin/httpd -DFOREGROUND
└─29834 /usr/sbin/httpd -DFOREGROUND
Oct 27 21:48:23 kvm systemd[1]: Starting The Apache HTTP Server...
Oct 27 21:48:23 kvm httpd[29160]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, usi...message
Oct 27 21:48:23 kvm systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@kvm ~]#
Понимание файлов конфигурации Apache
При установке веб-сервера Apache по умолчанию создается довольно сложное дерево конфигурации в каталоге /etc/httpd. В листинге 3 показано содержимое этого каталога по умолчанию. Обратите внимание, что содержимое этого каталога может отличаться на вашем сервере, если установлены дополнительный пакеты. Apache является модульным, и после установки дополнительных модулей Apache здесь могут быть установлены другие файлы конфигурации.
Листинг 3
[root@kvm ~]# ls -l /etc/httpd/
total 0
drwxr-xr-x. 2 root root 37 Oct 27 21:47 conf
drwxr-xr-x. 2 root root 135 Oct 27 21:48 conf.d
drwxr-xr-x. 2 root root 186 Oct 27 21:48 conf.modules.d
lrwxrwxrwx. 1 root root 19 Oct 27 21:47 logs -> ../../var/log/httpd
lrwxrwxrwx. 1 root root 29 Oct 27 21:47 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. 1 root root 10 Oct 27 21:47 run -> /run/httpd
[root@kvm ~]#
Первое, что вы заметите, это наличие трех символических ссылок на журналы, модули и каталог выполнения. Они созданы, чтобы позволить 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
В этом упражнении вы создадите два виртуальных хоста. Чтобы помочь вам настроить виртуальные хосты, вы сначала настраиваете разрешение имен, после чего вы создаете конфигурацию виртуальных хостов.
Предполагается, что у вас есть два сервера с именем server1 и server2. Если что, вы можете настроить гипервизор и создать две виртуальные машины по этой статье: KVM в CentOS 7.1. На сервере server1 и server2 откройте файл /etc/hosts с помощью редактора и добавьте две строки, которые позволяют сопоставить имена виртуальных хостов, которые вы собираетесь создать, с IP-адресом сервера:
192.168.122.210 server1.example.com server1
192.168.122.220 server2.example.com server2
192.168.122.210 account.example.com account
192.168.122.210 sales.example.com sales
2. На сервере server1 добавьте следующее в файл /etc/httpd/conf/httpd.conf. (Вы можете оставить все остальные настройки как есть.)
<Directory "/www/docs">
Require all granted
AllowOverride None
</Directory>
3. Там же на сервере server1 создайте файл конфигурации с именем account.example.com.conf в каталоге /etc/httpd/conf.d.
Добавьте в этот файл:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /www/docs/account.example.com
ServerName account.example.com
ErrorLog logs/account/example.com-error_log
CustomLog logs/account.example.com-access_log common
</VirtualHost>
4. Закройте файл конфигурации и выполните:
mkdir -p /www/docs/account.example.com; mkdir -p /etc/httpd/logs/account/example.com-error_log; chown apache.apache -R /etc/httpd/logs/account/example.com-error_log
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 доступны.
Если у вас что-то не получается или есть вопросы, пишите в комментариях. Вместе решим вопросы Просьба поделиться статьёй в социальных сетях. Больше ссылок, больше шансов найти эту информацию тем, кому она нужна. |
HTTPD — Apache2 интернет сервер
HTTPD — Apache2 интернет сервер
Apache — наиболее используемый интернет-сервер на линукс системах. Интернет-сервера используются для выдачи интернет-страниц по запросу клиентских компьютеров. Клиенты обычно запрашивают и просматривают интернет-страницы используя приложения интернет-браузеров, таких как Firefox, Opera, Chromium или Mozilla.
Пользователи вводят единообразный указатель ресурсов (URL) для определения интернет-сервера по его полностью квалифицированному доменному имени (FQDN) и пути до требуемого ресурса. Например, чтобы увидеть домашнюю станицу интернет-сайта Ubuntu, пользователь должен ввести только FQDN:
www.ubuntu.com
Для просмотра страницы о сообществе [Ubuntu] пользователь должен ввести следующий путь:
www.ubuntu.com/community
Наиболее распространенный протокол, используемый для передачи интернет-страниц, — это гипертекстовый протокол передачи (HTTP). Такие протоколы, как HTTP поверх SSL (HTTPS) и протокол передачи файлов (FTP) — протокол для загрузки и получения файлов, также используются.
Интернет-сервера Apache обычно используются в комбинации с движком базы данных MySQL, языком сценариев гипертекстового препроцессора (PHP) и другими популярными языками сценариев, таких как Python И Perl. Эта конфигурация получила название LAMP (Linux, Apache, MySQL and Perl/Python/PHP) и формирует мощную и крепкую платформу для разработки и развертывания интернет-приложений.
Установка
Интернет-сервер Apache2 доступен в Ubuntu Linux. Для установки Apache2:
В терминале введите следующую команду:
sudo apt-get install apache2
Настройка
Apache2 настраивается помещением инструкций (directives) в обычные тестовые файлы настроек. Эти инструкции разделены между следующими файлами и каталогами:
apache2.conf: основной файл настроек Apache2. Содержит глобальные настройки для всего Apache2.
conf.d: (каталог) содержит файлы настроек, которые применяются глобально к Apache2. Другие пакеты, которые используют Apache2 для предоставления контента, могут добавлять файлы или символьные ссылки в этот каталог.
envvars: файл, где устанавливаются переменные окружения Apache2.
httpd.conf: устаревший основной файл настроек Apache2, названный по имени сервиса httpd. Теперь этот файл обычно пустой, поскольку большинство опций настроек были перемещены в каталоги, упомянутые далее. Файл может быть использован для для специфичных настроек пользователя, имеющих глобальный эффект в Apache2.
mods-available: этот каталог содержит конфигурационные файлы как для загрузки модулей, так и для их настройки. Тем не менее не все модули имеют отдельные файлы настройки.
mods-enabled: содержит символьные ссылки на файлы в /etc/apache2/mods-available. Когда создается символьная ссылка на файл настроек модуля, он включается при следующем рестарте apache2.
ports.conf: содержит инструкции, которые определяют какие TCP порты прослушивает Apache2.
sites-available: этот каталог содержит файлы настроек для виртуальных сетевых узлов (Virtual Hosts) Apache2. Виртуальные сетевые узлы позволяют настраивать Apache2 на множество сайтов с отдельными конфигурациями.
sites-enabled: подобно mods-enabled содержит символьные ссылки на каталог /etc/apache2/sites-available. Аналогично, когда файл настроек из sites-available получает здесь символьную ссылку, соответствующий ему сайт будет активен при следующем перезапуске Apache2.
В дополнение к этому другие файлы настроек могут быть добавлены с использованием инструкции Include, а символы группировок могут использоваться для включения множества файлов настроек. Любая инструкция может быть добавлена в любой из этих файлов настроек. Изменения в основных конфигурационных файлах распознаются только после старта или рестарта Apache2.
Сервер также читает файлы, содержащие типы mime документов; имя файла задается инструкцией TypesConfig, обычно через /etc/apache2/mods-available/mime.conf, который также может включать дополнения и переопределения, а по умолчанию используется /etc/mime.types.
Общие настройки
Этот раздел рассматривает существенные параметры настройки сервера Apache2. Обратитесь к документации по Apache2 для уточнения деталей.
1. Apache2 по умолчанию поставляется с конфигурацией, дружественной к виртуальным хостам. Это означает, что он изначально настроен с единственным виртуальным хостом (используя инструкцию VirtualHost) который может быть изменен или использоваться как есть, если у вас единственный сайт, либо использоваться как шаблон для дополнительных виртуальных хостов, если у вас несколько сайтов. Если оставить его единственным, изначальный виртуальный хост будет обслуживать ваш сайт по умолчанию или пользователи сайта заметят, что введенный ими URL не совпадает с инструкцией ServerName любого из ваших созданных сайтов. Для изменения начального виртуального хоста отредактируйте файл /etc/apache2/sites-available/default.
Инструкции, установленные для виртуального хоста, влияют только на соответствующий виртуальный хост. Если инструкция установлена на весь сервер и не установлена в настройках виртуального хоста, используется общая настройка. Например, вы можете определить email адрес вебмастера и не определять его отдельно для каждого виртуального хоста.
Если вы хотите настроить новый виртуальный хост или сайт, скопируйте этот файл в тот же каталог с новым именем. Например:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite
Отредактируйте новый файл для настройки нового сайта, используя инструкции, описанные ниже.
2. Инструкция ServerAdmin определяет адрес email для оповещения администратора сервера. Изначальное значение webmaster@localhost. Его надо изменить на ваш email адрес (если именно вы являетесь администратором сервера). Если возникает проблема с сайтом, Apache2 показывает сообщение об ошибке, содержащее этот адрес для оповещения о проблеме. Ищите эту инструкцию в файле настроек вашего сайта в каталоге /etc/apache2/sites-available.
3. Инструкция Listen определяет порт, и в общем случае IP адрес, на которых Apache2 должен ожидать соединения. Если IP адрес не определен, Apache2 будет прослушивать все IP адреса, которые назначены компьютеру, где он запущен. Значение по умолчанию для Listen 80. Замените его на 127.0.0.1:80 чтобы Apache2 прослушивал только интерфейс внутренней петли, что сделает его недоступным из интернета; на 81 (например) для изменения порта доступа или оставьте как есть для стандартного функционирования. Эта инструкция может быть найдена и изменена в единственном файле /etc/apache2/ports.conf.
4. Инструкция ServerName необязательная и определяет на какой адрес FQDN ваш сайт должен отвечать. Изначальный виртуальный хост не имеет ServerName, поэтому отвечает на все запросы не соответствующие директивам ServerName других виртуальных хостов. Если вы приобрели доменное имя ubunturocks.com и хотите прописать его на вашем Ubuntu сервере, значение ServerName для файла настроек вашего виртуального хоста должно быть ubunturocks.com. Добавьте эту инструкцию в файл нового виртуального хоста, который вы создавали ранее (/etc/apache2/sites-available/mynewsite).
Возможно вы захотите, чтобы ваш сайт откликался на www.ubunturocks.com, поскольку многие пользователи считают префикс www необходимым. Используйте для этого инструкцию ServerAlias. Вы можете также применять для ServerAlias групповые символы.
Например, следующая конфигурация заставит ваш сайт отвечать на любые запросы с доменом, оканчивающимся на .ubunturocks.com.
ServerAlias *.ubunturocks.com
5. Инструкция DocumentRoot определяет где Apache2 будет искать файлы, которые являются содержимым сайта. По умолчанию используется значение /var/www, как определено в /etc/apache2/sites-available/default. Если желаете, можете изменить это значение в файле сайта вашего виртуального хоста и не забудьте создать этот каталог, если необходимо!
Включите новый VirtualHost, используя утилиту a2ensite, и перезапустите Apache2:
sudo a2ensite mynewsite sudo service apache2 restart
Убедитесь, что заменили mynewsite на более понятное имя для VirtualHost. Один из способов это называть файл по значению ServerName виртуального хоста.
Аналогично используйте утилиту a2dissite для выключения сайтов. Это может быть полезным при разрешении проблем с несколькими виртуальными хостами:
sudo a2dissite mynewsite sudo service apache2 restart
Настройки по умолчанию
Этот раздел раскрывает возможности настроек значений по умолчанию сервера Apache2. Например, если вы добавили виртуальный хост, значения, которые вы определите в его конфигурации переопределят значения для данного виртуального хоста. Для инструкций, не определенных в настройках виртуального хоста, будут использоваться значения по умолчанию.
1. DirectoryIndex — это страница по умолчанию, выдаваемая сервером, когда пользователь запрашивает индекс каталога указанием прямого слеша (/) после его имени.
Например, когда пользователь запрашивает страницу http://www.example.com/this_directory/, он (или она) получит либо страницу, определяемую DirectoryIndex, если она существует, список файлов в каталоге, сгенерированный сервером, если не существует и определена опция Indexes, или страницу Permission Denied (недостаточно прав доступа) в остальных случаях. Сервер попытается найти один из файлов, перечисленных в инструкции DirectoryIndex и вернет первый найденный. Если не найдет ни одного и если установлено Options Indexes для данного каталога, сервер создаст и вернет список в формате HTML подкаталогов и файлов в этом каталоге. Значение по умолчанию, находящееся в /etc/apache2/mods-available/dir.conf это «index.html index.cgi index.pl index.php index.xhtml index.htm». Поэтому, если Apache2 найдет файл в запрашиваемом каталоге, соответствующий любому из этих имен, первый же из них будет показан [клиенту].
2. Инструкция ErrorDocument позволяет вам определить файл для Apache2, используемый при определенных ошибочных событиях. Например, если пользователь запросил ресурс, который не существует, возникнет ошибка 404. По умолчанию Apache2 просто вернет код возврата HTTP 404. Прочитайте /etc/apache2/conf.d/localized-error-pages для детальных инструкций по использованию ErrorDocument, включающий расположение файлов примеров.
3. По умолчанию сервер пишет журнал обмена в файл /var/log/apache2/access.log. Вы можете поменять это для каждого сайта в файлах настроек ваших виртуальных хостов с помощью инструкции CustomLog или спуститься на уровень настроек по умолчанию, определяемых в /etc/apache2/conf.d/other-vhosts-access-log. Вы можете также определить файл, в который будут сохраняться ошибки, через инструкцию ErrorLog, которая изначально указывает на var/log/apache2/error.log. Они хранятся отдельно от журнала обмена чтобы помочь в решении проблем с вашим сервером Apache2. Вы можете также определить LogLevel (изначально значение «warn») и LogFormat (смотрите /etc/apache2/apache2.conf для значений по умолчанию).
4. Некоторые опции задаются на уровне каталогов вместо уровня сервера. Options — одна из таких директив. Раздел Directory заключается в XML-подобные теги, как показано ниже:
<Directory /var/www/mynewsite> ... </Directory>
Инструкция Options внутри раздела Directory принимает одно или несколько из следующих значений (среди прочего), разделенные пробелами:
ExecCGI — Разрешает выполнение CGI сценариев. CGI сценарии не выполняются, если данная опция не выбрана.
Большинство файлов не должны выполняться как CGI сценарии. Это может быть очень опасно. CGI сценарии должны находиться в отдельном каталоге и вне вашего DocumentRoot. И только для этого каталога должна указываться опция ExecCGI. Так сделано изначально и по умолчанию CGI сценарии располагаются в /usr/lib/cgi-bin.
Includes — Позволяет включения на стороне сервера. Включения на стороне сервера позволяют файлам HTML включать другие файлы. Смотрите документацию Apache SSI (сообщества Ubuntu) для дополнительных деталей.
IncludesNOEXEC — Позволяет включения на стороне сервера, но блокирует команды #exec и #include в CGI сценариях.
Indexes — Показывает форматированный список содержимого каталога, если не найдены DirectoryIndex (как например index.html) в запрашиваемом каталоге.
По соображениям безопасности эта опция обычно не устанавливается и обычно не должна присутствовать для вашего каталога DocumentRoot. Включайте эту опцию осторожно на уровне каталогов только если вы уверены, что хотите показать пользователям полное содержание этого каталога.
Multiview — Поддерживает зависящие от содержимого просмотры; эта опция по умолчанию выключена по соображениям безопасности. Смотрите документацию Apache2 по этой опции.
SymLinksIfOwnerMatch — Следует по символическим ссылкам если целевой файл или каталог имеет того же владельца, что и ссылка.
Настройки httpd
Этот раздел раскрывает некоторые основные конфигурационные настройки сервиса httpd.
LockFile — инструкция LockFile устанавливает путь к блокирующему файлу (lockfile) когда сервер скомпилирован с опцией USE_FCNTL_SERIALIZED_ACCEPT или USE_FLOCK_SERIALIZED_ACCEPT. Он должен сохраняться на локальном диске. Стоит оставить значение по умолчанию если только каталог журналов не расположен на NFS ресурсе. В противном случае исходное значение стоить изменить на каталог локального диска с правами на чтение только для root.
PidFile — инструкция PidFile устанавливает файл, в который сервер записывает ID своего процесса (pid). Этот файл должен быть доступен на чтение только root. В большинстве случаев этот параметр стоит оставить без изменений.
User — инструкция User устанавливает userid (ID пользователя), используемый сервером для ответа на запросы. Эта настройка определяет права доступа сервера. Любые файлы, недоступные этому пользователю, также будут недоступны для посетителей вашего сайта. По умолчанию используется пользователь «www-data».
Пока вы находитесь в здравом уме и твердой памяти, не используйте в качестве пользователя root. Использование здесь root создаст серьезные пробоины в безопасности вашего сервера.
Group — инструкция Group аналогична директиве User. Group устанавливает группу под которой сервер будет отвечать на запросы. Значение по умолчанию также «www-data».
Модули Apache2
Apache2 — модульный сервер. Это означает, что только самая базовая функциональность включена в ядро сервера. Расширенные возможности доступны через модули, которые могут быть загружены в Apache2. По умолчанию базовый набор модулей включается в сервер на этапе компиляции. Если сервер скомпилирован для использования динамически загружаемых модулей, то модули могут быть скомпилированы отдельно и добавлены в любое время с использованием инструкции LoadModule. В противном случае Apache2 должен быть перекомпилирован для добавления или удаления модулей.
Ubuntu компилирует Apache2 с возможностью динамической загрузки модулей. Конфигурационные директивы могут быть включены по условию присутствия соответствующего модуля в блоке <IfModule>.
Вы можете установить дополнительные модули Apache2 и использовать их с вашим интернет сервером. Например, запустите следующую команду в терминале для установки модуля авторизации MySQL:
sudo apt-get install libapache2-mod-auth-mysql
Ищите дополнительные модули в каталоге /etc/apache2/mods-available.
Используйте утилиту a2enmod для включения модуля:
sudo a2enmod auth_mysql sudo service apache2 restart
Аналогично a2dismod выключит модуль:
sudo a2dismod auth_mysql sudo service apache2 restart
Настройка HTTPS
Модуль mod_ssl добавляет важную возможность для сервера Apache2 — возможность шифрованных соединений. Таким образом, когда ваш браузер соединяется с использованием SSL, используется префикс https:// в начале адреса URL в строке навигации.
Модуль mod_ssl доступен в пакете apache2-common. Выполните следующую команду в терминале для включения этого модуля:
sudo a2enmod ssl
Настройки по умолчанию для HTTPS находятся в файле /etc/apache2/sites-available/default-ssl. Чтобы Apache2 предоставлял HTTPS, также требуются файлы ключа и сертификата. Изначальная настройка HTTPS использует сертификат и ключ, созданные пакетом ssl-cert. Они подходят для тестирования, но должны быть заменены на сертификат, соответствующий вашему сайту или серверу. Для информации по созданию ключей и получению сертификатов смотрите раздел Сертификаты.
Для настройки Apache2 для HTTPS введите следующее:
sudo a2ensite default-ssl
Каталоги /etc/ssl/certs и /etc/ssl/private используются по умолчанию. Если вы установили сертификат и ключ в другие каталоги, убедитесь что изменили соответственно опции SSLCertificateFile и SSLCertificateKeyFile.
С Apache2, теперь настроенным на HTTPS, перезапустим сервис для разрешения новых настроек:
sudo service apache2 restart
В зависимости от того как вы выпускали свой сертификат, вам может потребоваться ввести кодовую фразу при старте Apache2.
Вы можете получить доступ к страницам защищенного сервера набрав https://your_hostname/url/ в адресной строке вашего браузера.
Права разделения записи
Чтобы более одного пользователя имели право записи в один и тот же каталог, необходимо дать право записи группе, которая их объединяет. Следующий пример предоставляет права на запись в каталог /var/www для группы «webmasters».
sudo chgrp -R webmasters /var/www sudo find /var/www -type d -exec chmod g=rwxs "{}" \; sudo find /var/www -type f -exec chmod g=rws "{}" \;
Если доступ должен быть предоставлен более чем одной группе на каталог, используйте Списки управляемого доступа (ACL).
Ссылки
Документация по Apache2 содержит более глубокую информацию по директивам настройки. Также смотрите пакет apache2-doc для официальной документации по Apache2.
Apache Cookbook от O’Reilly — отличный ресурс по созданию специфичных настроек для Apache2.
Для вопросов по Apache2 в Ubuntu используйте IRC канал #ubuntu-server на freenode.net.
Для обычно интегрируемого с PHP и MySQL Apache2 хорошим ресурсом будет страницаApache MySQL PHP Ubuntu Wiki.
Как настроить виртуальный хостинг – База знаний Timeweb Community
Завоевав невероятную популярность еще в 1996 году, веб-сервер Apache и по сей день является одним из самых распространенных решений для хостинга. По данным британского аналитического агентства Netcraft, его доля на рынке в 2015 году составила почти 51%, что, по сути, является абсолютной монополией. Столь оглушительный успех объясняется целым рядом факторов, но главный из них — гибкость. Сервер поддерживает подключение внешних модулей, работу с различными интерпретаторами языков программирования и базами данных, что делает его поистине универсальным и позволяет работать с любыми типами веб-приложений.
HTTPS-сервер Apache является частью связки веб-серверов (вместе с Nginx), которая используется в качестве основы ПО на хостинге Timeweb. Сегодня наша задача – разобраться с настройками Apache и установкой виртуального хостинга.
В числе прочего функциональность веб-сервера Apache позволяет эффективно управлять виртуальным хостингом, выделенным под Ваши нужды хостинг-оператором/провайдером.
Установка и настройка виртуального хостинга позволит Вам:
- обеспечить работу на VDS нескольких сайтов;
- разграничить доступ к администрированию данных отдельных сайтов, размещенных на виртуальном хостинге;
- работать с базовой частью — virtual host – для каждого сайта.
Файл .htaccess
Главным инструментом в работе с настройками виртуального хостинга является файл .htaccess – в отличие от httpd.conf файл работает для каталога, в котором расположен, и подкаталогов, тогда как второй отвечает за настройки конфигурации в целом, для всего массива сайтов под эгидой Apache, расположенных на виртуальном хостинге.
Управление конфигурацией осуществляется посредством директив – языка, на котором, собственно, и работает веб-сервер Apache: директивы прописываются в текстовых файлах (уже упомянутых httpd.conf и .htaccess).
Полный перечень директив может достигать сотен и тысяч пунктов – смысла даже просто перечислять их нет. Куда важнее сосредоточиться на более актуальных, доступных для редактирования директивах. Нас будут интересовать следующие файлы:
- httpd.conf
- .htaccess
- srm.conf
Отметим, что в текстовых файлах с директивами довольно много «лишней» для пользователя информации. В основном это комментарии-разъяснения, которые не несут никакой функциональной нагрузки. То есть просто информация, описание того, за что отвечает та или иная директива. Если установка и настройка виртуального хостинга для Вас – дело новое, их можно удалить, предварительно сохранив копию конфигурационного файла для изучения. Нефункциональные пояснительные строки обозначены в документе знаком решетки: #.
Файл httpd.conf
Установка виртуального хостинга завершается этапом внесения изменений в httpd.conf и проверки работоспособности сервера после их сохранения.
Самыми важными директивами, на которые нужно обратить внимание в этом конфигурационном файле, являются:
- ServerName – отвечает за то, какое имя будет присвоено основному серверу;
- ServerAlias;
- NameVirtualHost;
- VirtualHost.
Управление этими директивами позволяет создавать любое количество виртуальных серверов – ограниченное лишь доступными мощностями физического сервера и условиями, зафиксированными в тарифном плане хостинг-оператора.
Отметим, что директивы (команды) ServerName не нужно путать с NameVirtualHost. Последние отвечают за имена как раз виртуальных серверов.
И ещё об именах и о преобразовании численных адресов (IP) в имена доменные. В файле httpd.conf можно найти директиву HostnameLookups. Значения on и off, соответственно, позволяют преобразовать численные IP-адреса в доменные имена. Хотя теоретически значение on должно увеличить нагрузку на мощности сервера, этого обычно не происходит.
Файл srm.conf
Файл srm.conf включает директивы, которые позволяют управлять структурой каталогов, расположенных на сервере. Главными среди них являются DocumentRoot и UserDir, а также DirectoryIndex.
В первой директиве указывается путь к каталогу, во второй – путь, по которому пользователь (владелец сайта) размещает нужные файлы, третья – включает список файлов индекса.
Из чуть менее важных директив отметим ErrorDocument. Если исполнение директивы оставить по умолчанию, то ошибка на странице или её временная недоступность будет иметь для пользователя в браузере крайне неприглядный вид. Изменение директивы с целью вывода формы поиска или альтернативного пути по серверу считается своеобразным правилом этикета для администратора сайта.
Настройки .htaccess
Включенные в файл директивы обеспечивают настройку ряда параметров, критично важных для конечного пользователя. В частности, редиректа, а также оптимизации работы сайта и снижения нагрузки на сервер.
Базовые приемы
Теперь расскажем о базовых приемах, которые следует взять на вооружение любому владельцу собственного интернет-ресурса.
Задаем индексный файл
Индексный файл — это веб-документ на языке html, php или другом, который загружается в тот момент, когда посетитель обращается к какому-либо каталогу сайта напрямую. По умолчанию, он носит название index с приписанным на конце расширением.
Когда пользователь переходит по ссылке site-name.ru, он попадает в корневой каталог проекта. При этом происходит загрузка индексного файла, представляющего собой главную страницу сайта. В том случае, если таковой отсутствует в директории, веб-сервер Apache возвращает ошибку 403 (Forbidden, отказано в доступе).
Какой именно файл считать индексным, определяет директива DirectoryIndex. В большинстве случаев, в ней перечислены следующие варианты: index.php, index.html и index.htm. Но что делать, если Вы используете CMS, написанную, к примеру, на Python? Тогда можно указать индексный файл самостоятельно, добавив в .htaccess всего одну строчку. Для index.py она будет выглядеть следующим образом:
При необходимости можно задать сразу несколько индексных файлов, перечислив их через запятую. Apache будет последовательно проверять их наличие в папке и выводить первый найденный:
DirectoryIndex index.py, index.php, index.html
Устанавливаем страницы ошибок
.htaccess позволяет задавать собственные страницы ошибок в виде статичных документов. Эта опция весьма полезна, так как позволяет скрыть от злоумышленников версию CMS (в том случае, если страница генерируется на уровне движка) или сервера. Для этого можно воспользоваться следующим шаблоном:
ErrorDocument код_ошибки /каталог/страница_ошибки.html
Так, для самой известной ошибки “404 страница не найдена” директива будет такой:
ErrorDocument 404 /errors/404.html
Управляем кодировкой
Довольно часто при работе с CMS можно столкнуться с проблемой отображения текстовой информации. Как правило, это происходит из-за ошибок в кодировке. .htaccess позволяет принудительно переопределить ее значение:
AddType "text/html; charset=utf-8" .html .htm
В примере выше мы дали понять Apache, что все документы с расширением .html и .htm необходимо отдавать в кодировке UTF-8.
Боремся с воровством
Любая информация, размещенная на Вашем сайте, может быть “позаимствована” посетителями, а также нечистыми на руку веб-мастерами. Это не так уж и страшно, ведь современные поисковики неплохо определяют первоисточник. Проблемы могут возникнуть при использовании хотлинка.
Данный термин обозначает не просто копирование контента, а его “встраивание” в код другого веб-ресурса. Таким образом воруют различные изображения. При этом каждый раз, когда посетитель заходит на страницу, где размещен хотлинк, картинка подгружается с Вашего сайта, создавая дополнительную нагрузку и расходуя трафик. Однако, внеся изменения в настройки сервера Apache с помощью htaccess, это легко предотвратить. Метод основан на проверке переменной HTTP_REFERER. В случае выявления ее подмены, вместо запрашиваемого изображения будет выводиться любое другое, например, Ваш логотип:
Включаем проверку HTTP_REFERER
RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?site-name\.ru/ [NC]
Меняем запрошенный файл на картинку с логотипом Вашего проекта:
RewriteCond %{REQUEST_URI} !logo.jpg$ [NC] RewriteRule .(jpg|jpeg|gif|bmp|png)$ http://site-name.ru/logo.jpg [L] </IfModule>
Другая напасть — отображение информации с Вашей площадки на другом сайте посредством тега <iframe>. С его помощью можно воровать даже видео, поэтому такую возможность обязательно следует заблокировать:
<IfModule mod_headers.c> Header always append X-Frame-Options SAMEORIGIN </IfModule>
Здесь мы прописали запрет в заголовок, отдаваемый сервером. SAMEORIGIN означает, что использование <iframe> возможно только в пределах оригинального ресурса.
Оптимизируем работу сайта
Правильная настройка веб-сервера Apache позволит сэкономить на виртуальном хостинге, а также повысить привлекательность Вашего проекта в глазах пользователей благодаря быстрой загрузке страниц. Суть метода заключается в том, что при первом посещении информация будет сохраняться в браузере посетителя, что снизит количество запросов, идущих к базе данных проекта. Это делается с помощью правил кэширования модуля Headers.
Для начала стоит разобраться с мультимедийными файлами и документами, которые практически никогда не меняются:
Перечисляем расширения файлов, которые хотели бы закэшироовать
<FilesMatch ".(gif|jpg|jpeg|png|ico|swf|flv|pdf|doc|docx|odf)$">
Устанавливаем время хранения кэша полгода (в секундах)
Header set Cache-Control "max-age=14515200, private" </FilesMatch> </IfModule>
Кэшировать таблицы стилей и JavaScript следует на менее продолжительное время:
<ifModule mod_headers.c> <FilesMatch ".(js|css)$">
Время жизни кэша составляет 1 день (также в секундах)
Header set Cache-Control "max-age=86400, private" </FilesMatch> </IfModule>
Динамические скрипты лучше вообще исключить из кэша во избежание ошибок при обновлении страниц:
<ifModule mod_headers.c> <FilesMatch ".(php|cgi|scgi|fcgi)$"> Header unset Cache-Control </FilesMatch> </IfModule>
gsv.ru — Установка Apache 2.4
Если Вам понравился данный материал, поделитесь им с вашими друзьями в соц сетях
В предыдущем материале, Что необходимо для установки веб-сервера, мы занимались поиском и скачиванием необходимых версий дистрибутивов для того, что бы установить на домашний компьютер локальный веб-сервер Apache.
В моем случае, я буду разворачивать локальный веб-сервер на базе 64-разрядной операционной системе Microsoft Windows 7.
Для этого с ресурса apachehaus.com мной был скачен архив Apache 2.4.12 (httpd-2.4.12-x64-vc11.zip) и по ссылки http://www.microsoft.com/en-us/download/details.aspx?id=30679 пакет Microsoft Visual C++ 2012.
Скачивание и установка пакета Visual C++
Первым делом устанавливаем пакет Microsoft Visual C++ 2012.
Если у Вас возникли проблемы с выбором и скачиванием пакета Visual C++, найдите в архиве Apache файл с ознакомительными сведения (файл readme). В нем должна быть ссылка на скачивание пакета Visual C++ c сайта www.microsoft.com. Скачайте и установите пакет Visual C++.
скачивание и установка пакета Visual C++
Распаковка архива Apache
Открываем скаченный с веб-сервером архив и распаковываем (копируем) директорию «Apache24» в корень локального диска C:
Для базовой настройки веб-сервера Apache перейдем в директорию «C:\Apache24\conf\» и найдем файл «httpd.conf». Откроем данный файл в текстовом редакторе, просмотрим его и по необходимости внесем изменения. Большая часть файла состоит из комментарий и пояснений, начинающихся со знака # (решетка). В качестве текстового редактора могу посоветовать Notepad++.
Конфигурационный файл httpd.conf
httpd.conf — главный файл конфигурации веб-сервера Apache, содержащий директивы, управляющие работой веб-сервера.
Notepad++ — свободный текстовый процессор (текстовый редактор) с открытым исходным кодом для Windows с подсветкой синтаксиса большого количества языков программирования и разметки.
Изменим значения основных директив конфигурационного файла httpd.conf
ServerRoot "С:/Apache24"
каталог, в котором расположен веб-сервер
Listen 80
номер порта для веб-сервера
LoadModule rewrite_module modules/mod_rewrite.so
Для загрузки модуля mod_rewrite раскомментируем строку
AddDefaultCharset utf-8
значение кодировки по умолчанию
ServerAdmin [email protected]
Email адрес администратора веб-сервера
ServerName localhost:80
определяет имя и порт, который используется сервером для идентификации себя.
DocumentRoot "C:/Apache24/htdocs"
Назначаем корневую директорию управления сайтами
ErrorLog "logs/error.log"
расположение файла журнала ошибок.
LogLevel warn
уровень ошибок
CustomLog "logs/access.log" common
Установка сервиса (службы) Apache
Далее необходимо установить сервис Apache как службу. Для этого нам понадобится командная строка. Командная строка должна быть запущена от имени администратора.
Командная строка — позволяет вводить и выполнять команды операционной системы MS-DOS и другие компьютерные команды. Вводя команды, вы можете выполнять на компьютере различные задачи, не пользуясь мышью или сенсорным вводом.
Для того чтобы запустить командную строку необходимо нажать на кнопку «Пуск». В поле поиска введите «cmd» или «Командная строка», затем в списке результатов поиска наведите мышкой на найденный пункт («cmd» или «Командная строка»), щелкните по нему правой кнопкой мыши и выберите пункт «Запуск от имени администратора».
Перед нами появится окно консоли.
C:\Windows\system32>
Теперь необходимо перейти в директорию веб-сервера «bin» где находится файл «httpd.exe». Для этого используем команду «cd» и указываем полный путь до директории где находится файл «httpd.exe».
C:\Windows\system32>cd C:\Apache24\bin C:\Apache24\bin>
Для того, что бы установить сервис Apache как службу, необходимо выполнить команду
C:\Apache24\bin>httpd.exe -k install
При удачном выполнение установки получаем примерно такой ответ:
Installing the Apache2.4 service The Apache2.4 service is successfully installed. Testing httpd.conf.... Errors reported here must be corrected before the service can be started.
Перевод:
Установка службы Apache2.4
Служба Apache2.4 успешно установлен.
Тестирование httpd.conf ….
Ошибки, описанные здесь, должны быть исправлены и услуга может быть запущена.
Строка «The Apache2.4 service is successfully installed» означает, что служба установлена.
Если после строки «Errors reported here must be corrected before the service can be started» нет никаких сообщений, это означает, что в конфигурационных файлах не найдено критических ошибок и служба Apache24 запущена. Проверить ее работу можно открыв в браузере страницу localhost или страницу 127.0.0.1. Если страница по данным адресам открывается, то Вы добились желаемого, веб-сервер Apache установлен.
В случае, если после строки «Errors reported here must be …» присутствуют сообщения, то необходимо их исправить и перезапустить службу Apache. Обращаю Ваше на фразу «перезапустить», а не установить, ведь служба Apache24 уже установлена, просто она не может быть запущена, так как имеет ошибки в конфигурации.
Рассмотрим возможные ошибки при выполнении команды установки службы Apache24
... Failed to open the Windows service manager, perhaps you forgot to log in as Administrator?
Перевод: Не удалось открыть менеджер службы Windows, возможно, вы забыли войти как администратор?
Решение: Откройте командную строку от имени администратора
... Syntax error on line N of C:/Apache24/conf/httpd.conf: ...
Перевод: Синтаксическая ошибка в строке номер N в файле httpd.conf
... Service is already installed.
Перевод: сервис уже установлен (услуга уже установлена)
Управление службой Apache
Для управления запуском и остановкой сервиса Apache можно использовать «ApacheMonitor». Откройте директорию веб-сервера bin («C:\Apache24\bin») и запустите файл: ApacheMonitor.exe. В системном трее появится значок Apache, с помощью которого можно быстро запускать/останавливать службу Apache.
А также, так как сервис Apache устанавливается как служба, после его установки, управлять его запуском/остановкой можно в окне списка служб («Пуск» → пункт «Панель управления» → «Администрирование» → «Службы»)
При установки Apache, служба, по умолчанию получает имя «Apache» или «Apache24». Если, в силу каких либо причин, имя службы нас не устраивает, есть возможность задать собственное имя, используя в командной строке параметр «-n» c указанием имени службы через пробел. (Если в имени службы содержится пробел необходимо обернуть его в кавычки, т. е. «name service»). Рассмотрим дополнительно команды для управления сервисом Apache:
устанавливаем службу
C:\Apache24\bin\httpd.exe -k install или C:\Apache24\bin\httpd.exe -k install -n name_service C:\Apache24\bin\httpd.exe -k install -n "name service"
запускаем службу
C:\Apache24\bin\httpd.exe -k start или C:\Apache24\bin\httpd.exe -k start -n name_service C:\Apache24\bin\httpd.exe -k start -n "name service"
останавливаем службу
C:\Apache24\bin\httpd.exe -k stop или C:\Apache24\bin\httpd.exe -k stop -n name_service C:\Apache24\bin\httpd.exe -k stop -n "name service"
удаляем службу
C:\Apache24\bin\httpd.exe -k uninstall или C:\Apache24\bin\httpd.exe -k uninstall -n name_service C:\Apache24\bin\httpd.exe -k uninstall -n "name service"
получаем информации о версии службы
C:\Apache24\bin\httpd.exe -V
получаем конфигурацию службы
C:\Apache24\bin\httpd.exe -k config или C:\Apache24\bin\httpd.exe -k config -n name_service C:\Apache24\bin\httpd.exe -k config -n "name service"
Данная команда тестирует конфигурационный файл httpd.conf и отображает ошибки
Управлять службами также можно, используя в командной строке команду «net». Рассмотрим несколько примеров.
получаем список служб
C:\Windows\system32>net start
запускаем службу
C:\Windows\system32>net start Apache2.4 или C:\Windows\system32>net start "name service"
останавливаем службу
C:\Windows\system32>net stop Apache2.4 или C:\Windows\system32>net stop "name service"
Удаление службы используя командную строку
На моей практике был случай, когда я удалил файлы веб-сервера, забыв перед этим остановить службу и удалить ее. Соответственно служба не работала, так как файлы были удалены, но висела в списках. При развертывании нового веб-сервера, а именно при попытки установить службу, консоль ругалась, что данная служба уже установлена.
Для решения данной проблемы пришлось удалить службу, выполнив в командной строке следующую команду:
C:\Windows\system32>sc delete ServiceName или C:\Windows\system32>sc delete "Service Name"
где ServiceName или «Service Name» имя удаляемой службы
По итогам изучения данного материала мы рассмотрели процесс установки локального веб-сервера, познакомились с главным конфигурационным файлом httpd.conf и его основными директивами. Так же мы рассмотрели механизмы управления службой Apache, такие как: запуск, остановка, удаление, просмотр версии.
На следующем шаге мы подключим модуль интерпретатора языка программирование PHP к установленному веб-серверу, и тем самым укажем веб-серверу, что он должен исполнять php скрипты.
Где действительно находится файл конфигурации Apache 2
Статей о том, как найти конфиг Апача, в интернете масса. Но в них в основном даётся информация о том, где находится основной файл конфигурации Apache 2 на сервере автора статьи. Иногда это может быть даже Апач не второй, а первый. Так как в основном все копируют друг у друга контент. Для того, чтобы точно найти конфиг Apache, не нужно пытаться его искать по тому пути, что советуют. Нужно посмотреть его в настройках конкретного сервера. Именно о том, как найти его у себя на сервере и будет показано ниже в этой статье на примере моего текущего рабочего сервера, работающего с Debian 9. Но, я не думаю, что операционная система как-то затруднит поиск этого конфига. Разве что на сервере под Windows… Но тут я пока просто разведу руками. =)
Продолжение следует
Начать следует с того, чтобы прочитать предыдущую статью о том, с чего следует начать изучение Apache у себя на сервере. В ней дан обзор команды apachectl
, которая напрямую связана с работой и управлением установленного на сервере Апача.
Параметр -V
команды apachectl
Теперь собственно о теме этой статьи. Для того, чтобы найти конфиг Apache у себя на сервере, нужно запустить команду apachectl -V
. Так как это кажется наиболее походящим вариантом из предлагаемых подсказкой по ней. «show compile settings» — значится в описании этой опции. Попробуем 😉
root@server:~# apachectl -V
Server version: Apache/2.4.25 (Debian)
Server built: 2018-11-03T18:46:19
Server's Module Magic Number: 20120211:68
Server loaded: APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/apache2"
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="mime.types"
-D SERVER_CONFIG_FILE="apache2.conf"
Как найти конфиг Апача у себя на сервере?
Вот собственно мы и получили ответ на этот вопрос, если внимательно вчитаемся в полученный результат:
-D SERVER_CONFIG_FILE="apache2.conf"
Последняя строка указывает на то, что конфигурационный файл Apache имеет название apache2.conf
. Осталось разобраться, в какой директории его найти. АГА! Вот главная директория Апача:
-D HTTPD_ROOT="/etc/apache2"
Конфиг Apache найден! =)
Осталось всё собрать воедино и гордо сообщить: «У меня на сервере конфигурационный файл Apache находится точно в этом месте: /etc/apache2/apache2.conf
»
А у вас? 😉
Заберите ссылку на статью к себе, чтобы потом легко её найти 😉
Выберите, то, чем пользуетесь чаще всего:
Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )
Как запустить сервер Apache httpd от пользователя без полномочий root в CentOS / RHEL 7 — Information Security Squad
Пользователь хочет запустить сервер Apache httpd от пользователя без полномочий root в CentOS / RHEL 7.
Как этого можно добиться с помощью службы под systemd?
Настройка сервера Apache httpd для запуска от пользователя без полномочий root (с использованием службы systemd)
При запуске systemd владелец и права доступа к файлу /run/httpd изменяются из-за файла /usr/lib/tmpfiles.d/httpd.conf.
Он устанавливается вместе с пакетом httpd и не требует включения httpd.service.
Если пользователь без полномочий root попытается запустить службу httpd, он получит ошибку ниже:
$ /usr/sbin/httpd -k start (13)Permission denied: AH00058: Error retrieving pid file /run/httpd/httpd.pid AH00059: Remove it before continuing if it is corrupted.
Следуйте приведенным ниже инструкциям, чтобы настроить Apache httpd для запуска в качестве пользователя без полномочий root (при желании вы также можете настроить его для запуска в качестве службы systemd).
1. Измените настройки пользователя и группы в /etc/httpd/conf/httpd.conf для своего пользователя и группы.
Например, если ваш пользователь и группа myuser и mygroup, используйте настройки ниже.
# vi /etc/httpd/conf/httpd.conf User myuser Group mygroup
2. Установите для порта прослушивания значение выше 1024 в /etc/httpd/conf/httpd.conf.
# vi /etc/httpd/conf/httpd.conf Listen 8080
3. Измените владельца каталога журнала httpd.
# chown -R myuser:mygroup /var/log/httpd
4. Измените владельца каталога /run/httpd.
# chown -R myuser:mygroup /run/httpd
Чтобы сделать это изменение постоянным, необходимо изменить /usr/lib/tmpfiles.d/httpd.conf, чтобы использовать myuser и mygroup, как показано ниже.
$ sudo cat /usr/lib/tmpfiles.d/httpd.conf d /run/httpd 710 myuser mygroup d /run/httpd/htcacheclean 700 myuser mygroup
Примечание. Обновления пакетов вернут изменение в /usr/lib/tmpfiles.d/httpd.conf, поэтому это изменение должно стать частью ваших работ по обновлению.
Настройка apache httpd для запуска в качестве службы под systemd
(Необязательно) Если вы хотите, чтобы Apache httpd запускался как сервис под systemd, вам придется отредактировать файл сервисного блока.
Это делается путем создания системного раскрытия, как показано ниже.
# systemctl edit httpd
Редактор по умолчанию будет открыт автоматически.
Добавьте следующий контент, затем сохраните и выйдите из редактора.
[Service] User=myuser Group=mygroup
Проверка
Остановите httpd, если он уже запущен, затем запустите httpd с помощью приведенной ниже команды. (Как пользователь без полномочий root)
$ /usr/sbin/httpd -k start
Или, если вы выполнили необязательные шаги для использования systemd, запустите службу:
$ systemctl start httpd.service
новых вопросов о httpd.conf — qaru Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответы
Переполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегами
Вакансии
Программирование и связанные с ним технические возможности карьерного роста
Талант
Нанимайте технических специалистов и создавайте свой бренд работодателя
Реклама
Обратитесь к разработчикам и технологам со всего мира
- О компании
Загрузка…
- Авторизоваться
зарегистрироваться текущее сообщество
Переполнение стека
Помогите
болтать
Переполнение мета-стека
ваши сообщества
Зарегистрируйтесь или
.
Главный файл конфигурации CentOS 7 Apache httpd.conf
Основным файлом конфигурации веб-сервера CentOS 7 Apache является файл httpd.conf. Расположение файла «httpd.conf» — это каталог «/ etc / httpd / conf».
/ и т.д. / httpd / conf
Файл httpd.conf, в свою очередь, загружает файлы конфигурации в каталог «/etc/httpd/conf.d», которые заканчиваются расширением .conf.
Ниже приведен файл apache httpd conf по умолчанию, который можно найти в CentOS 7.
Загрузить файл httpd.conf
#
# Это основной файл конфигурации HTTP-сервера Apache. Он содержит
# конфигурационные директивы, которые дают серверу инструкции.
# См. для получения подробной информации.
# В частности, см.
#
# для обсуждения каждой директивы конфигурации.
#
# НЕ просто читайте инструкции здесь, не понимая
# что они делают.Они здесь только в качестве подсказок или напоминаний. Если вы не уверены
# обратитесь к онлайн-документации. Вы были предупреждены.
#
# Конфигурация и имена файлов журнала: если имена файлов, которые вы указываете для многих
# управляющих файлов сервера начинаются с "/" (или "диск: /" для Win32),
# сервер будет использовать этот явный путь. Если имена файлов * не * начинаются
# с "/" добавляется значение ServerRoot - поэтому 'log / access_log'
# с ServerRoot, установленным в '/ www', будет интерпретироваться
# сервер как '/ www / log / access_log', где как '/ log / access_log' будет
# интерпретируется как '/ log / access_log'.#
# ServerRoot: верхняя часть дерева каталогов, под которой находится сервер
# сохраняются файлы конфигурации, ошибок и журналов.
#
# Не добавляйте косую черту в конце пути к каталогу. Если вы укажете
# ServerRoot на нелокальном диске, обязательно укажите локальный диск на
# Директива Mutex, если используются файловые мьютексы. Если вы хотите поделиться
# одинаковый ServerRoot для нескольких демонов httpd, вам нужно будет изменить
# минимум PidFile.
#
ServerRoot "/ etc / httpd"
#
# Listen: позволяет привязать Apache к определенным IP-адресам и / или
# портов вместо значения по умолчанию.См. Также
# директива.
#
# Измените это на Слушать определенные IP-адреса, как показано ниже, чтобы
# предотвратить появление Apache на всех связанных IP-адресах.
#
#Listen 12.34.56.78:80
Слушай 80
#
# Поддержка динамического общего объекта (DSO)
#
# Чтобы иметь возможность использовать функции модуля, который был построен как DSO, вы
# необходимо разместить соответствующие строки `LoadModule 'в этом месте, чтобы
# содержащихся в нем директив фактически доступны _до_ использования.# Статически скомпилированные модули (перечисленные в `httpd -l ') не нужны
# быть загруженным сюда.
#
# Пример:
# LoadModule foo_module modules / mod_foo.so
#
Включите conf.modules.d / *. Conf
#
# Если вы хотите, чтобы httpd запускался от имени другого пользователя или группы, вы должны запустить
# httpd изначально как root, и он переключится.
#
# Пользователь / группа: имя (или # номер) пользователя / группы, от имени которой будет запускаться httpd.
# Обычно хорошей практикой является создание специального пользователя и группы для
# запуск httpd, как и для большинства системных служб.#
Пользовательский apache
Групповой apache
# Конфигурация 'основного' сервера
#
# Директивы в этом разделе устанавливают значения, используемые 'main'
# сервер, который отвечает на любые запросы, которые не обрабатываются
# определение. Эти значения также предоставляют значения по умолчанию для
# любые контейнеры, которые вы можете определить позже в файле.
#
# Все эти директивы могут находиться внутри контейнеров,
# в этом случае эти настройки по умолчанию будут отменены для
# определяется виртуальный хост.#
#
# ServerAdmin: Ваш адрес, по которому должны быть проблемы с сервером
# отправлено по электронной почте. Этот адрес появляется на некоторых страницах, созданных сервером, например
# как документы об ошибках. например [email protected]
#
ServerAdmin root @ localhost
#
# ServerName дает имя и порт, которые сервер использует для идентификации.
# Часто это можно определить автоматически, но мы рекомендуем указать
# это явно для предотвращения проблем во время запуска.
#
# Если у вашего хоста нет зарегистрированного DNS-имени, введите здесь его IP-адрес.#
#ServerName www.example.com:80
#
# Запретить доступ ко всей файловой системе вашего сервера. Вы должны
# явно разрешить доступ к каталогам веб-контента в других
# блока ниже.
#
AllowOverride нет
Требовать все отклонено
#
# Обратите внимание, что с этого момента вы должны специально разрешить
# конкретные функции, которые необходимо включить - поэтому, если что-то не работает,
# как и следовало ожидать, убедитесь, что вы специально включили его
# ниже.#
#
# DocumentRoot: каталог, из которого вы будете обслуживать свой
# документов. По умолчанию все запросы берутся из этого каталога, но
# символические ссылки и псевдонимы могут использоваться для указания на другие места.
#
DocumentRoot "/ var / www / html"
#
# Ослабить доступ к контенту в / var / www.
#
<Каталог "/ var / www">
AllowOverride Нет
# Разрешить открытый доступ:
Требовать все предоставлено
# Далее ослабить доступ к корню документа по умолчанию:
<Каталог "/ var / www / html">
#
# Возможные значения для директивы Options: "None", "All",
# или любая комбинация:
# Indexes включает FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Обратите внимание, что "MultiViews" должны иметь * явное имя * --- "Options All"
# вам этого не дает.#
# Директива Options сложна и важна. Посмотри пожалуйста
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# Чтобы получить больше информации.
#
Индексы опций FollowSymLinks
#
# AllowOverride контролирует, какие директивы могут быть помещены в файлы .htaccess.
# Это может быть "Все", "Нет" или любая комбинация ключевых слов:
# Параметры FileInfo AuthConfig Limit
#
AllowOverride Нет
#
# Управляет тем, кто может получать данные с этого сервера.#
Требовать все предоставлено
#
# DirectoryIndex: устанавливает файл, который Apache будет обслуживать, если каталог
# запрашивается.
#
DirectoryIndex index.html
#
# Следующие строки предотвращают создание файлов .htaccess и .htpasswd.
# просматривается веб-клиентами.
#
<Файлы ".ht *">
Требовать все отклонено
#
# ErrorLog: расположение файла журнала ошибок.
# Если вы не укажете директиву ErrorLog в
# контейнер, сообщения об ошибках, относящиеся к этому виртуальному хосту, будут
# здесь вошли.Если вы * действительно * определяете файл журнала ошибок для
# контейнер, ошибки этого хоста будут регистрироваться там, а не здесь.
#
ErrorLog "журналы / error_log"
#
# LogLevel: контролировать количество сообщений, записываемых в error_log.
# Возможные значения: отладка, информация, уведомление, предупреждение, ошибка, крит,
# alert, emerg.
#
LogLevel предупреждать
#
# Следующие директивы определяют некоторые псевдонимы формата для использования с
# директива CustomLog (см. ниже).#
LogFormat "% h% l% u% t \"% r \ "%> s% b \"% {Referer} i \ "\"% {User-Agent} i \ "" вместе
LogFormat "% h% l% u% t \"% r \ "%> s% b" общий
# Вам необходимо включить mod_logio.c для использования% I и% O
LogFormat "% h% l% u% t \"% r \ "%> s% b \"% {Referer} i \ "\"% {User-Agent} i \ "% I% O" вместе
#
# Расположение и формат файла журнала доступа (Общий формат файла журнала).
# Если вы не определяете файлы журнала доступа в
# контейнер, здесь они будут регистрироваться.Наоборот, если вы * делаете *
# определить файлы журнала для каждого доступа, транзакции будут
# зарегистрирован в нем, а * не * в этом файле.
#
#CustomLog "logs / access_log" common
#
# Если вы предпочитаете файл журнала с информацией о доступе, агенте и реферере
# (Комбинированный формат файла журнала) вы можете использовать следующую директиву.
#
CustomLog "logs / access_log" объединены
#
# Перенаправление: позволяет сообщать клиентам о документах, которые раньше
# существуют в пространстве имен вашего сервера, но больше не существуют.Клиент
# сделает новый запрос документа в новом месте.
# Пример:
# Перенаправление постоянное / foo http://www.example.com/bar
#
# Псевдоним: отображает веб-пути в пути файловой системы и используется для
# получить доступ к контенту, который не находится под DocumentRoot.
# Пример:
# Псевдоним / webpath / full / filesystem / path
#
# Если вы включите конечный / on / webpath, то сервер будет
# требуется, чтобы он присутствовал в URL.Вы также вероятно
# необходимо предоставить раздел, чтобы разрешить доступ к
# путь к файловой системе.
#
# ScriptAlias: определяет, какие каталоги содержат сценарии сервера.
# ScriptAliases по сути такие же, как псевдонимы, за исключением того, что
# документы в целевом каталоге рассматриваются как приложения и
# запускается сервером по запросу, а не как документы, отправленные на
# клиент. Те же правила в отношении завершающего символа "/" применяются к ScriptAlias.
# директивы относительно Alias.#
ScriptAlias / cgi-bin / "/ var / www / cgi-bin /"
#
# "/ var / www / cgi-bin" следует заменить на ваш ScriptAliased
# Каталог CGI существует, если он у вас настроен.
#
<Каталог "/ var / www / cgi-bin">
AllowOverride Нет
Опции Нет
Требовать все предоставлено
#
# TypesConfig указывает на файл, содержащий список сопоставлений из
# расширение имени файла до MIME-типа.
#
ТипыConfig / etc / mime.типы
#
# AddType позволяет добавлять или переопределять конфигурацию MIME
# файл, указанный в TypesConfig для определенных типов файлов.
#
#AddType application / x-gzip .tgz
#
# AddEncoding позволяет некоторым браузерам распаковывать
# информация на лету. Примечание. Не все браузеры поддерживают это.
#
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# Если директивы AddEncoding выше закомментированы, то вы
# вероятно, следует определить эти расширения для обозначения типов мультимедиа:
#
Приложение AddType / x-compress.Z
Приложение AddType / x-gzip .gz .tgz
#
# AddHandler позволяет отображать определенные расширения файлов на «обработчики»:
# действия, не связанные с типом файла. Они могут быть встроены в сервер
# или добавлен с помощью директивы Action (см. ниже)
#
# Чтобы использовать сценарии CGI вне каталогов ScriptAliased:
# (Вам также необходимо добавить «ExecCGI» в директиву «Параметры».)
#
#AddHandler cgi-script .cgi
# Для карт типов (согласованные ресурсы):
#AddHandler type-map var
#
# Фильтры позволяют обрабатывать контент перед его отправкой клиенту.#
# Чтобы проанализировать файлы .shtml для серверных включений (SSI):
# (Вам также необходимо добавить «Включает» в директиву «Параметры».)
#
AddType text / html .shtml
AddOutputFilter ВКЛЮЧАЕТ .shtml
#
# Укажите кодировку по умолчанию для всего обслуживаемого контента; это позволяет
# интерпретация всего контента как UTF-8 по умолчанию. Чтобы использовать
# выбор браузера по умолчанию (ISO-8859-1) или разрешение тегов META
# в HTML-содержимом, чтобы изменить этот выбор, закомментируйте
# директива:
#
AddDefaultCharset UTF-8
#
# Модуль mod_mime_magic позволяет серверу использовать различные подсказки из
# содержимое самого файла для определения его типа.Файл MIMEMagicFile
Директива # сообщает модулю, где расположены определения подсказок.
#
MIMEMagicFile conf / magic
#
# Настраиваемые ответы об ошибках бывают трех видов:
# 1) простой текст 2) локальные перенаправления 3) внешние перенаправления
#
# Некоторые примеры:
#ErrorDocument 500 «Сервер засвистел».
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
#
# EnableMMAP и EnableSendfile: в системах, которые его поддерживают,
# отображение памяти или системный вызов sendfile могут использоваться для доставки
# файлов. Обычно это улучшает производительность сервера, но необходимо
# отключаться при обслуживании из подключенных к сети
# файловых систем, или если поддержка этих функций в противном случае
# сломан в вашей системе.
# Значения по умолчанию при комментариях: EnableMMAP On, EnableSendfile Off
#
#EnableMMAP off
EnableSendfile включен
# Дополнительная конфигурация
#
# Загрузить файлы конфигурации в "/ etc / httpd / conf.d "каталог, если есть.
IncludeOptional conf.d / *. Conf
.
Проект документации Linux
Информация о LDP – FAQ
–
Манифест / лицензия
–
История
–
Волонтеры / сотрудники
–
Должностные инструкции
–
Списки рассылки
–
IRC
–
Обратная связь
Автор / внести свой вклад – Руководство для авторов LDP
–
Внесите свой вклад / помогите
–
Ресурсы
–
Как отправить
—
Репозиторий GIT
–
Загрузок
–
Контакты
Спонсор сайта LDP
Мастерская
LDP Wiki : LDP Wiki — это отправная точка для любой незавершенной работы
Члены |
Авторы |
Посетители
Документы
HOWTO : тематическая справка
последние обновления |
основной индекс |
просматривать по категориям
Руководства : более длинные, подробные книги
последние обновления / основной индекс
Часто задаваемые вопросы : Часто задаваемые вопросы
последние обновления / основной индекс
страницы руководства : справка по отдельным командам (20060810)
Бюллетень Linux : Интернет-журнал
Поиск / Ресурсы
– Ссылки
–
Поиск OMF
Объявления / Разное
Обновления документов
Ссылка на HOWTO, которые были недавно обновлены.
.
php — Как отредактировать файл httpd.conf в AMAZON EC2
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответы
Переполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегами
Вакансии
Программирование и связанные с ним технические возможности карьерного роста
Талант
Нанимайте технических специалистов и создавайте свой бренд работодателя
Реклама
Обратитесь к разработчикам и технологам со всего мира
- О компании
.
Продукты
Переполнение стека
Общественные вопросы и ответы
Переполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегами
Вакансии
Программирование и связанные с ним технические возможности карьерного роста
Талант
Нанимайте технических специалистов и создавайте свой бренд работодателя
Реклама
Обратитесь к разработчикам и технологам со всего мира
зарегистрироваться
текущее сообщество
Переполнение стека
Помогите
болтатьПереполнение мета-стека
ваши сообщества
Зарегистрируйтесь или
/ и т.д. / httpd / conf
#
# Это основной файл конфигурации HTTP-сервера Apache. Он содержит
# конфигурационные директивы, которые дают серверу инструкции.
# См. для получения подробной информации.
# В частности, см.
#
# для обсуждения каждой директивы конфигурации.
#
# НЕ просто читайте инструкции здесь, не понимая
# что они делают.Они здесь только в качестве подсказок или напоминаний. Если вы не уверены
# обратитесь к онлайн-документации. Вы были предупреждены.
#
# Конфигурация и имена файлов журнала: если имена файлов, которые вы указываете для многих
# управляющих файлов сервера начинаются с "/" (или "диск: /" для Win32),
# сервер будет использовать этот явный путь. Если имена файлов * не * начинаются
# с "/" добавляется значение ServerRoot - поэтому 'log / access_log'
# с ServerRoot, установленным в '/ www', будет интерпретироваться
# сервер как '/ www / log / access_log', где как '/ log / access_log' будет
# интерпретируется как '/ log / access_log'.#
# ServerRoot: верхняя часть дерева каталогов, под которой находится сервер
# сохраняются файлы конфигурации, ошибок и журналов.
#
# Не добавляйте косую черту в конце пути к каталогу. Если вы укажете
# ServerRoot на нелокальном диске, обязательно укажите локальный диск на
# Директива Mutex, если используются файловые мьютексы. Если вы хотите поделиться
# одинаковый ServerRoot для нескольких демонов httpd, вам нужно будет изменить
# минимум PidFile.
#
ServerRoot "/ etc / httpd"
#
# Listen: позволяет привязать Apache к определенным IP-адресам и / или
# портов вместо значения по умолчанию.См. Также
# директива.
#
# Измените это на Слушать определенные IP-адреса, как показано ниже, чтобы
# предотвратить появление Apache на всех связанных IP-адресах.
#
#Listen 12.34.56.78:80
Слушай 80
#
# Поддержка динамического общего объекта (DSO)
#
# Чтобы иметь возможность использовать функции модуля, который был построен как DSO, вы
# необходимо разместить соответствующие строки `LoadModule 'в этом месте, чтобы
# содержащихся в нем директив фактически доступны _до_ использования.# Статически скомпилированные модули (перечисленные в `httpd -l ') не нужны
# быть загруженным сюда.
#
# Пример:
# LoadModule foo_module modules / mod_foo.so
#
Включите conf.modules.d / *. Conf
#
# Если вы хотите, чтобы httpd запускался от имени другого пользователя или группы, вы должны запустить
# httpd изначально как root, и он переключится.
#
# Пользователь / группа: имя (или # номер) пользователя / группы, от имени которой будет запускаться httpd.
# Обычно хорошей практикой является создание специального пользователя и группы для
# запуск httpd, как и для большинства системных служб.#
Пользовательский apache
Групповой apache
# Конфигурация 'основного' сервера
#
# Директивы в этом разделе устанавливают значения, используемые 'main'
# сервер, который отвечает на любые запросы, которые не обрабатываются
# определение. Эти значения также предоставляют значения по умолчанию для
# любые контейнеры, которые вы можете определить позже в файле.
#
# Все эти директивы могут находиться внутри контейнеров,
# в этом случае эти настройки по умолчанию будут отменены для
# определяется виртуальный хост.#
#
# ServerAdmin: Ваш адрес, по которому должны быть проблемы с сервером
# отправлено по электронной почте. Этот адрес появляется на некоторых страницах, созданных сервером, например
# как документы об ошибках. например [email protected]
#
ServerAdmin root @ localhost
#
# ServerName дает имя и порт, которые сервер использует для идентификации.
# Часто это можно определить автоматически, но мы рекомендуем указать
# это явно для предотвращения проблем во время запуска.
#
# Если у вашего хоста нет зарегистрированного DNS-имени, введите здесь его IP-адрес.#
#ServerName www.example.com:80
#
# Запретить доступ ко всей файловой системе вашего сервера. Вы должны
# явно разрешить доступ к каталогам веб-контента в других
# блока ниже.
#
AllowOverride нет
Требовать все отклонено
#
# Обратите внимание, что с этого момента вы должны специально разрешить
# конкретные функции, которые необходимо включить - поэтому, если что-то не работает,
# как и следовало ожидать, убедитесь, что вы специально включили его
# ниже.#
#
# DocumentRoot: каталог, из которого вы будете обслуживать свой
# документов. По умолчанию все запросы берутся из этого каталога, но
# символические ссылки и псевдонимы могут использоваться для указания на другие места.
#
DocumentRoot "/ var / www / html"
#
# Ослабить доступ к контенту в / var / www.
#
<Каталог "/ var / www">
AllowOverride Нет
# Разрешить открытый доступ:
Требовать все предоставлено
# Далее ослабить доступ к корню документа по умолчанию:
<Каталог "/ var / www / html">
#
# Возможные значения для директивы Options: "None", "All",
# или любая комбинация:
# Indexes включает FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Обратите внимание, что "MultiViews" должны иметь * явное имя * --- "Options All"
# вам этого не дает.#
# Директива Options сложна и важна. Посмотри пожалуйста
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# Чтобы получить больше информации.
#
Индексы опций FollowSymLinks
#
# AllowOverride контролирует, какие директивы могут быть помещены в файлы .htaccess.
# Это может быть "Все", "Нет" или любая комбинация ключевых слов:
# Параметры FileInfo AuthConfig Limit
#
AllowOverride Нет
#
# Управляет тем, кто может получать данные с этого сервера.#
Требовать все предоставлено
#
# DirectoryIndex: устанавливает файл, который Apache будет обслуживать, если каталог
# запрашивается.
#
DirectoryIndex index.html
#
# Следующие строки предотвращают создание файлов .htaccess и .htpasswd.
# просматривается веб-клиентами.
#
<Файлы ".ht *">
Требовать все отклонено
#
# ErrorLog: расположение файла журнала ошибок.
# Если вы не укажете директиву ErrorLog в
# контейнер, сообщения об ошибках, относящиеся к этому виртуальному хосту, будут
# здесь вошли.Если вы * действительно * определяете файл журнала ошибок для
# контейнер, ошибки этого хоста будут регистрироваться там, а не здесь.
#
ErrorLog "журналы / error_log"
#
# LogLevel: контролировать количество сообщений, записываемых в error_log.
# Возможные значения: отладка, информация, уведомление, предупреждение, ошибка, крит,
# alert, emerg.
#
LogLevel предупреждать
#
# Следующие директивы определяют некоторые псевдонимы формата для использования с
# директива CustomLog (см. ниже).#
LogFormat "% h% l% u% t \"% r \ "%> s% b \"% {Referer} i \ "\"% {User-Agent} i \ "" вместе
LogFormat "% h% l% u% t \"% r \ "%> s% b" общий
# Вам необходимо включить mod_logio.c для использования% I и% O
LogFormat "% h% l% u% t \"% r \ "%> s% b \"% {Referer} i \ "\"% {User-Agent} i \ "% I% O" вместе
#
# Расположение и формат файла журнала доступа (Общий формат файла журнала).
# Если вы не определяете файлы журнала доступа в
# контейнер, здесь они будут регистрироваться.Наоборот, если вы * делаете *
# определить файлы журнала для каждого доступа, транзакции будут
# зарегистрирован в нем, а * не * в этом файле.
#
#CustomLog "logs / access_log" common
#
# Если вы предпочитаете файл журнала с информацией о доступе, агенте и реферере
# (Комбинированный формат файла журнала) вы можете использовать следующую директиву.
#
CustomLog "logs / access_log" объединены
#
# Перенаправление: позволяет сообщать клиентам о документах, которые раньше
# существуют в пространстве имен вашего сервера, но больше не существуют.Клиент
# сделает новый запрос документа в новом месте.
# Пример:
# Перенаправление постоянное / foo http://www.example.com/bar
#
# Псевдоним: отображает веб-пути в пути файловой системы и используется для
# получить доступ к контенту, который не находится под DocumentRoot.
# Пример:
# Псевдоним / webpath / full / filesystem / path
#
# Если вы включите конечный / on / webpath, то сервер будет
# требуется, чтобы он присутствовал в URL.Вы также вероятно
# необходимо предоставить раздел, чтобы разрешить доступ к
# путь к файловой системе.
#
# ScriptAlias: определяет, какие каталоги содержат сценарии сервера.
# ScriptAliases по сути такие же, как псевдонимы, за исключением того, что
# документы в целевом каталоге рассматриваются как приложения и
# запускается сервером по запросу, а не как документы, отправленные на
# клиент. Те же правила в отношении завершающего символа "/" применяются к ScriptAlias.
# директивы относительно Alias.#
ScriptAlias / cgi-bin / "/ var / www / cgi-bin /"
#
# "/ var / www / cgi-bin" следует заменить на ваш ScriptAliased
# Каталог CGI существует, если он у вас настроен.
#
<Каталог "/ var / www / cgi-bin">
AllowOverride Нет
Опции Нет
Требовать все предоставлено
#
# TypesConfig указывает на файл, содержащий список сопоставлений из
# расширение имени файла до MIME-типа.
#
ТипыConfig / etc / mime.типы
#
# AddType позволяет добавлять или переопределять конфигурацию MIME
# файл, указанный в TypesConfig для определенных типов файлов.
#
#AddType application / x-gzip .tgz
#
# AddEncoding позволяет некоторым браузерам распаковывать
# информация на лету. Примечание. Не все браузеры поддерживают это.
#
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# Если директивы AddEncoding выше закомментированы, то вы
# вероятно, следует определить эти расширения для обозначения типов мультимедиа:
#
Приложение AddType / x-compress.Z
Приложение AddType / x-gzip .gz .tgz
#
# AddHandler позволяет отображать определенные расширения файлов на «обработчики»:
# действия, не связанные с типом файла. Они могут быть встроены в сервер
# или добавлен с помощью директивы Action (см. ниже)
#
# Чтобы использовать сценарии CGI вне каталогов ScriptAliased:
# (Вам также необходимо добавить «ExecCGI» в директиву «Параметры».)
#
#AddHandler cgi-script .cgi
# Для карт типов (согласованные ресурсы):
#AddHandler type-map var
#
# Фильтры позволяют обрабатывать контент перед его отправкой клиенту.#
# Чтобы проанализировать файлы .shtml для серверных включений (SSI):
# (Вам также необходимо добавить «Включает» в директиву «Параметры».)
#
AddType text / html .shtml
AddOutputFilter ВКЛЮЧАЕТ .shtml
#
# Укажите кодировку по умолчанию для всего обслуживаемого контента; это позволяет
# интерпретация всего контента как UTF-8 по умолчанию. Чтобы использовать
# выбор браузера по умолчанию (ISO-8859-1) или разрешение тегов META
# в HTML-содержимом, чтобы изменить этот выбор, закомментируйте
# директива:
#
AddDefaultCharset UTF-8
#
# Модуль mod_mime_magic позволяет серверу использовать различные подсказки из
# содержимое самого файла для определения его типа.Файл MIMEMagicFile
Директива # сообщает модулю, где расположены определения подсказок.
#
MIMEMagicFile conf / magic
#
# Настраиваемые ответы об ошибках бывают трех видов:
# 1) простой текст 2) локальные перенаправления 3) внешние перенаправления
#
# Некоторые примеры:
#ErrorDocument 500 «Сервер засвистел».
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
#
# EnableMMAP и EnableSendfile: в системах, которые его поддерживают,
# отображение памяти или системный вызов sendfile могут использоваться для доставки
# файлов. Обычно это улучшает производительность сервера, но необходимо
# отключаться при обслуживании из подключенных к сети
# файловых систем, или если поддержка этих функций в противном случае
# сломан в вашей системе.
# Значения по умолчанию при комментариях: EnableMMAP On, EnableSendfile Off
#
#EnableMMAP off
EnableSendfile включен
# Дополнительная конфигурация
#
# Загрузить файлы конфигурации в "/ etc / httpd / conf.d "каталог, если есть.
IncludeOptional conf.d / *. Conf
Проект документации Linux
|
|
|
Обновления документов |
Продукты
Переполнение стека
Общественные вопросы и ответы
Переполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегами
Вакансии
Программирование и связанные с ним технические возможности карьерного роста
Талант
Нанимайте технических специалистов и создавайте свой бренд работодателя
Реклама
Обратитесь к разработчикам и технологам со всего мира