[分享]proftpd+mysql认证安装心得

发表于:2007-06-09来源:作者:点击数: 标签:
[这个贴子最后由worldwave在2002/12/0408:35am编辑] 昨晚在solaris上安装了proftpd+mysql,小弟我是个菜鸟,查询了好多东东才把它搞定, 今天一早起来就把安装的心得整理了一下,还望各位大哥指正。 一.安装mysql #编译安装mysql #如果在solaris中,首先解决

[这个贴子最后由worldwave在 2002/12/04 08:35am 编辑]

昨晚在solaris上安装了proftpd+mysql,小弟我是个菜鸟,查询了好多东东才把它搞定,
今天一早起来就把安装的心得整理了一下,还望各位大哥指正。


一.安装mysql
 
# 编译安装 mysql

#如果在solaris中,首先解决gclearcase/" target="_blank" >cc的路径问题,否则gcc无法正常工作
#============================================
PATH=$PATH:/usr/local/bin:/usr/ccs/bin:/bin
export PATH
#===========================================

gzip -d mysql-3.23.47.tar.gz
tar -xvf mysql-3.23.47.tar
cd mysql-3.23.47
./configure --prefix=/usr/local/mysql
make
make install
cd /usr/local

#下面这一步很重要,否则mysql起不来
chown -R mysql mysql

scripts/mysql_install_db

#让mysql自启动

#在solaris中
cd /etc/rc2.d
创建S67mysql文件
==========================
#! /bin/sh
/usr/local/mysql/bin/safe_mysqld &
==========================

#在linux中
vi /etc/rc.d/rc.local
#只要修改rc.local,加入你要自启动的mysql可执行文件名和路径即可

#启动mysql
cd /usr/local/mysql/bin/
./safe_mysqld &
#修改root密码
./mysqladmin -u root password 'your password'



二.安装proftd
gzip -d proftd-1.2.6.tar.gz
tar -xvf proftd-1.2.6.tar
#不好意思,以前漏了下面这几步。
cp mod_sql-4.08.tar.gz proftd-1.2.6/contrib/
cd proftd-1.2.6/contrib/
gzip -d mod_sql-4.08.tar.gz

cd proftd-1.2.6
./configure --prefix=/usr/local/proftpd --with-modules=mod_sql:mod_sql_mysql --with-includes=/usr/local/mysql/include --with-libraries=/usr/local/mysql/lib/mysql
make
make install

#替换proftpd.conf
mv /usr/local/proftpd/etc/proftpd.conf /usr/local/proftpd/etc/proftpd.bak 
cp contrib/mod_sql.conf /usr/local/proftpd/etc/proftpd.conf

#配置proftpd.conf
vi /usr/local/proftpd/etc/proftpd.conf
#==========================================
1.修改 
SQLConnectInfo dbname@host:port username password 
为你的数据库的相应连接参数。
 
2.修改
SQLUserInfo ftpusers username password uid gid NULL NULL 
改为 
SQLUserInfo ftpusers userid passwd uid gid homedir shell 
这是使用FTP帐号的表名和字段名。
 
3.在 
SQLDefaultHomedir "/tmp" 
的行首加上"#"注释符。
 
4.将 
# SQLGroupInfo groups groupname gid members 
前面的"#"注释符去掉,这是组信息。 如果不需要匿名登录,将 
<Anonymous ~ftp>
到 
</Anonymous>
之间的内容前都加上"#"注释符。

5.将
"Group nogroup"
改为
"Group nobody"

#====================================================

#====================================================

# groups表的结构 `groups`

CREATE TABLE groups (
  groupname varchar(255) binary NOT NULL default '',
  gid int(11) NOT NULL default '0',
  members text NOT NULL,
  PRIMARY KEY  (groupname)
) TYPE=MyISAM;


#插入一个组 `groups`

INSERT INTO groups VALUES ('ftpgroup', 10000, 'ftpuser');
-----------------------------------------------------------
# ftpusers表的结构 `ftpusers`

