Proftpd + mysql 설치하기(debian woody)
1. 설치
소스 받는곳 : http://proftpd.org (1.2.7rc2 기준으로 설치하였음.)
http://www.mysql.com (3.xx.xx )
압축푼다. tar zxvf mysql-xxxxx.tar.gz
# ./configure --prefix=/usr/local/mysql --with-mysqld-user=mysql --with-charset=euc_kr
# make;make install
# /usr/local/mysql/bin/mysql_install_db
# groupadd -g mysql
# useradd mysql -g mysql -d /usr/local/mysql
# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
# /etc/init.d/mysqld start
라이브러리 링크 시킨다.
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
또한가지 더 => #ln -s /usr/lib/mysql/libmysqlclient.so.10.0.0 /usr/lib/libmysqlclient.so 연결한다
. 압축을 푼다 tar xvf proftpd-1.2.7rc2.tar.gz
$cd proftpd-1.2.7rc2
$./configure --with-modules=mod_sql:mod_sql_mysql:mod_ratio:mod_linuxprivs:mod_readme
$make;make install
모듈 확인 하자 #/usr/local/sbin/proftpd -l : modules 리스트가 출력된다.. 확인.
기본 디렉토리 /usr/local/bin /usr/local/sbin /usr/local/man /usr/local/etc /usr/local/var 가 생긴다.
mysql 디비 와 테이블 만들기
mysqladmin create <db_name> or $ mysql mysql => $mysql>craete database <db_name>; 한다.
ex> mysqladmin create proftpd <-- 데이타베이스이름
To create a user table:
CREATE TABLE users (userid VARCHAR(30) NOT NULL UNIQUE, passwd
VARCHAR(30) NOT NULL, uid INTEGER UNIQUE, gid INTEGER, homedir
VARCHAR(255), shell VARCHAR(255))
To create a group table:
CREATE TABLE groups (groupname VARCHAR(30) NOT NULL, gid INTEGER NOT
NULL, members VARCHAR(255))
테스트 환경 만들기 :
$mysql>insert into values('ktgman',password('12345'),NULL,NULL,NULL,'/bin/sh');
$mysql>exit
proftpd.conf -- 환경설정 파일 만들기 . (그냥 sample-configureations안에있는거 약간 고쳐서 한
다) mod_sql.conf --> proftpd.conf 로 바꾼다.
$ mv mod_sql.conf /usr/local/etc/proftpd.conf 한다.
ServerType standalone --> inetd
SQLConnectInfo dbname@host:port username password
-> (ex: proftpd@localhost:3306 power 12345 (mysql 계정에 등록된 사용자를 말함.)
SQLUserInfo users userid passwd uid gid NULL NULL
SQLDefaultHomedir "/tmp" ---> "/var/ftp/pub" (ftp 기본디렉토리 지정, 자기 맘대로)
다른거 추가하고 싶으면 공부더 해서 알아서 하셈. 아주 기본적인 설정만 한것임.
inetd 로 돌리기 --> vi /etc/inetd.conf 에 추가 혹은 변경
ftp stream tcp nowait root /usr/local/sbin/proftpd proftpd
inetd 데몬 다시 돌리기 $/etc/init.d/inetd restart
test 하기 $ftp localhost
Connect to l27.0.01 ...
220 ProFTPD 1.2.7rc2 server
Name(localhost:xxx): ktgman
331 Password required for mysql
Password : 12345
230 User ktgman logged in,
Remote system type is Unix
Using binary mode to tansfer files.
ftp> _<깜빡깜빡>
그럼 수고 하시라...