Как найти каталог web сервера

Выясняем, что такое корневая директория, где находится корень сайта, и для чего она может понадобиться.

Что за корневая папка?

Корневая папка (корневой каталог, корень, root) — это ключевая директория компьютера или сервера. В частности, на базе Linux. С нее начинается файловая система, в ней хранятся все остальные подкаталоги, содержащие системные и пользовательские файлы.

Что касается сервера, это может быть точно такая же папка root, как и в любом дистрибутиве Linux, если мы говорим о выделенном сервере (физическом или виртуальном). Она будет содержать в себе те же компоненты, что и обычный компьютер. А в случае с виртуальным хостингом эта папка может называться public_html или www. Там будут только данные сайта. Получить доступ к «настоящему» root там не получится.

Тем не менее эта директория тоже будет считаться корнем сайта, и этот термин будет уместно использовать в отношении условных public_html или www. И в различных инструкциях авторы будут ссылаться именно на нее, упоминая root.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Содержимое папки root

Как я уже сказал ранее, корневой каталог может представлять собой разные сущности в зависимости от типа сервера.

Например, на стандартной VDS/VPS такая директория может содержать в себе следующие папки:

  • /bin с системными программами, файлами и компонентами, необходимыми для загрузки ОС;
  • /boot с компонентами загрузчика, включающими в себя ядро Linux и базовый набор файлов для старта сервера;
  • /dev с файлами, привязанными к конкретным устройствам, подключаемым к системе;
  • /etc с другими скриптами и файлами, от которых не зависит запуск сервера.

Таких подкаталогов в корне может быть больше. Все зависит от конфигурации компьютера и ОС.

На виртуальном хостинге же папка public_html или ее аналог не содержит ничего, она пустая по умолчанию. В нее помещают HTML-документы, JS-скрипты и CSS-файлы необходимые для работы размещаемого сайта. Скорее всего, корнем для вас станет директория, в которую будет помещен файл index.html с главной страницей вашего ресурса.

Где находится корень сайта?

Зависит от того, что подразумевается под местоположением директории. Ведь мы уже выяснили, что корнем может быть папка www. Для html корнем станет именно директория, указанная в настройках сервера. А в случае с PHP, к примеру, это будет именно корневой каталог системы. В CMS WordPress — это хранилище в интерфейсе самой платформы, в Bitrix для поиска корня есть команда GetCurPage().

Для чего нужен корневой каталог?

Это основа вашего сервера и сайта. В нем лежат все ключевые компоненты. Он нужен для работы ресурса в целом. Удалите что-то из корня и распрощаетесь с рабочей операционной системой.

Если же говорить о конкретном применении root-каталога вебмастерами на практике, то речь пойдет о:

  • Загрузке файла Robots.txt, куда будут прописываться страницы, запрещенные для индексации поисковыми машинами. Через нее скрывают разного рода техническую информацию и конфиденциальные данные.
  • Добавлении документа sitemap.xml (карта сайта), где расписывается структура страниц, чтобы поисковому боту было проще ориентироваться на сайте.
  • Хранении данных, необходимых для подтверждения прав на владение ресурсом. Туда добавляют скрипты с настройками сторонних ресурсов для интеграции с ними (например, скрипт Яндекс.Метрики).
  • Хранении архива с резервной копией данных сайта. Бэкап необходим для восстановления проекта после сбоя и потери файлов.
  • Для установки CMS (соответствующие установочные скрипты запускаются именно из root-каталога).

Как зайти в корень сайта

Вход в корневую директорию требуется довольно частно, и есть как минимум четыре способа туда зайти.

Основной — через терминал. То есть при помощи командной строки и текстовых утилит. Но есть и специализированное программное обеспечение с графическим интерфейсом.

В корень можно зайти через FTP (как на сервер, так и на виртуальный хостинг). А еще у некоторых хостинг-провайдеров имеется фирменный файловый менеджер для работы с файлами сервера через браузер.

Через терминал

Чтобы управлять сервером через терминал, надо подключиться к нему через Secure Shell (SSH). Для этого:

  • Запускаем терминал (в macOS или Linux).
  • Вводим команду ssh root@IP-адрес сайта.
  • Указываем пароль администратора для авторизации.

В Windows для выполнения этой задачи потребуется установить приложение PuTTY и указать IP-адрес сайта в нем.

Если вы управляете сервером через протокол SSH, то проще всего будет зайти в корневой каталог, используя встроенную в Linux команду для перемещения по жесткому диску. Речь идет о команде cd. Когда вы используете ее без дополнительных опций (не указывая конкретный путь), то она автоматически отправляет пользователя в корневую директорию сервера.

