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 立即生效使
導入數據到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個減號空一格-- ------------------------------------------------------->
輸入密碼就導入成功了
然後再用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的目錄,這就是user1的ftp根目錄
在user1目錄裏你可以上傳、下載、刪除、重命名等
通過web的方式管理ftp服務器,很方便!!!!