天天看點

Pure-FTPd的應用

                            Pure-FTPd的應用

1、由于pure-ftp是可以通過web的方式管理的且基于php  是以必須先搭建:LAMP環境

這裡就用yum的方式安裝所需包

yum  install  php mysql  mysql-server  httpd  mysql-devel  php-mysql  -y

啟動mysql

service mysqld start

chkconfig mysqld on  開機啟動

<a href="http://blog.51cto.com/attachment/201212/173616377.png" target="_blank"></a>

對mysql進行簡單的安全設定

mysqladmin -u root -p password "123456" 設定管理mysql的使用者名和密碼

service httpd start  啟動httpd

chkconfig httpd on  開機啟動

測試apache能否調用php

Vim  /var/www/http/index.php

&lt;?php

Phpinfo();

?&gt;

<a href="http://blog.51cto.com/attachment/201212/173628384.png" target="_blank"></a>

正常

測試php能否調用mysql

$link=mysql_connect('127.0.0.1','root','123456');

if($link)

echo "ok";

else

echo "no";

<a href="http://blog.51cto.com/attachment/201212/173639744.png" target="_blank"></a>

LAMP環境已經搭建好了

3、開始源碼安裝pure-ftp (用源碼安裝指定參數使支援mysql)

先将下列檔案上傳到伺服器

PureAdmin-0.3.tar.gz

pure-ftpd-1.0.36.tar.gz

pureftpd-mysql.conf

pureftp.sql

webpureftp0.1.tar.gz

ZendOptimizer-3.3.3-linux-hicode.tar.gz

(1)解包

tar -zvxf pure-ftpd-1.0.36.tar.gz -C /usr/local/src/

cd  /usr/local/src/pure-ftpd-1.0.36

(2)安裝

 ./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

make

make install

(3)生成pure-ftpd的服務腳本

cd /usr/local/src/pure-ftpd-1.0.36/configuration-file/

chmod a+x pure-config.pl   --添加可執行權限

cp pure-config.pl /usr/local/pureftpd/sbin/

mkdir /usr/local/pureftpd/etc  --建立一個存放配置問價的目錄

cp pure-ftpd.conf /usr/local/pureftpd/etc/  --将主配置檔案拷貝到這裡

(4)生成pure-ftpd的服務

cd /usr/local/src/pure-ftpd-1.0.36/contrib/

chmod  a+x  redhat.init

cp  redhat.init  /etc/init.d/pureftpd   

<a href="http://blog.51cto.com/attachment/201212/173651103.png" target="_blank"></a>

Vim  puteftpd  修改如下:

<a href="http://blog.51cto.com/attachment/201212/173700188.png" target="_blank"></a>

啟動pureftpd

service pureftpd start

chkconfig --add pureftpd

<a href="http://blog.51cto.com/attachment/201212/173710591.png" target="_blank"></a>

(5)配置匿名使用者登入環境

編輯 vim /usr/local/pureftpd/etc/pure-ftpd.conf

    其中有幾項要修改:

   chrootEveryone              yes   限定在自己的家目錄

   NoAnonymous                 yes   不允許匿名登入

   Bind                      127.0.0.1,21        監聽本機回環 &lt;可選&gt;

   Bind                      192.168.0.254,21    監聽本機IP  &lt;自行添加的,非必須&gt;

  CreateHomeDir               yes   允許使用者登入後自動建立家目錄   &lt;必須&gt;

配置虛拟使用者登入環境

[root@localhost /]# mkdir /ftp   --建立ftp的根目錄

[root@localhost /]# chmod 777 /ftp   

useradd -d /ftp -s /sbin/nologin -M v_ftp  --建立接下來的虛拟使用者對應的系統使用者

[root@localhost /]# chown v_ftp.v_ftp /ftp/

設定環境變量

echo "PATH=$PATH:/usr/local/pureftpd/bin" &gt;&gt; /etc/profile

/etc/profile 為環境變量檔案

.  /etc/profile  立即生效使

<a href="http://blog.51cto.com/attachment/201212/173722304.png" target="_blank"></a>

導入資料到mysql(pureftp.sql為下載下傳好的資料檔案)

先檢視一下

less pureftp.sql