Сразу же можно проверить его содержимое, воспользовавшись командой ls.

Через FTP-клиент

При аренде сервера или виртуального хостинга провайдер выдает пользователю адрес, логин и пароль. Используя их, можно подключиться к своему ресурсу через программное обеспечение для работы с FTP.

Рассмотрим эту процедуру на примере утилиты FileZilla:

  1. Заходим на официальный сайт разработчика программы и скачиваем ее.
  2. Открываем FileZilla и заполняем поля хост, имя пользователя и пароль в верхней части интерфейса.
  3. Затем кликаем по кнопке «Быстрое соединение», чтобы получить доступ к корневой директории.

Интерфейс FileZilla

FTP-клиенты мало чем отличаются от файловых менеджеров. Большая их часть визуально напоминает Total Commander. Перед вами появится двухпанельный интерфейс: в одной из панелей будут локальные файлы и папки, во второй — файлы и папки хостинга.

Для управления используются горячие клавиши или элементы в верхней панели FileZilla.

Через панель управления хостинга

Я уже говорил ранее, что некоторые провайдеры предоставляют доступ к файлам на сервере через собственное веб-приложение. Расскажу о том, как работает такое приложение у Timeweb (для управления виртуальным хостингом).

  • Открываем сайт Timeweb.
  • Заходим в саму ПУ.
  • Переходим во вкладку «Файловый менеджер».
  • Открываем директорию public_html.

Если вы пользуетесь услугами другого хостинга, то в нем наверняка есть альтернативное схожее решение для управления файлами сервера напрямую через браузер. Можете уточнить у техподдержки или самостоятельно поискать в ПУ пункт с названием «Файловый менеджер».

Через стороннюю панель управления

Некоторые вебмастера используют для управления сайтом программы в духе ISPmanager. Расскажу о переходе в корень виртуального выделенного сервера на ее примере.

  • Заходим в панель ISPmanager.
  • Авторизуемся, используя данные администратора.
  • Открываем меню «Система».
  • Выбираем подпункт «Менеджер файлов».

Через файловый менеджер

В Explorer (Windows) и в Finder (macOS) есть встроенная поддержка протокола FTP. То есть для подключения к серверу не нужно скачивать стороннее ПО. Достаточно ввести FTP-адрес в соответствующее поле файлового менеджера операционной системы.

Доступ к FTP в macOS

В macOS это делается следующим образом:

  • Открываем Finder.
  • Одновременно нажимаем клавиши Cmd + K.
  • Указываем адрес сервера в формате ftp://IP-адрес сайта
  • Кликаем по кнопке «Подключиться».
  • Авторизуемся, используя данные, которые выдал хостинг.

В Windows:

  • Открываем Explorer.
  • Вводим во встроенную поисковую строку ftp://IP-адрес сайта
  • Авторизуемся, используя данные, которые выдал хостинг.

Корневая папка станет частью файловой системы. С ней можно будет взаимодействовать, как с любым другим каталогом. То есть копировать туда файлы или редактировать их. Правда, для этого потребуются права администратора.

Как загружать файлы в корневой каталог?

Загружать файлы в корень сервера можно через одну из панелей управления указанных выше или через FTP-клиент.

  • Открываем FileZilla (мы уже скачали, установили и настроили ее ранее в инструкции по подключению через FTP).
  • Напротив строки «Локальный сайт» вводим путь до файлов на диске, которые надо загрузить в root.
  • Напротив строки «Удаленный сайт» вводим путь до root-каталога. Например, до папки public_html.
  • Выделяем папку, которую нужно перенести, и открываем меню «Файл».
  • В появившемся списке опций выбираем «Загрузить на сервер» или просто жмем на Enter.

В случае с виртуальным хостингом Timeweb достаточно открыть фирменный менеджер файлов через браузер и перетащить в него файлы с жесткого диска. Здесь полноценно поддерживается Drag & Drop. Но такой метод менее удобен, так как он требует держать браузер открытым и отнимает много времени на загрузку большого количества файлов.

На этом ликбез можно заканчивать. Вы узнали, что такое «корень», зачем он нужен и как загрузить в него файлы. Осталось выбрать наиболее удобный способ для подключения к хранилищу сервера и управления им.

Как Определить, как найти Корневую Папку Веб-Сайта

Небольшой пост по очень важному вопросу. При создании веб-сайта Вам необходимо знать и определять корневую директорию сайта. Этот маленький, но важный вопрос очень многие вебмастера в своих обучающих курсах по созданию веб-сайтов почему-то часто умалчивают.

Всем привет!

Итак,

сегодня рассмотрим, как определить корневую папку сайта, как найти корень сайта. То есть где находится корневой каталог файловой системы, корневая директория сайта. Сначала определим, что такое корневая папка сайта.

Что такое Корневая Папка Сайта и где она находится

Чтобы внести изминения в файлы вашего веб-ресурса, нужно заходить в корневую директорию сайта. Доступ к корневой папке сайта из административной панели WordPress  невозможен. Поэтому знакомимся, что такое корневая папка сайта и где она находится.

Корневая папка веб-сайта – основная папка сайта (корневой каталог) на Вашем хостинге, где хранятся папки, файлы сайта/блога. Которые загружаются на сервер и устанавливаются в корневой директории.

Как найти корневой каталог сайта

Чтобы найти корневой каталог сайта/блога, заходим в панель управления хостингом. С левой стороны вертикальной панели находим вкладку «Менеджер файлов».

Как найти корневой каталог сайта

Корень сайта, Как Определить как найти Корневую Папку Сайта

Как определить корневую папку

Далее, находим папку с названием «www» или «public_html». Какое  название папки — это зависит от веб-хостинга, на котором расположен домен вашего сайта. В нашем примере – «www». Именно эта папка, с названием «www», и является корневой папкой веб-сайта/блога, сюда непосредственно мы загружали WordPress. 

Картинка Корневой каталог веб-сервера

Корневая директория сайта, Как найти Корень Сайта

Откроем папку «www», кликнув по ней мышкой. Если в корневом каталоге, есть папки wp-admin, wp- content и wp-includes,

Что должно быть в корне сайта

Признаки корневого каталога веб-сайта/блога

 файлы .htaccess и robоts.txt – это еще один признак корневого каталога веб-сайта/блога.

Как найти корневой каталог сайта

Как Определить,как найти Корневую Папку Сайта

На этом все! 

Этот короткий пост поможет Вам Определить Корневую Папку Сайта. Где она находится и как найти путь к корневой директории сайта  файловой системы, расположенной на сервере Вашего хостинга — корневой каталог сайта. Именно в эту папку загружается архив с файлами сайта и базы данных.

Если вы не знали данной информации, мы подробно разобрали. Надеюсь, информация будет полезной.

P.S. Как открыть доступ к документу на Google Диске

SEO Оптимизация, Продвижение, Сайт Развитие

Удачи!  

С уважением

Татьяна

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter. Спасибо за то, что помогаете сайту становиться лучше!

DocumentRoot – это каталог верхнего уровня в дереве документов, видимый из Интернета, и эта директива устанавливает каталог в конфигурации, из которой Apache2 или HTTPD ищет и обслуживает веб-файлы с запрошенного URL-адреса в Document Root.

Например:

DocumentRoot "/var/www/html"

затем доступ к http://domain.com/index.html будет относится к /var/www/html/index.html.

DocumentRoot должен быть описан без завершающего слеша.

Поиск Document Root в Apache

Чтобы получить каталог Apache DocumentRoot в Debian, Ubuntu Linux и его производных, таких как Linux Mint, выполните следующую команду grep.

$ grep -i 'DocumentRoot' /etc/apache2/sites-available/000-default.conf
$ grep -i 'DocumentRoot' /etc/apache2/sites-available/default-ssl.conf

В дистрибутивах CentOS, RHEL и Fedora Linux выполните следующую команду.

$ grep -i 'DocumentRoot' /etc/httpd/conf/httpd.conf
$ grep -i 'DocumentRoot' /etc/httpd/conf.d/ssl.conf

Обратите внимание, что расположение каталога DocumentRoot может варьироваться в зависимости от значения директивы DocumentRoot, установленной в конфигурации Apache или httpd.


Кроме того, отдельные каталоги для всех ваших виртуальных хостов должны находиться под DocumentRoot.

Например, если ваш DocumentRoot – /var/www/html, и у вас есть два сайта с именами example1.com и example2.com, вы можете создать их каталоги, как показано на далее:

$ sudo mkdir -p /var/www/html/example1.com/
$ sudo mkdir -p /var/www/html/example2.com/

Затем в файлах конфигурации виртуального хоста укажите их DocumentRoot вышеуказанные каталоги.

Отдайте свои заботы о хорошем контенте на сайте в наши руки

Получи нашу книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».


Подпишись на рассылку и получи книгу в подарок!

Корневой каталог сайта (корень) — это папка на веб-сервере, в которой находятся все файлы ресурса.

