pure-ftpd + mysql.......Management 安装配置实例( 四 )


read _PW_A
echo -n "Enter password again:"
read _PW_B
stty $O_TTY
#echo "A=$_PW_A ,B=$_PW_B"
if [ "$_PW_A" != "$_PW_B" ]
then
echo "Error:Password mismatch."
exit 1
fi
V_PASSWD=$_PW_A

User=$V_USERNAME
Password=$V_PASSWD
Uid=$R_USER
Gid=$R_GROUP
# 0,for inactive,1 for active.
Dir="$V_BASE/$V_USERNAME/./"
status=0
# Default Upload Throttle ( 0 disables it )
ULThrottle=0
# Default Download Throttle ( 0 disables it )
DLThrottle=0
comment="New ftp user $V_USERNAME"
# Default IP restrictions ( * = any IP )
ipaccess="*"
# Default Quota Size ( 0 disables it )
QuotaSize=100
# Default Quota file count ( 0 disables it )
QuotaFiles=4096

MYSQL_CONN="$MYSQL_CLIENT --silent --host=$MYSQL_HOST --port=$MYSQL_PORT --user=$MYSQL_USER --password=$MYSQL_PASSWD --database=$MYSQL_DB "
INSERT_USER="INSERT INTO $PURE_TABLE SET User="$User",status="$status",Password="$Password",Uid="$Uid",Gid="$Gid",Dir="$Dir",ULBandwidth="$ULThrottle",DLBandwidth="$DLThrottle",comment="$comment",ipaccess="$ipaccess",QuotaSize="$QuotaSize",QuotaFiles="$QuotaFiles";"
#No update support in adduser script.
UPDATE_USER="UPDATE $PURE_TABLE SET User="$User",status="$status",Password="$Password",Uid="$Uid",Gid="$Gid",Dir="$Dir",ULBandwidth="$ULThrottle",DLBandwidth="$DLThrottle",comment="$comment",ipaccess="$ipaccess",QuotaSize="$QuotaSize",QuotaFiles="$QuotaFiles";"

$MYSQL_CONN <$INSERT_USER
commit;

MADAY

if [ $? -ne 0 ]
then
echo "Error:Database insert fail."
echo "MYSQL_CONN=$MYSQL_CONN"
echo "INSERT_USER=$INSERT_USER"
echo "UPDATE_USER=$UPDATE_USER"
exit 1
fi

#END of mysql insert.
#$PURE_PW useradd $V_USERNAME -u $R_USER -d $V_BASE/$V_USERNAME
#更新puredb;
#$PURE_PW mkdb
mkdir -p $V_BASE/$V_USERNAME/$HTTP_ROOT
#http web cgi 目录;
mkdir -p $V_BASE/$V_USERNAME/$HTTP_CGI
#https web 根目录;
mkdir -p $V_BASE/$V_USERNAME/$HTTPS_ROOT
#http web cgi 目录;
mkdir -p $V_BASE/$V_USERNAME/$HTTPS_CGI
#虚拟用户设置、日志文件目录;
mkdir -p $V_BASE/$V_USERNAME/$V_SETTINGS
mkdir -p $V_BASE/$V_USERNAME/$V_SETTINGS/apache/log
mkdir -p $V_BASE/$V_USERNAME/$V_SETTINGS/apache/ca
chmod 777 $V_BASE/$V_USERNAME/$V_SETTINGS/apache/log
chown -R $R_USER:$R_GROUP $V_BASE/$V_USERNAME
if [ $status -eq 0 ]
then
echo "warning:User $V_USERNAME is inactive now,use PureFTP User PHP Management to modify it."
fi
echo "all over."
#end

chmod 755 /usr/local/modules/support/pure-ftpd/bin/vvadduser
ln -s /usr/local/modules/support/pure-ftpd/bin/vvadduser /usr/local/sbin

8.4.简单的启动关闭shell;
#vi /usr/local/modules/support/pure-ftpd/sbin/pure-config.pl
#指定pure-ftpd的位置 。
my $PUREFTPD;
-x && ($PUREFTPD=$_, last) for qw(
#指定pure-ftpd的位置 。
/usr/local/modules/support/pure-ftpd/sbin/pure-ftpd
);

#使用如下perl脚本将配置文件转化为命令行参数 , 并启动pure-ftpd;
/usr/local/modules/support/pure-ftpd/sbin/pure-config.pl /usr/local/modules/support/pure-ftpd/etc/pure-ftpd.conf

/usr/local/modules/support/pure-ftpd/sbin/pure-ftpd -A -b -c150 -B -C20 -fftp -H -I5 -lmysql:/usr/local/modules/support/pure-ftpd/etc/pureftpd-mysql.conf -L2000:8 -m4 -p40000:50000 -s -U133:022 -u100 -w -i -g/usr/local/modules/support/pure-ftpd/var/run/pure-ftpd.pid -Ow3c:/usr/local/modules/support/pure-ftpd/var/log/pure-ftpd-w3c.log -k95 -Z
##添加-4参数 , 可以使ftp只在tcpv4监听 。

#开机自动执行的脚本:

#vi /usr/local/modules/support/pure-ftpd/bin/support-pure-ftpd-mgr.sh

#!/bin/sh
case "$1" in

start)
if [ -x /usr/local/modules/support/pure-ftpd/sbin/pure-config.pl ]; then
/usr/local/modules/support/pure-ftpd/sbin/pure-config.pl /usr/local/modules/support/pure-ftpd/etc/pure-ftpd.conf && echo "Pure-ftpd server started."
else
echo "Error:pure-config.pl can not exec."

推荐阅读