Категории
Самые читаемые

Linux - Алексей Стахнов

Читать онлайн Linux - Алексей Стахнов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 67 68 69 70 71 72 73 74 75 ... 151
Перейти на страницу:

• SVDLA CharsetBrokenAccept Agent-Substring accept_charset_string

Игнорировать данный заголовок Accept от данного клиента – использовать другие механизмы для определения типа клиентской кодировки.

• SVDLA CharsetSelectionOrder Rulel …

Устанавливает приоритет способов определения кодировки клиента:

– Portnumber – по номеру порта;

– Hostname – если каноническое имя хоста начинается с имени кодировки или его синонима, то выбирается данная кодировка;

– URiHostname – если имя в заголовке Host: начинается с имени кодировки или его синонима, то выбирается данная кодировка;

– EnvVariabie – ио переменной force_charset, определенной внешними модулями;

– Dirprefix – по началу имени каталога;

– Useragent – ПО IITTP-заголовку User-Agent.

• SVDLA CharsetDefault имя_кодировки

Принимается в качестве кодировки клиента, если все остальные способы не помогли.

• SVDLA CharsetByPort имя_кодировки номер_порта

Определяет кодировку по номеру порта, к которому произошло подключение.

Дополнительная обработка специфических случаев:

• SVDLA AddHandler strip-meta-http.extl …

Удалять тэги "мета http-equiv=.. charset=…" из HTML-файлов перед передачей их клиенту.

• SVDLA CharsetBadAgent шаблон …

Для клиентских программам, подпадающих под шаблон, не будет выдаваться строка charset= в HTTP-заголовке Content-type.

• SVDLA CharsetErrReject On | Off

Если клиент запрашивает неизвестную кодировку в директиве Accept/Accept-charset, выдавать сообщение об ошибке или попытаться определить правильную кодировку.

• SVDLA CharsetDisable On | Off

Выключить модуль для данного сервера/каталога.

• SVDLA CharsetRecodeFilenames On | Off

Перекодировать имена файлов.

• SVDLA CharsetOverrideExpires On | Off

Если включен (on) – заменять заголовки Expires, сгенерированные другими модулями, на свои.

• SVDLA CharsetDisableForcedExpires On | Off

Если выключен (off) – сервер выдает заголовок Expires: 1 Jan 1970 для того, чтобы документ не кэшировался, если его кодировка определилась по User-Agent или Accept-charset.

• SVDLA CharsetRecodeMethodsIn метод1 …

Включить обработку запроса для данного метода: get, post, put, all, none.

• SVDLA CharsetRecodeMethodsOut метод1 …

Включить обработку ответа для данного метода: get, post, put, all, none.

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

Файл access.conf

В access.conf содержатся директивы, описывающие права доступа к каталогам и файлам Web-cepвepa. Обычно создается каталог /www/<имя_сервера>/, потому что при такой организации проще ориентироваться в структуре файлов.

Файл access.conf содержит секции Directory, Location и Files, которые ограничены одноименными директивами. В параметрах этих директив могут использоваться символы"?" и "*", а также регулярные выражения, предваряемые тильдой. В секции Directory помещаются инструкции, относящиеся к определенному каталогу на диске, в секции Location – относящиеся к виртуальному пути, в секции Files – относящиеся к файлу или группе файлов.

<Directory /www/r.com.ua>

# директивы, относящиеся ко всем документам, хранящимся в каталоге /www/r.com.ua и вложенных в него

</Directory>

<Location /cgi-bin>

# директивы, относящиеся ко всем документам, доступным по адресу http://<имя_сервера>/cgi-bin/ <путь_к_файлу>

</Location>

<Files /www/r.com.ua/form.htm>

# директивы, относящиеся к файлу form.htm из каталога /www/r/com.ua

</Files>

Различие между секциями Directory и Location состоит в том, что первая относится к каталогам на диске, вторая -k виртуальному пути (URL), который браузер запрашивает у Web-cepвepa. И в той, и в другой могут присутствовать директивы order, allow и deny, которые позволяют ограничить доступ к каталогу или URL с различных машин.

При отсутствии специальных требований к безопасности можно указать Options АН в секции <Directory /www>, иначе нужно описать параметры каждого каталога отдельно.

Пример файла access.conf

## access.conf – Apache HTTP server configuration file

##

# access.conf: Global access configuration

# Online docs at http://www.apache.org/

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

<Directory /www>

Options All

AllowOverride All

order allow,deny

allow from all

</Directory>

Файл srm.conf

Файл srm.conf содержит директивы, связанные с общими настройками структуры каталогов сервера. Обычно они не изменяются.

Файл httpd.conf

Конфигурационный файл httpd.conf является основным и содержит настройки, связанные с работой Web-cepвepa, виртуальных серверов, а также всех его программных модулей. Кроме того, именно в нем настраивается перекодирование русских букв при передаче от сервера к клиенту и обратно.

Директива Port, помещенная в самом начале файла, определяет номер порта для HTTP-сервера; по умолчанию это 80. При необходимости можно приписать серверу другой порт или несколько портов.

Директива HostnameLookups с параметром on или off включает или отключает преобразование численных IP-адресов клиентов, получивших данные с сервера, в доменные имена.

Директивы user и Group задают пользователя, который будет администрировать сервер. С точки зрения безопасности нежелательно указывать здесь существующего пользователя, имеющего доступ к каким-либо другим ресурсам или файлам. Лучше создать отдельного пользователя и группу специально для HTTP-сервера.

Директивы serverRoot, ErrorLog, CustomLog определяют корневой каталог HTTP-сервера, путь к журналу регистрации ошибок (error log) и путь к общему журналу обращений к серверу (access_log).

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

Обычно на одном физическом Web-cepвepe размещаются несколько так называемых «виртуальных» Web-серверов. Обычно это делается по нескольким причинам – экономия денег (для чего покупать отдельные серверы, когда можно на существующем сервере запустить сотню виртуальных серверов), экономия IP-адресов (и в конечном итоге – денег), проще с администрированием.

Виртуальные серверы могут иметь один и тот же IP-адрес и разные доменные имена, а могут иметь и разные IP-адреса. Для описания адресов и доменных имен виртуальных серверов служат следующие директивы:

ServerName, ServerAlias, NameVirtualHost и VirtualHost. Они необходимы только если вам нужно установить более одного виртуального сервера.

Директива ServerName, находящаяся вне секций VirtualHost, определяет имя основного сервера, корневой каталог которого задан директивой DocumentRoot в файле srm.conf. Виртуальные серверы наследуют настройки основного; при необходимости специальной настройки соответствующие директивы помещаются в секции VirtualHost, относящейся к данному серверу.

Ниже приведен фрагмент конфигурационного файла для виртуальных серверов с различными IP-адресами:...

ServerName www.lug.net

<VirtualHost 192.168.0.2>

DocumentRoot /www/lug.net

ServerName www.lug.net

ErrorLog /var/log/error_log.lug.net

CustomLog /var/log/access_log.lug.net combined...

</VirtualHost>

<VirtualHost 192.168.11.6>

DocumentRoot /www/r.com

Se rverName www.r.com

ErrorLog /var/log/error_log.r.com

CustomLog /var/log/access_log.r.com combined...

</VirtualHost>

Ниже приведен фрагмент конфигурационного файла для виртуальных серверов с одинаковыми IP-адресами:

....

ServerName www.lug.net

NameVirtualHost 192.168.0.2

<VirtualHost 192.168.0.2>

DocumentRoot /www/lug.net

ServerName www.lug.net

ErrorLog /var/log/error_log.lug.net

CustomLog /var/log/access_log.lug.net combined...

</VirtualHost>

<VirtualHost 190.168. 0.2>

DocumentRoot /www/nug.net

ServerName www.nug.net

ServerAlias *.nug.net

ErrorLog /var/log/error_log.nug.net

CustomLog /var/log/access_log.nug.net combined...

</VirtualHost>

Ссылки

• http://bog.pp.ru/work/apache.html – Apache: HTTP-сервер. Установка, настройка и русификация.

• http://www.cs.ilmo.ru/education/dociimentation/rapacheman/index.shtml – Артем Подстрешный. Работа с Web-сервером Russian Apache.

• http://www.apache.org – официальный сервер Apache.

• http://apache.lexa.ru – сервер группы разработчиков русского модуля Apache.

• Соответствующие HOWTO (см. гл. 13):

– Apache-Overview-HOWTO – Обзор Web-cepвepa Apache;

– Building a Secure RedHat Apache Server HOWTO – настройка безопасного Apache;

– Apache+DSO+mod_ssl+mod_perl+php+mod_auth_nds+mod_auth_mysql+mod_fastcgi mini-HOWTO – инсталляция Apache Web-cepвepa с поддержкой модулей mod_perl, mod_ssl и php;

– Linux Apache SSL PHP/FI frontpage mini-HOWTO – настройка Web-сервера, поддерживающего динамически изменяемое содержимое.

Глава 20 FTP

Эта глава посвящена протоколу FTP, настройке сервера FTP, проблемам конфигурации и безопасности сервера.

Протокол FTP

Протокол FTP (File Transfer Protocol, протокол передачи файлов) предназначен для передачи файлов в сети Интернет. Этот протокол был разработан на заре эры Интернета и по сию пору остается востребованным и актуальным. Конечно, он несколько устарел, частично функции передачи файлов взял на себя Web-протокол HTTP, но, несмотря на это, протокол FTP, похоже, будет использоваться еще долгое время.

Передача файлов заключается в копировании целого файла с одного компьютера на другой. Для использования FTP-сервиса необходимо иметь учетную запись на сервере для авторизованного доступа, или воспользоваться анонимным доступом к FTP (anonymous FTP).

Протокол FTP, в отличие от большинства других протоколов, для пересылки файла использует два TCP-соединения. Одно соединение собственно для пересылки файла, а второе – для управления процессом передачи (управляющее соединение). Порт 20 предназначен для пересылки данных, а порт 21 для управляющего соединения. FTP-протокол может использовать как TCP-соединение, так и UDP-соединение.

1 ... 67 68 69 70 71 72 73 74 75 ... 151
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Linux - Алексей Стахнов.
Комментарии