Больше видео на нашем канале — изучайте интернет-маркетинг с SEMANTICA

Представьте себе чемодан со множеством отделений. Вы открываете его и видите: в чемодане лежат рубашки, брюки, белье. В 3-х внутренних отделениях вы разместили туалетные принадлежности, галстуки, носки. А одно из внутренних отделений имеет карман, закрывающийся на замок — там лежат ваши документы. Отделения чемодана — это папки. Все, что лежит в нем — это файлы веб-ресурса. Сам чемодан — это ваш веб-проект. А когда вы его открываете и видите все содержимое, не заглядывая во внутренние отделения — это и есть корневой каталог сайта.

В зависимости от хостинга название корневой папки может быть:

HTDOCS, public_html, www и т.п.

Как зайти в корневой каталог сайта

Стоит отметить, что попасть в корень веб-проекта можно несколькими способами:

Через панель управления

Рассмотрим, где находится и как попасть в корневой каталог веб-сайта на примере хостинга beget.

Зайдите в панель управления хостингом и выберете раздел “Файловый менеджер”.

Вы сразу попадете в корневой каталог веб-сервера, где корень каждого веб-сайта имеет название “ДОМЕН”.

При нажатии на соответствующую папку вы увидите каталог public_html, который и является корнем выбранного сайта.

При помощи ftp-клиента

Это программа, которая устанавливается на ваш компьютер. Она позволяет подключаться к серверу, просматривать все файлы, которые на нем находятся и принадлежат вашему порталу.
Введите учетные данные, адрес ресурса.

Вы попадете прямо в корень веб-ресурса.


Через панель управления сайтом

В многих CMS есть возможность просмотреть все файлы, в том числе корневой каталог.

Если на вашем веб-ресурсе установлена CMS MODx — зайдите в админ-панель, выберите в левом меню вкладку “Файлы” — попадете в корень, где размещены все файлы и папки интернет-сайта.

Все вышеуказанные методы нужны не только для просмотра корня, но и для загрузки файлов (документы, картинки и т.п.). В панели управления хостингом и в ftp-клиенте открываются два окна — в одном — корень сайта, в другом — ваш локальный ПК. Вы можете напрямую работать с содержимым: удалять файлы, загружать их на сервер, переименовывать, изменять URL-адрес.

Для чего необходим доступ к корню

Обычно доступ требуется, когда при интеграции со сторонним сервисом нужно подтвердить право владения доменом. Обычно требуется загрузить в корень сайта файл сервиса с необходимыми настройками.

Обзор конфигурации Apache в Ubuntu

В статье представлен обзор конфигурации web сервера Apache в Ubuntu server при стандартном варианте инсталляции LAMP в Ubuntu. Приведена логика и структура организации конфигурационных файлов веб сервера. Описаны назначения основных конфигов сервера. Даны базовые Linux Ubuntu команды для манипуляции конфигурацией, настройки и управления веб сервером Apache. Рассмотрен сайт по умолчанию, который создается в процессе установки Apache. Статья вам будет полезна при настройке и администрировании своего LAMP сервера.

Как добавить поддержку PHP как обработчика сценариев в Apache на Ubuntu или Windows детально описано в статье Установка PHP7 на Windows в разделе Настройка Apache2.4 для работы с PHP.

Apache Default WEB Page

В процессе выполнения стандартной инсталляции web сервера Apache в Ubuntu server создается тестовый сайт, который служит для проверки работоспособности веб сервера после его установки. Этот сайт, по умолчанию, сконфигурирован так, что разрешает обращения из браузера только к файлам и каталогам внутри /var/www директории Ubuntu server. Если, по завершению инсталляции Apache, вы откроете в браузере веб страницу по адресу IP вашего web сервера, то увидите стартовую страницу сервера — Apache2 Ubuntu Default Page. Это будет, в первую очередь, говорить о том, что Apache удачно установился и работает. Эта страница физически располагается на сервере в файле /var/www/html/index.html и за ее настройку и вывод в браузере отвечает конфиг виртуального хоста по умолчанию (/etc/apache2/sites-available/000-default.conf), который определяет виртуальный хост(сайт) для каталога /var/www/html и создается в ходе инсталляции сервера Apache. Соответственно, если вы разместите ваши файлы в этой папке, то они будут обрабатываться web сервером. Также на этой Default Page в секции Configuration Overview вы увидите схематическое представление структуры конфигурационных файлов сервера. Здесь нужно понимать, что структура, названия и расположения конфигов Apache в Ubuntu отличаются от общепринятой схемы, что сделано для удобства управления сервером. Но тут есть один нюанс, который заключается в том, что если вы ранее не были знакомы с организацией каталогов в домашней директории Apache на Ubuntu, то эта схема может вас только запутать, т.к. в ней представлены не все папки, а только каталоги, в которых располагаются символьные ссылки на активированные файлы конфигурации. Поэтому, для более правильного понимания, смотрите полную схему каталогов и фалов домашней директории web сервера Apache расположенную ниже в этой статье. Из ценного в секции веб страницы Apache — это ссылки на man‘ы Debian для команд a2enmod, a2dismod, a2ensite, a2dissite, a2enconf, a2disconf, которые используется для активации и деактивации тех или иных видов файлов конфигурации и будут детально описаны ниже. Так же здесь сказано, что для передачи команд web серверу ( started/stopped etc.) нужно обращаться к /etc/init.d/apache2 или к apache2ctl, что так же является особенностью сервера в Ubuntu. На сервере Ubuntu в файле /usr/share/doc/apache2/README.Debian.gz вы сможете найти полную документацию по Apache.

