Установка апаче на windows 7. Установка Apache MSI: пошаговая установка Apache

В этой статье мы рассмотрим установку и настройку Web-сервера Apache , PHP 5 и СУБД MySQL для использования их на локальной машине под операционной системой Windows (2000 и XP). Использование локальных серверов может понадобится по многим причинам – вам необходимо изучить PHP или MySQL, а тестирование своих Web-приложений на хостинге либо дорого обходится, либо такой возможности вообще нет. В этом случае вам понадобится связка Apache+PHP+MySQL на локальной машине.

Для начала необходимо раздобыть дистрибутивы серверов Apache и MySQL, а так же архив PHP. Мы будем устанавливать и настраивать Apache 2, MySQL 4 и PHP 5.

Так же можете скачать с нашего сайта файлы php.ini для настройки PHP и httpd.conf для Apache. Однако, делайте это только в крайнем случае - если у Вас ничего не получилось с "родными" файлами, которые появилиcь при установке приложений. Но в любом случае, их необходимо будет настроить под конкретную машину. Скачать php.ini и httpd.conf

Скачать Apache можно с зеркал приведённых на официальном сайте http://www.apache.org/dyn/closer.cgi . При поиске следует помнить, что Apache так же может называться httpd, по имени его демона в UNIX. На зеркалах обычно много различных файлов, например:
httpd-2.0.49-win32-src.zip - это архив с исходными кодами (src) для Windows (win32) Web-сервера Apache (httpd) версии 2.0.49.
httpd-2.0.49.tar.gz - тоже самое, но для Linux, в котором программы принято распространять в исходных кодах.
apache_2.0.50-win32-x86-no_ssl.exe - а вот это, откомпилированный под архитектуру (x86) для Windows (win32) без поддержки SSL(no_ssl) сервер Apache (apache) версии 2.0.50 - вот он и нужен.

Замечание

Бинарные коды дистрибутивов Apache распространяются в нескольких вариантах, как с расширением *.exe, так и *.msi и имеют название вида httpd_версия_win32_*_.msi.

Чтобы вам не мучатся, вот ресурс где можно его взять: http://apache.rinet.ru/dist/httpd/binaries/win32/
Вторая и третья цифра в версии могут отличаться от приведённых здесь – следует выбирать самую последнюю версию, так как в ней устранены ошибки обнаруженные в предыдущих версиях.

PHP 5 можно загрузить из раздела нашего сайта.

Дистрибутив MySQL можно загрузить со страницы нашего сайта.

Полное справочное руководство на русском языке можно найти по адресу .

После того как мы запаслись всеми необходимыми дистрибутивами можно приступать к установке. Порядок установки Apache, PHP и MySQL не имеет значения. Начнём с Web-сервера Apache.

Установка Web-сервера Apache

Запустите установщик Web-сервера Apache. Результатом будет окно с лицензионным соглашением, после принятия которого, следует перейти к следующему окну с краткой информацией о нововведениях во второй версии Apache. Следующее окно, показанное на рисунке, позволяет ввести информацию о сервере: доменное имя сервера , имя сервера и адрес электронной почты администратора . Если установка происходит на локальную машину, то в поля для доменного имени и имени сервера следует ввести localhost (см. рисунок.). В нижней части окна предлагается выбрать номер порта по которому сервер будет принимать запросы (80 или 8080).


localhost - это имя для использования сервера на локальной машине, которое связано с IP-адресом 127.0.0.1, который зарезервирован для локального использования.

После этого будет предложен способ установки: стандартный (Typical ) или выборочный (Custom ), позволяющий выбрать компоненты сервера вручную. Следующее окно позволяет выбрать каталог установки сервера, по умолчанию это C:Program FilesApache Group , но мы рекомендуем выбрать другой каталог, например, С:www. После этого мастер установки сообщит о готовности к процессу установки и после нажатия кнопки Install , будет произведено копирование файлов сервера. Если установка прошла успешно, Windows автоматически запустит Apache.

После успешной инсталляции при наборе в окне браузера http://localhost/ или http://127.0.0.1/ - должна загрузится страница сервера.

Теперь необходимо научиться управлять Apache, а именно научится запускать, останавливать и перезапускать сервер. Существует много способов осуществить эти операции: при помощи утилиты ApacheMonitor, используя консоль управления сервисов Windows, используя пункты меню Пуск, из командной строки… Мы рассмотрим консоль управления сервисов Windows, позволяющего настроить Apache для автоматического старта при запуске системы. Для запуска консоли управления выполните команду
Пуск->Настройка->Панель управления->Администрирование->Службы .
В появившемся окне консоли, на приведённом ниже рисунке, следует выбрать сервис Apache2. Контекстное меню, открывающееся по нажатию на правой кнопке, позволяет осуществлять запуск, остановку и перезапуск сервиса.


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

Конфигурирование Apache

