ОС Linux -> Сети
->ProFtpd по-русски. Изменение кодировки koi8->win1251 на лету
ProFtpd по-русски. Изменение кодировки koi8->win1251 на лету
Много у кого осталась нерешенной проблема использования на юниксовых серверах файлов с названиями в кодировке koi8 клиентами под windows. Аналогичную проблему испытывают японцы со своими языковыми кодировками. Их решение ("ProFTPD - iconv() charset conversion patch" http://home.h01.itscom.net/para/software/misc/proftpd-iconv/index-e.html) можно и использовать под нас. На своем сервере FreeBSD мне захотелось, что бы proftpd был установлен из портов, но был пропатченным. Итак, приступим. Нам потребуется libiconv cd /usr/ports/converters/libiconv
make install
make clean
Распакуем сырцы proftpd
cd /usr/ports/ftp/proftpd
make extract
Скачаем сам патч в каталог /usr/ports/ftp/proftpd/work cd /usr/ports/ftp/proftpd/work
fetch http://home.h01.itscom.net/para/software/misc/ proftpd-iconv/pack/proftpd-1.2.10-iconv.patch.gz
патчим командой gzip -cd proftpd-1.2.10-iconv.patch.gz |patch -p0
после этого идем в proftpd-1.2.10/src/netio.c ищем switch (mode) {
case IAC:
и вырезаем весь этот свитч, строк там много, около 2х экранов в /usr/ports/ftp/proftpd/Makefile добавляем такие строчки между любыми ".if defined(WITH_***)": MODULES:=${MODULES}:mod_codeconv
INCLUDEDIRS:=${INCLUDEDIRS}:${PREFIX}/include
LIBDIRS:=${LIBDIRS}:${PREFIX}/lib
Конфигурируем командой make configure
после этого правим work/proftpd-1.2.10/Make.rules находим LIBS= и в конец строки добавляем -liconv После этого уже делаем make
make install
Если make не прокатил, следует поковырять Makefile, что я с ним делал, я уже не помню, но смысл в том, что бы configure выполнилось с ключами --with-modules=mod_codeconv --with-libraries=/usr/local/lib --with-includes=/usr/local/include Теперь в /usr/local/etc/proftpd.conf добавляем CharsetLocal KOI8-R
CharsetRemote CP1251
Все!!! Теперь можно в качестве клиента любой браузер использовать без таблиц кодировки, т.е. имея к примеру на сервере unix+proftpd+samba клиенты под windows смогут без проблем работать с файлами в win1251 кодировке. Источник: OpenNet. Автор: Дмитрий Паскаль
комментарии к статье (0)
Ссылки по теме:
Построение Виртуальных Частных Сетей на основе UNIX сервера FreeBSD
Установка ICQ сервера для локальной сети
Единая учетная запись в Squid и Windows NT/2000
Применение ПРОКСИ-сервера для организации авторизированного доступа к сети Интернет
Построение шифрованного канала между тонким сервером Favourite IS (FreeBSD) и маршрутизатором CISCO
|