centos 6.5 安裝pure-ftpd + mysql

                 centos 6.5 安裝pure-ftpd + mysql 

一、自己到官網下載pure-ftp的tar.gz 的包,數據庫我之前安裝好了,這裏就不寫了,不會的自己百度

root@localhost:[/home/soft] % ll

root@localhost:[/home/soft] % tar xf pure-ftpd-1.0.41.tar.gz

wKioL1jIppqBytkTAAB5BmIMw_8335.jpg-wh_50


二、編譯安裝

root@localhost:[/home/soft] % cd pure-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 && make install



三、設置配置文件

root@localhost:[/home/soft/pure-ftpd-1.0.41] %chmod 755 configuration-file/pure-config.pl
root@localhost:[/home/soft/pure-ftpd-1.0.41] %chmod 755 configuration-file/pure-config.py
root@localhost:[/home/soft/pure-ftpd-1.0.41] %cp configuration-file/pure-config.pl /home/pureftpd/sbin/
root@localhost:[/home/soft/pure-ftpd-1.0.41] %cp configuration-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] %cp pureftpd-mysql.conf pureftpd-ldap.conf /home/pureftpd/etc/
root@localhost:[/home/soft/pure-ftpd-1.0.41] %cp configuration-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

wKiom1jIsHqiqTq4AABqh4uF1P4559.jpg-wh_50

root@localhost:[/home/pureftpd/]%ls

wKiom1jIsEDho3E8AAA_tz9uki8618.jpg-wh_50

2、設置配置文件

root@localhost:[/home/pureftpd/etc/]%cp pure-ftpd.conf pure-ftpd.confbak
root@localhost:[/home/pureftpd/etc/]%cp pureftpd-mysql.conf pureftpd-mysql.confbak
root@localhost:[/home/pureftpd/etc/]%:>pure-ftpd.conf(清空配置文件內容)
root@localhost:[/home/pureftpd/etc/]%vim pure-ftpd.conf(加入如下)
root@localhost:[/home/pureftpd/etc/]% cat pure-ftpd.conf(具體參數自己百度,這裏不說了)

wKiom1jIsbCDb1FmAAC54MdERN8787.jpg-wh_50

Bind                    21
ChrootEveryone              yes
BrokenClientsCompatibility  no
MaxClientsNumber            50
Daemonize                   yes
MaxClientsPerIP             8
VerboseLog                  no
DisplayDotFiles             yes
AnonymousOnly               no
NoAnonymous                 yes
SyslogFacility              ftp
DontResolve                 yes
MaxIdleTime                 15
LimitRecursion              10000 8
AnonymousCanCreateDirs      no
MaxLoad                     4
AntiWarez                   yes
Umask                       133:022
MinUID                      500
AllowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       no
ProhibitDotFilesRead        no
AutoRename                  no
AnonymousCantUpload         no
MaxDiskUsage               99
CustomerProof              yes
AllowOverwrite          on
AllowStoreRestart       on
UnixAuthentication          yes
PassivePortRange            20000 20500
MySQLConfigFile     /home/pureftpd/etc/pureftpd-mysql.conf(這裏是地指向pure-ftpd 的數據庫文件)
root@localhost:[/home/pureftpd/etc/]%:> pureftpd-mysql.conf(清空配置文件內容)
root@localhost:[/home/pureftpd/etc/]%vim pureftpd-mysql.conf

(加入如下,我的數據庫的配置文件就不拿出來,這個是網上的,但配置是一樣的,只不過是數據庫和表不同。)

MYSQLSocket   /var/lib/mysql/mysql.sock  # mysql.sock文件
MYSQLUser       ftpuser                  # mysql用戶名
MYSQLPassword   ftppass                  # mysql密碼
MYSQLDatabase   ftpname                  # mysql數據庫名
MYSQLCrypt         md5                   #加密方式,這裏用md5加密
MYSQLGetPW      SELECT Password FROM users WHEREUser="\L" AND Status="1" AND (Ipaddress = "*" ORIpaddress LIKE "\R")
MYSQLGetUID     SELECT Uid FROM users WHEREUser="\L" AND Status="1" AND (Ipaddress = "*" ORIpaddress LIKE "\R")
MYSQLGetGID     SELECT Gid FROM users WHEREUser="\L" AND Status="1" AND (Ipaddress = "*" ORIpaddress LIKE "\R")
MYSQLGetDir     SELECT Dir FROM users WHEREUser="\L" AND Status="1" AND (Ipaddress = "*" ORIpaddress LIKE "\R")
MySQLGetQTAFS  SELECT QuotaFiles FROM users WHERE User="\L"AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE"\R")
MySQLGetQTASZ  SELECT QuotaSize FROM users WHEREUser="\L" AND Status="1" AND (Ipaddress = "*" ORIpaddress LIKE "\R")
MySQLGetRatioUL SELECT ULRatio FROM usersWHERE User="\L" AND Status="1" AND (Ipaddress ="*" OR Ipaddress LIKE "\R")
MySQLGetRatioDL SELECT DLRatio FROM usersWHERE User="\L" AND Status="1" AND (Ipaddress ="*" OR Ipaddress LIKE "\R")
MySQLGetBandwidthUL SELECT ULBandwidth FROMusers WHERE User="\L" AND Status="1" AND (Ipaddress ="*" OR Ipaddress LIKE "\R")
MySQLGetBandwidthDL SELECT DLBandwidth FROMusers WHERE User="\L" AND Status="1" AND (Ipaddress ="*" OR Ipaddress LIKE "\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 –Z

看到以上內容,說明啓動成功

root@localhost:[/home/pureftpd/etc/]%ss -lanp | grep 21

wKiom1jItqTw1HbdAAB97H8Bl38649.jpg

root@localhost:[/home/pureftpd/etc/]%ps -ef | grep pure-ftpd

root 98428 1 0 Mar14 ? 00:00:00 pure-ftpd (SERVER) 看到這裏說明成功       root 108211 108009  0 11:34 pts/1 00:00:00 grep pure-ftpd

五、配置虛擬用戶作爲數據庫映射和ftp目錄

root@localhost:[/home/pureftpd/etc/]%groupadd ftpgroup -g 1000
root@localhost:[/home/pureftpd/etc/]%useradd ftpuser(創建的帳號)-g ftpgroup -u 1000 -d /dev/null -s /sbin/nologin
root@localhost:[/home/pureftpd/etc/]%mkdir /home/ftpdir
root@localhost:[/home/pureftpd/etc/]%chmod -R 755 /home/ftpdir/

六、數據庫設置

root@localhost:[/home/pureftpd/etc/]%mysql -uroot -p (進入數據庫)

wKioL1jIuDezZIIwAAArJA52-2c137.jpg

mysql> CREATE DATABASE ftpdb;
mysql> GRANT ALL ON ftpdb.* TO 'pureftpd'@'localhost' IDENTIFIED BY '對應的密碼'; 
mysql>GRANT ALL ON ftpdb.* TO 'pureftpd'@'localhost.localdomain' IDENTIFIED BY '對應的密碼'; 
mysql>FLUSH PRIVILEGES; 
mysql> USE ftpdb;
mysql> CREATE TABLE tp (
User varchar(16) NOT NULL default '',
status enum('0','1') NOT NULL default '0',
Password varchar(64) NOT NULL default '',
Uid varchar(11) NOT NULL default '-1',
Gid varchar(11) NOT NULL default '-1',
Dir varchar(128) NOT NULL default '',
ULBandwidth smallint(5) NOT NULL default '0',
DLBandwidth smallint(5) NOT NULL default '0',
comment tinytext NOT NULL,
ipaccess varchar(15) NOT NULL default '*',
QuotaSize smallint(5) NOT NULL default '0',
QuotaFiles int(11) NOT NULL default 0,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) TYPE=MyISAM;
mysql>INSERT INTO `tp` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('ftpuser', '1', MD5('secret'), '2001', '2001', '/home/ftpdir', '0', '0', '', '*', '0', '0'); (這步是向數據庫中加入ftp帳號和密碼)
mysql>exit; 退出數據庫

表格說明:

wKioL1jIui2joQkKAACRi2HbmJ8521.jpg

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

wKiom1jIvFCDk5qXAAAu5cH7_VM249.jpg

root@localhost:[/home/pureftpd/etc/]%service iptables restart

至此完全配置完成。


八、測試ftp服務器

服務器ftp目錄文件

root@localhost:[/home/pureftpd/etc/]% ll /home/ftpdir
total 18020
-rwxrwxrwx 1 ftpuser ftpgroup 18451420 Mar 10 14:39 xyj3and_60005.apk

客戶端連接測試

wKiom1jIzFTAU8HzAACs6DHw_LI861.jpg


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章