LiteNet.Ru - Актуально о ПК и ПО. 2006-2019.
СТАТЬИ | НОВОСТИ | ПРОГРАММЫ | ОБРАТНАЯ СВЯЗЬ | КАРТА САЙТА
Сейчас на сайте: 7 пользователей онлайн
Обновления
Комментарии interesting news ... [17.03.24]
Комментарии Спасибо... [17.02.24]
Материал Форма ввода php [08.05.23]
Материал Windows 11 LTSC выйдет во второй половине 2024 года [08.05.23]
Материал Microsoft прекратит выпуск обновлений для Windows 10 [29.04.23]
Комментарии Огромный респект и... [04.10.22]
Комментарии не помогло... [10.07.22]
Комментарии не получается войт... [02.11.21]
Комментарии Да нет в редакторе... [05.10.21]
Комментарии Toshiba Tecra s11 ... [21.07.21]
Комментарии Все получилось, сп... [21.07.21]
Комментарии не сработало... [04.06.21]
Комментарии Доброго времени! У... [27.03.21]
Комментарии У меня этот метод ... [19.03.21]
Комментарии всё испробовал,не ... [17.03.21]
Материал Представлена настоящая зарядка по воздуху Xiaomi Mi Air Charge [31.01.21]
Материал Отныне для запуска WhatsApp на ПК и в браузере требуется биометрия [31.01.21]
Материал Google Chrome 88.0.4324.104 [31.01.21]
Материал Avast Free Antivirus 20.10.5824 [31.01.21]
Материал Яндекс.Браузер 20.12.3.138 [31.01.21]
Материал Maxthon 6.1.1.1000 [31.01.21]
Материал MKVToolnix 53.0.0 [31.01.21]
Материал ProduKey 1.95 [31.01.21]
Материал Telegram Desktop 2.5.8 [31.01.21]

RSS

Последние добавленные статьи

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

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, что дает возможность настраивать каждый сайт самым детальным образом.

Что еще почитать?


Оставленные комментарии:


Всего 0 комментариев


Введите Ваше имя:


Не используйте HTML и ВВ-коды - не работает. Пользуйтесь смайликами :)
Very HappySmileLaughingCoolWinkSurprised
RazzSleepSadShockedEvil or Very MadRolling Eyes

В этом поле Вы можете ввести текст комментария:


До конца всего осталось символов

Код на БОТливость: Код на БОТливость:
Введите код: