>> Read No. 2032 article  
ProFTPD 1.2.5rc1 과 MySQL 연동 성공기

등록 2001-12-28 12:40:00     조회 4
이름 백선우    

		-서문-
 밑에 팁란에 이미 ProFTPD 와 MySQL을 연동하는 방법이 올라와
있어서 ProFTPD의 Stable 버전인 1.2.4 를 사용해서 그 방법으로
해보았는데 셋팅에 별다른 문제가 없음에도 제대로 동작하지 않았습니다.
디버그 모드로 실행해본결과 Signal 11이 발생하면서 종료가 되더군요.
그래서 이곳 질답란에 문의를 해보았지만 아무도 답변을 안해주시더군요.
어쨌든 그냥 포기할까 하다가 1.2.5rc1 을 설치하고 다시 시도한 결과
성공했습니다. 그런데 1.2.5에서는 1.2.4 까지의 SQL 관련 설정 방법에
차이가 있어서 이곳 팁란에 이렇게 글을 올리게 되었습니다.
 -ProFTPD 설치 방법-
 일단, MySQL은 설치되었다고 가정하고...저의 경우에는 RedHat 7.2에
기본적으로 들어있는 RPM 으로 설치를 했습니다.
 그다음은 ProFTPD 설치를 합니다.
www.proftpd.org 에 가셔서 1.2.5rc1 버전을 다운받습니다.
압축 푸시고
./configure --prefix=/usr --with-modules=mod_sql:mod_sql_mysql
--with-includes=/usr/include/mysql --with-libraries=/usr/lib/mysql
--sysconfdir=/etc --localstatedir=/var
make
make install
 -설정 방법-
 그리고 mysql에 database를 만듭니다.
database 이름은 proftp로 짓습니다.
그리고 아래의 테이블을 만듭니다. 아래 테이블은 아래에 있던
ProFTP + MySQL 팁에서 가져왔습니다. 단 한가지 다른 점이 있다면
group 테이블에서 Field 에 gname 을 groupname으로 변경했습니다.
1.2.5rc1에서 Default로 groupname을 찾습니다.
 * 테이블명: users
    +---------+------------------+------+-----+---------+-------+
    | Field   | Type             | Null | Key | Default | Extra |
    +---------+------------------+------+-----+---------+-------+
    | userid  | char(12)         |      | PRI |         |       |
    | uid     | int(10) unsigned | YES  |     | NULL    |       |
    | gid     | int(10) unsigned | YES  |     | NULL    |       |
    | passwd  | char(63)         | YES  |     | NULL    |       |
    | shell   | char(255)        | YES  |     | NULL    |       |
    | homedir | char(255)        | YES  |     | NULL    |       |
    | count   | int(10) unsigned |      |     | 0       |       |
    | valid   | int(10) unsigned | YES  |     | NULL    |       |
    +---------+------------------+------+-----+---------+-------+
   * 테이블명: groups
    +-----------+------------------+------+-----+---------+-------+
    | Field     | Type             | Null | Key | Default | Extra |
    +-----------+------------------+------+-----+---------+-------+
    | groupname | char(12)         |      | PRI |         |       |
    | gid       | int(10) unsigned |      |     | 0       |       |
    | members   | text             | YES  |     | NULL    |       |
    +-----------+------------------+------+-----+---------+-------+
 그리고 /etc/proftpd.conf 를 아래와 같이 편집합니다.
물론 서버명이나 포트, 디렉토리 같은 부분은 여러분에게
맞게 변경해주시기 바랍니다.
 ServerName                      "r2al3ac's FTP server"
ServerType                      standalone
ServerIdent                     on "r2al3ac's FTP server ready..."
ServerAdmin                     "r2al3ac at hananet.net"
DefaultServer                   on
 Port                            21
 Umask                           022
 MaxInstances                    30
 User                            nobody
Group                           nobody
 #아래 SQLConnectInfo 문에서 proftp는 데이터베이스명이며 아이디와 비밀번
호는
#여러분의 mysql 설정에 맞게 변경해주시면 됩니다.
#보시면 1.2.4 버전때와는 다른점이 있음을 알 수 있습니다.
SQLConnectInfo                  proftp@localhost:3306 아이디 비밀번호
SQLAuthTypes                    Backend
SQLAuthenticate                 on
SQLUserInfo                     users userid passwd uid gid homedir
shell
SQLLog                          PASS updatecount
SQLNamedQuery                   updatecount UPDATE "count=count+1
WHERE userid='%u'" users
SQLUserWhereClause              "valid = 1"
SQLDefaultHomeDir               /var/ftp
DisplayLogin                    welcome.msg
DisplayFirstChdir               .message
 DefaultRoot                     /var/ftp
MaxClients                      4
MaxClientsPerHost               1
MaxHostsPerUser                 1
 RequireValidShell               off
 AllowRetrieveRestart            on
AllowStoreRestart               on
AllowOverwrite                  on
 <Directory /var/ftp>
<Limit READ>
AllowAll
</Limit>
<Limit WRITE>
 </Limit>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
 <Directory /var/ftp/pub/*>
<Limit READ>
AllowAll
</Limit>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
 <Directory /var/ftp/incoming/*>
<Limit READ>
DenyAll
</Limit>
<Limit STOR MKD>
AllowAll
</Limit>
</Directory>
 -테스트 하기-
 1. mysql에서 proftp 데이터베이스에 users 테이블에 사용자를 하나 등록 시
킵니다. 단, 반드시 valid 값을 1로 주셔야 됩니다. 만약 1이 아닐경우에는
로그인이 되지 않습니다.
 2. /usr/sbin/prftpd start 를 쳐서 proftpd 를 실행합니다.
 3. ftp 나 ncftp 를 사용해서 1번에서 등록해준 사용자와 비밀번호로 로그인
을 해봅니다.
 -만약 안된다면-
 proftpd.conf 셋팅에 문제는 없는지 확인해보시고,
포트를 다른 걸로 바꿔보시고,
그래도 안된다면 아래와 같은 방법으로 proftpd를 디버그 모드로 실행해서
어디서 어떻게 잘못되었는지 알아보시기 바랍니다.
 /usr/sbin/proftpd -d 5 -n -c /etc/proftpd.conf
 이렇게 입력하시면 디버그 모드로 실행이 됩니다.
 그리고 터미널 창을 하나 더 열어서 ftp 로 접속을 시도해 보시면
어디서 어떻게 잘못되었는지 알 수 있습니다.
 -덧붙이는 말-
 위에서 SQLAuthenticate 부분을 on 이라고 해놓았는데, 만약
group 테이블을 사용하지 않으시면 SQLAuthenticate users 로
바꿔서 사용하시면 됩니다.
 하지만 on으로 해놓아도 별문제 없이 쓰실수 있습니다.
 설정문과 관련해서 자세한 것은 proftpd 문서를 참고하시기
바랍니다. 참고로 proftpd.oops.org 나 www.proftpd.org 문서들은
outdate 되어서 1.2.5rc1 과는 차이가 있으므로 proftpd1.2.5rc1을
다운받으면 안에 첨부된 문서를 참조하셔야됩니다.
 그럼 꼭 성공하시길 바랍니다.
이름
암호


>> 관련글
2032 ProFTPD 1.2.5rc1 과 MySQL 연동 성공기  백선우  2001.12.28  ....
  답장 RE: ProFTPD 1.2.5rc1 과 MySQL 연동 성공기  정지현  2002.08.11  ....
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.56 초 ] 작업시간: [ 0.25 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791037395
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.