FTPd实现基于虚拟帐号访问的FTP服务器

Pure-FTPd是一个免费的(BSD),安全的,符合标准的FTP服务器。它可以基于web页面进行管理,管理起来非常方便和高效;同时,它支持虚拟用户进行访问,大大提高了它的安全性。它提供了共同的需求,简单的答案,再加上独特的有用的功能,为个人用户和主机提供商。

Pure-FTPd可以支持多种操作系统(Linux, OpenBSD, NetBSD, DragonflyBSD FreeBSD, Solaris, Tru64,Darwin, Irix,HPUX,AIXand iPhone.),支持多种国家语言。

实现的环境:RedHat Enterprise Linux 5.4

使用到的相关软件包:

httpd-2.4.4.tar.bz2 (源代码)

apr-1.4.6.tar.gz (源代码)支持httpd的可移植运行库

apr-util-1.5.1.tar.gz (源代码)可移植运行库的工具

mysql-5.6.10.tar.gz (源代码)

php-5.4.13.tar.bz2 (源代码)

cmake-2.8.10.2.tar.gz (源代码)实现mysql的配置

pure-ftpd-1.0.36.tar.gz (源代码)pure-ftpd源码包

PureAdmin-0.3.tar.gz ftp服务器基于web的后台管理程序

ZendOptimizer-3.3.3-linux-hicode.tar.gz php加速器

pureftp.sql 建库建表语句

pureftpd-mysql.conf pureftp与mysql的连接接口文件

以上这些东西都是来自互联网,都可以在互联网上找到。

具体实现:

一.搭建LAMP环境

1.httpd的安装,再安装httpd之前一定要有apr的可移植运行库和可移植性运行库工具的支持。

apr的安装:

[root@server ~]# tar -zxvf apr-1.4.6.tar.gz -C/usr/local/src/

[root@server ~]# cd /usr/local/src/apr-1.4.6/

[root@server apr-1.4.6]# ./configure --prefix=/usr/local/apr

[root@server apr-1.4.6]# make && make install

[root@server apr-1.4.6]# cd /usr/local/apr/

[root@server apr]# ln -s /usr/local/apr/include/usr/include/apr

[root@server apr]# cd /etc/ld.so.conf.d/

[root@server ld.so.conf.d]# vim apr.conf apr的内容如下图:

然后使用ldconfig刷新缓存,在使用ldconfig -pv |grep apr查看apr相关的库文件:

143833679.png

apr-util的安装:

[root@server ~]# tar -zxvf apr-util-1.5.1.tar.gz -C/usr/local/src/

[root@server ~]# cd /usr/local/src/apr-util-1.5.1/

[root@server apr-util-1.5.1]# ./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config

[root@server apr-util-1.5.1]# make && make install

[root@server apr-util-1.5.1]# cd /usr/local/apr-util/

[root@server apr-util]# ln -s /usr/local/apr-util/include/usr/include/apr-util

[root@server apr-util]# cd /etc/ld.so.conf.d/

[root@server ld.so.conf.d]# vim apr-util.conf apr-util的内容如下图:

同样使用ldconfig刷新缓存

143911351.png

httpd的安装:

说明:由于在对httpd进行相应的配置时,还依赖于pcre的库,所以要挂载光盘安装pcre-devel。

[root@server ~]# mkdir /mnt/cdrom

[root@server ~]# mount /dev/cdrom /mnt/cdrom/

[root@server ~]# cd /mnt/cdrom/Server/

[root@server Server]# rpm -ivh pcre-devel-6.6-2.el5_1.7.i386.rpm

[root@server ~]# tar -jxvf httpd-2.4.4.tar.bz2 -C/usr/local/src/

[root@server ~]# cd /usr/local/src/httpd-2.4.4/

[root@server httpd-2.4.4]# ./configure \

> --prefix=/usr/local/apache \

> --sysconfdir=/etc/httpd \

> --enable-mods-shared=most \

> --enable-so \

> --enable-ssl \

> --enable-mpms-shared=all \

> --enable-rewrite \

> --with-apr=/usr/local/apr/bin/apr-1-config \

> --with-apr-util=/usr/local/apr-util/bin/apu-1-config \

> --with-zlib \

> --with-pcre

[root@server httpd-2.4.4]# make && make install

[root@server httpd-2.4.4]# cd /usr/local/apache/

[root@server apache]# ln -s /usr/local/apache/include/usr/include/apache

[root@server apache]# vim /etc/profile 对环境文件作如下修改:

143943263.png

[root@server apache]# . /etc/profile 重新读取环境文件

[root@server apache]# echo $PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache/bin

[root@server apache]# vim /etc/man.config 作如下修改:

144011385.png

说明:由于源码安装没服务的控制脚本,通常需要我们自己写,而服务器的控制脚本所在的目录:/etc/init.d/通常与程序的名字相同。

[root@localhost ~]# cd /etc/init.d/

[root@localhost init.d]# vim httpd httpd的内容如下:

#/bin/bash

# chkconfig:2345 88 78 服务设置在各级别启动与关闭状态

# description:httpd server daemon 实现chkconfig自动管理必不可少

lockfile=/var/lock/subsys/httpd

prog=/usr/local/apache/bin/httpd

configfile=/etc/httpd/httpd.conf

./etc/init.d/functions

start(){

[ -f $lockfile ] && echo"httpd is started" && exit

echo -n "httpd isstarting..."

sleep 1

$prog -f $configfile && echo"ok" && touch $lockfile || echo "failed"

}

stop(){

[ ! -f $lockfle ] && echo"httpd is stoped" && exit

echo -n "httpd is stopping"

sleep 1

killproc httpd && echo"ok" && rm -rf $lockfile || echo "failed"

}

case"$1" in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

*)

echo"USAGE:start|stop|restart"

esac

[root@localhost init.d]# chmod a+x httpd

修改/etc/httpd/httpd.conf 的配置文件,使得其支持基于php开发的pure-ftpd的web管理页面,需做如下修改:

144114417.png

启动httpd服务,并且加入chkconfig 实现服务开机自动启动:

2.mysql数据库的安装,由于mysql的源码拆解目录下没有configure的配置工具,我们要对mysql进行相应的配置必须使用cmake工具进行mysql的配置。

更多详情见请继续阅读下一页的精彩内容

Pure-FTPd 的详细介绍请点这里
Pure-FTPd 的下载地址请点这里

相关阅读

源码安装Pure-ftpd 搭建ftp服务器

Pure-ftpd在企业网中的应用

Pure-ftpd虚拟用户的配置及基于MySQL的虚拟用户配置详解

Pure-ftpd服务器在Linux上的搭建

Ubuntu 安装Pure-ftpd搭配网页管理使用者系统

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/7c01a6ec34f939739ff1e506a9c0365c.html