centos 6.5 安装pure-ftpd + MysqL
一、自己到官网下载pure-ftp的tar.gz 的包,数据库我之前安装好了,这里就不写了,不会的自己百度
root@localhost:[/home/soft]%ll
root@localhost:[/home/soft]%tarxfpure-ftpd-1.0.41.tar.gz
二、编译安装
root@localhost:[/home/soft]%cdpure-ftpd-1.0.41 root@localhost:[/home/soft/pure-ftpd-1.0.41]%ldconfig root@localhost:[/home/soft/pure-ftpd-1.0.41]% ./configure--prefix=/home/pureftpd安装路径根据自己服务器的情况指定) --with-MysqL=/home/server/MysqL\ --with-quotas\ --with-cookie\ --with-virtualhosts\ --with-virtualchroot\ --with-diraliases\ --with-sysquotas\ --with-ratios\ --with-altlog\ --with-paranoidmsg\ --with-shadow\ --with-welcomemsg\ --with-throttling\ --with-uploadscript\ --with-language=simplified-chinese
./configure --help 参数详解自己去看下上边的意思。
root@localhost:[/home/soft/pure-ftpd-1.0.41]%make&&makeinstall
三、设置配置文件
root@localhost:[/home/soft/pure-ftpd-1.0.41]%chmod755configuration-file/pure-config.pl root@localhost:[/home/soft/pure-ftpd-1.0.41]%chmod755configuration-file/pure-config.py root@localhost:[/home/soft/pure-ftpd-1.0.41]%cpconfiguration-file/pure-config.pl/home/pureftpd/sbin/ root@localhost:[/home/soft/pure-ftpd-1.0.41]%cpconfiguration-file/pure-config.py/home/pureftpd/sbin/
安装完后安装目录没有-- etc --的目录,需要自己手动创建。
root@localhost:[/home/soft/pure-ftpd-1.0.41]%mkdir/home/pureftpd/etc root@localhost:[/home/soft/pure-ftpd-1.0.41]%cppureftpd-MysqL.confpureftpd-ldap.conf/home/pureftpd/etc/ root@localhost:[/home/soft/pure-ftpd-1.0.41]%cpconfiguration-file/pure-ftpd.conf/home/pureftpd/etc/
1、切换到安装目录【etc】目录
root@localhost:[/home/soft/pure-ftpd-1.0.41]%cd/home/pureftpd/etc/ root@localhost:[/home/pureftpd/etc/]%ls
root@localhost:[/home/pureftpd/]%ls
2、设置配置文件
root@localhost:[/home/pureftpd/etc/]%cppure-ftpd.confpure-ftpd.confbak root@localhost:[/home/pureftpd/etc/]%cppureftpd-MysqL.confpureftpd-MysqL.confbak root@localhost:[/home/pureftpd/etc/]%:>pure-ftpd.conf(清空配置文件内容) root@localhost:[/home/pureftpd/etc/]%vimpure-ftpd.conf(加入如下) root@localhost:[/home/pureftpd/etc/]%catpure-ftpd.conf(具体参数自己百度,这里不说了)
Bind21 ChrootEveryoneyes BrokenClientsCompatibilityno MaxClientsNumber50 Daemonizeyes MaxClientsPerIP8 VerboseLogno DisplayDotFilesyes AnonymousOnlyno NoAnonymousyes SyslogFacilityftp DontResolveyes MaxIdleTime15 LimitRecursion100008 AnonymousCanCreateDirsno MaxLoad4 AntiWarezyes Umask133:022 MinUID500 AllowUserFXPno AllowAnonymousFXPno ProhibitDotFilesWriteno ProhibitDotFilesReadno AutoRenameno AnonymousCantUploadno MaxDiskUsage99 CustomerProofyes AllowOverwriteon AllowStoreRestarton UnixAuthenticationyes PassivePortRange2000020500 MysqLConfigFile/home/pureftpd/etc/pureftpd-MysqL.conf(这里是地指向pure-ftpd的数据库文件)
root@localhost:[/home/pureftpd/etc/]%:>pureftpd-MysqL.conf(清空配置文件内容)
root@localhost:[/home/pureftpd/etc/]%vimpureftpd-MysqL.conf
(加入如下,我的数据库的配置文件就不拿出来,这个是网上的,但配置是一样的,只不过是数据库和表不同。)
MysqLSocket/var/lib/MysqL/MysqL.sock#MysqL.sock文件 MysqLUserftpuser#MysqL用户名 MysqLPasswordftppass#MysqL密码 MysqLDatabaseftpname#MysqL数据库名 MysqLCryptmd5#加密方式,这里用md5加密 MysqLGetPWSELECTPasswordFROMusersWHEREUser="\L"ANDStatus="1"AND(Ipaddress="*"ORIpaddressLIKE"\R") MysqLGetUIDSELECTUidFROMusersWHEREUser="\L"ANDStatus="1"AND(Ipaddress="*"ORIpaddressLIKE"\R") MysqLGetGIDSELECTGidFROMusersWHEREUser="\L"ANDStatus="1"AND(Ipaddress="*"ORIpaddressLIKE"\R") MysqLGetDirSELECTDirFROMusersWHEREUser="\L"ANDStatus="1"AND(Ipaddress="*"ORIpaddressLIKE"\R") MysqLGetQTAFSSELECTQuotaFilesFROMusersWHEREUser="\L"ANDStatus="1"AND(Ipaddress="*"ORIpaddressLIKE"\R") MysqLGetQTASZSELECTQuotaSizeFROMusersWHEREUser="\L"ANDStatus="1"AND(Ipaddress="*"ORIpaddressLIKE"\R") MysqLGetRatIoULSELECTULRatioFROMusersWHEREUser="\L"ANDStatus="1"AND(Ipaddress="*"ORIpaddressLIKE"\R") MysqLGetRatioDLSELECTDLRatioFROMusersWHEREUser="\L"ANDStatus="1"AND(Ipaddress="*"ORIpaddressLIKE"\R") MysqLGetBandwidthULSELECTULBandwidthFROMusersWHEREUser="\L"ANDStatus="1"AND(Ipaddress="*"ORIpaddressLIKE"\R") MysqLGetBandwidthDLSELECTDLBandwidthFROMusersWHEREUser="\L"ANDStatus="1"AND(Ipaddress="*"ORIpaddressLIKE"\R")
这里重点说下;这个配置文件是你数据库的对应的数据库和表的内容,不要安照网上的复制,根据自己数据库建立的数据库和表做相应的配置。
三、配置启动参数(一定要这步,不然启动会报错)
root@localhost:[/home/pureftpd/etc/]%vim/etc/init.d/pureftpd(加如下内容)
#!/bin/bash /home/pureftpd/sbin/pure-config.pl/home/pureftpd/etc/pure-ftpd.conf :wq
root@localhost:[/home/pureftpd/etc/]%ln-s/home/pureftpd/sbin/pure-ftpd/usr/sbin/
四、查看启动参数
root@localhost:[/home/pureftpd/etc/]%/etc/init.d/pureftpd
Running: /usr/sbin/pure-ftpd -A -c50 -B -C8-D -fftp -H -I15 -lMysqL:/etc/pureftpd-MysqL.conf -L2000:8 -m4 -s -U133:022-u100 -j -k99 �CZ
看到以上内容,说明启动成功
root@localhost:[/home/pureftpd/etc/]%ss-lanp|grep21
root@localhost:[/home/pureftpd/etc/]%ps-ef|greppure-ftpd
root9842810Mar14?00:00:00pure-ftpd(SERVER)看到这里说明成功root108211108009011:34pts/100:00:00greppure-ftpd
root@localhost:[/home/pureftpd/etc/]%groupaddftpgroup-g1000
root@localhost:[/home/pureftpd/etc/]%useraddftpuser(创建的帐号)-gftpgroup-u1000-d/dev/null-s/sbin/nologin
root@localhost:[/home/pureftpd/etc/]%mkdir/home/ftpdir
root@localhost:[/home/pureftpd/etc/]%chmod-R755/home/ftpdir/
六、数据库设置
root@localhost:[/home/pureftpd/etc/]%MysqL-uroot-p(进入数据库)
MysqL>CREATEDATABASEftpdb; MysqL>GRANTALLONftpdb.*TO'pureftpd'@'localhost'IDENTIFIEDBY'对应的密码'; MysqL>GRANTALLONftpdb.*TO'pureftpd'@'localhost.localdomain'IDENTIFIEDBY'对应的密码'; MysqL>FLUSHPRIVILEGES; MysqL>USEftpdb; MysqL>CREATETABLEtp( Uservarchar(16)NOTNULLdefault'',statusenum('0','1')NOTNULLdefault'0',Passwordvarchar(64)NOTNULLdefault'',Uidvarchar(11)NOTNULLdefault'-1',Gidvarchar(11)NOTNULLdefault'-1',Dirvarchar(128)NOTNULLdefault'',ULBandwidthsmallint(5)NOTNULLdefault'0',DLBandwidthsmallint(5)NOTNULLdefault'0',commenttinytextNOTNULL,ipaccessvarchar(15)NOTNULLdefault'*',QuotaSizesmallint(5)NOTNULLdefault'0',QuotaFilesint(11)NOTNULLdefault0,PRIMARYKEY(User),UNIQUEKEYUser(User) )TYPE=MyISAM; MysqL>INSERTINTO`tp`(`User`,`status`,`Password`,`Uid`,`Gid`,`Dir`,`ULBandwidth`,`DLBandwidth`,`comment`,`ipaccess`,`QuotaSize`,`QuotaFiles`)VALUES('ftpuser','1',MD5('secret'),'2001','/home/ftpdir','0','','*','0');(这步是向数据库中加入ftp帐号和密码) MysqL>exit;退出数据库
表格说明:
User:帐号名;status:0表示帐号被禁用,无法登录服务器; Password:密码,使用MD5加密; Uid:前面创建的ftpuser帐户号,我们填写的是2001; Gid:前面创建的ftpgroup组号,我们填写的是2001; Dir:虚拟用户的个人目录路径,将在/home下创建(第一次登录); ULBandwidth:上传文件限制速度,KB/s,0为不限制; DLBandwidth:下载文件限制速度,KB/s,0为不限制; comment:备注信息; ipaccess:*表示任意IP都可以访问此ftp服务器,输入具体IP地址可以只允许此IP连接服务器; QuotaSize:用户磁盘空间分配,单位:MB,0表示不加限制; QuotaFiles:用户可以保存的文件数量限制,0表示不加限制。
七、防火墙设置
root@localhost:[/home/pureftpd/etc/]%vim/etc/sysconfig/iptables
root@localhost:[/home/pureftpd/etc/]%cat/etc/sysconfig/iptables
root@localhost:[/home/pureftpd/etc/]%serviceiptablesrestart
至此完全配置完成。
八、测试ftp服务器
服务器ftp目录文件
root@localhost:[/home/pureftpd/etc/]%ll/home/ftpdir
total18020 -rwxrwxrwx1ftpuserftpgroup18451420Mar1014:39xyj3and_60005.apk
客户端连接测试