Web-сервер - сложный программный продукт работающий на разных платформах и в разных операционных системах по всему миру. Поэтому для корректной работы на установленной системе его необходимо настроить (сконфигурировать).
По умолчанию настройки Apache расположены в файле httpd.conf в директории conf. Далее будут описаны основные директивы файла httpd.conf и их общеупотребительные значения.

Пути к файлам

В конфигурационных файлах Apache и PHP Вам часто придется указывать пути к различным директориям и папкам. В операционных системах UNIX и Windows при-меняются различные разделители каталогов. В UNIX используется прямая косая черта "/", например /usr/bin/perl, в в Windows обратная, например, c:Apachein. Вообще, в некоторых директивах Apache и PHP работают оба вида разделителей каталогов: прямой(/) и обратный(), но так как и Apache и PHP изначально разрабаты-вались под UNIX, то применяя их "родной" формат, Вы сможете избежать ряда проблем. Поэтому пути в настроечных файлах (httpd.conf и php.ini) рекомендуется писать через слеш в формате UNIX - "/". Например:

ScriptAlias "/php_dir/" "c:/php/"

Директивы файла httpd.conf

Port

Port 80

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

Примечание

Единственная причина использования нестандартного порта - это отсутствие прав на использование стандартного порта. При использовании нестандартного порта, например, 8080 номер порта следует указывать в адресе, например: http://localhost:8080/.

ServerAdmin

ServerAdmin [email protected]

Содержит e-mail-адрес администратора web-сервера, который будет отображаться при ошибках работы сервера.

ServerName

ServerName myserver

Содержит имя компьютера для сервера.

ServerRoot

ServerRoot "C:/Apache2"

Указывает на каталог, содержащий файлы WEB-сервера Apache.

Примечание

Не путайте директиву ServerRoot с директивой DocumentRoot, которая указывает каталог для файлов WEB-сайта.

DocumentRoot

DocumentRoot "C:/Apache2/htdocs"

Определяет каталог, в котором расположены файлы WEB-сайта.

Контейнер

Сфера действия директив внутри этого контейнера распространяется на все файлы и подкаталоги внутри DocumentRoot.


Options FollowSymLinks Includes Indexes
AllowOverride All

  • Директива AllowOverride установленная в значение All разрешает переопределять значения главного конфигурационного файла httpd.conf в файлах.htaccess.
  • Директива Options FollowSymLinks разрешает Apache следовать символическим ссылкам.
  • Директива Options Includes разрешает выполнение директив SSI (Server Side Includes) в коде страниц web-сайта.
  • Директива Options Indexes указывает, что нужно возвращать содержимое каталога, если отсутствует индексный файл.

DirectoryIndex

DirectoryIndex index.html index.phtml index.php