注意其中的

     22 -- Login = ftp             此為登入資料庫的使用者

     23 -- Password = tmppasswd    此為登入資料庫的密碼 這裡改為zzx

     31 CREATE DATABASE ftpusers;  建立名為ftpusers的庫

     50 INSERT INTO admin VALUES ('admin',MD5('passwd'));  此為登入web用的使用者密碼,可自行修改 這裡改為MD5('123')

&lt;導入資料,導入前可能需要修改此sql檔案的15行:前2個減号空一格-- -------------------------------------------------------&gt;

<a href="http://blog.51cto.com/attachment/201212/173732672.png" target="_blank"></a>

輸入密碼就導入成功了

然後再用root登入mysql,執行

mysql&gt; grant all privileges on ftpusers.* to ftp@localhost identified by "zzx" ; 

mysql&gt; flush privileges;

mysql&gt;quit;

[root@localhost pureftp]# mysql -u ftp -p   用ftp登入測試

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

mysql&gt; use ftpusers;

Database changed

mysql&gt; show tables;

+--------------------+

| Tables_in_ftpusers |

| admin              | 

| users              | 

mysql&gt; select * from admin;

+----------+----------------------------------+

| Username | Password                         |

| admin    | 202cb962ac59075b964b07152d234b70 | 

1 row in set (0.00 sec)

mysql&gt; quit

用mysql認證

cp pureftpd-mysql.conf  /usr/local/pureftpd/etc/   将接口檔案pureftpd-mysql.conf拷貝到這裡

編輯vim /usr/local/pureftpd/etc/pure-ftpd.conf 開啟116行并指明路徑如下:

116 MySQLConfigFile               /usr/local/pureftpd/etc/pureftpd-mysql.conf

編輯接口檔案pureftpd-mysql.conf

vi pureftpd-mysql.conf

修改如下:

MYSQLUser      ftp

MYSQLPassword   zzx

MYSQLDatabase   ftpusers

MYSQLCrypt      md5

解壓縮PureAdmin-0.3.tar.gz

tar -zxvf  PureAdmin-0.3.tar.gz

mv PureAdmin-0.3 /var/www/html/pureadmin

cd /var/www/html/pureadmin/

vi config.php   如下:

$cfg['dbhost']='localhost'; //mysql host

$cfg['dbname']='ftpusers';  //mysql db name                            所用的庫&lt;與前面導入的sql中要一緻&gt;

$cfg['dbuser']='ftp';           //mysql user                           登入mysql的帳号

$cfg['dbpasswd']='zzx';           //mysql password                   登入mysql的密碼

//ftp config

$cfg['page']=10;                                                       每頁顯示的使用者數量

//ftp passwd type : TEXT/CRYPT/MD5

$cfg['passwdtype']='MD5';                    認證模式&lt;要與pureftpd-mysql.conf中一緻&gt;

//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']=1000; //DLBandwidth                                       下載下傳速率限制

$cfg['ur']=0;   //ULRatio                                              上傳比

$cfg['dr']=0;   //DLRatio                                              下載下傳比

$cfg['status']=1; //status                                             狀态,1為激活;0為禁止

$cfg['ip']= '*';        //ipaddress                                    可通路IP,*為所有

重新開機pureftpd 、mysqld

浏覽器登入

<a href="http://blog.51cto.com/attachment/201212/173746673.png" target="_blank"></a>

輸入使用者名admin 和密碼 123登入

<a href="http://blog.51cto.com/attachment/201212/173757974.png" target="_blank"></a>

建立一個使用者

<a href="http://blog.51cto.com/attachment/201212/173808532.png" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201212/173817522.png" target="_blank"></a>

用user1登入

<a href="http://blog.51cto.com/attachment/201212/173826690.png" target="_blank"></a>

登入成功後會在/ftp/目錄下自動建立一個user1的目錄,這就是user1的ftp根目錄

<a href="http://blog.51cto.com/attachment/201212/173836998.png" target="_blank"></a>

在user1目錄裡你可以上傳、下載下傳、删除、重命名等

通過web的方式管理ftp伺服器,很友善!!!!

本文轉自 abc16810 51CTO部落格,原文連結:http://blog.51cto.com/abc16810/1095464