Настройка Apache для начинающих - Mega Obzor

Настройка Apache для начинающих

2006-06-14, Автор - Ленар Хайруллин; Продукт - Apache; [7839]
Apache – исключительно надежный и удобный веб-сервер. К сожалению, есть те, кто не хочет использовать его в качестве локального сервера по одной причине – из-за отсутствия графического конфигуратора даже в среде Windows, что достаточно непривычно для многих пользователей этой системы. Настраивается Apache путем редактирования вручную файла конфигурации httpd.conf. Но представления о сложности и непонятности этого процесса ошибочны по двум причинам. Первая – в комментариях httpd.conf вполне достаточно информации для того, чтобы можно было разобраться с любой настройкой. Вторая – чтобы сделать из только что установленного Apache сервер, настроенный для вполне комфортной работы, надо менять совсем немного.

Что нам надо?

  1. Запустить самый популярный веб-сервер под самой популярной платформой – Windows.
  2. Хранить файлы сайта в той директории, в которой нам это удобно, – пусть это будет C:www.
  3. Не иметь проблем с кодировками, в первую очередь – с отображением кириллицы.
  4. Вполне возможно – одновременно работать с несколькими сайтами.

Попробуем решить все эти проблемы. Заходим туда, где установлен Apache. Находим и открываем файл httpd.conf – он находится в поддиректории conf. Здесь необходимо напомнить, что все строки этого файла, начинающиеся с "решетки" (#), существуют только в качестве текстовых комментариев, в качестве настроек сервера же используются строки, "решетки" в начале не имеющие. Сначала выполняем настройку директории, которая будет выдаваться веб-сервером в качестве корневой директории сайта. Ищем в тексте директиву DocumentRoot – строку, начинающуюся на DocumentRoot. Эта директива определяет, какая директория будет сопоставляться с корневой директорией сайта. Исправляем ее на DocumentRoot "C:/www" (следует отметить – здесь и далее в пути используются слэши, наклоненные вправо, а не влево, как привыкли пользователи Windows). Проблема с расположением сайта в нужном месте решена.

Далее устанавливаем для нее правила безопасности. Для этого в Apache используется директива Directory. Используется она следующим образом:


Options функции сервера
AllowOverride варианты
Order варианты

Список используемых параметров следующий.

Options – определяет, какие функции сервера будут доступны. Возможны следующие варианты:

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

AllowOverride – определяет, какие директивы из файлов .htaccess могут преобладать над такими же, указанными в httpd.conf. Варианты:

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

Order – устанавливает правила доступа к серверу. Варианты:

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

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


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

В переводе на русский язык – для директории C:/www, выбранной ранее в качестве корневой для нашего сайта, а также всех ее поддиректорий выбраны такие параметры:

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

Сохраняем httpd.conf и перезапускаем Apache – c помощью Apache Monitor или в командной строке командой apache -k restart. Все, настройка корневой директории сайта закончена.

Проверяем, правильно ли мы все сделали. Создаем в C:www простейшую веб-страничку, открываем браузер и в адресной строке вводим адрес: http://127.0.0.1/имя_созданной_страницы. Наша страница должна открыться. Если не открылась – самым внимательным образом надо проверить все внесенные в httpd.conf изменения – скорее всего, что-то было сделано неправильно.

Но и в том случае, если она будет открываться, вполне возможно, что вместо символов кириллицы мы увидим нечто нечитаемое. Происходит это потому, что, во-первых, Apache предоставляет браузеру, запросившему страницу, кодировку по умолчанию для этой страницы, а во-вторых – кодировка эта не кириллическая. И если Internet Explorer в большинстве таких ситуаций все равно определяет кодировку из самой страницы, то с Opera или Mozilla проблемы практически гарантированы. Конечно, можно выставлять используемый набор символов каждый раз вручную в браузере, но сколь-нибудь удобным это назвать невозможно.

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

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

Чтобы добавить один дополнительный сайт, создадим директорию, которая будет использоваться как его корневая, например C:www2. Предположим, что сайт должен откликаться на адрес 127.0.0.2, и дадим ему имя site2. Затем в самый конец раздела Virtual Hosts добавим следующие строки:


ServerAdmin webmaster@site2
ServerName site2
DocumentRoot "C:/www2"
ScriptAlias /cgi/ "C:/www2/cgi/"
ErrorLog "C:/www2/error.log"
CustomLog "C:/www2/custom.log" common

Перезапускаем Apache. Теперь, набрав в строке браузера 127.0.0.1, мы попадаем на первый локальный сайт, набрав 127.0.0.2 – на второй. Остается сказать только, что внутри каждого контейнера VirtualHost можно использовать практически любые директивы Apache, что дает возможность настраивать каждый сайт самым детальным образом.

Автор: Алекс Звягин

Комментарии:
Смартфоны iPhone X Plus и iPhone 9 показ...
Смартфоны iPhone X Plus и iPhone 9 показПрофильное издание MacRumors опубликовало видео, в котором демонстрируются два грядущих смартфона компани...
LG G6 получил режим Super Bright Camera ...
LG G6 получил режим Super Bright Camera Компании LG выпустила обновление для прошлогоднего флагмана LG G6, которое серьезно улучшает фотовозможно...
Смартфон Bluboo D6 получил 5,5-дюймовый ...
Смартфон Bluboo D6 получил 5,5-дюймовый Компания Bluboo выпустила смартфон Bluboo D6 с функцией разблокировки по лицу. Девайс оснащен 5,5-дюймов...
Новый смартфон Sony Xperia XA2 Plus дост...
Новый смартфон Sony Xperia XA2 Plus достНовый смартфон Sony Xperia XA2 Plus доступен для предзаказа в России с мощной 23 Мп камерой. Гаджет получ...
Представлен новый кнопочный телефон Sens...
Представлен новый кнопочный телефон SensКомпания Senseit представила новый кнопочный телефон под названием Senseit L131. Гаджет получил 2,8-дюймо...
В продаже появился защищенный смартфон D...
В продаже появился защищенный смартфон DВ продажу вышел недорогой смартфон Doogee S55 Lite с ОС Android 8.1 Oreo и защитой по классу IP68. Гаджет...
Объявлена дата анонса смартфона Xiaomi ...
Объявлена дата анонса смартфона  Xiaomi Компания Xiaomi представит новый смартфон POCO F1 уже 22 августа. Новинка Xiaomi POCO F1 получит экран с...
Клавиатура Xiaomi Game Keyboard оснащена...
Клавиатура Xiaomi Game Keyboard оснащенаКомпания Xiaomi выпустила механическую игровую клавиатуру Game Keyboard. Новинка оснащена многоцветной RG...
Поделиться в социальных сетях:


Обзор Run Around. Что-то необычное...
Обзор Run Around. Что-то необычноеВ большинстве случаев казуальные игры выглядят достаточно скучно и однообразно, так как разработчики прос...
Предварительный обзор LG Q8 (2018). Недо...
Предварительный обзор LG Q8 (2018). НедоВ последнее время можно заметить большую популярность смартфонов среднего класса от популярных производит...
Предварительный обзор Samsung Galaxy Not...
Предварительный обзор Samsung Galaxy NotДо анонса было понятно, что корейская компания Samsung не планирует революцию на мобильном рынке, скорее ...
Предварительный обзор HyperX Pulsefire F...
Предварительный обзор HyperX Pulsefire FКомпания HyperX весьма успешно зашла на рынок игровой периферии — все мы помним легендарные Cloud II, кот...
Обзор PUSS!. Котики и всё такое...
Обзор PUSS!. Котики и всё такоеПрактически всегда инди-разработчики выпускают какие-то скучные проекты, которые не стоят внимания пользо...
Предварительный обзор ASUS Designo MZ27A...
Предварительный обзор ASUS Designo MZ27AСтоит отметить, что далеко не всем пользователям нужны крутые мониторы с невероятной графикой. Большинств...
Обзор mapstr. Отмечаем любимые бары...
Обзор mapstr. Отмечаем любимые барыВажно всегда иметь при себе карты на смартфоне, так как жизнь штука интересная и иногда забрасывает в так...
Xiaomi Mi Robot Vacuum Cleaner, Xiaomi R...
Xiaomi Mi Robot Vacuum Cleaner, Xiaomi RНа днях, компания Xiaomi провела ежегодную конференцию, где представила три новинки: флагманский смартфон...
Предварительный обзор Canon PowerShot SX...
Предварительный обзор Canon PowerShot SXВ последнее время большую популярность набирают фотоаппараты компактных размеров. Это довольно просто объ...
Обзор HashPhoto. Странный редактор...
Обзор HashPhoto. Странный редакторПриложения для редактирования фотографий пользуются большим спросом среди пользователей по вполне понятны...
Предварительный обзор Nokia 6.1 Plus. Не...
Предварительный обзор Nokia 6.1 Plus. НеДлительное время пользователи ждали релиза Nokia 6 для глобального рынка. Дело в том, что оригинальная мо...
Развитие World of Warships...
Развитие World of WarshipsКогда речь заходит о компании Wargaming, то геймеры сразу думают про World of Tanks. Франшиза про танки д...

МегаОбзорМегаОбзор
ЭЛ № ФС 77 - 68301. Выдано РоскомнадзоромМегаОбзор
MegaObzor в социальных сетях:
Яндекс.Метрика
2006-2018 © MegaObzor