Перейти к скринкасту на этой странице

По умолчанию, домашний каталог web сервера Apache в Ubuntu находиться по /etc/apache2/ пути в файловой системе. В этом каталоге и его подкаталогах располагаются все конфигурационные файлы Apache. Изменить значение пути домашней директории web сервера можно директивой ServerRoot «/etc/apache2» в главном конфиге apache2.conf. Там, по умолчанию, директива ServerRoot закомментирована, что равносильно ее значению как «/etc/apache2» (завершающего слеша не должно быть в этой директиве!). Значение пути домашней директории Apache (ServerRoot) необходимо серверу, что бы он знал, в каком месте файловой системы ему следует искать свои конфигурационный файлы. Так же значение ServerRoot может подставляться сервером в некоторых директивах, ожидающих в качестве аргумента путь в файловой системе Ubuntu. Поэтому, в таких случаях, если путь указать без начального слеша, то Apache воспримет это как относительный путь по отношению к своей домашней директории. Так, например, если указать директиву AuthUserFile .htpasswd, то в таком варианте Apache будет интерпретировать указанный путь как относительный и превратит его в /etc/apache2/.htpasswd, подставив спереди значение пути своей домашней директории.

Структура домашней директории Apache в Ubuntu

В процессе стандартной установки WEB сервера Apache в Ubuntu создается следующая структура файлов и каталогов домашней директории веб сервера:

