Как найти папку конфигурации Apache
Apache использует файлы конфигурации для изменения своего поведения. Обычно они хранятся в /etc/apache2/
в системах Unix, но каталог конфигурации может различаться в зависимости от того, как он был установлен и в какой операционной системе вы его используете.
Обычные места
Основной способ настройки Apache — изменение основного файла конфигурации, обычно расположенного по адресу:
/etc/apache2/apache2.conf
Этот файл также может называться httpd.conf
в старых версиях. Если его там нет, скорее всего, он находится в одном из следующих мест:
/etc/httpd/httpd.conf
/etc/httpd/conf/httpd.conf
/usr/local/apache2/apache2.conf
— если вы скомпилировали из исходного кода, Apache устанавливается в/usr/local/
или/. opt/
, а не/etc/.
Если вы установили Apache в Windows, скорее всего, вы установили его в каталог C:Program Files
в разделе «Apache Software Foundation»:
C:Program FilesApache Software FoundationApache2.4
Если вы используете Apache в macOS (для локальной разработки), папка конфигурации находится в обычном месте /etc/apache2/
, если вы используете стандартную версию Apache, поставляемую с macOS. Если вы установили актуальную версию из brew, вместо этого она находится по адресу:
/usr/local/etc/httpd/httpd.conf
Независимо от операционной системы или деталей вашей установки, в этой корневой папке конфигурации вы найдете несколько файлов и каталогов:
apache2.conf
илиhttpd.conf
являются основными файлами конфигурации.ports.conf
определить, какие порты должен прослушивать Apache.conf.d/
используется для хранения фрагментов конфигурации, которые можно включить в основную конфигурацию.sites-available/
– это каталог, содержащий уникальный файл конфигурации для каждого веб-сайта, размещенного на вашем веб-сервере. Вы можете размещать несколько сайтов с одного и того же IP; Apache разделяет их по имени домена и использует для каждого отдельные файлы конфигурации. Обычной практикой является называть эти файлы в соответствии с вашим доменным именем, например.сайты-доступны/example.com
. Уже существует сайт по умолчанию, который вы можете скопировать.sites-enabled/
определяет, какие сайты фактически используются. Это специальная папка, содержащая символические ссылки на фактические файлы конфигурации вsites-available
. При этом вы можете легко включать и выключать сайты с помощью командыa2ensite
.
Конфигурация с файлами .htaccess
Вы также можете настроить Apache, даже не касаясь корневой конфигурации. Если эта функция включена, Apache пытается прочитать файл с именем .htaccess
из корня документа вашего сайта (место, где вы размещаете свой HTML-код и другое содержимое сайта).
Это особенно полезно для виртуального хостинга. В большинстве случаев, если вы получаете дешевый хостинг веб-сайтов от таких сервисов, как GoDaddy или SquareSpace, вы не арендуете целый веб-сервер только для своего сайта. Ваш сайт связан со многими другими небольшими сайтами и работает на одном большом сервере, что значительно сокращает расходы на хостинг. Проблема с этой настройкой заключается в том, что вы не хотите, чтобы люди могли изменять конфигурацию чужих сайтов, работающих на том же сервере, поэтому вы не можете просто предоставить доступ к основной папке конфигурации.
Файлы .htaccess
решают эту проблему, изменяя поведение Apache в зависимости от папки, из которой обслуживается контент. Это немного снижает производительность, поэтому его не рекомендуется использовать, если только вас не вынуждает провайдер виртуального хостинга.
В этом случае расположение вашей папки конфигурации простое — создайте новый файл с простым именем:
.htaccess
И поместите его в корневую папку вашего документа рядом со страницами index.html
или index.php
. Файл .htaccess
переопределит корневую конфигурацию для всего каталога, а также применит ее ко всем подкаталогам.
У вас может быть несколько файлов .htaccess
в разных каталогах; например, если часть вашего веб-сайта размещена в папке /admin/
, вы можете поместить в эту папку дополнительный файл .htaccess
и добавить базовую HTTP-аутентификацию для защиты это.
Как найти папку конфигурации вручную
В большинстве дистрибутивов для поиска программ и связанных с ними файлов обычно можно использовать команду whereis
:
whereis apache2
Он выводит расположение двоичного файла Apache, а также папку конфигурации Apache и все связанные каталоги:
apache2: /usr/sbin/apache2 /etc/apache2 /usr/lib/apache2 /usr/share/apache2 /usr/share/man/man8/apache2.8.gz
Если у вас нет этой команды или она не работает, используйте find
для поиска на всем диске каталогов с именем «apache2
»:
sudo find / -type d -name "apache2"
Вы также можете попробовать ввести «httpd
», так как Apache может быть установлен под этим именем. Если обе эти команды ничего не перечисляют, скорее всего, у вас вообще не установлен Apache.