Библиотека сайта rus-linux.net
14 дней жизни одной операционной системы
или впечатления об установке и настройке
Red Hat Linux 9 Cyrillic Edition
В.А.Костромин, 19 сентября 2003 г.
День двенадцатый. Samba и Apache.
Конфигурация сегодня та же самая - на компьютере old-lin работает сервер Samba под RedHat Linux 9.0, компьютер trend работает под Windows.
Для начала логируюсь под root-ом и добавляю в файл /etc/fstab строку
//trend/C /mnt/trend smb codepage=cp1251,iocharset=utf8
после чего выполняю команду mount /mnt/trend. По сравнению с тем, что вы
видели на рисунке 27, изменений появилось не много: имя каталога "Мои документы"
стало отображаться не знаками вопроса, а другими символами (см. рис.28),
причем их число в точности равно числу символов в исходном названии, но все
равно русским языком это не назовешь!
Рис. 28. Результат задания кодовой страницы cp1251 в файле fstab.
Но тут я припомнил, что где-то читал, что codepage надо устанавливать равной cp866. И вот, когда я изменил строку в fstab, придав ей следующий вид:
//trend/C /mnt/trend smb codepage=cp866,iocharset=utf8
все поправилось, и я смог нормально прочитать надпись "Мои документы", а также имена других файлов, заданные русскими буквами (см. рис.29).
Рис. 28. Результат задания кодовой страницы cp866 в файле fstab.
Так, в одну сторону наладили, теперь надо подойти со стороны Windows.
И тут я оказываюсь в тупике. Никаких способов настройки того, в какой кодировке отображаются имена файлов, я не знаю. Пытаюсь что-то найти, щелкнув правой кнопкой по букве сетевого диска в Проводнике и открыв пункт "Свойства", но там ничего не обнаруживается. Других идей в голову не приходит. Может что-то и можно сделать с помощью реестра Windows, но в реестре я не силен.
И все-же тупик не безысходный! Давайте посмотрим на это дело как-бы со стороны.
У нас теперь Linux-машина уже может быть клиентом Windows-компьютера, то есть
хранить на нем свои файлы, пусть даже их имена заданы русскими символами
в кодировке UTF8. Может! Я этот факт специально проверил, скопировав (с помощью
Midnight Commander под Линукс) ранее созданный файл "тест.utf" на примонтированный
диск Windows-машины. При этом "читабельность" имени не пострадала (см.рис.28).
Более того, и на стороне Windows имя этого файла отображается корректно,
наравне с ранее созданными там файлами с русскими именами (см. рис.30).
Рис. 30. Файл с именем, заданным в кодировке Unicode, скопирован на примонтированный Windows-диск.
Либо при передаче файла по сети происходит автоматическая перекодировка, либо Проводник Windows 98 умеет работать с именами в Unicode.
С другой стороны, и Windows-компьютер может без проблем работать как клиент с Linux-сервером. В какой бы кодировке не сохранялись имена файлов на сервере, для клиента это не имеет значения, он будет нормально видеть имена тех файлов, которые он сам создал и сохранил на сетевом диске, предоставленном Linux-сервером.
Проблема остается только в том случае, если один пользователь работает
с файлами прямо на Linux-сервере, а второй - на Windows-клиенте.
Это хорошо видно на рисунках 31 и 32, показывающих один и тот
же каталог на сетевом диске с двух разных "точек зрения".
Рис. 31. Каталог /home/kos/rus на Linux-сервере.
Рис. 32. Каталог /home/kos/rus со стороны Windows-клиента.
Если необходимо организовать такое взаимодействие, то выход я пока вижу только один: давать файлам имена, составленные из латинских символов.
На этом с Samba я заканчиваю и перехожу к http-серверу.
Apache.
Теперь мне Windows уже не нужен, так что на основном компьютере я тоже перегружаюсь под Linux. Там у меня стоит ASPLinux, версию которого я назвать затрудняюсь в силу того, что проводил несколько обновлений. Но ядро запускается 2.4.18, это я могу утверждать уверенно, потому при каждом запуске вижу меню GRUB, в котором это ядро стоит первым, а значит, загружается по умолчанию.
Если вы помните, http-сервер был у меня установлен при инсталляции системы, а при установке Samba я еще установил дополнительные модули. Так что осталось только запустить демон httpd, что я и делаю. И, введя в строке задания URL http://localhost, вижу в окне браузера тестовую страницу. На этой странице сказано, что конфигурационным файлом для сервера является файл /etc/httpd/conf/http.conf. Открываю этот файл и вижу в начале его предупреждение о том, что приведенные комментарии являются только подсказками и не стоит выполнять эти рекомендации, если вы не до конца понимаете, к чему это приведет. Но я уже несколько раз проделывал раньше настройки http-сервера, так что смело принимаюсь за редактирование. Я приведу вам только те строки получившегося у меня файла (снабжая своими комментариями), которые я как-то менял, и опущу те строки, которые остались такими, какими они были в исходном файле, сформированном из дистрибутивного пакета (включая, естественно, строки комментариев, начинающиеся символом #).
ServerName old-lin:80
DocumentRoot "/home/kos/ve"
<Directory "/home/kos/ve">
LanguagePriority en ru da nl et fr de el it ja kr no pl pt pt-br ltz ca es sv tw
AddDefaultCharset KOI8-R
После сохранения файла на диске я перезапустил демон httpd и попытался
обратиться в браузере к сайту http://old-lin. Однако получил сообщение
о том, что мне не разрешен доступ к каталогу / на этом сервере. После
некоторых размышлений я понял причину: в конфигурационном файле имеется
два параметра User и Group, задающие имена пользователя и группы, от
имени которых сервер обращается к файлам на диске. А каталог
/home/kos/ve, который задан как корневой каталог Web-сайта, принадлежит
kos. После того, как я записал в этих строках:
User kos Group kosи еще раз перезапустил сервер, я увидел в браузере картинку, изображенную на рис.33:
Рис. 33. Первый успешный запуск локального Web-сервера.
Но разбираться с этим опять придется уже завтра, а сегодня ограничимся тем, что сервер запустился и работает!
Замечу, что на завтра остался и еще один вопрос: для организации сайта я использую PHP и не ожидал, что так легко увижу в браузере что-либо приемлемое. Думал, что вначале придется настроить модуль работы с PHP. А тут все работает по умолчанию, без дополнительной настройки. Этот момент еще тоже предстоит осмыслить.
Список литературы и ссылки.
- Колисниченко Д.Н., "Linux-сервер своими руками", Издательство: Наука и техника, 576 стр.