Pure-FTPd的應用

科技小能手發表於2017-11-12

                            Pure-FTPd的應用

      Pure-FTPd 是一款免費(BSD)的,安全的,高質量和符合標準的FTP伺服器。 側重於執行效率和易用性。 它提供了簡單的答案,他滿足了大眾化的需求,包括普通使用者以及主機供應商們。

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  開機啟動

mysql進行簡單的安全設定

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

service httpd start  啟動httpd

chkconfig httpd on  開機啟動

測試apache能否呼叫php

Vim  /var/www/http/index.php

<?php

Phpinfo();

?>

正常

測試php能否呼叫mysql

Vim  /var/www/http/index.php

<?php

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

if($link)

echo “ok”;

else

echo “no”;

?>

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   

Vim  puteftpd  修改如下:

啟動pureftpd

service pureftpd start

chkconfig –add pureftpd

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

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

    其中有幾項要修改:

   chrootEveryone              yes   限定在自己的家目錄

   NoAnonymous                 yes   不允許匿名登入

   Bind                      127.0.0.1,21        監聽本機迴環 <可選>

   Bind                      192.168.0.254,21    監聽本機IP  <自行新增的,非必須>

  CreateHomeDir               yes   允許使用者登入後自動建立家目錄   <必須>

配置虛擬使用者登入環境

[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” >> /etc/profile

/etc/profile 為環境變數檔案

.  /etc/profile  立即生效使

匯入資料到mysqlpureftp.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`)

<匯入資料,匯入前可能需要修改此sql檔案的15行:前2個減號空一格— ——————————————————->

輸入密碼就匯入成功了

然後再用root登入mysql,執行

mysql> grant all privileges on ftpusers.* to ftp@localhost identified by “zzx” ; 

mysql> flush privileges;

mysql>quit;

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

Enter password: 

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

mysql> use ftpusers;

Database changed

mysql> show tables;

+——————–+

| Tables_in_ftpusers |

+——————–+

| admin              | 

| users              | 

+——————–+

mysql> select * from admin;

+———-+———————————-+

| Username | Password                         |

+———-+———————————-+

| admin    | 202cb962ac59075b964b07152d234b70 | 

+———-+———————————-+

1 row in set (0.00 sec)

mysql> 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   如下:

<?php

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

$cfg[`dbname`]=`ftpusers`;  //mysql db name                            所用的庫<與前面匯入的sql中要一致>

$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`;                    認證模式<要與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`]=1000; //DLBandwidth                                       下載速率限制

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

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

$cfg[`status`]=1; //status                                             狀態,1為啟用;0為禁止

$cfg[`ip`]= `*`;        //ipaddress                                    可訪問IP*為所有

重啟pureftpd mysqld

瀏覽器登入

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

新建一個使用者

user1登入

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

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

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



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


相關文章