/etc/apache2/...............................Домашняя директория Apache в Ubuntu - ServerRoot
    |-- conf-available......................директория, содержит разные конфиги
    |    `-- charset.conf...................файл для указания кодировок
    |    `-- localized-error-pages.conf.....файл для задания страниц ошибок
    |    `-- other-vhosts-access-log.conf...файл для задания логов виртуальных хостов
    |    `-- security.conf..................файл для директив безопасности
    |    `-- serve-cgi-bin.conf.............файл для директив конфигурации CGI
    |-- conf-enabled........................директория, содержит ССЫЛКИ на активированные конфиги из conf-available
    |    `-- @..............................ССЫЛКИ на активированные конфиги из conf-available
    |-- mods-available......................директория, содержит конфиги установленных модулей Apache
    |    `-- ...    ........................доступные конфиги модулей Apache
    |-- mods-enabled........................директория, содержит ССЫЛКИ на активированные конфиги модулей из mods-available
    |    `-- @..............................ССЫЛКИ на активированные конфиги модулей Apache
    |-- sites-available.....................директория содержит доступные конфиги виртуальных хостов
    |    `-- 000-default.conf...............файл виртуального хоста по умолчанию для 80 порта, создан при инсталляции Apache
    |    `-- default-ssl.conf...............файл виртуального хоста по умолчанию для порта 443, создан при инсталляции Apache
    |-- sites-enabled.......................директория, содержит ССЫЛКИ на активированные конфиги виртуальных хостов из sites-enabled
    |    `-- @000-default.conf..............ссылка на активированный конфиг виртуального хоста
    |-- apache2.conf........................ГЛАВНЫЙ конфиг web сервера Apache в Ubuntu
    |-- envvars.............................файл с настройками путей для окружения Apache
    |-- magic...............................Файл скриптов для модуля mime_magic (этот модуль не активен по умолчанию)
    |-- ports.conf..........................файл для задания портов на которых будет принимать подключения Apache

Приведенные примеры представлены из OS Ubuntu server 16.04 LTS, однако тоже самое будет и в других версиях и дистрибутивах Ubuntu как в сервером варианте, так и в desktop варианте.

Логика организации конфигурации Apache

Как уже было сказано выше, в Ubuntu используется отличная от оригинальной организационная структура конфигурационных файлов и директорий для веб сервера Apache.

Во-первых, в Ubuntu, конфигурация Apache разбита на множество разных конфигов по их функциональному назначению. Например, директивы, задающие порт для сервера, вынесены в отдельный файл ports.conf. Директивы, ответственные за те или иные параметры безопасности сервера, вынесены в файл security.conf. Тем самым, директивы как бы сгруппированы по своему смыслу в отдельные конфигурационные файлы. Это достаточно логично и удобно при чтении, правке, активации и деактивации конфигов. При таком подходе каждый, отдельно взятый файл, становиться меньше и является узкоспециализированной частью конфигурации. Однако, нужно понимать, что такое дробление сделано исключительно для удобства и автоматизации настройки и технически, если вы захотите, вы можете записать все директивы и настройки в один файл, просто работать с таким файлом будет не так удобно.

Во-вторых: центром всей конфигурации выступает главный конфиг Apache веб сервера — apache2.conf файл. Именно этот файл в первую очередь ищет и читает web сервер Apache при старте или перезагрузке. А уже в этом файле при помощи директив Include, в месте их указания, выполняется подключение и загрузка всех остальных заданных конфигов. Таким образом, все конфигурационные файлы объединяются в единую конфигурацию web сервера и происходит это, когда Apache читает файлы по порядку их подключения, начиная с главного конфига. Из этого следует важное замечание — порядок следования директив в конфигурации Apache и, соответственно, порядок подключения файлов конфигов имеет значение, так как директивы, прочитанные сервером позднее могут переопределять директивы прочитанные им ранее. Об этом нужно помнить при настройке сервера.

В-третьих: если вы посмотрите на структуру каталогов домашней директории Apache, то увидите три пары директорий с названиями вида: префикс_каталогаavailable/enabled. Такая логическая структура призвана для распределения ваших конфигов на три группы, исходя из префикса названия каталога, где conf-* это каталоги для ваши прочих конфигов, mods-* это каталоги для конфигов модулей Apache и sites-* это каталоги для конфигов ваших виртуальных хостов. Вторая часть имени этих каталогов -available/-enabled логически указывает на доступные вообще и только активные в настоящий момент момент конфиги. Так в директориях *-available хранятся все доступные для использования файлы конфигурации, а уже в директориях вида *-enabled расположены символьные ссылки (ярлыки) только на те конфиги из *-available директории, которые должны быть прочитаны web сервером при загрузке конфигурации. Apache читает только каталоги вида *-enabled, поэтому применяться только те конфиги, на которые в этих каталогах есть ссылки. Такой подход дает еще дополнительный уровень удобства тем, что позволяет вам хранить все ваши конфиги в каталогах домашней директории сервера, а задействовать только необходимые в текущий монет.

В-четвертых: директивы конфигурации web сервера Apache имеют контекст (Context), в котором они действуют. Понятие контекст директивы указывает на то, где, на каком уровне и в каком конфиге данная директива может использоваться. Одна и та же директива может быть разрешена к использованию как только в одном виде контекста, так и в  нескольких видах контекста. Если директива будет использована/записана в недопустимом для нее виде контекста, то будет ошибка web сервера Apache при загрузке конфигурации, которая приведет к его остановке. Поэтому, при написании ваших директив, всегда обращайте внимание на контекст их применения, который всегда указывается в документации к директиве на сайте Apache.

В-пятых: нужно понимать, что Apache выполняет чтение и применение всех активных конфигов только при старте или перезагрузке. После старта Apache уже более не перечитывает конфигурацию. Исключением служит файл .htaccess, который является локальным файлом уровня каталога сайта и перечитывается при каждом обращении к данному каталогу сайта. Соответственно, если вы сделали изменения параметров конфигурации вне .htaccess файла, то для вступления их в силу необходимо перезагрузить web сервер Apache.

Виды контекста директив:

  • server configглобальный уровень директивы для применения в файлах общей конфигурации сервера вне <VirtualHost> и вне <Directory> контейнеров и вне файла .htaccess;
  • virtual host — уровень виртуального хоста для применения директивы в <VirtualHost> контейнере;
  • directory — уровень каталога, директива должна использоваться внутри контейнеров <Location>, <Files>, <If>, <Proxy>;
  • .htaccess — уровень локального каталога сайта, директива может применяться в файле .htaccess.

Команды управления конфигурацией

Для удобства и автоматизации управления конфигурацией Apache в Ubuntu имеются специальные команды, воспользовавшись которыми вы можете включить или исключить из конфигурации сервера те или иные конфигурационные файлы, запустить и перезагрузить сервер, просмотреть и изменить параметры переменных окружения Apache и многое другое.

Команды включения/выключения конфигурации

Для активации и деактивации тех или иных конфигов в Ubuntu предоставляются команды помощники созвучные с available/enabled и префиксом каталога. Например, команда a2enconf, которую можно расшифровать как apache2-enable-conf, выполняет активацию указанного в ее аргументе конфигурационного файла из conf-available каталога путем создания на него символьной ссылки в каталоге conf-enabled. Команда a2disconf выполняет обратное действие, т.е. удаляет эту ссылку. Подобная логика применима и к остальным командам: a2enconf/a2disconf, a2enmod/a2dismod, a2ensite/a2dissite. Но вы так же можете и вручную создать/удалить символьные ссылки на нужные вам конфиги в директориях вида *-enabled.

Внимание: для вступления измений конфигов в силу нужно выполнить перезагрузку конфигурации WEB сервера Apache.

a2enconf/a2disconf

Для включения или выключения нужного конфига из каталога conf-available в конфигурацию сервера используйте команды: a2enconf/a2disconf

Включить конфиг:

sudo a2enconf <config-file-name без суффикса .conf из conf-available>

Выключить конфиг:

sudo a2disconf <config-file-name без суффикса .conf из conf-available>

a2enmod/a2dismod

Для активации установленного модуля Apache из каталога mods-available и деактивации его используйте команды: a2enmod/a2dismod

Включить модуль Apache

sudo a2enmod <mod-name из mods-available>

Выключить модуль Apache

sudo a2dismod <mod-name из mods-available>

a2ensite/a2dissite

Для активации конфигурации виртуального хоста из каталога sites-available и деактивации его используйте команды: a2ensite/a2dissite

Включить виртуальный хост в Apache

sudo a2ensite <vhost-config-file-name без суффикса .conf из sites-available>

Выключить виртуальный хост в Apache

sudo a2dissite <vhost-config-file-name без суффикса .conf из sites-available>

Команды управления Apache

В Ubuntu, благодаря использованию переменных среды, для обращения к демону httpd web сервера можно применять вызовы вида: /etc/init.d/apache2 или apache2ctl или apache2:

sudo /etc/init.d/apache2 [command | httpd-argument]

или

sudo apache2ctl [command | httpd-argument]

или

sudo apache2 [httpd-argument]

где:

  • apache2ctl — сокращение от apache2control — это специальная отдельная утилита (Apache HTTP server control interface) для контроля и управления Apache2 демоном (daemon httpd). apache2ctl возвращает выходное значение 0 при успехе и > 0, если возникает ошибка. Необходимо так же, что бы были установлены переменные среды: APACHE_RUN_USER, APACHE_RUN_GROUP, и APACHE_PID_FILE, которые, по умолчанию, заданы в главном конфиге Apache — apache2.conf;
  • apache2 — это обращение к /etc/init.d/apache2 демону(службе) httpd web сервера Apache через переменную среды.
  • command —  команды: start, stop, restart, fullstatus, status, graceful, graceful-stop, configtest, help, startssl;
  • httpd-argument — это аргументы для httpd демона: [ -d serverroot ] [ -f config ] [ -C directive ] [ -c directive ] [ -D parameter ] [ -e level ] [ -E file ] [  -k  start|restart|grace-ful|stop|graceful-stop ] [ -R directory ] [ -h ] [ -l ] [ -L ] [ -S ] [ -t ] [ -v ] [ -V ] [ -X ] [ -M ]

Внимание: команды apache2ctl и apache2 имеют разный синтаксис аргументов, однако утилита apache2ctl способна обрабатывать как свои собственные команды, так и команды предназначенные для apache2 и поэтому является более универсальной.

Примеры команд управления Apache только для утилиты apache2ctl

sudo apache2ctl start           Запуск Apache2 демона
sudo apache2ctl stop            Остановка Apache2 демона
sudo apache2ctl graceful-stop   Мягкая остановка Apache2 демона
sudo apache2ctl restart         Перезапуск Apache2 демона
sudo apache2ctl graceful        Мягкий перезапуск Apache2 демона
sudo apache2ctl fullstatus      Вывести полный отчет статуса Apache2
sudo apache2ctl status          Вывести отчет статуса Apache2
sudo apache2ctl configtest      Тестирование конфигурации Apache2
sudo apache2ctl startssl        Запуск Apache2 с ssl
sudo apache2ctl help            Выводит справку к apache2ctl

Замечание: на продуктивном сервере нужно стремиться выполнять graceful варианты перезапуска и остановки при которых выполняется ожидание завершения текущих запросов клиентов, что является более корректным как для пользователей, так и для целостности данных, обрабатываемых в текущий момент.

Примеры команд для варианта apache2 [httpd-argument]где: httpd-argument — это один или несколько аргументов из описанных ниже:

sudo apache2 -d "/etc/apache2" переопределить значение ServerRoot

sudo apache2 -f "/etc/apache2/my-config.conf" применить директивы из файла my-config.conf перед стартом сервера. Путь может быть относительным от ServerRoot

sudo apache2 -C directive_name выполнить указанную директиву перед чтением конфигурационных файлов
sudo apache2 -c directive_name выполнить указанную директиву после чтения конфигурационных файлов

sudo apache2 -D parameter установить параметр в директиве <IfDefine> для игнорирования или использования при старте/перезапуске сервера

sudo apache2 -e debug|info|notice|warn|error|crit|alert|emerg установить log_level при старте сервера, удобно при диагностике
sudo apache2 -E file_path  записать сообщения об ошибках при старте сервера в указанный файл file_path

sudo apache2 -k start|restart|grace-ful|stop|graceful-stop выполнить соответствующие действие
sudo apache2 -k start пример запуска сервера

sudo apache2 -R directory_paht задать директорию для общих объектов,если сервер собран с SHARED_CORE правилами

sudo apache2 -h вывод краткой помощи для команды apache2

sudo apache2 -l выводит список модулей с которыми собран сервер, за исключением динамически загруженных модулей через LoadModule директиву в конфигах
sudo apache2 -L выводит список директив загруженной конфигурации с ожидаемыми аргументами и места где эта директива действительна

Тестирование конфигурации:
sudo apache2 -t                    выполнить тестирование конфигурации
sudo apache2 -t -D DUMP_MODULES    тестирование конфигурации и вывод списка всех загруженных модулей
sudo apache2 -M                    синоним для t -D DUMP_MODULES выводит список статически загружаемых модулей и всех модулей
sudo apache2 -t -D DUMP_RUN_CFG    тестирование конфигурации и вывод настроек конфигурации, примененной при старте сервера
sudo apache2 -t -D DUMP_VHOSTS     тестирование конфигурации и вывод примененных при старте сервера настроек конфигурации виртуальных хостов
sudo apache2 -S                    синоним для -t -D DUMP_VHOSTS -D DUMP_RUN_CFG выводит настройки виртуальных хостов

sudo apache2 -v                    выводит только версию Apache
sudo apache2 -V                    выводит версию Apache и параметры сборки

sudo apache2 -X                    запустить Apache в режиме отладки из консоли
sudo apache2 -T                    запуск без DocumentRoot(s) проверки

Системные команды для Apache

В Ubuntu для Apache, так же как и для других служб системы, доступны команды вида:

sudo service apache2 start|stop|graceful-stop|restart|reload|force-reload|status

Примеры общих системных команд управления Apache web сервером:

sudo service apache2 start           Запуск Apache2
sudo service apache2 stop            Остановка Apache2
sudo service apache2 graceful-stop   Мягкая остановка Apache2
sudo service apache2 restart         Перезапуск Apache2
sudo service apache2 reload          Мягкий перезапуск Apache2
sudo service apache2 force-reload    Форсированный перезапуск Apache2

Мягкие варианты перезапуска ожидают завершения запросов текущих клиентов и предпочтительны к использованию на продуктивном сервере. Но, иногда бывает ситуации, когда, при настройке и тестировании вами web сервера, после изменения вами конфигов и мягком перезапуске сервера вы видите, что для вашего клиента, с которого вы ведете тестирование, изменения не вступили в силу, то выполните переподключение к серверу на клиенте. Если это не помогло, то выполняйте уже обычный restart сервера.

В заключении обзора конфигурации WEB сервера Apache в Ubuntu хочется отметить, что все описанные каталоги, логика и команды будут применимы как для серверной версии, так и для десктопной версии Ubuntu. Поэтому, если вы уже работает в Ubuntu Desktop и настраиваете свой разработческий LAMP сервер, то просто откройте терминал и выполняйте в нем вышеописанные команды.

Понравилась статья? Поделить с друзьями:
  • Minecraft как найти алмазы 100
  • Как найти медиану ряда с нечетным числом
  • Мутное видео как это исправить
  • Как составить финансовую отчетность для учредителей
  • Как найти файл config ini