天天看點

搭建pureftp伺服器,實作安全的、高品質的FTP伺服器

一、原理圖:

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_13477817146RER.png"></a>

二、所需軟體包及附件:

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781719uI5B.png"></a>

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781720bo8I.png"></a>

三、環境搭建:

1、配置網絡位址:

# vim /etc/sysconfig/network-scripts/ifcfg-eth0 //編輯網卡配置檔案

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781724GxhC.png"></a>

2、重新開機網絡服務:

# service network restart

3、挂載CD光牒:

# mkdir /mnt/cdrom    //建立挂載點

# mount /dev/cdrom /mnt/cdrom/

4、安裝pure-ftp所需的軟體包:

# yum install httpd mysql mysql-server mysql-devel php php-mysql    //使用yum安裝相應的軟體包

5、啟動httpd服務:

# service httpd start

6、啟動mysql服務:

# service mysqld start

# mysqladmin -u root -p password "123"    //更改mysql的root使用者的密碼

四、源碼安裝pure-ftpd服務:

1、拆解pure-ftpd源碼:

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

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

2、配置pure-ftp源碼:

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

3、編譯pure-ftp源碼:

# make

4、安裝pure-ftp源碼:

# make install

5、手動生成pure-ftpd的服務腳本:

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

# chmod a+x pure-config.pl    //給pure-ftpd的服務腳本添加執行的權限

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

# mkdir /usr/local/pureftpd/etc

# cp pure-ftpd.conf /usr/local/pureftpd/etc/

6、生成pure-ftpd服務的控制腳本:

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

7、編輯控制檔案:

# vim /etc/init.d/pureftpd 

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781725cto6.png"></a>

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781725lEI3.png"></a>

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781726hy9W.png"></a>

8、将pureftpd服務設定成開機自動啟動:

# chmod 755 /etc/init.d/pureftpd

# chkconfig --add pureftpd

# chkconfig pureftpd on

五、配置pure-ftpd的使用者登入環境

1、編輯配置檔案

# vim /usr/local/pureftpd/etc/pure-ftpd.conf

不允許匿名登入:

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781726txDJ.png"></a>

使用者第一次登入後自動建立家目錄:

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781727XOq1.png"></a>

2、配置虛拟使用者登入環境

# mkdir /ftproot    /虛拟帳号的根目錄,相當于一個使用者的組目錄

# chmod -R 777 /ftproot  &lt;這步不做可以能會引起登入時報421錯誤&gt;

# useradd virtualftp -d /ftproot -s /sbin/nologin -M  //建立虛拟使用者映射的系統使用者

# chown virtualftp:virtualftp /ftproot

3、将pure-ftpd服務添加到環境變量

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

# . /etc/profile

六、設定pure-ftpd使用者的mysql認證

1、配置pure-ftpd主配置文檔:

#vim /usr/local/pureftpd/etc/pure-ftpd.conf

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781727TNnl.png"></a>

2、産生并配置資料庫配置檔案pureftpd-mysql.conf

拷貝pureftpd-mysql.conf檔案到指定目錄:

# cp pureftpd-mysql.conf /usr/local/pureftpd/etc/

3、編輯pureftpd-mysql.conf的配置:

# vim /usr/local/pureftpd/etc/pureftpd-mysql.conf

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781728tfbn.png"></a>

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_13477817280Ypt.png"></a>

七、建立pure-ftpd的資料庫檔案:

1、編輯pureftp.sql:

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781728UcfK.png"></a>

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781729Rqt7.png"></a>

2、導入資料庫檔案pureftp.sql:

# mysql -u root -p &lt; pureftp.sql

3、添加連接配接mysql使用者:

# mysql -u root -p

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

mysql&amp;gt;flush privileges;

八、建立并配置pure-ftpd管理程式pureadmin:

1、将pureadmin包拆解到httpd主目錄下:

# tar -zxvf PureAdmin-0.3.tar.gz -C /var/www/html/

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

2、修改pureadmin的配置檔案

# cd /var/www/html/pureadmin

3、編輯pureadmin的配置頁面:

# vim config.php

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781729biUE.png"></a>

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781730Iag1.png"></a>

$cfg['dir']='/home/ftphome'; //預設家目錄;

4、啟動pure-ftpd服務:

# service pureftpd start

5、重新開機httpd服務:

# service httpd restart

九、驗證測試:

現在可以登入使用了

http://192.168.10.100/pureadmin

登入:使用者:admin ; 密碼:123;驗證碼不用

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781733FQUH.png"></a>

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_13477817441RTS.png"></a>

建立ftp新使用者:

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781749FK5q.png"></a>

建立成功:

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_13477817535HlG.png"></a>

使用user1帳号登入ftp:

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781761FLi3.png"></a>

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781770j1fD.png"></a>

目錄已經建立:

<a href="http://cexpert.blog.51cto.com/attachment/201209/16/5251990_1347781779YaBR.png"></a>

測試成功!!

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