Вход/Регистрация
Linux: Полное руководство
вернуться

Аллен Питер В.

Шрифт:

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

Существует три способа выбора кодировки:

♦ по каталогу:

http://www.server.ru/koi/file.html

http://www.server.ru/win/file.html

♦ по имени сервера:

http://koi.www.server.ru/file.html

http://win.www.server.ru/file.html

♦ по порту:

http://www.server.ru:8000/file.html

http://www.server.ru:8001/file.html

Для перекодирования по каталогу (точнее, по его префиксу) нужно добавить в блоке VirtualHost псевдоним, например:

Alias /koi /www/docs

Или же просто создать в нужном каталоге ссылку на самого себя:

# cd /www/docs

# ln -s . koi

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

При использовании перекодировки по имени сервера следует обратить внимание на то, чтобы указанный вами сервер был прописан на сервере DNS. После регистрации поддомена (в качестве имени которого нужно использовать один из псевдонимов кодировки, указанный с помощью директивы CharsetAlias, например, koi или win) внесите следующие строки в ваш файл

httpd.conf
:

# Естественно, укажите здесь свой IP-адрес

<VirtualHost 111.111.111.1>

 ServerName www.server.ru

 ServerAlias *.www.server.ru

 # далее следует обычная конфигурация

 # ...

</VirtualHost>

Если сервер DNS администрируете не вы и возможности прописать новый поддомен у вас нет, то используйте перекодировку по порту. Для этого закомментируйте директиву Port в файле

httpd.conf
и вместо нее добавьте следующие директивы:

Listen 80

Listen 8000

Listen 8001

Listen 8002

Listen 8003

CharsetByPort koi8-r 8000

CharsetByPort windows-1251 8001

CharsetByPort ibm866 8002

CharsetByPort iso-8859-5 8003

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

Схема (порядок) выбора кодировки определяется директивой CharsetSelectionOrder:

♦ CharsetSelectionOrder Dirprefix Useragent Portnumber Hostname UriHostname — для выбора по каталогу;

♦ CharsetSelectionOrder Hostname UriHostname Useragent Portnumber Dirprefix — для выбора по имени домена;

♦ CharsetSelectionOrder Portnumber Useragent Hostname UriHostname Dirprefix — для выбора по порту.

16.13. Защита сервера Apache

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

[root@webserver]# chattr +i /etc/httpd/conf/httpd.conf

После этого вы (и никто другой) не сможете изменить этот файл даже с помощью конфигуратора.

Желательно также установить права 511 для исполняемого файла сервера httpd:

# chmod 511 /usr/sbin/httpd

Далее, не нужно, чтобы посторонние глаза смогли посмотреть, а руки — изменить (и выполнить) файлы, находящиеся в каталогах

/etc/httpd/conf
и
/var/log/httpd
:

# chmod 700 /etc/httpd/conf/

# chmod 700 /var/log/httpd /

16.14. Сервер kHTTPd — веб-сервер уровня ядра

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

  • Читать дальше
  • 1
  • ...
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: