Httpd conf, где находится ubuntu

Обновлено: 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 — один из самых популярных веб-серверов в Интернете. Он используется для обслуживания более половины всех активных веб-сайтов. Хотя существует множество жизнеспособных веб-серверов, которые будут обслуживать ваш контент, полезно понимать, как работает Apache из-за его повсеместного распространения.

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

Предпосылки

Прежде чем вы начнете изучать конфигурации Apache, на вашем сервере должен быть установлен Apache.Вы можете узнать, как это сделать, следуя нашему руководству «Как установить веб-сервер Apache в Ubuntu 20.04» или руководству «Как установить веб-сервер Apache в Debian 10».

Иерархия файлов Apache

Apache хранит свои основные файлы конфигурации в папке /etc/apache2. Выполнение следующей команды выведет список всех файлов в этой папке:

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

  • apache2.conf : это основной файл конфигурации сервера. Почти все настройки можно выполнить из этого файла, хотя для простоты рекомендуется использовать отдельные файлы. Этот файл будет настраивать значения по умолчанию и станет центральной точкой доступа для сервера для чтения сведений о конфигурации.
  • ports.conf: этот файл используется для указания портов, которые должны прослушиваться виртуальными хостами. Обязательно проверьте правильность этого файла, если вы настраиваете SSL.
  • сайты-доступные/ и сайты-включенные/ : Каталог сайтов-доступных содержит конфигурации файлов виртуального хоста. Конфигурации в этой папке будут определять, какой контент будет обслуживаться для каких запросов. Это возможно путем ссылки на каталог с поддержкой сайтов, в котором хранятся активированные файлы конфигурации виртуального хоста. Когда Apache запускается или перезагружается, он считывает файлы конфигурации и ссылки из каталога с поддержкой сайтов при компиляции полной конфигурации.
  • conf-available/ и conf-enabled/ : в этих каталогах хранятся фрагменты конфигурации, не прикрепленные к файлам конфигурации виртуального хоста.
  • mods-enabled/ и mods-available/: эти каталоги определяют модули, которые могут быть дополнительно загружены. Каталоги содержат два компонента: файлы с расширением .load , которые содержат фрагменты, загружающие определенные модули, и файлы с расширением .conf , в которых хранятся конфигурации этих модулей.

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

Изучение файла Apache2.conf

Основные сведения о конфигурации вашего сервера Apache хранятся в файле /etc/apache2/apache2.conf. Этот файл разделен на три основных раздела:

  • Конфигурация глобального серверного процесса Apache
  • Конфигурация сервера по умолчанию
  • Настройка виртуальных хостов.

Откройте этот файл в предпочитаемом вами текстовом редакторе. В следующем примере используется nano :

В Ubuntu и Debian этот файл используется для настройки глобальных определений. Конфигурация сервера по умолчанию и виртуальных хостов обрабатывается с помощью директивы Include. Директива Include позволяет Apache считывать другие файлы конфигурации в текущий файл в том месте, где появляется инструкция. В результате Apache динамически генерирует всеобъемлющий файл конфигурации при запуске.

В этом файле находится несколько различных операторов Include и IncludeOptional. Эти директивы загружают определения модулей, документ ports.conf, определенные файлы конфигурации в каталоге conf-enabled/ и определения виртуальных хостов в каталоге sites-enabled/:

Глобальные конфигурации

Есть некоторые параметры, которые вы можете изменить в глобальной конфигурации:

Тайм-аут

По умолчанию для этого параметра установлено значение 300 . Это означает, что у сервера есть максимум 300 секунд для выполнения каждого запроса. Этот параметр можно безопасно уменьшить до значения от 30 до 60 секунд.

Продолжить

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

Максимальное количество запросов на поддержку активности

Это определяет, сколько отдельных запросов будет обрабатывать каждое соединение, прежде чем оно прервется. Поддержание этого числа на высоком уровне позволит Apache более эффективно обслуживать контент для каждого клиента. Значение по умолчанию установлено на 100 . Установка этого значения на 0 позволит Apache обслуживать неограниченное количество запросов для каждого соединения.

