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
<?php
Phpinfo();
?>
<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 監聽本機回環 <可選>
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 立即生效使
<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')
<導入資料,導入前可能需要修改此sql檔案的15行:前2個減号空一格-- ------------------------------------------------------->
<a href="http://blog.51cto.com/attachment/201212/173732672.png" target="_blank"></a>
輸入密碼就導入成功了
然後再用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 如下:
$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
浏覽器登入
<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