2009년 4월 19일 일요일

Apache FtpServer 설치

아이팟용 웹 페이지를 만들려고 하다 보니 최근에 웹서버에서 돌리도 있던 Serv-U가 서버의 재 설치하느라 없어지는 바람에 새로이 FTP 서버를 찾다가 Serv-U가 인터넷에서 다운받으면 해킹에 이용될수 있다는 지인의 말에 다른 대안을 찾아 보다가 우연히 아파치 프로젝트에 FTP Server가 있다는 걸 알게되었다.

현재까지 Apache FtpServer는 1.0.0 버젼이 릴리스 되어 있다. 그리고 윈도우 버젼과 Unix/Linux/Cygwin 버젼으로 빌드되어 배포된다.
따라서 버젼 1.0.0 Release / Windows 버젼(다운로드:ftpserver-1.0.0.zip)을 다운로드 받았다.

Apache FtpServer는 100% Pure java FtpServer 라서 일단 JDK(다운로드:J2SEv1.4.2_19 JRE)를 설치해야 한다.

1.설치
압축화일을 적당한 폴드에 푼다.

2.실행
명령 프롬프트에서 아래와 같이 실행한
bin\ftpd.bat

3.설정
윈도우 에서
bin\ftpd.bat res\conf\ftpd-typical.xml

이렇게만 하면 된다.


윈도우에서 서비스로 실행하고 싶다면 아래와 같이 명령 프롬프트에서 입력한다.
bin\service install

이렇게 입력하면 디폴트 설정을 이용하게 된다. 만약 xml 설정화일을 이용하려면 아래와 같이 입력해야 한다.
bin\service install ftpd



서버설정

xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd
"
id="서버아이디">

여기에서 "서버아이디" 부분을 적당히 변경해 주고

리스너










사용자 관리

사용자 관리는 2가지 방법이 있다.
1. File base user manager (디폴트 유저 메니져)
2. Database user manager

ㅇFile base user manager는 사용자 정보를 화일에 저장하는 방식이다.




res\conf\users.properties 화일

# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

# userid '
사용자명' 의 설정
ftpserver.user.
사용자명.userpassword=패스워드
ftpserver.user.
사용자명.homedirectory=사용자별 홈디렉토리
ftpserver.user.
사용자명.enableflag=true
ftpserver.user.
사용자명.writepermission=true
ftpserver.user.
사용자명.maxloginnumber=0
ftpserver.user.
사용자명.maxloginperip=0
ftpserver.user.
사용자명.idletime=0
ftpserver.user.
사용자명.uploadrate=0
ftpserver.user.
사용자명.downloadrate=0


사용자가 여러명이면 위 내용 만큼의 설정정보를 추가로 만들어 주기만 하면 된다.
예를 들어 'guest' 라는 사용자를 추가하고 싶다면 아래의 내용을 추가해 주면된다.


# userid 'guest' 의 설정
ftpserver.user.guest
.userpassword=패스워드
ftpserver.user.
guest.homedirectory=c:\ftpserver\home\user
ftpserver.user.
guest.enableflag=true
ftpserver.user.
guest.writepermission=true
ftpserver.user.
guest.maxloginnumber=0
ftpserver.user.
guest.maxloginperip=0
ftpserver.user.
guest.idletime=0
ftpserver.user.
guest.uploadrate=0
ftpserver.user.
guest.downloadrate=0

bin\ftpd.bat 를 명령 프롬프트에서 실행하면 아래와 같이 실행이된다.

댓글 없음: