PureFTPD服務器的應用

 

PureFTPD服務器的管理
PureFTPD服務器可以通過插件來實現web界面用戶管理,比如WebPureFTPD,pureFTPD,
PHP,User,Management,同時用戶可以使用MySQL來存儲。本節介紹PureFTPD服務器的相關配置與管理。
1.       PureFTPD服務器需要用到apache mysql mysql-server mysql-devel這些軟件
安裝實驗所用的軟件包
[root@localhost ~]# yum -y install httpd php php-mysql mysql mysql-server mysql-devel
安裝PureFTPD服務器還要用到

 

 

 

拆分軟件包進行安裝(這裏用到的是源代碼)
[root@localhost pureftp]# tar -zxvf pure-ftpd-1.0.36.tar.gz -C /usr/local/src/
[root@localhost pureftp]# cd /usr/local/src/pure-ftpd-1.0.36/【切換目錄】
進行編譯(執行以下命令)
[root@localhost pure-ftpd-1.0.36]# ./configure \
                             --prefix=/usr/local/pureftpd \
                             --with-mysql \
                                                         --with-shadow \
                                                         --with-pam \
                                                       --with-welcomemsg   \
                                                         --with-uploadscript \
                                                         --with-cookie   \
                                                         --with-virtualchroot \
                                                         --with-virtualhosts \
                                                         --with-diraliases \
                                                         --with-quotas \
                                                         --with-puredb \
                                                         --with-sysquotas \
                                                        --with-ratios \
                                                         --with-ftpwho \
                                                          --with-throttling \
                                                          --with-language=simplified-chinese
[root@localhost pure-ftpd-1.0.36]# make
[root@localhost pure-ftpd-1.0.36]# make install
1.       需要開啓的服務
[root@localhost ~]# service httpd start【開啓http服務】
Starting httpd:                                            [ OK ]
[root@localhost ~]# chkconfig httpd on【設置開機啓動http】
[root@localhost ~]# service mysqld start【啓動mysql服務】
[root@localhost ~]# chkconfig mysqld on【設置開機啓動】
[root@localhost ~]# mysqladmin -u root -p password '12345'【爲mysql設置密碼】
2.       如果需要像其他服務那樣啓動PureFTPD服務,需要進一步調整。
生成pureftpd的服務腳本
[root@localhost pure-ftpd-1.0.36]# mkdir /usr/local/pureftpd/etc【創建存放配置文件的目錄】
[root@localhost pure-ftpd-1.0.36]# cd configuration-file/
[root@localhost configuration-file]# chmod 755 pure-config.pl
[root@localhost configuration-file]# cp pure-config.pl  /usr/local/pureftpd/sbin/
[root@localhost configuration-file]# cp pure-ftpd.conf  /usr/local/pureftpd/etc/
[root@localhost configuration-file]# cd ..
[root@localhost pure-ftpd-1.0.36]# cd contrib/
[root@localhost contrib]# cp redhat.init /etc/init.d/pureftpd
[root@localhost contrib]# chmod 755 /etc/init.d/pureftpd
[root@localhost contrib]# vim /etc/init.d/pureftpd
修改以下這三行
18 fullpath=/usr/local/pureftpd/sbin/$prog
19 pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho
24         $fullpath /usr/local/pureftpd/etc/pure-ftpd.conf –daemonize
啓動PureFTPD
[root@localhost contrib]# service pureftpd start
Starting pure-config.pl: Running: /usr/local/pureftpd/sbin/pure-ftpd --daemonize -A -c50 -B -C8 -D -fftp -H -I15 -L10000:8 -m4 -s -U133:022 -u100 -k99 –Z 【成功啓動】
[root@localhost contrib]# chkconfig --add pureftpd 【設置開機啓動】
[root@localhost contrib]# chkconfig pureftpd on
[root@localhost contrib]# chkconfig --list |grep ftp
pureftpd            0:off 1:off 2:on 3:on 4:on 5:on 6:off
3.       配置虛擬用戶登錄環境
[root@localhost ~]#mkdir /ftproot
[root@localhost ~]#chmod -R 777 /ftproot <這不不做可以能會引起登錄時報421錯誤>
[root@localhost ~]# useradd virtualftp -d /ftproot -s /sbin/nologin -M
<創建接下來的虛擬用戶對應的系統用戶>
[root@localhost ~]# chown virtualftp:virtualftp /ftproot
[root@localhost ~]# vim /usr/local/pureftpd/etc/pure-ftpd.conf
20 ChrootEveryone              yes【用戶不能切換目錄】
40 MaxClientsNumber            50【最大的連接用戶數量】
52 MaxClientsPerIP             8【每個用戶的最大連接數量】
77 NoAnonymous                yes【允許匿名訪問】
4.       用mysql進行身份驗證
[root@localhost ~]# vim /usr/local/pureftpd/etc/pure-ftpd.conf
116 MySQLConfigFile     /etc/pureftpd-mysql.conf
[root@localhost pureftp]# cp pureftpd-mysql.conf /usr/local/pureftpd/etc/
[root@localhost pureftp]# cd /usr/local/pureftpd/etc/
[root@localhost etc]# vim pureftpd-mysql.conf
32 MYSQLPassword tmppasswd
45 MYSQLCrypt      md5
導入數據到mysql
# wget http://www.yiyou.org/docs/PureAdmin_03_php/pureftp.sql
# less pureftp.sql
注意其中的
     22 -- Login = ftp             此爲登錄數據庫的用戶
     23 -- Password = tmppasswd    此爲登錄數據庫的密碼
     31 CREATE DATABASE ftpusers; 創建名爲ftpusers的庫
     50 INSERT INTO admin VALUES ('admin',MD5('passwd')); 此爲登錄web用的用戶密碼,可自行修改
<導入數據,導入前可能需要修改此sql文件的15行:前2個減號空一格—
[root@localhost pureftp]# mysql -u root -p <pureftp.sql
5.       做基於web頁面的配置
root@localhost pureftp]# tar -zxvf PureAdmin-0.3.tar.gz -C /var/www/html/
[root@localhost pureftp]# cd /var/www/html/
[root@localhost html]# mv PureAdmin-0.3 pureadmin
[root@localhost html]# cd pureadmin/
修改pureadmin的配置文件
# cd /var/www/html/pureadmin
# vi config.php   我的如下:
<?php
$cfg['dbhost']='localhost'; //mysql host
$cfg['dbname']='ftpusers'; //mysql db name                            所用的庫<與前面導入的sql中要一致>
$cfg['dbuser']='ftp';           //mysql user                           登錄mysql的帳號
$cfg['dbpasswd']='tmppasswd';           //mysql password               登錄mysql的密碼
 
//ftp config
$cfg['page']=10;                                                       每頁顯示的用戶數量
//ftp passwd type : TEXT/CRYPT/MD5
$cfg['passwdtype']='MD5';                                              認證模式<要與pureftpd-mysql.conf中一致>
//ftp default
$cfg['uid']=500; //uid                                                映射虛擬用戶的UID,即剛創建的virtualftp用戶
$cfg['gid']=500;        //gid                                          同上
$cfg['dir']='/ftproot/'; //dir                                          默認家目錄
$cfg['qf']=0;  //quotafiles                                           文件個數限制,0爲不限制
$cfg['qs']=100; //quotasize                                            總文件大小
$cfg['ul']=0;   //ULBandwidth                                          上傳速率限制
$cfg['dl']=200; //DLBandwidth                                          下載速率限制
$cfg['ur']=0;   //ULRatio                                              上傳比
$cfg['dr']=0;   //DLRatio                                              下載比
$cfg['status']=1; //status                                             狀態,1爲激活;0爲禁止
$cfg['ip']= '*';        //ipaddress                                    可訪問IP,*爲所有
?>
6.       驗證實驗結果

 

 

 

 

 

 

 

 

 

 

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