Что такое корень сервера apache и где он находится по умолчанию для систем Windows
Обновлено: 21.11.2024
Apache — наиболее часто используемый веб-сервер в системах Linux. Веб-серверы используются для обслуживания веб-страниц, запрашиваемых клиентскими компьютерами. Клиенты обычно запрашивают и просматривают веб-страницы с помощью приложений веб-браузера, таких как Firefox, Opera, Chromium или Internet Explorer.
Пользователи вводят унифицированный указатель ресурса (URL), чтобы указать на веб-сервер с помощью его полного доменного имени (FQDN) и пути к требуемому ресурсу. Например, чтобы просмотреть домашнюю страницу веб-сайта Ubuntu, пользователь введет только полное доменное имя:
Чтобы просмотреть подстраницу сообщества, пользователь должен ввести полное доменное имя, а затем путь:
Веб-серверы Apache часто используются в сочетании с ядром базы данных MySQL, языком сценариев препроцессора гипертекста (PHP) и другими популярными языками сценариев, такими как Python и Perl. Эта конфигурация называется LAMP (Linux, Apache, MySQL и Perl/Python/PHP) и образует мощную и надежную платформу для разработки и развертывания веб-приложений.
Установка
Веб-сервер Apache2 доступен в Ubuntu Linux. Чтобы установить Apache2:
В терминале введите следующую команду:
Конфигурация
Apache2 настраивается путем размещения директив в текстовых файлах конфигурации. Эти директивы разделены между следующими файлами и каталогами:
apache2.conf: основной файл конфигурации Apache2. Содержит настройки, которые являются глобальными для Apache2.
conf-available: этот каталог содержит доступные файлы конфигурации. Все файлы, которые ранее находились в /etc/apache2/conf.d, следует переместить в /etc/apache2/conf-available .
conf-enabled: содержит символические ссылки на файлы в /etc/apache2/conf-available . Когда файл конфигурации имеет символическую ссылку, он будет включен при следующем перезапуске apache2.
envvars: файл, в котором устанавливаются переменные среды Apache2.
mods-available: этот каталог содержит файлы конфигурации для загрузки модулей и их настройки. Однако не все модули будут иметь определенные файлы конфигурации.
mods-enabled: содержит символические ссылки на файлы в /etc/apache2/mods-available . Когда файл конфигурации модуля связан символической ссылкой, он будет включен при следующем перезапуске apache2.
ports.conf: содержит директивы, определяющие, какие TCP-порты прослушивает Apache2.
сайты доступны: в этом каталоге находятся файлы конфигурации для виртуальных хостов Apache2. Виртуальные хосты позволяют настроить Apache2 для нескольких сайтов с отдельными конфигурациями.
sites-enabled: как и с модами, site-enabled содержит символические ссылки на каталог /etc/apache2/sites-available. Точно так же, когда файл конфигурации в Sites-Available является символической ссылкой, настроенный им сайт будет активен после перезапуска Apache2.
магия: инструкции по определению типа MIME на основе первых нескольких байтов файла.
Кроме того, с помощью директивы Include можно добавить другие файлы конфигурации, а для включения многих файлов конфигурации можно использовать подстановочные знаки. Любая директива может быть помещена в любой из этих конфигурационных файлов. Изменения в основных файлах конфигурации распознаются Apache2 только при его запуске или перезапуске.
Сервер также считывает файл, содержащий типы MIME-документов; имя файла задается директивой TypesConfig, обычно через /etc/apache2/mods-available/mime.conf , которая также может включать дополнения и переопределения, и по умолчанию является /etc/mime.types.
Основные настройки
В этом разделе объясняются основные параметры конфигурации сервера Apache2. Дополнительные сведения см. в документации Apache2.
Apache2 поставляется с конфигурацией по умолчанию, удобной для виртуального хоста. То есть он настроен с одним виртуальным хостом по умолчанию (с помощью директивы VirtualHost), который можно изменить или использовать как есть, если у вас есть один сайт, или использовать в качестве шаблона для дополнительных виртуальных хостов. если у вас несколько сайтов. Если оставить его в покое, виртуальный хост по умолчанию будет служить вашим сайтом по умолчанию, или пользователи сайта увидят, не соответствует ли введенный ими URL-адрес директиве ServerName любого из ваших пользовательских сайтов. Чтобы изменить виртуальный хост по умолчанию, отредактируйте файл /etc/apache2/sites-available/000-default.conf .
Примечание
Директивы, установленные для виртуального хоста, применяются только к этому конкретному виртуальному хосту. Если директива установлена для всего сервера и не определена в настройках виртуального хоста, используется настройка по умолчанию. Например, вы можете определить адрес электронной почты веб-мастера, а не отдельные адреса электронной почты для каждого виртуального хоста.
Если вы хотите настроить новый виртуальный хост или сайт, скопируйте этот файл в тот же каталог с выбранным вами именем.Например:
Отредактируйте новый файл, чтобы настроить новый сайт, используя некоторые директивы, описанные ниже.
Директива ServerAdmin указывает адрес электронной почты, который будет рекламироваться для администратора сервера. Значение по умолчанию — webmaster@localhost. Это должно быть изменено на адрес электронной почты, который доставлен вам (если вы являетесь администратором сервера). Если на вашем веб-сайте возникла проблема, Apache2 отобразит сообщение об ошибке, содержащее этот адрес электронной почты, на который следует сообщить о проблеме. Найдите эту директиву в файле конфигурации вашего сайта в /etc/apache2/sites-available.
Директива Listen указывает порт и, возможно, IP-адрес, который Apache2 должен прослушивать. Если IP-адрес не указан, Apache2 будет прослушивать все IP-адреса, назначенные машине, на которой он работает. Значение по умолчанию для директивы Listen — 80. Измените это значение на 127.0.0.1:80, чтобы заставить Apache2 прослушивать только ваш петлевой интерфейс, чтобы он не был доступен в Интернете, на (например) 81, чтобы изменить порт, который он слушает или оставьте все как есть для нормальной работы. Эту директиву можно найти и изменить в отдельном файле /etc/apache2/ports.conf
Директива DocumentRoot указывает, где Apache2 должен искать файлы, составляющие сайт. Значение по умолчанию — /var/www/html, как указано в /etc/apache2/sites-available/000-default.conf. При желании измените это значение в файле виртуального хоста вашего сайта и не забудьте создать этот каталог, если это необходимо!
Включите новый VirtualHost с помощью утилиты a2ensite и перезапустите Apache2:
Примечание
Обязательно замените mynewsite на более описательное имя виртуального хоста. Один из способов — назвать файл после директивы ServerName VirtualHost.
Аналогичным образом используйте утилиту a2dissite для отключения сайтов. Это может быть полезно при устранении неполадок с конфигурацией нескольких виртуальных хостов:
Настройки по умолчанию
В этом разделе объясняется настройка параметров сервера Apache2 по умолчанию. Например, если вы добавите виртуальный хост, параметры, настроенные для виртуального хоста, будут иметь приоритет для этого виртуального хоста. Для директивы, не определенной в настройках виртуального хоста, используется значение по умолчанию.
DirectoryIndex – это страница по умолчанию, которую сервер обслуживает, когда пользователь запрашивает индекс каталога, указав косую черту (/) в конце имени каталога.
По умолчанию сервер записывает журнал передачи в файл /var/log/apache2/access.log . Вы можете изменить это для каждого сайта в файлах конфигурации вашего виртуального хоста с помощью директивы CustomLog или опустить его, чтобы принять значение по умолчанию, указанное в /etc/apache2/conf-available/other-vhosts. -access-log.conf . Вы также можете указать файл, в который заносятся ошибки, с помощью директивы ErrorLog, значение по умолчанию которой — /var/log/apache2/error.log . Они хранятся отдельно от журналов передачи, чтобы помочь в устранении неполадок с вашим сервером Apache2. Вы также можете указать LogLevel (значение по умолчанию — «warn») и LogFormat (значение по умолчанию см. в /etc/apache2/apache2.conf). р>
Некоторые параметры задаются для каждого каталога, а не для каждого сервера. Параметры — одна из этих директив. Раздел каталога заключен в XML-подобные теги, например:
Директива Options в разделе Directory принимает одно или несколько следующих значений (среди прочих), разделенных пробелами:
ExecCGI — разрешить выполнение сценариев CGI. Сценарии CGI не выполняются, если этот параметр не выбран.
Внимание!
Большинство файлов не должны выполняться как сценарии CGI. Это было бы очень опасно. CGI-скрипты должны храниться в каталоге, отдельном от вашего DocumentRoot и за его пределами, и только этот каталог должен иметь установленную опцию ExecCGI. Это значение по умолчанию, а расположение CGI-скриптов по умолчанию — /usr/lib/cgi-bin .
Включает — разрешить включение на стороне сервера. Включение на стороне сервера позволяет HTML-файлу включать другие файлы. Дополнительную информацию см. в документации по Apache SSI (сообщество Ubuntu).
Индексы — отображение отформатированного списка содержимого каталога, если в запрашиваемом каталоге нет DirectoryIndex (например, index.html).
Внимание!
Из соображений безопасности это обычно не следует устанавливать и, конечно же, не следует устанавливать в каталоге DocumentRoot. Включайте этот параметр осторожно для каждого каталога, только если вы уверены, что хотите, чтобы пользователи видели все содержимое каталога.
Мультипросмотр — поддержка мультипросмотра с согласованием содержания; эта опция отключена по умолчанию из соображений безопасности. См. документацию Apache2 по этому параметру.
SymLinksIfOwnerMatch – переходите по символическим ссылкам только в том случае, если у целевого файла или каталога тот же владелец, что и у ссылки.
Настройки apache2
В этом разделе объясняются некоторые основные настройки конфигурации демона apache2.
LockFile. Директива LockFile задает путь к файлу блокировки, используемому при компиляции сервера с использованием либо USE_FCNTL_SERIALIZED_ACCEPT, либо USE_FLOCK_SERIALIZED_ACCEPT. Он должен храниться на локальном диске. Следует оставить значение по умолчанию, если только каталог журналов не находится в общем ресурсе NFS. В этом случае значение по умолчанию следует изменить на расположение на локальном диске и на каталог, доступный для чтения только пользователю root.
PidFile — директива PidFile задает файл, в котором сервер записывает свой идентификатор процесса (pid). Этот файл должен быть доступен для чтения только пользователю root. В большинстве случаев следует оставить значение по умолчанию.
Пользователь. Директива User устанавливает идентификатор пользователя, используемый сервером для ответа на запросы. Этот параметр определяет доступ к серверу. Любые файлы, недоступные для этого пользователя, также будут недоступны для посетителей вашего сайта. Значением по умолчанию для пользователя является «www-data».
Предупреждение
Если вы точно не знаете, что делаете, не устанавливайте для директивы User значение root. Использование root в качестве пользователя создаст большие дыры в безопасности вашего веб-сервера.
Группа. Директива Group аналогична директиве User. Группа задает группу, под которой сервер будет отвечать на запросы. Группа по умолчанию также «www-data».
Модули Apache2
Apache2 — это модульный сервер. Это означает, что в главный сервер включены только самые основные функции. Расширенные функции доступны через модули, которые можно загрузить в Apache2. По умолчанию базовый набор модулей включается в сервер во время компиляции. Если сервер скомпилирован для использования динамически загружаемых модулей, то модули можно скомпилировать отдельно и добавить в любой момент с помощью директивы LoadModule. В противном случае Apache2 необходимо перекомпилировать для добавления или удаления модулей.
Ubuntu компилирует Apache2 для динамической загрузки модулей. Директивы конфигурации могут быть включены условно при наличии определенного модуля, заключив их в блок.
Вы можете установить дополнительные модули Apache2 и использовать их на своем веб-сервере. Например, выполните следующую команду в терминале, чтобы установить модуль Python 3 WSGI:
Установка активирует модуль автоматически, но мы можем отключить его с помощью a2dismod :
А затем используйте утилиту a2enmod, чтобы снова включить его:
Дополнительные модули, уже доступные в вашей системе, см. в каталоге /etc/apache2/mods-available.
Модуль mod_ssl доступен в пакете apache2-common. Выполните следующую команду в терминале, чтобы включить модуль mod_ssl:
Примечание
Каталоги /etc/ssl/certs и /etc/ssl/private являются местоположениями по умолчанию. Если вы устанавливаете сертификат и ключ в другом каталоге, не забудьте соответствующим образом изменить SSLCertificateFile и SSLCertificateKeyFile.
Примечание
В зависимости от того, как вы получили сертификат, вам может потребоваться ввести кодовую фразу при запуске Apache2.
Общий доступ к записи
Чтобы несколько пользователей могли писать в один и тот же каталог, необходимо предоставить разрешение на запись группе, к которой они принадлежат. В следующем примере группе «веб-мастера» предоставляется совместное разрешение на запись в /var/www/html.
Эти команды рекурсивно устанавливают групповое разрешение для всех файлов и каталогов в /var/www/html, чтобы разрешить чтение, запись и поиск в каталогах. Многие администраторы находят это полезным, позволяя нескольким пользователям редактировать файлы в дереве каталогов.
Предупреждение
Демон apache2 будет работать от имени пользователя www-data, у которого есть соответствующая группа www-data. Им не следует предоставлять доступ на запись к корню документа, так как это будет означать, что уязвимости в Apache или обслуживаемых им приложениях позволят злоумышленникам перезаписать обслуживаемый контент.
Ссылки
Документация Apache2 содержит подробную информацию о директивах конфигурации Apache2. Кроме того, официальную документацию по Apache2 см. в пакете apache2-doc.
Поваренная книга O’Reilly по Apache – это хороший ресурс для выполнения определенных конфигураций Apache2.
Примечания для конкретных платформ
Использование Apache с Microsoft Windows
В этом документе объясняется, как установить, настроить и запустить Apache 2.0 в Microsoft Windows. Если вы обнаружите какие-либо ошибки или хотите внести свой вклад другим способом, воспользуйтесь нашей страницей сообщений об ошибках.
В этом документе предполагается, что вы устанавливаете двоичный дистрибутив Apache. Если вы хотите скомпилировать Apache самостоятельно (возможно, чтобы помочь в разработке или отследить ошибки), см. раздел Компиляция Apache для Microsoft Windows.
Из-за текущих политик управления версиями в семействах операционных систем Microsoft Windows в этом документе предполагается следующее:
Основной платформой Windows для запуска Apache 2.0 является Windows NT. Двоичный установщик работает только с процессорами семейства x86, такими как процессоры Intel и AMD. Запуск Apache в Windows 9x тщательно не тестировался, и его никогда не рекомендуется использовать в производственных системах.
Во всех операционных системах должна быть установлена и работать сеть TCP/IP. При работе в Windows 95 необходимо установить обновление Winsock 2. Winsock 2 для Windows 95 можно скачать отсюда.
В Windows NT 4.0 настоятельно рекомендуется установить пакет обновления 6, так как пакет обновления 4 создал известные проблемы с целостностью TCP/IP и Winsock, которые были устранены в более поздних пакетах обновления.
Загрузка Apache для Windows
Для установки в Windows необходимо загрузить версию Apache для Windows с расширением .msi. Это единый файл установщика Microsoft, который содержит готовую к запуску версию Apache. Существует отдельный файл .zip, который содержит только исходный код. Вы можете самостоятельно скомпилировать Apache с помощью инструментов Microsoft Visual C++ (Visual Studio).
Установка Apache для Windows
Для установки вам потребуется Microsoft Installer 1.2 или более поздней версии. В Windows 9x вы можете обновить установщик Microsoft до версии 2.0 здесь, а в Windows NT 4.0 и 2000 обновление версии 2.0 можно найти здесь. Для Windows XP это обновление не требуется.
Обратите внимание, что вы не можете установить две версии Apache 2.0 на один и тот же компьютер с помощью двоичного установщика. Однако вы можете без проблем установить версию серии 1.3 и версию серии 2.0 на один и тот же компьютер. Если вам нужно иметь две разные версии 2.0 на одном компьютере, вам необходимо скомпилировать и установить Apache из исходного кода.
Запустите файл Apache .msi, который вы скачали выше. Программа установки спросит вас о следующих вещах:
Адрес электронной почты администратора. Введите здесь адрес электронной почты администратора сервера или веб-мастера. Этот адрес будет отображаться вместе с сообщениями об ошибках для клиента по умолчанию.
Для кого установить Apache Select для всех пользователей на порт 80 в качестве службы. Рекомендуется, если вы хотите, чтобы ваш новый Apache прослушивал порт 80 для входящего трафика. Он будет работать как служба (то есть Apache будет работать, даже если в данный момент никто не вошел в систему на сервере) Выберите только для текущего пользователя на порту 8080 при запуске Вручную, если вы хотите установить Apache для ваши личные эксперименты или если у вас уже есть другой WWW-сервер, работающий на порту 80.
Тип установки. Выберите «Типичный» для всего, кроме исходного кода и библиотек для разработки модулей. С помощью Custom вы можете указать, что устанавливать. Для полной установки потребуется около 13 мегабайт свободного места на диске. Это не включает размер вашего веб-сайта(ов).
Где установить. Путь по умолчанию — C:\Program Files\Apache Group, в котором по умолчанию будет создан каталог с именем Apache2.
Кроме того, если у вас уже есть файл с именем htdocs\index.html , он не будет перезаписан (и index.html.default также не будет установлен). Это означает, что установка Apache поверх существующей установки должна быть безопасной, хотя вам придется остановить существующий работающий сервер перед установкой, а затем запустить новый после завершения установки.
После установки Apache необходимо отредактировать файлы конфигурации в подкаталоге conf по мере необходимости. Эти файлы будут настроены во время установки, чтобы Apache был готов к запуску из каталога, в который он был установлен, с сервером документов из подкаталога htdocs. Есть много других параметров, которые вы должны установить, прежде чем действительно начнете использовать Apache. Однако для быстрого начала работы файлы должны работать так, как они установлены.
Настройка Apache для Windows
Apache настраивается с помощью файлов в подкаталоге conf. Это те же самые файлы, которые используются для настройки версии Unix, но есть несколько других директив для Apache в Windows. Все доступные директивы см. в указателе директив.
Поскольку Apache для Windows является многопоточным, он не использует отдельный процесс для каждого запроса, как это делает Apache в Unix. Вместо этого обычно работают только два процесса Apache: родительский процесс и дочерний процесс, который обрабатывает запросы. Внутри дочернего процесса каждый запрос обрабатывается отдельным потоком.
Директивы управления процессами также отличаются:
MaxRequestsPerChild: как и директива Unix, определяет, сколько запросов будет обслуживать один дочерний процесс перед выходом. Однако, в отличие от Unix, один процесс обслуживает все запросы одновременно, а не только один. Если это установлено, рекомендуется использовать очень большое число. Рекомендуемое значение по умолчанию, MaxRequestsPerChild 0 , приводит к тому, что дочерний процесс никогда не завершается.
ThreadsPerChild: эта директива является новой. Он сообщает серверу, сколько потоков он должен использовать.Это максимальное количество соединений, которое сервер может обрабатывать одновременно, поэтому убедитесь, что это число достаточно велико для вашего сайта, если вы получаете много посещений. Рекомендуемое значение по умолчанию — ThreadsPerChild 50 .
Директивы, которые принимают имена файлов в качестве аргументов, должны использовать имена файлов Windows, а не Unix. Однако, поскольку внутри Apache используются имена в стиле Unix, вы должны использовать прямую косую черту, а не обратную косую черту. Можно использовать буквы дисков; если опущено, предполагается, что это диск с исполняемым файлом Apache.
Хотя имена файлов обычно нечувствительны к регистру в Windows, URL-адреса по-прежнему обрабатываются внутренне как чувствительные к регистру, прежде чем они сопоставляются с файловой системой. Например, все директивы Location , Alias и ProxyPass используют аргументы с учетом регистра. По этой причине особенно важно использовать директиву Directory при попытке ограничить доступ к содержимому в файловой системе, поскольку эта директива применяется к любому содержимому в каталоге, независимо от того, как к нему осуществляется доступ. Если вы хотите убедиться, что в URL-адресах используются только строчные буквы, вы можете использовать что-то вроде:
Apache для Windows позволяет загружать модули во время выполнения без перекомпиляции сервера. Если Apache скомпилирован нормально, он установит несколько дополнительных модулей в каталог \Apache2\modules. Для активации тех или иных модулей необходимо использовать новую директиву LoadModule. Например, чтобы активировать модуль состояния, используйте следующее (в дополнение к директивам активации состояния в access.conf):
LoadModule status_module modules/mod_status.so
Также доступна информация о создании загружаемых модулей.
Apache также может загружать расширения ISAPI (Internet Server Application Programming Interface) (т. е. серверные интернет-приложения), например, используемые Microsoft IIS и другими серверами Windows. Доступна дополнительная информация. Обратите внимание, что Apache не может загружать фильтры ISAPI.
При запуске сценариев CGI метод, используемый Apache для поиска интерпретатора сценария, настраивается с помощью директивы ScriptInterpreterSource.
Поскольку в Windows зачастую сложно управлять файлами с такими именами, как .htaccess, может оказаться полезным изменить имя этого файла конфигурации для каждого каталога с помощью директивы AccessFilename.
Любые ошибки во время запуска Apache регистрируются в журнале событий Windows при работе в Windows NT. Этот механизм действует как резервная копия для тех ситуаций, когда Apache не может даже получить доступ к обычно используемому файлу error.log. Журнал событий Windows можно просмотреть с помощью приложения "Просмотр событий" в Windows NT 4.0 и оснастки MMC "Просмотр событий" в более новых версиях Windows.
Apache можно запускать как службу в Windows NT. Существует экспериментальная поддержка аналогичного поведения в Windows 9x.
Вы можете установить Apache как службу автоматически во время установки. Если вы выбрали установку для всех пользователей, при установке будет создана служба Apache. Если вы укажете установку только для себя, вы можете вручную зарегистрировать Apache как службу после установки. Чтобы установка службы прошла успешно, вы должны быть членом группы администраторов.
Apache поставляется с утилитой под названием Apache Service Monitor. С его помощью вы можете видеть и управлять состоянием всех установленных служб Apache на любом компьютере в вашей сети. Чтобы иметь возможность управлять службой Apache с помощью монитора, вы должны сначала установить службу (либо автоматически при установке, либо вручную).
Вы можете установить Apache как службу Windows NT, выполнив следующие действия из командной строки в подкаталоге Apache bin:
Если вам нужно указать имя службы, которую вы хотите установить, используйте следующую команду. Вы должны сделать это, если на вашем компьютере установлено несколько различных служб Apache.
httpd -k install -n "MyServiceName"
Если вам нужны файлы конфигурации с особыми именами для разных служб, вы должны использовать это:
httpd -k install -n "MyServiceName" -f "c:\files\my.conf"
Удалить службу Apache очень просто. Просто используйте:
Конкретную службу Apache, которую нужно удалить, можно указать с помощью:
httpd -k uninstall -n "MyServiceName"
Обычный запуск, перезапуск и завершение работы службы Apache обычно выполняется с помощью монитора службы Apache с помощью таких команд, как NET START Apache2 и NET STOP Apache2, или с помощью обычного управления службами Windows. Прежде чем каким-либо образом запускать Apache как службу, вы должны протестировать файл конфигурации службы, используя:
httpd -n "MyServiceName" -t
Вы также можете управлять службой Apache с помощью ее переключателей командной строки. Чтобы запустить установленную службу Apache, вы будете использовать это:
Чтобы остановить службу Apache с помощью переключателей командной строки, используйте следующее:
Вы также можете перезапустить запущенную службу и заставить ее перечитать свой файл конфигурации, используя:
По умолчанию все службы Apache зарегистрированы для запуска от имени системного пользователя (учетная запись LocalSystem). Учетная запись LocalSystem не имеет прав доступа к вашей сети через какой-либо защищенный Windows механизм, включая файловую систему, именованные каналы, DCOM или безопасный RPC. Однако локально он имеет широкие привилегии.
Никогда не предоставляйте никакие сетевые привилегии учетной записи LocalSystem! Если вам нужно, чтобы Apache имел доступ к сетевым ресурсам, создайте отдельную учетную запись для Apache, как указано ниже.
Возможно, вы захотите создать отдельную учетную запись для запуска служб Apache. Особенно, если вам нужно получить доступ к сетевым ресурсам через Apache, это настоятельно рекомендуется.
- Создайте обычную учетную запись пользователя домена и обязательно запомните ее пароль.
- Предоставьте вновь созданному пользователю право входа в качестве службы и действия в качестве части операционной системы. В Windows NT 4.0 эти привилегии предоставляются с помощью диспетчера пользователей для доменов, но в Windows 2000 и XP вы, вероятно, захотите использовать групповую политику для распространения этих параметров. Вы также можете установить их вручную с помощью оснастки MMC локальной политики безопасности.
- Подтвердите, что созданный аккаунт является членом группы "Пользователи".
- Предоставьте учетной записи права на чтение и выполнение (RX) для всех папок документов и сценариев (например, htdocs и cgi-bin).
- Предоставьте права на изменение учетной записи (RWXD) каталогу журналов Apache.
- Предоставьте учетной записи права на чтение и выполнение (RX) двоичного исполняемого файла Apache.exe.
Если вы разрешите учетной записи входить в систему как пользователь и как служба, вы можете войти в систему с этой учетной записью и проверить, что учетная запись имеет права на выполнение сценариев, чтение веб-страниц и что вы можете запускать Apache в окне консоли. Если это работает, и вы выполнили описанные выше шаги, Apache должен работать как служба без проблем.
Код ошибки 2186 указывает на то, что вам необходимо проверить конфигурацию «Вход в систему как» для службы, поскольку Apache не может получить доступ к требуемому сетевому ресурсу. Кроме того, обратите особое внимание на привилегии пользователя, от имени которого настроен Apache.
При запуске Apache в качестве службы вы можете столкнуться с сообщением об ошибке от диспетчера управления службами Windows. Например, если вы попытаетесь запустить Apache с помощью апплета «Службы» в панели управления Windows, вы можете получить следующее сообщение:
Не удалось запустить службу Apache2 на \\COMPUTER
Ошибка 1067; Процесс неожиданно завершился.
Вы получите эту общую ошибку, если возникнут проблемы с запуском службы Apache. Чтобы увидеть, что действительно вызывает проблему, следуйте инструкциям по запуску Apache для Windows из командной строки.
Apache в Windows 9x поддерживает поведение аналогично службе в Windows NT. Это очень экспериментально. Он не имеет промышленной надежности, и его будущее не гарантировано. В основном это может рассматриваться как рискованная игра - действуйте осторожно!
Существуют некоторые различия между двумя типами услуг, о которых вам следует знать:
Apache попытается запуститься и в случае успеха будет работать в фоновом режиме. Если вы запустите команду
httpd -n "MyServiceName" -k start
Windows 9x не поддерживает команды NET START или NET STOP. Вы должны управлять службой Apache в командной строке с помощью ключей -k.
Apache и Windows 9x не поддерживают запуск Apache от имени конкретного пользователя с сетевыми привилегиями. На самом деле, Windows 9x также не обеспечивает безопасности на локальной машине. Это простая причина, по которой Apache Software Foundation никогда не одобряет использование системы на базе Windows 9x в качестве общедоступного сервера Apache. Примитивная поддержка Windows 9x существует только для того, чтобы помочь пользователю в разработке веб-контента и изучении сервера Apache, а также, возможно, в качестве сервера интрасети в защищенной частной сети.
Убедившись, что Apache работает правильно как консольное приложение, вы можете устанавливать, контролировать и удалять псевдослужбу с помощью тех же команд, что и в Windows NT. Вы также можете использовать Apache Service Monitor для управления псевдослужбами Windows 9x.
Запуск Apache как консольного приложения
Запуск Apache как службы обычно является рекомендуемым способом его использования, но иногда проще работать из командной строки (в Windows 9x рекомендуется запускать Apache из командной строки из-за отсутствия надежной поддержки службы). .)
Чтобы запустить Apache из командной строки в качестве консольного приложения, используйте следующую команду:
Apache запустится и продолжит работу до тех пор, пока не будет остановлен нажатием Control-C.
Вы можете остановить работающий Apache, открыв другое окно консоли и введя:
Это предпочтительнее, чем нажатие Control-C, потому что это позволяет Apache завершить любые текущие операции и корректно выполнить очистку.
Вы также можете перезапустить Apache.Это заставляет его перечитать файл конфигурации. Любые выполняемые операции могут выполняться без перерыва. Чтобы перезапустить Apache, используйте:
Если окно консоли Apache закрывается сразу или неожиданно после запуска, откройте командную строку из меню "Пуск" --> "Программы". Перейдите в папку, в которую вы установили Apache, введите команду apache и прочитайте сообщение об ошибке. Затем перейдите в папку журналов и просмотрите файл error.log на наличие ошибок конфигурации. Если вы приняли значения по умолчанию при установке Apache, команды будут такими:
Затем подождите, пока Apache остановится, или нажмите Control-C. Затем введите следующее:
При работе с Apache важно знать, как он найдет файл конфигурации. Вы можете указать файл конфигурации в командной строке двумя способами:
-f указывает абсолютный или относительный путь к определенному файлу конфигурации:
httpd -f "c:\my server files\anotherconfig.conf"
-n указывает установленную службу Apache, файл конфигурации которой будет использоваться:
В обоих этих случаях в файле конфигурации должен быть установлен правильный ServerRoot.
Затем Apache попытается определить корневой сервер, выполнив следующие действия в указанном порядке:
Во время установки в реестре Windows создается ключ реестра для конкретной версии. Расположение этого ключа зависит от типа установки. Если вы решили установить Apache для всех пользователей, ключ находится в кусте HKEY_LOCAL_MACHINE, как здесь (номера версий, конечно, будут различаться в разных версиях Apache:
Соответственно, если вы решили установить Apache только для текущего пользователя, ключ находится в кусте HKEY_CURRENT_USER, содержимое которого зависит от пользователя, вошедшего в систему в данный момент:
Этот ключ компилируется на сервере и позволяет тестировать новые версии, не затрагивая текущую версию. Конечно, вы должны следить за тем, чтобы новая версия не устанавливалась в тот же каталог, что и другая версия.
Если вы не выполнили бинарную установку, Apache в некоторых случаях будет жаловаться на отсутствие ключа реестра. Это предупреждение можно проигнорировать, если серверу удалось найти свой файл конфигурации.
Проверка установки
После запуска Apache (в окне консоли или в качестве службы) он будет прослушивать порт 80 (если только вы не изменили директиву Listen в файлах конфигурации или не установили Apache только для текущего пользователя). Чтобы подключиться к серверу и получить доступ к странице по умолчанию, запустите браузер и введите этот URL-адрес:
Apache должен ответить приветственной страницей и ссылкой на руководство по Apache. Если ничего не происходит или вы получаете сообщение об ошибке, посмотрите файл error.log в подкаталоге logs. Если ваш хост не подключен к сети или у вас есть серьезные проблемы с конфигурацией DNS (службы доменных имен), возможно, вам придется использовать этот URL-адрес:
Если вы запускаете Apache на альтернативном порту, вам необходимо явно указать это в URL-адресе:
После того, как ваша базовая установка заработает, вы должны правильно настроить ее, отредактировав файлы в подкаталоге conf. Опять же, если вы изменяете конфигурацию службы Windows NT для Apache, сначала попытайтесь запустить ее из командной строки, чтобы убедиться, что служба запускается без ошибок.
Поскольку Apache не может использовать один и тот же порт с другим приложением TCP/IP, перед запуском Apache может потребоваться остановить, удалить или перенастроить некоторые другие службы. Эти конфликтующие службы включают другие WWW-серверы и некоторые реализации брандмауэра.
В этом документе объясняется, как установить, настроить и запустить Apache 2.5 в Microsoft Windows. Если после просмотра документации (а также любых журналов событий и ошибок) у вас возникнут вопросы, вам следует обратиться к списку рассылки поддерживаемых коллегами пользователей.
В этом документе предполагается, что вы устанавливаете двоичный дистрибутив Apache. Если вы хотите скомпилировать Apache самостоятельно (возможно, чтобы помочь в разработке или отследить ошибки), см. раздел Компиляция Apache для Microsoft Windows.
- Требования к операционной системе
- Загрузка Apache для Windows
- Настройка Apache для Windows
- Запуск Apache как службы
- Запуск Apache в качестве консольного приложения
- Проверка установки
- Настройка доступа к сетевым ресурсам
- Настройка Windows
См. также
Требования к операционной системе ¶
Основной платформой Windows для запуска Apache 2.5 является Windows 2000 или более поздней версии. Всегда получайте и устанавливайте текущий пакет обновлений, чтобы избежать ошибок операционной системы.
Загрузка Apache для Windows ¶
Настройка Apache для Windows ¶
Apache настраивается с помощью файлов в подкаталоге conf. Это те же самые файлы, которые используются для настройки версии Unix, но есть несколько других директив для Apache в Windows. Все доступные директивы см. в указателе директив.
Поскольку Apache для Windows является многопоточным, он не использует отдельный процесс для каждого запроса, как это может делать Apache в Unix. Вместо этого обычно работают только два процесса Apache: родительский процесс и дочерний процесс, который обрабатывает запросы. Внутри дочернего процесса каждый запрос обрабатывается отдельным потоком.
Директивы управления процессами также отличаются:
MaxConnectionsPerChild: как и директива Unix, определяет, сколько соединений будет обслуживать один дочерний процесс перед выходом. Однако, в отличие от Unix, процесс замены не доступен мгновенно. Используйте MaxConnectionsPerChild по умолчанию 0 , если не указано изменить поведение для устранения утечки памяти в сторонних модулях или внутрипроцессных приложениях.
ThreadsPerChild: эта директива является новой. Он сообщает серверу, сколько потоков он должен использовать. Это максимальное количество соединений, которое сервер может обрабатывать одновременно, поэтому убедитесь, что это число достаточно велико для вашего сайта, если вы получаете много посещений. Рекомендуемое значение по умолчанию — ThreadsPerChild 150 , но его необходимо изменить, чтобы оно отражало максимальное ожидаемое количество одновременных подключений для принятия.
Директивы, которые принимают имена файлов в качестве аргументов, должны использовать имена файлов Windows, а не Unix. Однако, поскольку Apache может интерпретировать обратную косую черту как последовательность «экранирующих символов», вы должны последовательно использовать прямую косую черту в именах путей, а не обратную косую черту.
Хотя имена файлов обычно нечувствительны к регистру в Windows, URL-адреса по-прежнему обрабатываются внутренне как чувствительные к регистру, прежде чем они сопоставляются с файловой системой. Например, все директивы , Alias и ProxyPass используют аргументы с учетом регистра. По этой причине особенно важно использовать эту директиву при попытке ограничить доступ к содержимому в файловой системе, поскольку эта директива применяется к любому содержимому в каталоге, независимо от того, как к нему осуществляется доступ. Если вы хотите убедиться, что в URL-адресах используются только строчные буквы, вы можете использовать что-то вроде:
При запуске Apache требуется доступ для записи только к каталогу журналов и любому сконфигурированному дереву каталогов кэша. Из-за проблемы с нечувствительными к регистру и короткими именами в формате 8.3 Apache должен проверять все заданные имена путей. Это означает, что каждый каталог, который оценивает Apache, от корня диска до листа каталога, должен иметь разрешения на чтение, перечисление и обход каталога. Если Apache2.5 установлен в C:\Program Files, то корневой каталог, Program Files и Apache2.5 должны быть видны для Apache.
Apache для Windows позволяет загружать модули во время выполнения без перекомпиляции сервера. Если Apache скомпилирован нормально, он установит несколько дополнительных модулей в каталог \Apache2.5\modules. Для активации тех или иных модулей необходимо использовать директиву LoadModule. Например, чтобы активировать модуль состояния, используйте следующее (в дополнение к директивам активации состояния в access.conf):
Также доступна информация о создании загружаемых модулей.
Apache также может загружать расширения ISAPI (Internet Server Application Programming Interface), например, используемые Microsoft IIS и другими серверами Windows. Доступна дополнительная информация. Обратите внимание, что Apache не может загружать фильтры ISAPI, а обработчики ISAPI с некоторыми расширениями функций Microsoft не будут работать.
При запуске сценариев CGI метод, используемый Apache для поиска интерпретатора сценария, настраивается с помощью директивы ScriptInterpreterSource.
Поскольку в Windows зачастую сложно управлять файлами с такими именами, как .htaccess, может оказаться полезным изменить имя этого файла конфигурации для каждого каталога с помощью директивы AccessFilename.
Любые ошибки во время запуска Apache регистрируются в журнале событий Windows при работе в Windows NT. Этот механизм действует как резервная копия для тех ситуаций, когда Apache еще не готов использовать файл error.log. Вы можете просмотреть журнал событий приложений Windows с помощью средства просмотра событий, например. Пуск-Настройка-Панель управления-Администрирование-Просмотр событий.
Запуск Apache как службы ¶
Apache поставляется с утилитой под названием Apache Service Monitor. С его помощью вы можете видеть и управлять состоянием всех установленных служб Apache на любом компьютере в вашей сети. Чтобы иметь возможность управлять службой Apache с помощью монитора, вы должны сначала установить службу (либо автоматически при установке, либо вручную).
Вы можете установить Apache как службу Windows NT, выполнив следующие действия из командной строки в подкаталоге Apache bin:
Если вам нужно указать имя службы, которую вы хотите установить, используйте следующую команду. Вы должны сделать это, если на вашем компьютере установлено несколько различных сервисных установок Apache. Если вы указываете имя во время установки, вы также должны указать его во время любой другой операции -k.
httpd.exe -k install -n "MyServiceName"
Если вам нужны файлы конфигурации с особыми именами для разных служб, вы должны использовать это:
httpd.exe -k install -n "MyServiceName" -f "c:\files\my.conf"
Удалить службу Apache очень просто. Просто используйте:
Конкретную службу Apache, которую нужно удалить, можно указать с помощью:
httpd.exe -k удалить -n "MyServiceName"
Обычный запуск, перезапуск и завершение работы службы Apache обычно выполняется с помощью монитора службы Apache с помощью таких команд, как NET START Apache2.5 и NET STOP Apache2.5, или с помощью обычного управления службами Windows. Прежде чем каким-либо образом запускать Apache как службу, вы должны протестировать файл конфигурации службы, используя:
httpd.exe -n "MyServiceName" -t
Вы также можете управлять службой Apache с помощью ее переключателей командной строки. Чтобы запустить установленную службу Apache, вы будете использовать это:
httpd.exe -k start -n "MyServiceName"
Чтобы остановить службу Apache с помощью переключателей командной строки, используйте следующее:
httpd.exe -k stop -n "MyServiceName"
httpd.exe -k shutdown -n "MyServiceName"
Вы также можете перезапустить запущенную службу и заставить ее перечитать свой файл конфигурации, используя:
httpd.exe -k restart -n "MyServiceName"
По умолчанию все службы Apache зарегистрированы для запуска от имени системного пользователя (учетная запись LocalSystem). Учетная запись LocalSystem не имеет прав доступа к вашей сети через какой-либо защищенный Windows механизм, включая файловую систему, именованные каналы, DCOM или безопасный RPC. Однако локально он имеет широкие привилегии.
Никогда не предоставляйте никакие сетевые привилегии учетной записи LocalSystem! Если вам нужно, чтобы Apache мог получить доступ к сетевым ресурсам, создайте отдельную учетную запись для Apache, как указано ниже.
Рекомендуется, чтобы пользователи создавали отдельную учетную запись для запуска служб Apache. Если вам нужно получить доступ к сетевым ресурсам через Apache, это обязательно.
Обычно хорошей практикой является предоставление пользователю службы Apache, работающей в режиме чтения и выполнения (RX), доступа ко всему каталогу Apache2.5, за исключением подкаталога logs, где пользователь должен иметь как минимум изменения (RWXD) права.
Если вы разрешите учетной записи входить в систему как пользователь и как служба, вы можете войти в систему с этой учетной записью и проверить, что учетная запись имеет права на выполнение сценариев, чтение веб-страниц и что вы можете запускать Apache в окне консоли. Если это работает, и вы выполнили описанные выше шаги, Apache должен работать как служба без проблем.
Код ошибки 2186 указывает на то, что вам необходимо проверить конфигурацию «Вход в систему как» для службы, поскольку Apache не может получить доступ к требуемому сетевому ресурсу. Кроме того, обратите особое внимание на привилегии пользователя, от имени которого настроен Apache.
При запуске Apache в качестве службы вы можете столкнуться с сообщением об ошибке от диспетчера управления службами Windows. Например, если вы попытаетесь запустить Apache с помощью апплета «Службы» в панели управления Windows, вы можете получить следующее сообщение:
Не удалось запустить службу Apache2.5 на \\COMPUTER
Ошибка 1067; Процесс неожиданно завершился.
Вы получите эту общую ошибку, если возникнут проблемы с запуском службы Apache. Чтобы увидеть, что действительно вызывает проблему, следуйте инструкциям по запуску Apache для Windows из командной строки.
Запуск Apache как консольного приложения ¶
Обычно рекомендуется запускать Apache как службу, но иногда проще работать из командной строки, особенно во время первоначальной настройки и тестирования.
Чтобы запустить Apache из командной строки в качестве консольного приложения, используйте следующую команду:
Apache запустится и продолжит работу до тех пор, пока не будет остановлен нажатием Control-C.
Если Apache работает как служба, вы можете остановить его, открыв другое окно консоли и введя:
Запуск в качестве службы предпочтительнее запуска в окне консоли, поскольку это позволяет Apache завершать любые текущие операции и корректно очищать их.
Но если сервер запущен в окне консоли, остановить его можно, только нажав Control-C в том же окне.
Вы также можете перезапустить Apache. Это заставляет его перечитать файл конфигурации. Любые выполняемые операции могут выполняться без перерыва. Чтобы перезапустить Apache, либо нажмите Control-Break в окне консоли, которое вы использовали для запуска Apache, либо введите
если сервер работает как служба.
Примечание для людей, знакомых с Unix-версией Apache: эти команды предоставляют Windows-эквивалент kill -TERM pid и kill -USR1 pid . Используемый параметр командной строки -k был выбран как напоминание о команде kill, используемой в Unix.
Затем подождите, пока Apache остановится, или нажмите Control-C. Затем введите следующее:
При работе с Apache важно знать, как он найдет файл конфигурации.Вы можете указать файл конфигурации в командной строке двумя способами:
-f указывает абсолютный или относительный путь к определенному файлу конфигурации:
httpd.exe -f "c:\my server files\anotherconfig.conf"
-n указывает установленную службу Apache, файл конфигурации которой будет использоваться:
httpd.exe -n "MyServiceName"
В обоих этих случаях в файле конфигурации должен быть установлен правильный ServerRoot.
Затем Apache попытается определить корневой сервер, выполнив следующие действия в указанном порядке:
Если вы не выполнили бинарную установку, Apache в некоторых случаях будет жаловаться на отсутствие ключа реестра. Это предупреждение можно проигнорировать, если серверу удалось найти свой файл конфигурации.
Проверка установки ¶
После запуска Apache (в окне консоли или в качестве службы) он будет прослушивать порт 80 (если только вы не изменили директиву Listen в файлах конфигурации или не установили Apache только для текущего пользователя). Чтобы подключиться к серверу и получить доступ к странице по умолчанию, запустите браузер и введите этот URL-адрес:
Apache должен отобразить страницу приветствия, и вы должны увидеть сообщение "Это работает!". Если ничего не происходит или вы получаете сообщение об ошибке, посмотрите файл error.log в подкаталоге logs. Если ваш хост не подключен к сети или у вас есть серьезные проблемы с конфигурацией DNS (службы доменных имен), возможно, вам придется использовать этот URL-адрес:
Если вы запускаете Apache на альтернативном порту, вам необходимо явно указать это в URL-адресе:
После того, как ваша базовая установка заработает, вы должны правильно настроить ее, отредактировав файлы в подкаталоге conf. Опять же, если вы изменяете конфигурацию службы Windows NT для Apache, сначала попытайтесь запустить ее из командной строки, чтобы убедиться, что служба запускается без ошибок.
Поскольку Apache не может использовать один и тот же порт с другим приложением TCP/IP, перед запуском Apache может потребоваться остановить, удалить или перенастроить некоторые другие службы. К таким конфликтующим службам относятся другие WWW-серверы, некоторые реализации брандмауэра и даже некоторые клиентские приложения (например, Skype), которые будут использовать порт 80 для обхода проблем с брандмауэром.
Настройка доступа к сетевым ресурсам ¶
Доступ к файлам по сети можно указать с помощью двух механизмов, предоставляемых Windows:
Буквы подключаемых дисков, например, псевдоним /images/ Z:/ UNC-пути, например, псевдоним /images/ //imagehost/www/images/
Пример DocumentRoot с путем UNC
Пример DocumentRoot с IP-адресом в пути UNC
Пример псевдонима и соответствующего каталога с путем UNC
Настройка Windows ¶
Если в экземпляре операционной системы используется более нескольких десятков конвейерных регистраторов, часто требуется масштабирование «кучи рабочего стола». Для получения более подробной информации см. документацию по конвейерному ведению журнала.
Комментарии
Авторское право 2021 г. The Apache Software Foundation.
Под лицензией Apache License, версия 2.0.
Вы как машина. Изменено Рикки Эндсли. CC BY-SA 2.0.
Я размещаю собственные веб-сайты уже много лет. После перехода с OS/2 на Linux более 20 лет назад я использовал Apache в качестве серверного программного обеспечения. Apache надежен, хорошо известен и довольно прост в настройке для базовой установки. На самом деле не так уж сложно настроить более сложную конфигурацию, например несколько веб-сайтов.
Дополнительные ресурсы по Linux
Установку и настройку веб-сервера Apache необходимо выполнять от имени пользователя root. Настройка брандмауэра также должна выполняться от имени пользователя root. Использование браузера для просмотра результатов этой работы должно выполняться как пользователь без полномочий root. (Я использую пользователя student на своем виртуальном хосте.)
Установка
Примечание. Эта статья была обновлена с использованием Fedora 33 с Apache 2.4.46. Если вы используете другой дистрибутив или другую версию Fedora, ваши команды, расположение и содержимое файлов конфигурации могут отличаться. Однако строки конфигурации, которые необходимо изменить, одинаковы независимо от дистрибутива.
Веб-сервер Apache легко установить. С помощью одной команды вы можете установить его и все необходимые зависимости:
Конфигурация
Первым элементом, который необходимо изменить, является оператор Listen, определяющий IP-адрес и порт, на которых Apache должен прослушивать запросы страниц. Прямо сейчас вам просто нужно сделать этот веб-сайт доступным для локальной машины, поэтому используйте адрес локального хоста. Строка должна выглядеть так, когда вы закончите:
Если для этой директивы задан IP-адрес локального хоста, Apache будет прослушивать соединения только с локального хоста. Если вы хотите, чтобы веб-сервер прослушивал соединения с удаленных хостов, вы должны использовать внешний IP-адрес хоста.
Директива DocumentRoot указывает расположение файлов HTML, составляющих страницы веб-сайта. Эту линию не нужно изменять, поскольку она уже указывает на стандартное местоположение. Строка должна выглядеть так:
RPM установки Apache создает дерево каталогов /var/www. Если вы хотите изменить место хранения файлов веб-сайта, для этого используется этот элемент конфигурации. Например, вы можете использовать другое имя для подкаталога www, чтобы сделать идентификацию веб-сайта более явной. Это может выглядеть так:
Добавленная строка является третьей снизу и разрешает входящий трафик через порт 80. Теперь я перезагружаю измененную конфигурацию iptables.
Создайте файл index.html
Файл index.html — это файл по умолчанию, который веб-сервер будет обслуживать, когда вы заходите на веб-сайт, используя только доменное имя, а не конкретное имя файла HTML. В каталоге /var/www/html создайте файл с именем index.html. Добавьте содержимое Hello World . Вам не нужно добавлять HTML-разметку, чтобы это работало. Единственная задача веб-сервера — обслуживать поток текстовых данных, и сервер понятия не имеет, что такое дата и как ее отображать. Он просто передает поток данных запрашивающему хосту.
После сохранения файла установите права собственности на apache.apache .
Запустите Apache
Apache очень легко запустить. Текущие версии Fedora используют systemd. Выполните следующие команды, чтобы запустить его, а затем проверить состояние сервера:
На вашем сервере команды могут отличаться. В системах Linux, использующих сценарии запуска SystemV, команды будут такими:
Если на вашем хосте установлен веб-браузер, такой как Firefox или Chrome, вы можете использовать URL-адрес localhost в строке URL-адреса браузера для отображения вашей веб-страницы, какой бы простой она ни была. Вы также можете использовать веб-браузер текстового режима, такой как Lynx, для просмотра веб-страницы. Сначала установите Lynx (если он еще не установлен).
Затем используйте следующую команду для отображения веб-страницы.
В моем терминальном сеансе результат выглядит так. Я удалил много пустого места на странице.
Затем отредактируйте файл index.html и добавьте немного HTML-разметки, чтобы он выглядел следующим образом:
Теперь обновите браузер. Для Lynx используйте комбинацию клавиш Ctrl+R. Результаты выглядят немного иначе. Текст цветной, как Lynx отображает заголовки, если ваш терминал поддерживает цвет, и теперь он центрирован. В браузере с графическим интерфейсом текст будет напечатан крупным шрифтом.
Прощальные мысли
Как видно из этого небольшого упражнения, настроить веб-сервер Apache несложно. Особенности будут различаться в зависимости от вашего дистрибутива и версии Apache, поставляемой этим дистрибутивом. В моей среде это было довольно тривиальным упражнением.
Но это еще не все, потому что Apache очень гибкий и мощный. В следующем месяце я расскажу о размещении нескольких веб-сайтов с использованием одного экземпляра Apache.
Эта статья была впервые опубликована в 2018 году и обновлена редактором.
Читайте также: