options {
directory "/var/named";
};
zone "." in {
type hint;
file "named.root";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "localhost.rev";
};
zone "yourdomain.com" in {
type master;
file "yourdomain.hosts";
};
zone "176.118.202.in-addr.arpa" in {
type master;
file "176.rev";
};
域名里面的yourdomain是配置的关键,将采用泛域名形式。
/var/named/yourdomain.hosts文件内容如下:
$TTL 3600
@ IN SOA hrbeu.hrbeu.edu.cn. root.mail.hrbeu.edu.cn. (
2003080812 ; serial
360000 ; refresh every 100 hours
3600 ; retry after 1 hour
4w ; expire after 4 weeks
3600 ; default ttl is 1 hours
) ; Define the nameservers and mail servers
IN NS hrbeu.hrbeu.edu.cn.
IN NS lion.hrbeu.edu.cn.
IN MX 10 mail.yourdomain.com.
; Define localhost
localhost IN A 127.0.0.1
; Define hosts in this zone
*.yourdomain.com. IN A 218.7.43.21
其中主要用的就是这个*.yourdomain.com. IN A 218.7.43.21。以后任何像abc.yourdomain.com、hello.yourdomain.com的域名都将解析到 218.7.43.21。这样就不用每开一个虚拟主机都必须在域名系统上做一个CNAME记录,并reload域名配置文件。特别要注意的是, *.yourdomain.com.后面有一个"."。
3.MySQL的安装和配置
(1)添加mysql用户和mysql组
#cd /root/vhosts/
#groupadd mysql
#useradd -g mysql mysql
SQLAuthenticate users groups usersetfast groupsetfast
如果HOME目录不存在,则系统会根据其HOME项新建一个目录:
SQLHomedirOnDemand on
7.数据表的建立
在该数据库中建立一个用户表FTPUSERS,该表是必须的:
use ftp;
create table FTPUSERS (
userid TEXT NOT NULL,
passwd TEXT NOT NULL,
uid INT NOT NULL,
gid INT NOT NULL,
home TEXT,作者: lusspan 时间: 2007-9-16 13:54
shell TEXT
);
Create TABLE quotalimits (
name VARCHAR(30),
quota_type ENUM("user", "group", "class", "all") NOT NULL,
per_session ENUM("false", "true") NOT NULL,
limit_type ENUM("soft", "hard") NOT NULL,
bytes_in_avail FLOAT NOT NULL,
bytes_out_avail FLOAT NOT NULL,
bytes_xfer_avail FLOAT NOT NULL,
files_in_avail INT UNSIGNED NOT NULL,
files_out_avail INT UNSIGNED NOT NULL,
files_xfer_avail INT UNSIGNED NOT NULL
);
quotalimits表中部分字段的含义如下。
quota_type:磁盘限额的鉴别。
bytes_in_avail:上传最大字节数,即FTP用户的空间容量。
bytes_out_avail:下载最大字节数。
bytes_xfer_avail:总共可传输文件的最大字节数(上传和下载流量)。
files_in_avail:总共能上传文件的数目。
files_out_avail:能从服务器上下载文件的总数目。
files_xfer_avail:总共可传输文件的数目(上传和下载)。
Create TABLE quotatallies (
name VARCHAR(30) NOT NULL,
quota_type ENUM("user", "group", "class", "all") NOT NULL,
bytes_in_used FLOAT NOT NULL,
bytes_out_used FLOAT NOT NULL,
bytes_xfer_used FLOAT NOT NULL,
files_in_used INT UNSIGNED NOT NULL,
files_out_used INT UNSIGNED NOT NULL,
files_xfer_used INT UNSIGNED NOT NULL
);
现在运行proftpd,登录test,使用“quote SITE QUOTA”命令就会显示test用户的磁盘使用情况。
ftp> quote SITE QUOTA
200-The current quota for this session are [current/limit]:
Name: test
Quota Type: User
Per Session: False
Limit Type: Soft
Uploaded Kb: 0.00/100000.00
Downloaded Kb: unlimited
Transferred Kb: 0.00/20000.00
Uploaded files: 0/5000
Downloaded files: unlimited
Transferred files: 0/10000
200 Please contact root@localhost if these entries are inaccurate
至此,磁盘限额配置部分完成。
10.启动和关闭proftpd脚本
#!/bin/sh
#ProFTPD files
FTPD_BIN=/usr/local/proftpd/sbin/proftpd
FTPD_CONF=/usr/local/proftpd/etc/proftpd.conf
PIDFILE=/usr/local/proftpd/var/proftpd.pid
#If PIDFILE exists, does it point to a proftpd process?
if [ -f $PIDFILE ]; then
pid=`cat $PIDFILE`
fi
if [ ! -x $FTPD_BIN ]; then
echo "$0: $FTPD_BIN: cannot execute"
exit 1
fi
case $1 in
start)
if [ -n "$pid" ]; then
echo "$0: proftpd [PID $pid] already running"
exit
fi
if [ -r $FTPD_CONF ]; then
echo "Starting proftpd..."
$FTPD_BIN -c $FTPD_CONF作者: lusspan 时间: 2007-9-16 13:55
else
echo "$0: cannot start proftpd -- $FTPD_CONF missing"
fi
;;
stop)
if [ -n "$pid" ]; then
echo "Stopping proftpd..."
kill -TERM $pid
else
echo "$0: proftpd not running"
exit 1
fi
;;
restart)
if [ -n "$pid" ]; then
echo "Rehashing proftpd configuration"
kill -HUP $pid
else
echo "$0: proftpd not running"
exit 1
fi
;;
*)
echo "usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0
(3)Resin的配置
#cd conf
#vi resin.conf
<http-server>
<!--
- The root file directory of the server. Apache users will change
- this to /usr/local/apache/htdocs and IIS users will change it
- to d:\inetpub\wwwroot
-->
<app-dir>/usr/local/apache/htdocs/</app-dir>
--默认是doc,更改为Apache的主页发布目录。作者: lusspan 时间: 2007-9-16 13:56
<http port='8080'/>
<!--
- The srun port, read by both JVM and plugin
- 127.0.0.1 is the localhost
-->
<srun host='127.0.0.1' port='6802'/>
如果机器速度不是很快,那么需要加一个延迟。在/etc/init.d/resin文件第41行左右加入如下内容:
if test -n "$USER"; then
su - $USER -c "$EXE -pid $PID start $ARGS"
else
$EXE -pid $PID start $ARGS
fi
#服务启动后,加上一个10秒的延时。
sleep 10