Как создать свой веб сервер apache. Apache: установка и настройка веб-сервера. Базовая настройка веб-сервера

Эта статья – пошаговая инструкция по созданию локального web-сервера. В ней описана установка web-сервера Apache 2.4 на платформе ОС Windows. Тестирование установки выполнялось на Windows XP SP3.

Состав web-сервера:

  • Apache 2.4 (версия 2.4.10);
  • PHP 5.4 (версия 5.4.34);
  • MySQL 5.5 (версия 5.5.23).

Эта рабочая среда подойдет:

Иногда он не появлялся, но вы видите экран, который мерцает в панели задач.

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

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

  • опытным вебмастерам для тестирования своих проектов;
  • начинающим вебмастерам для создания своих первых сайтов.

Дистрибутивы Apache 2.4 и PHP 5.4 скомпилированы в VC9 (Visual Studio 2008).

Версия Apache 2.4 VC9 работает, практически, со всеми актуальными версиями Windows (7/8/Vista/XP SP3).

Для работы приложений VC9, прежде всего, необходимо обновить библиотеки Visual C++.

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

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

Установка пакета обновлений библиотек Visual C++

Скачиваем дистрибутив обновлений vcredist_x86.exe с сайта Microsoft, запускаем файл и выполняем обновление.


Установка и настройка сервера Apache 2.4


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

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

В дистрибутиве Apache нет файла инсталляции. Поэтому установка будет выполняться вручную.

Создаем папку и распаковываем архив httpd-2.4.10-win32-VC9.zip .

В файле конфигурации httpd. conf по умолчанию установлены маршруты C:\ Apache24 . Поэтому, правок в файле конфигурации будет гораздо меньше, если распаковать архив в эту папку.

Мы распакуем дистрибутив в папку C:\ TestServer .

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

Некоторые из этих директив описаны ниже. Каждый виртуальный хост может предоставлять контент и настраиваться по-разному. Вы можете настроить виртуальные хосты двумя способами. Виртуальные хосты на основе имени. Используйте контейнер для реализации виртуальных хостов.

Вносим правки в файл конфигурации C:\ TestServer \ Apache24\ conf\ httpd. conf . При написании путей вместо символа «\» (обратная косая черта) следует использовать символ «/» (прямая косая черта). Так прописываются пути в операционных системах Linux и Unix. А ведь первоначально Apache разрабатывался именно для этих операционных систем.

Выполняем групповую замену текста C:/ Apache24 на C:/ TestServer / Apache24 .

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

Что такое веб-сервер Apache и для чего он нужен?

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

Устанавливаем значение параметра ServerName .
ServerName localhost:80

Устанавливаем значение параметра ServerAdmin (e-mail администратора).
ServerAdmin [email protected]

Устанавливаем значение параметра DocumentRoot (расположение документов сайта).
DocumentRoot C:/ TestServer / Apache24/ htdocs

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

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

Возможно, вы захотите хранить документы сайта отдельно от сервера. Например, в папке C:\ MySites . Тогда этот параметр можно изменить.
DocumentRoot C:/ MySites

Исполняемые файлы Apache находятся в папке C:\TestServer \Apache24\bin . Добавляем это значение в переменную среды PATH Windows .
PATH = C:\TestServer \Apache24\bin;

Устанавливаем Apache как службу.
httpd.exe -k install

Когда вас попросят ввести тип настройки, выберите «Типичный». Чтобы протестировать установку, введите в своем браузере следующее. Должна появиться страница с надписью «Это работает». Чтобы управлять сервисом, откройте «Панель управления» - «Администрирование» - «Службы». Задача веб-сервера состоит в том, чтобы в основном принимать запросы от клиентов и отправлять ответы на эти запросы. Если по какой-либо причине веб-сервер не смог обработать и завершить запрос, он вместо этого вернет сообщение об ошибке.

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

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

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

Запускаем сервер Apache.
httpd.exe -k start

Проверяем работоспособность сервера. В командной строке браузера набираем адрес: http://localhost . Если установка Apache прошла успешно – на экране отобразится текст It works ! . В противном случае мы увидим пустой экран.

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


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

Делается это с помощью команды
netstat –anb

Чаще всего этот порт используют Skype или Firefox. В этом случае следует либо освободить порт, либо перевести Apache на порт 8080 .

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

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

Для этого в файле httpd . conf изменяем значений параметров ServerName и Listen . ServerName localhost:8080
Listen 8080

После этого перезапускаем службу командой
httpd.exe -k re start

и опять пытаемся зайти по адресу http://localhost

Для удобства работы с сервером Apache можно установить в меню ярлык, указывающий на C:\TestServer \Apache24\bin\ ApacheMonitor.exe

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

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

Установка PHP 5.4

Заходим на сайт разработчика http://windows.php.net/download/ . Находим дистрибутив PHP 5.4 в секции VC9 x86 Thread Safe и загружаем архив php-5.4.34-Win32-VC9-x86.zip .

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

Создаем папку на локальном компьютере, пусть это будет C:\TestServer \PHP54 , и распаковываем архив.

Возвращаемся на сайт с дистрибутивом Apache. В разделе Additional + VC9 находим архив php5apache2_4.dll-php-5.4-win32.zip с PHP-модулями Apache и скачиваем его.

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

Затем мы распакуем исходный пакет и создаем каталог установки. Фактический целевой каталог, в котором будет размещен скомпилированный веб-сервер, будет создан позднее во время процесса компиляции. Сначала мы настраиваем нашу установку. И установите веб-сервер.

В архиве находим папку с самой последней версией модуля php5apache2_4.dll и помещаем его в папку C:\TestServer \PHP54 .

В файл конфигурации httpd . conf добавляем строки:

LoadModule php 5_ module « C :/ TestServer / PHP 54/ php 5 apache 2_4. dll »
AddHandler application / x - httpd - php . php
# configure the path to php . ini
PHPIniDir « C :/ TestServer / PHP 54/ php «

В папке C:\TestServer \Apache54\htdocs создаем файл test.php .

echo «Hello Apache!»;
?>

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

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

Перезапускаем Apache.

В адресной строке браузера набираем http://localhost/test.php . Если на экране появится текст Hello Apache! , то установка PHP завершилась успешно.

Настройка php.ini

Для работы с БД MySQL нам необходимо настроить php. ini – файл конфигурации PHP.


В папке C:\ TestServer \ PHP54 находятся два шаблона: development и php.ini-production .

Переименовываем шаблон php.ini-production в .

Библиотеки для работы с БД MySQL находятся в папке C :\ TestServer \ PHP 54\ ext . Этот путь должен быть прописан в директиве extension_dir файла конфигурации php.ini.

Находим этот параметр, удаляем символ комментария в начале строки (это точка с запятой) и прописываем путь.
extension_dir = « C :/ TestServer / PHP 54/ ext «

Для работы с БД MySQL в PHP существуют две библиотеки: php _ mysqli . dll – более новая и именно ее рекомендуется использовать в работе; php _ mysql . dll – старая, но ее используют на большинстве сайтов.

В файле php.ini лучше прописать обе библиотеки.
extension = php _ mysql . dll
extension = php _ mysqli . dll

После завершения правок обязательно перезапускаем сервер Apache.

Установка и настройка MySQL

Заходим на страницу http://www.mysql.ru/download/ . Выбираем версию для Win32 или Win64 . Мы будем загружать установочный пакет mysql-5.5.23-win32.msi .

Запускаем файл mysql-5.5.23-win32.msi .

Соглашаемся на лицензионные условия, выбираем тип установку Typical .

Переходим к настройке MySQL сервера.

Выбираем Detailed Configuration – детализированную настройку конфигурации.


Выбираем тип сервера с минимальными требованиями к памяти – Developer Machine .

Теперь нужно решить, с какими базами данных (InnoDB, MyISAM ) будет работать наш сервер.


Multifunctional Database – поддерживаются InnoDB и MyISAM .
Transactional Database Only - поддерживается InnoDB .
Non-Transactional database Only - поддерживается myISAM .

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

Максимальное число одновременных подключений лучше выбрать Manual Setting (ручная установка) и согласиться со значением по умолчанию (15 ).


На этом шаге параметром Enable TCP/IP Networking включается поддержка TCP-соединений, выбирается порт, по которому будут осуществляться эти соединения. Также устанавливается параметр Enable Strict Mode – режим строгого соответствия стандарту MySQL.

Теперь необходимо выбрать кодировку по умолчанию. Лучший вариант - кодировка UTF-8 . Поэтому выбираем Best Support For Multilingualism .

Для того чтобы MySQL запускался как служба Windows - устанавливаем Install as Windows Service . Если необходим автозапуск этой службы - устанавливаем Launch the MySQL Server automatically .


Теперь устанавливаем пароль администратора и выключаем опцию Modify Security Settings .

После нажатия кнопок Next и Execute установку MySQL можно считать законченной.

Для проверки работоспособности MySQL нажимаем кнопку Пуск Windows, находим утилиту работы с MySQL (MySql Server 5.5 MySQL Server Command Line ) и запускаем ее.

После ввода пароля администратора мы попадаем в командную строку MySQL.

Вводим команду
show databases;


Если мы увидим список баз данных – это будет означать, что сервер работает правильно.

Выходим из режима командной строки:
exit;

На этом установка сервера завершена. Удачной работы!

Apache — это популярнейший свободный веб-сервер. Состоянием на 2016 год он используется на 33% всех сайтов интернета, а это приблизительно 304 миллиарда сайтов. Этот веб-сервер был разработан в далеком 1995, как замена для популярного того сервера NCSA и исправил множество его проблем. Ходят слухи что его имя походит от a patchy, заплатка, так как он исправлял ошибки NCSA. Сейчас же, это кроссплатформенная программа, поддерживающая Windows, Linux и MacOS и обеспечивающая достаточную гибкость, настраиваемость и функциональность. Программа имеет модульную структуру, что позволяет расширять ее функциональность почти до бесконечности с помощью модулей.

Установить Apache в Linux можно с помощью нескольких команд, но программа предоставляет очень большое количество настроек, которые можно изменить, а также модулей, после включения которых она будет работать лучше. В этой статье будет рассмотрена установка и настройка Apache, в качестве основной системы мы будем использовать Ubuntu, но вы можете повторить эти действия в любом другом дистрибутиве. Будет рассмотрена не только установка самой программы, но и способы ее настройки, настройка виртуальных хостов apache, а также самые полезные модули.

Установка Apache

На данный момент, самая новая версия программы 2.4 поэтому и будет рассмотрена настройка apache 2.4. Как я уже говорил, в Linux программа устанавливается буквально в пару команд. Для установки в Ubuntu сначала обновим систему до самой новой версии:

sudo apt update
$ sudo apt upgrade

Затем установка apache2:

sudo apt install apache2

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

После завершения установки нужно добавить веб-сервер в автозагрузку, чтобы не запускать его вручную после включения компьютера:

sudo systemctl enable apache2

Настройка Apache

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

Все настройки содержатся в папке /etc/apache/:

  • Файл /etc/apache2/apache2.conf отвечает за основные настройки
  • /etc/apache2/conf-available/* дополнительные настройки веб-сервера
  • /etc/apache2/mods-available/* — настройки модулей
  • /etc/apache2/sites-available/* — настойки виртуальных хостов
  • /etc/apache2/ports.conf — порты, на которых работает apache
  • /etc/apache2/envvars

Как вы заметили есть две папки для conf, mods и site. Это available и enabled. При включении модуля или хоста создается символическая ссылка из папки available (доступно) в папку enable (включено). Поэтому настройки лучше выполнять именно в папках available. Вообще говоря, можно было бы обойтись без этих папок, взять все и по старинке свалить в один файл, и все бы работало, но сейчас так никто не делает.

Сначала давайте рассмотрим главный файл конфигурации:

vi /eta/apache2/apache2.conf


Timeout — указывает как долго сервер будет пытаться продолжить прерванную передачу или прием данных. 160 секунд будет вполне достаточно.

KeepAlive On — очень полезный параметр, позволяет передавать несколько файлов, за одно соединение, например, не только саму html страницу, но и картинки и css файлы.

MaxKeepAliveRequests 100 максимальное количество запросов за одно соединение, чем больше, тем лучше.

KeepAliveTimeout 5 — таймаут соединения, обычно для загрузки страницы достаточно 5-10 секунд, так что больше ставить не нужно, но и рвать соединение раньше чем загрузились все данные тоже не нужно.

User, Group — пользователь и группа, от имени которых будет работать программа.

HostnameLookups — записывать в логи вместо ip адресов доменные имена, лучше отключить, чтобы ускорить работу.

LogLevel — уровень логирования ошибок. По умолчанию используется warn, но чтобы логи заполнялись медленнее достаточно включить error

Include — все директивы include отвечают за подключение рассмотренных выше конфигурационных файлов.


Директивы Directory отвечают за настройку прав доступа к той или иной директории в файловой системе. Синтаксис здесь такой:


Параметр значение

Здесь доступны такие основные опции:

AllowOverride — указывает нужно ли читать.htaccess файлы из этой директории, это такие же файлы настроек и таким же синтаксисом. All — разрешать все, None — не читать эти файлы.

DocumentRoot — устанавливает из какой папки нужно брать документы для отображенияа пользователю

Options — указывает какие особенности веб-сервера нужно разрешить в этой папке. Например, All — разрешить все, FollowSymLinks — переходить по символическим ссылкам, Indexes — отображать содержимое каталога если нет файла индекса.

Require — устанавливает, какие пользователи имеют доступ к этому каталогу. Require all denied — всем запретить, Require all granted — всем разрешить. можно использовать вместо all директиву user или group чтобы явно указать пользователя.

Order — позволяет управлять доступом к директории. Принимает два значения Allow,Deny — разрешить для всех, кроме указанных или Deny,Allow — запретить для всех, кроме указанных..ru.

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

У нас остался файл /etc/apache2/ports.conf:


В нем только одна директива, Listen, которая указывает программе на каком порту нужно работать.

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


Настройка сервера Apache через htaccess

Файлы.htaccess позволяют настраивать веб-сервер на Ubuntu для поведения в определенной директории. Все инструкции, указанные в этом файле выполняются как бы они были обвернуты в тег если бы находились в основном файле.

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

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

Order Deny,Allow
Deny from all

Запрещает всем доступ к этой папке, важно применить, для папок с конфигурацией. Чаще всего.htaccess используется для работы с модулем mod_rewrite, который позволяет изменять запросы на лету:

RewriteEngine on
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]

Но это очень обширная тема и выходит за рамки этой статьи.

Настройка модулей Apache

Как я уже говорил, Apache — модульная программа, ее функциональность можно расширять с помощью модулей. Все доступные модули загрузчики и конфигурационные файлы модулей находятся в папке /etc/apache/mods-available. А активированные в /etc/apache/mods-enable.

Но вам необязательно анализировать содержимое этих папок. Настройка Apache 2.4 с помощью добавления модулей выполняется с помощью специальных команд. Посмотреть все запущенные модули можно командой:


Включить модуль можно командой:

sudo a2enmod имя_модуля

А отключить:

sudo a2dismod имя_модуля

После включения или отключения модулей нужно перезагрузить apache:

sudo systemctl restart apache2

Во время выполнения одной из этих команд создается или удаляется символическая ссылка на файл модуля с расширением load в директории mods-available. Можете посмотреть содержимое этого файла, там только одна строка. Например:

vi /etc/apache2/mods-available/deflate.load


Это к тому, что активировать модуль можно было просто добавив эту строчку в файл apache2.conf. Но принято делать именно так, чтобы избежать путаницы.

Настройки модулей находятся в той же папке, только в файле с расширением.conf вместо load. Например, посмотрим настройки того же модуля для сжатия deflate:

vi /etc/apache2/mods-available/deflate.conf


Файлы в папке conf-available, это такие же модули, только они установлены отдельно от apache, это может быть конфигурационные файлы для включения модуля php или любого другого языка программирования. Здесь работает все точно так же, только команды для включения и отключения этих модулей немного другие:

a2enconf имя_модуля

a2disconf имя модуля

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

sudo a2enmod expires
$ sudo a2enmod headers
$ sudo a2enmod rewrite
$ sudo a2enmod ssl

Модули expires и headers уменьшают нагрузку на сервер. Они возвращают заголовок Not Modified, если документ не изменился с последнего запроса. Модуль expiries позволяет устанавливать время, на которое браузер должен кэшировать полученный документ. Rewrite позволяет изменять запрашиваемые адреса на лету, очень полезно при создании ЧПУ ссылок и т д. А последний для включения поддержки шифрования по SSL. Не забудьте перезагрузить apache2 после завершения настроек.

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

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

Настройки хостов Apache расположены в папке /etc/apache2/hosts-available/. Для создания нового хоста достаточно создать файл с любым именем (лучше кончено с именем хоста) и заполнить его нужными данными. Обернуть все эти параметры нужно в директиву VirtualHost. Кроме рассмотренных параметров здесь будут использоваться такие:

  • ServerName — основное имя домена
  • ServerAlias — дополнительное имя, по которому будет доступен сайт
  • ServerAdmin электронная почта администратора
  • DocumentRoot — папка с документами для этого домена

Например:

vi /etc/apache2/sites-available/test.site.conf


ServerName test.site
ServerAlias www.test.site
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test.site/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

Виртуальные хосты, как и модули нужно активировать. Для этого есть специальные утилиты. Чтобы активировать наберите:

sudo a2ensite test.site

Здесь test.site — имя файла виртуального хоста. Для отключения тоже есть команда:

sudo a2dissite test.site

Настройка виртуальных хостов Apache завершена и на публичном сервере это все бы уже работало, но если вам нужна настройка Apache на домашней машине, то вы ваш новый сайт не откроется в браузере. Браузер не знает такого сайта. И откуда ему знать? DNS службы не могут ничего сообщить об этом доменном имени. Но в системе Linux мы можем сами указать ip адреса для доменных имен в файле /etc/hosts. Поэтому добавляем в конец файла такие строки:

127.0.0.1 test.site
127.0.0.1 www.test.site

Вот, ну теперь будет работать, открывайте браузер, проверяйте.

Выводы

Вот и все. Установка и настройка Apache linux завершена, вы можете использовать программу для размещения ваших сайтов. Более того, вы не просто настроили ее, вы разобрались со всеми подробностями и теперь знаете чуточку больше. Если у вас остались еще вопросы, пишите в комментариях!