>> Edit article
이름
제목
패스워드
글을 보고 아주 자알 되엇습니다. 근데 어찌된 일인지 로그인은 잘 되는데 자료가 올려지지를 않습니다. 대략 5명정도의 사용자를 등록시켜놓고 해보니 자료가 올라가지 않는데 어케 해야 하는지... : -서문- : : 밑에 팁란에 이미 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@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을 : 다운받으면 안에 첨부된 문서를 참조하셔야됩니다. : : 그럼 꼭 성공하시길 바랍니다.
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved