다음 이전 차례

1. INSTALLATION INSTRUCTIONS

## 역자 주

Wu-FTPd 2.6.0 부터는 GNU autoconf를 사용하게 되었다. 그러므로 기존의 build script를 사용하는 것 보다는 configure를 사용하는 것을 권장한다.

./configure [--opeiont] make make install

로 사용하면 된다.

[ configure option ] 설정:

--cache-file=FILE cache test results in FILE
--help 이 메세지들을 출력
--no-create 출력물을 만들지 않음
--quiet, --silent `checking...' 메세지를 출력하지 않음
--version autoconf의 버젼을 출력

디렉토리와 파일이름:

--prefix=PREFIX PRIFIX에 독립적인 구조로 인스톨 [/usr]
--exec-prefix=EPREFIX EPREFIX에 종속적인 파일구조로 인스톨 [same PREFIX]
--bindir=DIR 유저가 실행할 파일들이 있는 디렉토리 [EPREFIX/bin]
--sbindir=DIR ROOT가 실행할 파일들이 있는 디렉토리 [EPREFIX/sbin]
--libexecdir=DIR 프로그램이 실행할 파일들이 있는 디렉토리 [EPREFIX/libexec]
--datadir=DIR 읽기 속성의 독립적인 data를 가질 디렉토리 [PREFIX/share]
--sysconfdir=DIR 설정파일이 위치할 디렉토리 경로 지정 [PREFIX/etc]
--sharedstatedir=DIR 수정 가능한 독립구조를 가진 데이타가 위치할 경로지정 [PREFIX/com]
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
--libdir=DIR 라이브러리 파일들이 위치할 디렉토리 경로 [EPREFIX/lib]
--includedir=DIR C 헤더 파일이 위치할 디렉토리 경로 [PREFIX/include]
--oldincludedir=DIR GCC를 위한것이 아닌 C 헤더 파일의 경로 [/usr/include]
--infodir=DIR 문서가 위치할 디렉토리 경로 [PREFIX/info]
--mandir=DIR 메뉴얼 페이지가 위치할 디렉토리 경로 [PREFIX/man]
--srcdir=DIR 소스가 있는 디렉토리 지정 [configure dir or ..]
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM run sed PROGRAM on installed program names

호스트 형식:

--build=BUILD configure for building on BUILD [BUILD=HOST]
--host=HOST configure for HOST [guessed]
--target=TARGET configure for TARGET [TARGET=HOST]

요소와 패키지:

--disable-FEATURE FEATURE를 포함하지 않음 (--enable-FEATURE=no 와 동일)
--enable-FEATURE[=ARG] FEATURE 포함 [ARG=yes]
--with-PACKAGE[=ARG] PACKAGE를 사용함 [ARG=yes]
--without-PACKAGE PACKAGE를 사용하지 않음 (--with-PACKAGE=no 와 동일)
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR

--enable 과 --with 옵션 인식:

--with-etc-dir=PATH 설정파일이 위치할 경로 [/etc]
--with-pid-dir=PATH run/pid 파일들의 경로 [/var/run]
--with-log-dir=PATH log 파일 [/var/log]
--disable-upload ftpaccess에서 UPLOAD 키워드를 사용하지 않음
--disable-overwrite ftpaccess에서 OVERWIRTE 키워드를 사용하지 않음
--disable-hostxs ftpaccess에서 ALLOW/DENY 키워드를 사용하지 않음
--disable-logfailed 로그인 시에 로그실패 횟수 지정을 사용하지 않음
--disable-logtoomany 로그인 시에 유저 제한을 사용하지 않음
--disable-private don't support private files (SITE GROUP/SITE GPASS)
--disable-dnsretry DNS lookup을 하지않음
--enable-anononly 익명 접속만 가능함
--enable-paranoid 질의 요소들을 사용하지 않음
--enable-quota 쿼타 지원 (OS에서 지원을 해야 함)
--enable-pam PAM 지원 (PAM 라이브러리가 필요)
--enable-skey S/KEY 지원 (SKEY 라이브러리 필요)
--enable-opie OPIE 지원(OPIE 라이브러리 필요)
--disable-new-cd new-cd causes "cd  " to return to chroot-relative dir
--enable-chmod ftp 유저들이 SETUID/SETGID/STICKY bits를 셋팅하는 것을 허락
--enable-rfc931 RFC931 lookups을 함(log 정보를 더 자세히 얻을수 있으나 느림)
--enable-ratios 업로드 다운로드 비율을 지원
--enable-passwd 다른 패스워드 파일을 사용할수 있게 함
--disable-daemon standalone 방식을 사용하지 않음
--disable-map-chdir don't keep track of user's path changes
--disable-throughput don't keep track of user's throughput
--disable-count don't keep track of bytes for statistics
--disable-newlines 공백라인이 작동하지 못하게 함
--enable-crackers 유저이름이 존재하지 않을 경우 password를 기다리지 않음
--disable-verbose 에러로그를 간단하게 함
--enable-noop idle 시간초과시 NOOP명령을 리셋
--disable-log-rp log the relative path rather than the real one
--disable-virtual 가상 호스트를 지원안함
--disable-closedvirt 가상 호스트에 guest log를 허락
--disable-dns 모든 DNS lookup을 안함
--disable-port port mode를 허락하지 않음
--disable-pasv passive mode를 사용하지 않음
--disable-plsm PID lock sleep message를 사용하지 않음(트래픽이 많은sites)
--disable-pasvip don't require require same IP for passive connections
--disable-anonymous 익명 접속을 허락하지 않음
--enable-ls 내부 ls 명령을 사용 (실험적인 요소)
--disable-numericuid 내부 ls사용시 유저이름 대신 UID를 표시 (빠름)
--disable-hidesetuid 내부 ls 사용시 setuid/setgid bits를 출력
--disable-mail 익명 upload시에 통지 메일을 발송하지 않음
--enable-badclients support broken clients (see CHANGES)
--with-bufsize=x set buffer size to x
--with-backlog=x number of incoming processes to backlog in daemon mode

<1a>

source tree의 제일 상위에서 "./build xxx" 를 실행한다. "./build xxx"를 실행 할때 C compiler를 대신하여 "./build CC=yyy xxx" 와 같이 yyy에 cc를 대신할 compiler를 지정하여 실행할수도 있다.

["gcc"를 사용하기 위해서는 다음과 같이 실행한다. "./build CC=gcc xxx".]

"./build xxx" 명령에서 xxx는 아래의 os type중 하나를 선택하면 된다.:

gen : generic make (copy this when porting to a new system)
aix : IBM AIX
aux : AU/X
bdi : BSD/OS
bsd : BSD
dec : DEC Unix 3.X or later
dyn : Dynix
fbs : FreeBSD 2.0 or later
hiu : Hitachi Unix
hpx : HP-UX
lnx : Linux (tested on 2.0.30)
nbs : NetBSD 1.X
nx2 : NeXTstep 2.x
nx3 : NeXTstep 3.x
osf : OSF/1
ptx : ???
sco : SCO Unix 3.2v4.2/SCO OpenServer 5
sgi : SGI Irix 4.0.5a
sny : Sony NewsOS
sol : SunOS 5.x / Solaris 2.x
s41 : SunOS 4.1.x
ult : Ultrix 4.x
uxw : UnixWare 1.1 or later
clean : Clean up object files and such to reduce disk space after building.
install: Install ftpd

<1b>

만약 너의 system이 위의 list에 없거나 에러가 발생한다면...

cp src/config/config.gen src/config/config.xxx

cp src/makefiles/Makefile.gen src/makefiles/Makefile.xxx

cp support/makefiles/Makefile.gen support/makefiles/Makefile.xxx

적당하게 3개의 파일을 편집해야 한다. 다시 step 1a로 돌아간다. 이것은 사소한 것이 아니다. mailling list나 질문을 원할수도 있다.

[wu-ftpd-bugs@academ.com 으로 그런 변화들에 대해 보내면 된다!]

<2>

wu-ftpd의 새로운 version으로 upgrade를 하려 한다면, 예전의 모든 configure file들을 backup 해 놓아야 한다. 그렇지 않으면 새로이 install을 했을 경우에 새 version의 sample file들이 예전의 것들로 대체 되어 버린다.

<3>

super-user의 권한으로 "./build install" 을 실행한다.

<4>

새로운 version의 ftpd를 "/etc/inetd.conf"에 지정을 한다. 대부분의 경우, old version이 설치되어 있다면 이 단계는 생략해도 된다. 만약 이 server의 확장 기능들을 사용하고자 한다면 Ftpd를 실행할때 -a option을 같이 실행해 줘야 한다. 일반적으로 이것은 server를 실행할 때 /etc/inetd.conf의 line의 끝에 "-a"(따옴표는 생략)을 추가해야한다는 것을 의미한다. /etc/inetd.conf를 이용하지 않는 OS 에서는 standalone mode로 실행을 하거나 또는 다른 방법으로 실행시키는 방법을 위하여 OS documentation을 읽어보아야 한다. 기본적으로 inetd로 실행을 하거나 다른 방법으로 실행을 하거나 큰 차이는 없다.

<5>

BSD 계열의 sytem에서는, type "kill -1 `ps t"?" | grep inetd`"

SGI system에서는, type "/etc/killall -HUP inetd"

AIX system에서는, type "refresh -s inetd"

<6>

Ftpd가 directory의 .tar.Z 의 생성을 지원하게 하기 위해서는 GNU tar를 설치 해야 한다. [anonymous ftp 에 copy를 해 줘야 하는 것을 기억해야한다.] GNU tar가 필요 하다면, prep.ai.mit.edu의 /pub/gun directory에서 구할수 있다.

<7>

~ftp/bin/compress로 압축 program을 copy한다. "ls" program을 ~ftp/bin/ls 로 copy를 한다. OS가 공유 librariy를 사용한다면 이 program들은 정적으로 link 되어진 것이 아니다. 새로이 이 link들을 정확한 경로로 설정을 해줄 필요가 있다.

<8>

ftpd를 위한 여러 설정 file들(ftpconversions, ftpusers, ftpgroups)을 위치 할 곳을 조사하기 위한 첫단계를 행할때, ckconfig 를 사용하라. 이 file들의 예제들은 doc/examples directory에 존재한다. ckconfig는 bin direcoty에 있다. ckconfig report로 어떤 문제점들을 수정하도록 한다.

<9>

anonymous user들이 _SITE_EXEC에서 실행이 가능하게 하기를 원하면 어떤 실행 가능한 것을 넣어 줘야 한다. 이것을 넣을때는 매우 주의해야 한다.

<10>

bin/ckconfig로 다시 설정 file들이 제대로 install이 되었는지 확인을 한다.

<11>

virtual ftp를 지원하기 위해서는 Makefile의 CFLAGS에 -DVIRTUAL을 추가하여 compile을 해야 한다.


다음 이전 차례