KeepAliveTimeout

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

Проверив содержимое этого файла конфигурации, вы можете закрыть его, нажав CTRL+X .

Многопроцессорные модули

Многопроцессорный модуль (MPM) расширяет модульную структуру Apache.MPM отвечают за прослушивание, направление и обработку различных сетевых запросов. Вы можете указать, в каком разделе была скомпилирована ваша установка Apache, с помощью следующей команды:

Вы можете проверить тип MPM на своем сервере с помощью команды a2query -M:

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

Файл виртуального хоста

Объявление виртуального хоста по умолчанию можно найти в файле с именем 000-default.conf в каталоге sites-available/. Вы можете узнать об общем формате файла виртуального хоста, изучив этот файл.

Откройте файл с помощью следующей команды:

Параметры конфигурации виртуального хоста

Следующие параметры задаются в определении виртуального хоста за пределами любого другого вложенного объявления более низкого уровня. Они применяются ко всему виртуальному хосту. Для начала откройте файл security.conf в каталоге conf-available/:

Этот файл содержит директиву Server Signature, которая позволяет указать контактный адрес электронной почты, который следует использовать при возникновении проблем с сервером. Вы можете изменить параметр по умолчанию с «Вкл.» на «Электронная почта», чтобы показать адрес электронной почты администратора сервера. Если вы настроите этот параметр, убедитесь, что вы готовы получать почту:

Закройте файл, нажав CTRL+X . После редактирования файла конфигурации вам будет предложено подтвердить ваши изменения. Нажмите Y, чтобы сохранить изменения в файле, или N, чтобы отменить их.

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

Выполните следующую команду, чтобы открыть файл виртуального хоста, убедившись, что переменная your_domain заменена вашим фактическим доменным именем:

Добавьте your_domain к директиве ServerName:

Аналогичным образом вы также можете сделать виртуальный хост применимым к более чем одному имени, используя директиву ServerAlias. Это обеспечивает альтернативные пути для доступа к одному и тому же контенту. Хорошим вариантом использования для этого является добавление того же домена, которому предшествует www :

Директива DocumentRoot указывает, где будет расположен контент, запрошенный для этого виртуального хоста. В Ubuntu виртуальный хост по умолчанию настроен для обслуживания контента из каталога /var/www/:

Определения каталога

В определении виртуального хоста есть определения того, как сервер обрабатывает различные каталоги в файловой системе. Apache применит все эти направления в порядке от самого короткого до самого длинного, поэтому снова есть шанс переопределить предыдущие параметры.

Откройте файл apache2.conf с помощью этой команды:

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

Директива Require может ограничивать или открывать доступ к различным ресурсам на вашем сервере. Директива AllowOverride используется для определения того, может ли файл .htaccess переопределять настройки, если он помещен в каталог содержимого. Это не разрешено по умолчанию, но может быть полезно включить в различных обстоятельствах. Изучив содержимое этого файла, вы можете закрыть его, нажав CTRL+X .

Утверждения псевдонимов и ScriptAlias

Определениям каталогов иногда предшествуют директивы Alias ​​или ScriptAlias. Откройте файл конфигурации вашего виртуального хоста с помощью этой команды и замените переменную your_domain на ваше доменное имя:

Директива ScriptAlias ​​работает таким же образом, но используется для определения каталогов, в которых будут исполняемые компоненты:

Не забудьте определить каталог с правами доступа, как описано в предыдущем разделе. После завершения редактирования файла выйдите из него, нажав CTRL+X . Если вы внесли какие-либо изменения в этот файл, нажмите Y, чтобы сохранить изменения в вашем файле, или нажмите N, чтобы оставить файл таким, каким он был до каких-либо изменений в конфигурации.

Включение сайтов и модулей

После того, как у вас есть файл виртуального хоста, который соответствует вашим требованиям, вы можете использовать инструменты, включенные в Apache, для преобразования его в живые веб-сайты. Чтобы создать символическую ссылку в каталоге с поддержкой сайтов на существующий файл в каталоге с доступом к сайтам, введите следующую команду. Обязательно замените your_domain именем вашего собственного файла конфигурации сайта виртуального хоста:

После включения сайта введите следующую команду, чтобы указать Apache перезагрузить файлы конфигурации, чтобы изменения вступили в силу:

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

Модули можно включать и выключать с помощью команд a2enmod и a2dismod соответственно. Они работают так же, как версии этих команд a2ensite и a2dissite. Например, чтобы включить информационный модуль, вы можете использовать следующую команду:

Точно так же вы можете отключить модуль с помощью команды a2dismod:

Не забудьте перезапустить Apache после изменения файлов конфигурации и включения или отключения модулей.

Заключение

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

Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

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

Apache – это веб-сервер с открытым исходным кодом, который бесплатно доступен для серверов Linux.

В этом руководстве мы рассмотрим этапы настройки сервера Apache.

Что вы узнаете

  • Как настроить Apache
  • Некоторые базовые настройки Apache

Что вам понадобится

  • Сервер Ubuntu 16.04 LTS
  • Secure Shell (SSH) доступ к вашему серверу
  • Базовые знания командной строки Linux

Все готово? Переходим к следующему шагу!

Автор: Аден Падилья

2. Установка Апача

Чтобы установить Apache, установите последний метапакет apache2, выполнив:

После запуска команды все необходимые пакеты установлены, и мы можем проверить их, введя наш IP-адрес для веб-сервера.

Если вы видите страницу выше, это означает, что Apache успешно установлен на вашем сервере! Идем дальше.

3. Создание собственного веб-сайта

По умолчанию Apache поставляется с включенным базовым сайтом (тот, который мы видели на предыдущем шаге). Мы можем изменить его содержимое в /var/www/html или настройки, отредактировав файл виртуального хоста, который находится в /etc/apache2/sites-enabled/000-default.conf .

Мы можем изменить способ обработки Apache входящих запросов и запустить несколько сайтов на одном сервере, отредактировав его файл Virtual Hosts.

Давайте начнем с создания папки для нашего нового веб-сайта в /var/www/, запустив

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

Теперь, когда у нас есть каталог, созданный для нашего сайта, давайте поместим в него файл HTML. Давайте перейдем в наш только что созданный каталог и создадим его, набрав:

Вставьте следующий код в файл index.html:

Очень круто, правда?

4. Настройка файла конфигурации VirtualHost

Начнем этот шаг с перехода в каталог файлов конфигурации:

Поскольку Apache поставляется с файлом VirtualHost по умолчанию, давайте возьмем его за основу. (здесь используется gci.conf, чтобы соответствовать имени нашего поддомена):

Теперь отредактируйте файл конфигурации:

У нас должна быть наша электронная почта в ServerAdmin, чтобы пользователи могли связаться с вами в случае возникновения какой-либо ошибки Apache:

Мы также хотим, чтобы директива DocumentRoot указывала на каталог, в котором размещены файлы нашего сайта:

Файл по умолчанию не имеет директивы ServerName, поэтому нам придется добавить и определить ее, добавив эту строку под последней директивой:

Теперь, когда мы закончили настройку нашего сайта, давайте сохраним и активируем его на следующем шаге!

5. Активация файла VirtualHost

После настройки нашего веб-сайта нам нужно активировать файл конфигурации виртуальных хостов, чтобы включить его. Мы делаем это, выполнив следующую команду в каталоге файла конфигурации:

Вы должны увидеть следующий вывод

Чтобы загрузить новый сайт, мы перезапускаем Apache, набрав:

Конечный результат

Настал момент истины, давайте введем имя нашего хоста в браузере. Ура!

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

Как открыть файл конфигурации Apache в Ubuntu?

Настройка Apache в Ubuntu

  1. Прежде чем начать. Используйте aptitude для установки Apache на ваш сервер Ubuntu.
  2. Просмотрите файл конфигурации. Чтобы просмотреть содержимое файла конфигурации Apache, выполните следующие команды: $ cd /etc/apache2 $ ls.
  3. Настройки конфигурации.
  4. Включить сайты и модули.

