文章目錄
- 下載:
- 系統內容:
- 編譯安裝:
- 系統整合:
- 系統配置:
PureFTPd是免費、安全、符合國際標準的FTP 伺服器程式。它並沒有那些無用而又花哨的功能,而是將重點放到了提高效率和易用性上,獨特的實用功能為個人使用者和託管服務提供者提供了一個新的選擇.
下載:
從官方網站下載最新的穩定版本http://www.pureftpd.org/ 。為:http://download.pureftpd.org/pub/pure-ftpd/releases/
可以通過wget直接下載:
wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.30.tar.bz2
系統內容:
CentOS 5.5
PureFTPd 1.0.30
編譯安裝:
tar -xvjf pure-ftpd-1.0.30.tar.bz2cd pure-ftpd-1.0.30./configure --prefix=/usr/local/pure-ftpd/ --with-language=simplified-chinese --with-everythingmake && make check && make installmkdir /usr/local/pure-ftpd/etccp configuration-file/pure-ftpd.conf /usr/local/pure-ftpd/etc/cp configuration-file/pure-config.pl /usr/local/pure-ftpd/sbin/chmod 755 /usr/local/pure-ftpd/sbin/pure-config.pl
PureFTPd有很多的編譯配置選項,下面就列出部分主要的配置
--prefix=PREFIX--with-sysquotas 使用系統磁碟配額 (非虛擬)--with-altlog 支援選擇日誌格式(類似Apache)--with-puredb 支援虛擬使用者 (FTP登陸使用者而非系統使用者)--with-extauth 支援擴充驗證模組--with-pam 啟用PAM驗證支援 (預設=禁用)--with-cookie 啟用Cookie支援 (-F 選項)--with-throttling 支援頻寬控制 (預設=禁用)--with-ratios 支援 上傳/下載 速度控制--with-quotas 支援 .ftpquota 檔案(指定磁碟配額使用)--with-ftpwho 支援pure-ftpwho(查看線上使用者的程式)--with-largefile 支援大於2G的檔案--with-welcomemsg 支援 welcome.msg 向後相容(已經過時)--with-uploadscript 上傳後允許執行外部指令碼 (測試階段)--with-virtualhosts 在不同的IP地址提供虛擬伺服器功能--with-virtualchroot 允許在chroot的環境下通過符合串連跳轉到外部--with-diraliases 啟用目錄別名--with-nonroot 普通模式或者說是限制模式. 如果你在該伺服器上沒有root許可權那隻有啟用該項--with-peruserlimits 支援每個使用者的並發限制--with-language= 語言支援< english | traditional-chinese | simplified-chinese>--with-ldap 在LDAP目錄中提供使用者資料庫--with-mysql 在MySQL資料庫中存放使用者資料--with-pgsql 在PostgreSQL資料庫中存放使用者資料--with-privsep 啟用許可權分離--with-tls 啟用 SSL/TLS 支援 (測試階段, 需要安裝 OpenSSL)--with-certfile= 認證檔案 (預設目錄: /etc/ssl/private/pure-ftpd.pem)--with-rfc2640 啟用相容 RFC 2640 支援(UTF-8 編碼的檔案名稱,測試階段,需要安裝iconv)--with-everything 啟用大多數選項,編譯完功能版本的伺服器端。
為了方便起見,我在這裡使用了幾個基本的編譯命令來配置編譯一個全功能版本的程式。
系統整合:
這裡所說的系統整合就是制定系統變數,使系統可以找到我們剛剛安裝的程式,最簡單的方法就是將一些可執行檔程式,man檔案在系統指定的path中建立符號連結就可以了。當然我們也可以修改系統變數,如PATH變數,man page的設定檔等等。但是我還是習慣在相應的目錄建立符合串連。
cd /usr/local/bin/ln -s /usr/local/pure-ftpd/bin/* .ln -s /usr/local/pure-ftpd/sbin/* /usr/local/sbin/ln -s /usr/local/pure-ftpd/man/man8/* /usr/local/share/man/man8/
系統配置:啟動伺服器:
pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf
螢幕上顯示如下:
Running: /usr/local/pure-ftpd/sbin/pure-ftpd -A -b -B -C20 -d -e -fnone -H -I15 -L2000:8 -M -m4 - p45000:50000 -q1:10 -s -t200 -U133:022 -u100 -r -Oclf:/var/log/pureftpd.log -k99 -Z
測試連接埠是否暢通:
紅框為連接埠。
配置登入帳號:
pure-ftp預設採用Linux的root使用者。虛擬使用者則能夠更好的控制存取權限。虛擬使用者是和Linux系統使用者關聯的獨立的賬戶系統。所以在建立虛擬使用者之前最好先建立一個系統的賬戶和組。
建立一個ftpgroup組和ftpuser使用者
# groupadd ftpgroup# useradd -g ftpgroup -d /dev/null -s /etc ftpuser
接下來所有與虛擬使用者相關的操作都可以用‘pure-pw’命令來完成。當然你也可以手動的來編輯相應的檔案。
添加ftp使用者:
pure-pw useradd test -u ftpuser -d /home/ftpusers/test
以上以test使用者為例子。
斷行符號後提示輸入兩次密碼
添加之後不能馬上生效,請看下面的解釋。
更改ftp使用者磁碟配額:
虛擬使用者建立之後,你也可以通過pure-pw命令來修改其相關的資訊,如限制下載
頻寬、磁碟配額、使用者全名、下載上傳率等等
例如:我要修改使用者joe的最大檔案數為1000個,大小為10MB,命令如下:
# pure-pw usermod joe -n 1000 -N 10
刪除ftp使用者:
pure-pw userdel test
以test使用者為例。
更改ftp密碼:
pure-pw passwd test
然後提示輸入兩遍密碼即可。
以test為例。
應用更改:
前面講到如果使用建立ftp使用者嘗試登入伺服器是不行的,要想讓ftp server能夠識別的我們所做的更改,必須要通過pure-pw mkdb 命令產生PureDB格式的檔案,實際上PureDB資料檔案就是從pureftpd.passwd檔案轉換過來的,為了ftp server可以更快的檢索到指定的使用者。
# pure-pw mkdb
# killall pure-ftpd
# /usr/local/pure-ftpd/sbin/pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf
以上操作重新啟動了ftp,現在你可以重新串連一下試試了!
開機使pure-ftp自動啟動:
# /usr/local/pure-ftpd/sbin/pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf # echo "/usr/local/bin/pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf " >> /etc/rc.local