proftpd로 클라이언트의 문자셋을 컨버팅해서 서버에 저장 시키는 방법.
아직까지 윈도우 클라이언트 ftp 프로그램이 euc-kr을 기본으로 사용하는 경우가 많다.(대표적인 경우 알ftp. 알ftp는 euc-kr만 지원)
따라서 ftp서버를 운용할 경우 할 수 없이 서버측 문자셋을 EUC-KR을 사용해야 되는 경우가 발생한다.
서버를 UTF-8로 운용할 경우 클라이언트 ftp 프로그램이 euc-kr을 사용하는 경우 서버 쉘상에서 해당 파일들의 파일명이 깨져보인다. 아래 방법은 서버-클라이언트를 UTF8-EUCKR로 운용을 해도 문제 없게 해결해 준다.
Linux 서버 쪽 문자셋 설정은 아래와 같이 UTF-8로 운용
[root@Mapoo-Server mapoo]# cat /etc/sysconfig/i18n
LANG="ko_KR.UTF-8"
proftpd 설치는 proftpd-1.3.3a.tar.gz 을 통해 소스 컴파일한다. rpm 버젼은 nls 옵션이 빠져있음.
./configure --prefix=/usr/local/proftpd --enable-nls ; make ; make install
* proftpd-1.3.1 버젼부터 nls 기능이 지원이 됨.
--enable-nls 옵션 정의는 아래와 같다.
[root@Mapoo-Server proftpd-1.3.3a]# ./configure --help | grep nls
--enable-nls enable Native Language Support (NLS) (default=no)
/usr/local/proftpd/etc/proftpd.conf 에 global 부분에 아래 한 줄 추가 하면 끝이다.
UseEncoding utf8 cp949
UTF-8서버와 euc-kr ftp클라이언트와의 호환