CREATE TABLE ftpusers (
  userid varchar(255) binary NOT NULL default '',
  passwd varchar(255) binary NOT NULL default '',
  uid int(11) default NULL,
  gid int(11) default NULL,
  homedir varchar(255) default NULL,
  shell varchar(255) default NULL,
  count int(11) default NULL,
  PRIMARY KEY  (userid),
  FULLTEXT KEY homedir (homedir),
  FULLTEXT KEY homedir_2 (homedir)
) TYPE=MyISAM;

# 插入一个用户 `ftpusers`

INSERT INTO ftpusers VALUES ('ftp', password('ftp'), 10000, 10000, '/export/home/sun', '/bin/bash', 0);
#当然你要保证有/export/home/sun这个目录

#===============================================================================

#让mysql自启动

#在solaris中
vi /etc/inetd.conf
#修改ftp这一句为
ftp     stream  tcp6    nowait  root    /usr/local/proftpd/sbin/proftpd proftpd 

#在linux中
vi /etc/rc.d/rc.local
#只要修改rc.local,加入你要自启动的proftpd可执行文件名和路径即可


#下面一步很重要,否则会出现如下错误
#=================================================================
[root@ftp sbin]# ./proftpd 
./proftpd: error while loading shared libraries: libmysqlclient.so.10: cannot 
 open shared object file: No such file or directory  
#=================================================================
 
cp /usr/local/mysql/lib/mysql/libmysqlclient.so.10 /usr/lib/libmysqlclient.so.10


#启动proftpd
cd /usr/local/proftpd/sbin/
./proftpd start

#OK!安装完成


 mynix 回复于:2002-11-23 11:28:29
加精

 worldwave 回复于:2002-11-23 11:28:30
有一个问题:
我设置了gcc路径后
PATH=$PATH:/usr/local/bin:/usr/ccs/bin:/bin
export PATH
重起之后,这个路径又没了,怎么做才能使这个路径重起之后也不丢失呢?

 diag 回复于:2002-11-23 12:17:50
WELL DONE

 yuantong 回复于:2002-11-23 13:31:07
[quote][b]下面引用由[u]worldwave[/u]在 [i]2002/11/23 11:28am[/i] 发表的内容:[/b]
有一个问题:
我设置了gcc路径后
PATH=$PATH:/usr/local/bin:/usr/ccs/bin:/bin
export PATH
...
[/quote]

你在根目录下编辑.profile,注意是前面有一个点的,将上面的语句加入并存盘,重启后就可以找到GCC的路径的了

 worldwave 回复于:2002-11-23 13:40:20
我的根目录下没有.profile这个文件,只有.dtprofile
一样吗?

 cxsztl 回复于:2002-11-23 17:18:13
.profile需要自己創建。

 坚持向左 回复于:2002-11-23 17:20:50
cp /etc/skel/local.profile /.profile

 worldwave 回复于:2002-11-27 22:15:20
还有一个问题,能不能用mysql控制特定用户对特定的目录的特定的权限?

 YT 回复于:2002-11-27 22:35:54
worldwave ,以后多多关照关照偶啊~~!!

真厉害。。<佩服ing...>

 worldwave 回复于:2002-11-27 22:45:04
YT老大,你别笑我的,我的问题你还没回答呢?可以控制吗?

 worldwave 回复于:2002-11-28 12:50:05
不能控制吗,怎么没人理啊?

 YT 回复于:2002-11-28 13:47:41
mysql我不熟,真的不敢回答你。。。
这是要负责任的。。

 worldwave 回复于:2002-11-29 00:05:07
我可能没有说清楚,呵呵,不好意思。我的意思是在proftpd中能不能用mysql控制某个FTP用户对特定的目录的权限?

 YT 回复于:2002-11-30 00:59:04
可以的。

 worldwave 回复于:2002-12-02 14:57:29
老大,你不要卖关子好不好啊。
给说说
你分几个post我不管
只要你给说明白......

 hmkart 回复于:2002-12-04 20:15:33
好好好呀
按照所说成功了
可我的mysql编译有问题, 是到sunfreeware下的
编译出错。
无法自启动。每次都要我手工启动 mysql和proftp

原文转自:http://www.ltesting.net