Содержит список индексных файлов, которые следует отображать при обращении к директории без указания имени файла (например, http://localhost/test/).

AddDefaultCharset

AddDefaultCharset windows-1251

Устанавливает кодировку по умолчанию, если кодировка не установлена в заголовке HTML-документа. Также Вам может потребоваться указывать значение кодировки KOI8-R.

Создание виртуальных хостов

На одном WEB-сервере Apache можно установить несколько WEB-сайтов. Эта функция сервера называется виртуальным хостингом. Ниже рассмотрим создание виртуальных узлов на основе имен. Виртуальные узлы обычно расположены в конце файла httpd.conf.

Сначала требуется указать какой IP-адрес используется для виртуальных хостов.



# Директивы виртуального хоста

Файл httpd.conf. Контейнер


ServerAdmin webmaster@may_domain.ru
DocumentRoot c:/www/mysite
ServerName www.mysite.ru
ServerAlias www.site.ru www.host2.ru
ErrorLog logs/mysite-error.log
CustomLog logs/mysite-access.log common

Рассмотрим директивы виртуального узла:

  • DocumentRoot указывает каталог, где расположены файлы (странички) данного виртуального узла (WEB-сайта)
  • ServerName указывает имя виртуального узла, по которому к нему можно обратиться. В данном случае, по адресу http://www.mysite.ru/.
  • ServerAlias содержит псевдонимы имен виртуального узла. В данном случае к виртуальному узлу можно также обратиться, используя имена: http://www.site.ru/ и http://www.host2.ru/.
  • ErrorLog и CustomLog указывает имена логов сервера для этого виртуального хоста.

Контейнеры обычно располагают один за другим в конце файла httpd.conf.

Файл httpd.conf. Настройка виртуальных хостов

NameVirtualHost 127.0.0.1:80

# Директивы виртуального хоста 1


# Директивы виртуального хоста 2


# Директивы виртуального хоста 3

Примечание

Для применения изменений, вносимых в файл httpd.conf, Apache следует перезагрузить.

Для того, чтобы обращаться к виртуальным узлам по именам их следует прописать в базы данных DNS-сервера. Если Вы используете Apache для тестирования файлов на локальной машине, то имена ваших виртуальных узлов следует прописать в файле hosts. Для Windows 2000 и XP он расположен в каталоге C:WindowSystem32Driversets. Файл hosts содержит записи вида:

Формат записей файла hosts

127.0.0.1 www.mysite.ru
127.0.0.1 www.site.ru
127.0.0.1 www.host2.ru

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

Для установки PHP следует создать каталог c:/php и разместить в нём файлы из zip-архива дистрибутива. После этого следует переименовать конфигурационный файл php.ini-dist в php.ini и скопировать его в директорию Windows.

Установка PHP в качестве модуля

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

Замечание

При установке PHP в качестве модуля настройки из php.ini читаются один раз при запуске Web-сервера. Поэтому при внесении изменений в php.ini необходимо перегрузить Apache для того, чтобы внесенные изменения вступили в силу.

Для установки PHP откройте файл главный настроечный файл Apache httpd.conf на редактирование и удалите символы комментариев со следующих строк, при необходимости изменив их:

Файл httpd.conf. Подключение PHP как модуль Apache


LoadModule php5_module c:/php/php5apache2.dll

Примечание

Установка PHP, как CGI-приложения

При установке PHP, как CGI-приложения интерпретатор PHP будет загружаться каждый раз при вызове PHP-сценария. В связи с этим, возможно, некоторое ухудшение быстродействия. Если PHP установлен, как CGI, то при внесении изменений в файл php.ini Apache перезагружать не следует, так как установки читаются каждый раз при выполнении PHP-сценария. Установка PHP как CGI немного ускоряет внесение изменений в конфигурацию PHP, так она не требует перезагрузки WEB-сервера.

Примечание

При установке PHP, как CGI перестанут работать некоторые заголовки, например, Вы не сможете организовать авторизацию пользователей средствами PHP. Авторизации можно будет реализовать только средствами самого Apache с помощью файлов.htaccess.

Для установки PHP откройте главный настроечный файл httpd.conf на редактирование, найдите в нем закомментированные строки подключения PHP и измените их следующим образом:

Файл httpd.conf. Подключение PHP как CGI

AddType application/x-httpd-php phtml php

Options ExecCGI

ScriptAlias "/php_dir/" "c:/php/"
Action application/x-httpd-php "/php_dir/php-cgi.exe"

Примечание

Вместо директории c:/php подставьте Вашу директорию с установленным PHP.

Конфигурирование PHP (файл php.ini)

Так как на локальной машине вы, скорее всего, будете заняты тестированием Ваших Web-приложений, то необходимо должным образом настроить конфигурационный файл php.ini. Найдите директиву error_reporting и установите для неё следующее значение:

Это значение настроит PHP таким образом, что при работе PHP-скриптов будут отображаться все ошибки, а "замечания" будут игнорироваться. Так же обходимо проследить, чтобы директива display_errors, была включена:

Display_errors = On

Если данная директива отключена (Off), то сообщения об ошибках не будут выводится в окно браузера и в случае возникновения в коде ошибки вы будете гадать перед девственно белым окном - что бы это означало.
Так же необходимо проследить, чтобы директива variables_order имела следующее значение:

Variables_order = "EGPCS"

Буквы здесь означают следующее:
E - переменными среды
G - переменными передаваемыми по методу GET (G)
P - переменными передаваемыми по методу POST (P)
C - Cookies
S - сессии
Отсутствие какой-либо из букв не позволит вам работать с соответствующими переменными.

Следующая директива, которая может потребовать настройки – это register_globals . Если данная директива включена

Register_globals = On

то переменные передаваемые метором GET, POST, через cookies и сессии можно использовать в PHP-скрипте, обращаясь к ним просто как обычным переменным $someone.
Если данная директива отключена

Register_globals = Off

то к таким переменным можно будет обращаться только при помощи суперглобальных массивов ($_POST, $_GET и т.п.).
Директива register_long_arrays позволяет использовать суперглобальные массивы в старом формате ("длинном" - $HTTP_GET_VARS, $HTTP_POST_VARS и т.д.)

Register_long_arrays = On

Теперь необходимо настроить индексный файл. Если в окне браузера набрать строку http://localhost/, а не http://localhost/index.html. Сервер всё равно предоставит браузеру index.html, так как этот файл является индексным и ищется в директории первую очередь, если не указан конкретный файл. Теперь необходимо настроить http.conf, таким образом, чтобы Web-сервер Apache так же реагировал на файлы index.php. Для этого найдте в http.conf директиву DirectoryIndex и исправьте её следующим образом:

DirectoryIndex index.html index.html.var index.php

После этого необходимо перегрузить сервер Apache, а в корневой директории виртуального хоста ("C:/www/scripts") создать пробный файл PHP (index.php):

phpinfo ();
?>

В случае успешной настройки, обращение по адресу http://localhost/index.php отобразит фиолетовую таблицу с текущими настройками PHP, которая выдаётся функцией phpinfo().
Таким образом, у нас настроена связка Apache и PHP и можно переходить к настройке MySQL. Распакуйте дистрибутив MySQL во временную директорию и запустите установщик. Контролировать работу сервера MySQL можно точно так же как и Apache, используя консоль управления сервисов Windows.

Подключение MySQL

Подробная методика подключения к PHP расширения MySQL описана в статье по ссылке: .

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

Откройте на редактирование файл php.ini из каталога Windows. Для подключения библиотеки расширения MySQL Вам нужно убрать символ комментария;(точка с запятой) из строки:

Extension=php_mysql.dll

Также проверьте значение директивы extension_dir

Extension_dir ="c:/php-5.0/ext"

Она должна указывать на каталог, где хранятся расширения PHP. Разделители каталогов рекомендуется писать в формате UNIX (/) - обратный слеш. Однако, если ничего не получается, просто откатите назад значение директивы extension_dir, а библиотеку php_mysql.dll скопируйте в корень C:/php-5.0/ - в большинстве случаев это должно помочь.

Если PHP Вас подключен как модуль, то Вам также необходимо скопировать библиотеку libmysql.dll из каталога с установленным PHP в системный каталог C:/Windows/System32. Чтобы внесенные изменения вступили в силу - перезагрузите Apache.

Для проверки работы MySQL перезапустите сервер Apache и создайте проверочный скрипт со следующим кодом:

$dblocation = "127.0.0.1" ;
$dbname = "test" ;
$dbuser = "root" ;
$dbpasswd = "" ;

$dbcnx = @ mysql_connect ($dblocation , $dbuser , $dbpasswd );
if (! $dbcnx )
{
echo "

К сожалению, не доступен сервер mySQL

" ;
exit();
}
if (!@
mysql_select_db ($dbname , $dbcnx ))
{
echo "

К сожалению, не доступна база данных

"
;
exit();
}
$ver = mysql_query ("SELECT VERSION()" );
if(! $ver )
{
echo "

Ошибка в запросе

"
;
exit();
}
echo
mysql_result ($ver , 0 );
?>

В случае успешной интеграции MySQL в связку Apache и PHP, обращение к проверочному скрипту выведет в окно браузера версию сервера MySQL.

В новых версиях MySQL (начиная с 4.1.0) изменился порядок работы с национальными кодировками, поэтому старый код может вызывать появление в таблице базы данных знаков вопроса "????????" вместо русского текста. Для того, чтобы этого не возникало в начало PHP-скрипта, после установки соединения с базой данных, следует поместить следующие строки:

mysql_query ("set character_set_client="cp1251"" );
mysql_query ("set character_set_results="cp1251"" );
mysql_query ("set collation_connection="cp1251_general_ci"" );
?>

Установка расширений PHP

На последок вам возможно понадобится настроить некоторые расширения PHP, они настраиваются точно так же как и MySQL.

Так для того, чтобы подключить графическую библиотеку GDLib в php.ini необходимо раскомментировать строку:

Extension=php_gd2.dll

Проверьте после этого наличие данной библиотеки в папке c:phpext. После внесения изменений в php.ini перезапустите сервер. Что бы быстро проверить: подключилась ли библиотека - выполните функцию phpinfo(). Если все в порядке, то в таблице, которая отображается функций phpinfo(), должен появится раздел "gd

При использовании устаревшего имени php.exe, использовавшегося в более ранних версиях вместо php-cgi.exe также возможно появлении ошибки:

403 Forbidden You don"t have permission to access /__php_dir__/php.exe/test.php on this server

HTML-файлы выполняются, а PHP-скрипты нет

При ненастроенном подключении PHP при обращении к файлам с расширением php, например: http:/localohost/index.php открывается окно с запрос на загрузку такого файла. Это говорит о том, что не настроена обработка файлов с расширением php. Проверьте в файле httpd.conf существование следующей строки:

AddType application/x-httpd-php phtml php

Notice: Undefined variable...

На новом, только что установленном, PHP можно часто видеть сообщения вида:

Notice: Undefined variable: msg in C:/Main/addrec.php on line 7

Error_reporting = E_ALL & ~E_NOTICE

Не подключается MySQL

Иногда возникают проблемы с установкой MySQL. Следует проконтролировать запускается ли MySQL в качестве сервиса каждый раз при старте системы. Для этого откройте консоль сервисов:

Пуск | Настройка | Панель управления | Администрирование | Службы

найдите там MySQL - запустите. Чтобы сервер стартовал при каждой загрузке системы нажмите правую кнопку мыши на сервисе и выберите "Свойства" - в открывшемся выпадающем списке "Тип запуска" выберите пункт "Авто".

Если при запуске Apache и при обращении ко скриптам выдается сообщение о невозможности загрузки библиотеки php_mysql.dll.

PHP startup: Unable to load dynamic library c:/php/ext/php_mysql.dll
- не найден указанный модуль

То еще раз сверьтесь с инструкциями из раздела, где описывается подключение к PHP библиотеки для работы с MySQL. Используете ли Вы "правильную" версию файла php_mysql.dll (именно для той версии PHP, которая установлена в системе)?
Версии файла php_mysql.dll различаются для разных версий PHP, хотя и имеют одно и тоже название.

  • Использование разделителей каталогов формате Windows (обратный слеш): c:apache/bin. Для надежной работы следует использовать разделители в формате UNIX (прямой слеш), например: c:/apache/bin.
  • Существование нескольких настроечных файлов php.ini на машине, либо отсутствие такого файла. Нужный файл php.ini должен лежать в директории Windows. Проведите поиск по дискам компьютера, найдите все лишние версии файлов и удалите их.
  • Любые возникающие по установке связки Apache+PHP+MySQL вопросы вы можете задать на нашем форуме посвященном установке и настройке Apache, PHP и библиотек расширений .

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

    Идем на страницу загрузки проекта - http://httpd.apache.org/download.cgi и качаем последнюю стабильную версию под Windows в виде MSI инсталлятора (в моем случае это был apache_2.2.14-win32-x86-no_ssl.msi). Начнем установку. Первый диалог, который может ввести нас в заблуждение - это диалог ввода информации о сервере:

    Конфигурировать наш сервер мы будем после установки, а сейчас давайте не будем особо париться и впишем в поля "Network Domain" и "Server Name" localhost, а в поле "Administrator"s Email Address" ваш адрес электронной почты (о том, что такое localhost, речь пойдет позже). Нижние переключатели не трогаем. Жмем "Next", соглашаемся с типичной установкой, еще раз "Next". Инсталлятор предложит выбрать директорию, в которую будет установлен веб-сервер:

    На мой взгляд, путь слишком длинный, давайте сократим его до C:\Program Files\Apache . Продолжаем установку, дожидаемся ее окончания. После закрытия инсталлятора в трее появится значок Apache монитора:

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

    Теперь давайте вспоминать то, о чем мы беседовали в статье . Как вы помните, у каждого компьютера, подключенного к сети, есть свой IP-адрес. Но даже если ваш компьютер не имеет ни одного сетевого подключения, у него есть как минимум один внутренний IP-адрес. Этот адрес - 127.0.0.1 . На всех компьютерах он одинаковый и указывает на сам компьютер. То есть, если сетевому клиентскому приложению указать адрес сервера 127.0.0.1, то клиент будет пытаться подключиться к серверу, расположенному на вашем же компьютере. Далее мы говорили о доменных именах, которые преобразуются в IP-адреса DNS-серверами. У внутреннего адреса 127.0.0.1 есть свое внутреннее доменное имя - localhost . При этом для преобразования этого имени в адрес компьютеру не нужно обращаться к DNS-серверу, так как это соответствие заложено в самом компьютере.

    Давайте запустим веб-браузер и введем в адресную строку домен localhost:

    Я надеюсь, вы понимаете, что произошло? Домен localhost преобразовался в IP-адрес 127.0.0.1, веб-браузер подключился к веб-серверу по этому адресу и 80 порту и запросил главную страницу с помощью протокола HTTP. То есть наш веб-сервер работает, он отправил браузеру страничку с надписью "It works" ("работает").

    Приступим к настройке нашего веб-сервера, которая сводится к редактированию конфигурационных файлов Apache. Для начала необходимо обзавестись удобным, практичным и в то же время простым текстовым редактором. Если у вас такой уже есть - мои поздравления, если же вы несчастный пользователь Блокнота, могу предложить редактор . Перейдите в папку C:\Program Files\Apache\conf и переименуйте файл httpd.conf в httpd.conf.bak , чтобы в случае чего иметь под рукой начальную конфигурацию. Создайте новый файл httpd.conf со следующим содержимым:

    ServerRoot "C:/Program Files/Apache" Listen 80 LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule cgi_module modules/mod_cgi.so LoadModule dir_module modules/mod_dir.so LoadModule env_module modules/mod_env.so LoadModule include_module modules/mod_include.so LoadModule isapi_module modules/mod_isapi.so LoadModule log_config_module modules/mod_log_config.so LoadModule mime_module modules/mod_mime.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so ServerName localhost AccessFileName .htaccess ServerTokens prod LogLevel error ErrorLog "logs/error.log" DefaultType text/plain AddDefaultCharset UTF-8 DirectoryIndex index.html Order allow,deny Deny from all Satisfy All TypesConfig conf/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz LogFormat "\nclient=%h\ntime=%{%d.%m.%Y %H:%M:%S}t\npage=%U%q\nreferer=%{Referer}i\nreqmethod=%m\nhost=%{Host}i\nagent=%{User-agent}i\n\n" mylog

    Разбираемся. ServerRoot - путь, куда установлен наш веб-сервер. Обратите внимание на слеши. Listern - указывается номер порта, который будет "слушать" веб-сервер, а также, если необходимо, IP-адрес (если у вашего компьютера несколько подключений и нужно принимать соединения только по одному из них). Мы указали порт 80, который является стандартным для веб-серверов. LoadModule загружает модуль веб-сервера, модули позволяют получить дополнительные возможности. В нашем конфигурационном файле прописан перечень стандартных модулей. AddDefaultCharset - кодировка по умолчанию, выставили юникод (UTF-8). Остальное пока нас мало волнует.

    А теперь самое главное. Не забыли, для чего устанавливаем веб-сервер? Правильно, для работы над нашими будущими сайтами. Существует понятие корневой каталог - это каталог, где расположен контент сайта, то есть файлы, из которых он состоит. По умолчанию в нашем Apache корневым каталогом является каталог . Перейдя туда вы обнаружите там единственный файл под именем index.html . Это тот самый файл, который содержит главную страницу с надписью "It works" по адресу http://localhost . Дело в том, что если в запросе (который, кстати, называется url) отсутствует имя файла, то веб-сервер ищет файл с одним из стандартных имен. Эти имена (точнее, одно имя - index.html ) прописаны у нас в конфигурационном файле:

    DirectoryIndex index.html

    Таким образом, при запросе http://localhost веб-сервер будет искать файл C:\Program Files\Apache\htdocs\index.html , при запросе http://localhost/docs - C:\Program Files\Apache\htdocs\docs\index.html (в том случае, если docs - папка), при запросе http://localhost/news.html - C:\Program Files\Apache\htdocs\news.html и так далее.

    При веб-строительстве удобно иметь не один, а, скажем, три локальных (находящихся на локальной машине) домена, на которых можно независимо тестировать ваши сайты. Apache позволяет обслуживать несколько сайтов, то есть вам не придется для каждого домена устанавливать свою копию веб-сервера (к тому же, мы помним, что на компьютере может работать только одно серверное приложение на определенном порту). Несколько доменных имен могут ссылаться на один и тот-же IP-адрес. Apache, в свою очередь, может в зависимости от доменного имени, переданного в HTTP-запросе (вспоминаем параметр Host, статья "Принципы функционирования веб-сервера"), искать файлы в определенном корневом каталоге. Такая технология называется "виртуальный хост" .

    Итак, localhost соответствует адресу 127.0.0.1, давайте создадим еще три внутренних домена test-domain1, test-domain2 и test-domain3, которые будут соответствовать этому же адресу. Откройте в текстовом редакторе файл C:\WINDOWS\system32\drivers\etc\hosts . В этом файле можно задать соответствия доменных имен и IP-адресов. Здесь же мы обнаружим то самое соответствие localhost адресу 127.0.0.1. Добавьте в конец файла строки:

    127.0.0.1 test-domain1 127.0.0.1 test-domain2 127.0.0.1 test-domain3

    Перед обращением к DNS-серверу соответствие ищется в этом файле, и, если удачно, обращение отменяется и используется найденный адрес.

    Следующим шагом необходимо каждому доменному имени создать свой корневой каталог и сказать об этом нашему веб-серверу. Удаляем в папке C:\Program Files\Apache\htdocs файл index.html и создаем там три папки: test-domain1 , test-domain2 и test-domain3 , в каждой из этих папок папку log - для логов и папку www - собственно, корневой каталог для домена. В конце файла C:\Program Files\Apache\conf\httpd.conf дописываем следующее:

    NameVirtualHost *:80 ServerName test-domain1 DocumentRoot "C:/Program Files/Apache/htdocs/test-domain1/www" ErrorLog "C:/Program Files/Apache/htdocs/test-domain1/log/error.log" CustomLog "C:/Program Files/Apache/htdocs/test-domain1/log/access.log" mylog ServerName test-domain2 DocumentRoot "C:/Program Files/Apache/htdocs/test-domain2/www" ErrorLog "C:/Program Files/Apache/htdocs/test-domain2/log/error.log" CustomLog "C:/Program Files/Apache/htdocs/test-domain2/log/access.log" mylog AllowOverride All Options -Indexes ServerName test-domain3 DocumentRoot "C:/Program Files/Apache/htdocs/test-domain3/www" ErrorLog "C:/Program Files/Apache/htdocs/test-domain3/log/error.log" CustomLog "C:/Program Files/Apache/htdocs/test-domain3/log/access.log" mylog AllowOverride All Options -Indexes

    Три блока VirtualHost описывают наши три виртуальных хоста. Каждому задается свой корневой каталог - DocumentRoot , путь к логу ошибок - ErrorLog и логу доступа - CustomLog .

    В корневом каталоге каждого домена создайте по файлу index.html с содержимым "Hello from test-domain1", "Hello from test-domain2" и ""Hello from test-domain3". Чтобы изменения в конфигурации вступили в силу, необходимо перезапустить Apache (левой кнопкой мыши по значку Apache монитора -> Restart). Если ошибок не было допущено, должно все работать:

    Поздравляю, теперь у вас есть настроенный веб-сервер с тремя локальными хостами. Раздолье для веб-мастера:) Самое время приступить к изучению основ веб-строительства.

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

    Приступим!

    Так как проект расчитан на начинающих веб разработчиков, то для простоты настройки и установки ПО мы будем программировать под Windows. По мере набора опыта, вы легко сможете “переехать” на *nix платформу.

    Итак, для начала нам необходимо скачать последнюю версию дистрибутива Apache (4.6 Mb). На момент написания этой заметки – это версия 2.2.10. К моменту прочтения этого текста, ваша версия может быть более новой, но это не меняет сути. Каких-либо коренных отличий быть не должно.

    Находим на странице раздел “Apache HTTP Server 2.2.10 is the best available version ” (лучшая доступная версия) и там выбираем дистрибутив для Windows – “Win32 Binary without crypto (no mod_ssl) (MSI Installer) ” (установочный файл без поддержки SSL, т.к. для наших уроков SSL нам не понадобиться):

    Итак, мы скачали установочный файл apache_2.2.10-win32-x86-no_ssl.msi . Запускаем установщик:

    Просто нажимаем Next.

    Принимаем лицензионное соглашение и нажимаем Далее.

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

    Я настоятельно рекомендую вам установить Apache именно в эту папку (она предлагается по умолчанию). Следующие уроки будут посвящены установке и настройке PHP и MySQL. Я буду ориентироваться именно на этот путь установки Apache. Так что, если после установки Apache вам не нужны лишние проблемы с прикручиванием к нему PHP и MySQL, то советую прислушаться к моим словам. В дальнейшем, когда вы пару раз сами поставите и сможете настроить apache , вы установите его в удобную для вас директорию.

    Подготовка к установке завершена. Нажимаем Install и ждем пока завершиться установка.

    Поздравляю, установка Apache завершена!

    Если у кого-то возникли трудности в установке – пишите в комментариях. Я постараюсь помочь.

    Веб-сервер – программа, которая запущена на локальной или удаленной машине, и главное её предназначение – позволять пользователю просматривать веб-документы. Когда в адресной строке вводится адрес сайта, при нажатии клавиши Enter браузер формирует некий запрос, направленный удаленному компьютеру - веб-серверу.

    Apache HTTP-сервер (сокращение от англ. a patchy server ) – одна из наиболее популярных и распространенных программ, созданных для веб-разработчиков и администраторов интернет-ресурсов. По данным независимых исследователей, Apache установлен на 50% компьютеров всех пользователей HTTP-серверов.

    Главными преимуществами Apache являются стабильность, быстродействие и гибкость, и обусловлены они модульной организацией, а также тем, что разработку ведёт открытая группа программистов, хоть и под официальным названием Apache Software Foundation .

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

    О том, как установить сервер Apache для операционной системы Windows 7, пойдет речь в данной статье.

    Установка Apache

    В первую очередь необходимо скачать последнюю версию дистрибутива Apache без поддержки SSL и запустить установку. В приветственном окне нужно кликнуть на «Next », прочесть лицензионное соглашение разработчика и подтвердить свое согласие с ним.

    Затем, в окне установки необходимо заполнить поля так, как показано на картинке ниже, а в поле «Administrator’s Email Address » указать адрес своей электронной почты, кликнуть «Next » и установить переключатель в положение «Custom ».




    Далее необходимо создать директорию www на диске C и указать её в качестве установочной папки для Apache, кликнуть «Next » в этом и «Install » в следующем окне. Когда установка закончится, нажмите на «Finish ».

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

    Кликнув по тому же значку правой кнопкой мыши, можно перейти к различным системным службам операционной системы или открыть монитор Apache.

    Для того чтобы проверить работает ли установленный сервер Apache, наберите в адресной строке вашего браузера http://localhost

    Если появилась страница с воодушевляющей надписью «It works! », значит, установка Apache прошла успешно, и он функционирует правильно.

    Базовая настройка веб-сервера

    Хоть Apache и является весьма удобным и исключительно надёжным, не все готовы его использовать как локальный сервер по ряду причин, и основная - отсутствие даже в среде Microsoft Windows какого-либо графического конфигуратора, что довольно непривычно для большинства пользователей.

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

    Что необходимо?

    • Запустить Apache под платформой Windows 7;
    • Хранить в удобной для пользователя директории файлы будущего сайта (например, C:www);
    • Не испытывать проблем с кодировкой, а в частности - с отображением кириллицы;
    • Возможность работать с несколькими сайтами одновременно.

    Чтобы успешно решить эти проблемы, зайдите в папку с установленным Apache, найдите и откройте в подпапке conf файл httpd.conf . Обратите внимание, что строки, начинающиеся с «решётки », являются текстовыми комментариями, а в качестве настроек веб-сервера использованы строки, в начале которых значок «решётки » отсутствует.

    Для начала нужно выполнить настройку той директории, которая будет использоваться сервером в качестве папки веб-сайта. Найдите в тексте строку, которая начинается с DocumentRoot . Данная директива определяет, какая папка будет являться корневой.

    Исправьте её на DocumentRoot “C:/www ”. Следует уточнить, что слэши в этом файле должны быть наклонены вправо, а не влево, как, вероятно, уже привыкли пользователи Windows. После вышеуказанных манипуляций, проблема с месторасположением вашего сайта решена.

    Options (определяет, какие серверные функции будут доступны) AllowOverride (определяет, какие директивы из.htaccess могут преобладать над такими же в httpd.conf) Order (устанавливает определенные правила доступа к серверу)

    Список используемых параметров:

    Options. Возможны следующие варианты:

    • Includes – использование SSI разрешено;
    • IncludesNOEXEC – использование SSI разрешено с ограничениями (не допускаются #include и #exec );
    • Indexes – разрешено использование индексных файлов, и если URL-адрес указывает на директорию сайта (например, www.domain.ru/dir/ ), в которой не существует индексного файла, будет показано содержимое данной директории, а если этой опции нет – выдается оповещение о том, что доступ запрещён;
    • ExecCGI – выполнение скриптов CGI разрешено;
    • FollowSymLinks – сервер следует по имеющимся символическим ссылкам директории (используется в Unix-системах);
    • SymLinksIfOwnerMatch – сервер следует по имеющимся символическим ссылкам директории лишь в том случае, если целевой файл имеет одного владельца со ссылкой;
    • All – все вышеописанное вместе разрешено;
    • None – все вышеописанное вместе запрещено;
    • MultiViews – возможность подбора определенного контента и его выдачи в зависимости от предпочтений браузера (даже если включено все (Options All). Указывается отдельно).

    AllowOverride. Варианты:

    • AuthConfig – позволяет использовать директивы для авторизации;
    • FileInfo – разрешает использование директив для работы с различными типами документов;
    • Indexes – разрешает использование директив для работы с файлами индексации;
    • Limit – разрешает использование директив для определения доступа к хосту;
    • Options – разрешает использование директив для работы с определенными специфическими функциями директорий;
    • All – все вышеуказанное вместе;
    • None – ничего из вышеуказанного вместе.

    Order. Варианты:

    • Deny, Allow – Deny определяется перед директивой Allow, доступ разрешен по умолчанию, кроме хостов, которые указаны в следующей после Deny from строке;
    • Allow,Deny – Allow определяется перед директивой Deny, доступ запрещен по умолчанию, кроме хостов, которые указаны в следующей после Allow from строке;
    • Mutual-failure – разрешен доступ только таких хостов, которые отсутствуют в Deny и присутствуют в Allow.

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

    Options Indexes FollowSymLinks AllowOverride None Order allow, deny Allow from all

    Говоря другими словами, для папки C:/www и всех её подпапок выбраны следующие параметры:

    • Из возможной функциональности имеющегося сервера разрешены индексы в директориях и переходы по символическим ссылкам;
    • Возможность параметрического переопределения с помощью файлов.htaccess полностью отсутствует, однако учитывая то, что вы имеете полный доступ к серверу, она не является актуальной – все можно настроить через httpd.conf;
    • Доступ к веб-серверу разрешен со всех хостов.

    Теперь, сохраните файл httpd.conf и перезапустите Apache с помощью Apache Monitor либо командой apache –k restart в командной строке. Настройка корневой папки сайта закончена.

    Следует проверить, правильно ли вы всё сделали. Создайте простейшую веб-страницу в папке C:www, откройте ваш браузер и введите http://127.0.0.1/ваша_созданная_страница . Страницы должна открыться. В ином случае необходимо тщательно проверить все изменения в файле httpd.conf на правильность.

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

    Если пресловутый Internet Explorer в подобных случаях определяет кодировку из самой страницы, то, к примеру, Mozilla Firefox и Opera к подобным действиям склонности совершенно не имеют, и способ выставления кодировки в браузере вручную едва ли можно назвать удобным. Следовательно, необходимо настроить Apache на выдачу по умолчанию необходимой кодировки.

    Найдите в файле httpd.conf строку, которая начинается на AddDefaultCharset . Скорее всего, там указана кодировка ISO-8859-1, в которой отсутствуют кириллические символы. Поменяйте ISO-8859-1 на windows-1251 , сохраните файл и перезапустите Apache. Теперь корректное отображение русского языка на вашем сайте будет работать в любом браузере.

    В сервере Apache достаточно просто настроить работу с несколькими сайтами. Адреса, которые можно использовать для них - 127.0.0.2, 127.0.0.3 и т.д. При этом по сети виден будет только тот, который является сайтом по умолчанию (127.0.0.1), однако для локальной работы это не является критичным. Раздел файла httpd.conf , в котором производится настройка всего необходимого для этого, находится в самом конце и именуется VirtualHosts .

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

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



    
    Top