Как включить модули Apache?

Включить различные модули Apache

Как включить Apache в Ubuntu?

Специальные команды Debian/Ubuntu Linux для запуска/остановки/перезапуска Apache

Нужен ли Apache для PHP?

В таких случаях Apache не нужен. Apache — это веб-сервер. Если вам нужно запускать php-файлы на веб-странице, вам нужен веб-сервер, а Apache — один из доступных веб-серверов. Nginx, освещение, litespeed, Cherokee и т. д. — некоторые другие веб-серверы.

Процедура

Добро пожаловать

Как отредактировать etc apache2 apache2 conf?

Чтобы включить его, вам нужно отредактировать файл конфигурации.

Как запустить Apache в Linux?

команда systemctl

  • Запустите команду apache: $ sudo systemctl start apache2.service.
  • остановить команду apache: $ sudo systemctl stop apache2.service.
  • команда перезапустить apache: $ sudo systemctl перезапустить apache2.service.
  • команду apache2ctl можно использовать для остановки или запуска веб-сервера apache в любом дистрибутиве Linux или UNIX.

Установлен ли Apache в Ubuntu?

Будет ли PHP работать без сервера?

Не бойтесь, в php появилась функция, известная как встроенный веб-сервер! При этом вы можете преобразовать любую локальную папку в сервер и разместить там сайт локально. Эта статья покажет вам, как запустить phpmyadmin без использования apache. Затем перейдите в корневую папку с помощью терминала и запустите «php -S localhost:8000».

Зачем PHP нужен сервер?

Для разработки приложений HTML, CSS или большинства приложений JavaScript наличие веб-сервера на локальном компьютере не обязательно. Но поскольку браузер не может интерпретировать PHP, необходим локальный веб-сервер, если вы хотите писать PHP-скрипты на этом компьютере и запускать их, не загружая куда-либо на сервер.

Как открыть файл php в браузере?

Поместите файлы PHP в папку «HTDocs», расположенную в папке «XAMMP» на диске C:. Путь к файлу — «C:\xampp\htdocs» для вашего веб-сервера. Убедитесь, что ваши файлы PHP сохранены как таковые; они должны иметь расширение файла «.php». Откройте любой веб-браузер на рабочем столе и введите «localhost» в адресную строку.

Установите Apache и PHP на CentOS 6

Как проверить, работает ли служба в Linux?

Проверить запущенные службы в Linux

  • Проверьте статус службы. Служба может иметь любой из следующих статусов:
  • Запустите службу. Если служба не запущена, вы можете запустить ее с помощью команды службы.
  • Используйте netstat для поиска конфликтов портов.
  • Проверьте статус xinetd.
  • Проверьте журналы.
  • Дальнейшие шаги.

Что еще хуже, все меняется. Я помню, когда-то, чтобы запустить или остановить службу Linux, мне нужно было открыть окно терминала, перейти в /etc/rc.d/ (или /etc/init.d, в зависимости от того, какой дистрибутив я использовал), найдите службу и введите команду /etc/rc.d/SERVICE start. стоп.

Как разместить веб-сайт в Linux?

Linux: как разместить веб-сайт на компьютере с Linux

  1. Шаг 1. Установите программное обеспечение. Чтобы начать установку программного обеспечения LAMP, введите в терминале следующее: sudo apt install apache2 mysql-server php libapache2-mod-php7.0.
  2. Шаг 2. Проверьте PHP.
  3. Шаг 3. Проверьте MySQL.
  4. Шаг 4. Настройте DNS.
  5. Шаг 5. Настройте Apache.

Какая польза от сервера Apache?

Apache — это наиболее широко используемое программное обеспечение для веб-серверов. Apache, разработанная и поддерживаемая Apache Software Foundation, представляет собой бесплатное программное обеспечение с открытым исходным кодом. Он работает на 67% всех веб-серверов в мире. Это быстро, надежно и безопасно.

Читайте также: