- 論壇徽章:
- 0
|
原文出自:1816個(gè)人主頁技術(shù)論壇,具體見:http://www.1816.net/bbs/viewthread.php?tid=1726
正文如下:
ProFTPD 1.2.0 安裝指南(中文版)
==============================
吳偉<jeffwu>; jeffwu_cn@hotmail.com 2004.4.11
--------------------------------------------------------------------------------
中文版聲明:本文根據(jù) proftpd 1.2.9 源代碼中的同名英文原文翻譯而來(英文原文所在
的原代碼壓縮包可以通過 http://www.proftpd.org/ 獲得),遵循GPL協(xié)議。鼓勵(lì)復(fù)制、
傳播、分發(fā)和修改,不過請保留作者署名和本聲明。
歡迎來信交流:jeffwu_cn@hotmail.com
--------------------------------------------------------------------------------
----
介紹
----
ProFTPD 被設(shè)計(jì)成了能在目標(biāo)系統(tǒng)上,通過一個(gè)單一的名為'configure'的shell腳本來完
成編譯的配置任務(wù).該腳本文件位于源代碼樹的頂層.這個(gè)由GNU autoconf 工具創(chuàng)建的腳本
文件將會分析你的系統(tǒng),創(chuàng)建一個(gè)'config.h'文件,使你可以清楚的編譯ProFTPD。某些系
統(tǒng)可能需要指定某些選項(xiàng)給'configure'或手工修改由'configure'產(chǎn)生的config.h文件
和Makefile文件
ProFTPD被設(shè)計(jì)得十分靈活,導(dǎo)致的編譯時(shí)和運(yùn)行時(shí)的額外的配置復(fù)雜性也就是必要的了。
你可以基于命令行提供參數(shù)給'configure'腳本來設(shè)置編譯時(shí)的選項(xiàng),從而實(shí)現(xiàn)定制安裝。
特別的,可選的編譯進(jìn) ProFTPD 的軟件模塊也可以現(xiàn)在這種方式。
除了'configure'腳本的這些設(shè)置外,'include/options.h'文件中還包括了許多的可以很
容易調(diào)整的編譯時(shí)選項(xiàng),可以影響ProFTPD的x作。這些選項(xiàng)不會被'configure'腳本所修改
。每一個(gè)選項(xiàng)都在其自身的頭文件中做了說明。這些選項(xiàng)幾乎不需要修改,而且大部分在運(yùn)行時(shí)
能被proftpd.conf配置文件中的配置指令所覆蓋。
注意:一個(gè)RPM規(guī)格的示例文件已經(jīng)包括在 contrib/dist/rpm/ 目錄里了.
包維護(hù)者注意:
請不要去掉 ELF .comment 和 .note 部分.
如果你在一個(gè)有點(diǎn)不太常見的(新的或舊的)系統(tǒng)平臺上安裝ProFTPD,請考慮可以記錄下你
的經(jīng)驗(yàn)和大家分享。
--------
系統(tǒng)需求
--------
o ANSI/ISO C89/C90 C語言編譯器, 例如:GNU gcc
o GNU make, 大部分系統(tǒng)應(yīng)該都有
o ANSI C and POSIX run-time libraries
o BSD sockets API
o 磁盤空間: 約4.5 MB 用于解包, 6-8 MB 用于編譯, 約2 MB 用于安裝
--------
安裝指南
--------
0. 計(jì)劃你的安裝。
請?jiān)陂_始以前讀完整個(gè)安裝的所有步驟。
有許多的編譯定制項(xiàng)是你可能希望使用到的,尤其是關(guān)于用戶認(rèn)證的。請參考完整閱讀完
README.modules 文件和其他的 README.* 文件和 contrib/README.* 文件。
注意,以下的模塊是缺省包含了的,是不需要再明確添加了的: mod_auth, mod_core,
mod_log, mod_ls, mod_site, mod_unixpw and mod_xfer.還有,如果 PAM 被
檢測到已經(jīng)配置了的話,mod_pam 模塊將會被自動包括進(jìn)來。然而,有報(bào)告說某些系統(tǒng)
依然要求明確的添加該模塊。另外請注意,contrib/mod_test 模塊是僅做測試的不具
有任何實(shí)際的功能,請不要試圖去使用它。
你需要指定你系統(tǒng)中的共享庫的搜索路徑。查詢你的系統(tǒng)和編譯器的文檔。通常這個(gè)x作
是使用 -R 或 -rpath 選項(xiàng)的。在 AIX 系統(tǒng)上,需要特別小心的設(shè)置這個(gè)路徑,請參
考README.AIX。
提示: 如果你的配置命令行變得長或復(fù)雜了,你可以試著把它變成為一個(gè) sh 腳本文件,
比如,叫: '.configcmd'。
1. 配置軟件。
運(yùn)行源代碼目錄頂層的 GNU autoconf 'configure' 腳本文件來創(chuàng)建 config.h 文件和
所有的 Makefiles。除了配置 ProFTPD 使其能在你的系統(tǒng)上進(jìn)行編譯之外,你還可以
在這一步定制一些參數(shù)或給 ProFTPD 添加可選的特性。有許多配置選項(xiàng)可用。如果使用
默認(rèn)值的話,你只須簡單的運(yùn)行:
$ ./configure
默認(rèn)下,ProFTPD的文件會被作為 'root' 用戶的身份來安裝,用戶組屬性是 /etc/group
中的第一個(gè)組,gid為0,通常是 'root' 或 'wheel'。如果你希望采用不同的用戶及用
戶組身份來安裝的話,請?jiān)谶\(yùn)行 configure 腳本前設(shè)置環(huán)境變量 install_user 和
install_group。使用 Bourne-ish 風(fēng)格的 shell (例如:sh, ksh, bash)的話,你可
以是用以下的命令來做:
$ install_user=root install_group=wheel ./configure
類似的,像典型的 GNU autoconf 腳本一樣,可以用這種方法設(shè)置編譯系統(tǒng)的其他的屬
性,比如,設(shè)置編譯器:
$ CC=gcc CFLAGS='-O -g' ./configure
其他的選項(xiàng)作為命令行參數(shù)傳遞給 configure 腳本。
通過執(zhí)行 './configure --help' 可以列出所有有效的配置參數(shù)。
默認(rèn)下, proftpd 和 ftpshut 安裝在 /usr/local/sbin/,ftpcount 和 ftpwho 安裝
在/usr/local/bin/,配置文件在/usr/local/etc/,man幫助頁在/usr/local/man/man?/.
此外,/usr/local/var/proftpd/ 被用來存放運(yùn)行時(shí)的 scoreboard 文件。參考
'./configure --help' 輸出中的 "Directory and file names" 一節(jié)中的參數(shù)來改變這
些默認(rèn)設(shè)置。 比如:把所有目錄放置在 /usr/ 下而不是 /usr/local/ 下時(shí),你可以
使用以下命令:
$ ./configure --prefix=/usr
或者, 把配置文件放在 /etc/ 下,而把運(yùn)行時(shí)的狀態(tài)文件放在 /var/proftpd/下,你
可以使用以下命令:
$ ./configure --sysconfdir=/etc --localstatedir=/var
可選的ProFTPD模塊可以通過使用'--with-modules=LIST'參數(shù)包含進(jìn)來,其中的'LIST'
是一個(gè)由冒號隔開的列表。這只適用于那些 contrib/ 目錄下的可選模塊( modules/
目錄下的核心模塊不是被強(qiáng)制包含了就是被默認(rèn)包含了)。例如,如果你希望包括readme
和LDAP兩個(gè)模塊的話,你可以使用命令:
$ ./configure --with-modules=mod_readme:mod_ldap
如果你希望使用系統(tǒng)的 shadow 密碼文件來進(jìn)行用戶認(rèn)證的話,你在某些系統(tǒng)上就需要
添加上 '--enable-autoshadow' 或 '--enable-shadow'了。使用 autoshadow 的話就
使 proftpd 既能使用 shadow 密碼文件也能使用傳統(tǒng)的密碼文件。
如果你希望使用 SQL 來進(jìn)行用戶認(rèn)證的話,你必須指定 mod_sql 和一種 后臺 SQL 模
塊(SQL backend module), mod_sql_mysql 或 mod_sql_postgres 。此外,后臺 SQL
模塊(SQL backend module)必須緊跟在模塊列表的后面給出,比如:
'--with-modules=mod_sql:mod_sql_postgres'. 否則,編譯完后,SQL認(rèn)證功能是不
能起作用。
確信在你重新執(zhí)行 configure 配置腳本前,首先執(zhí)行了 'make distclean' 命令。
2. 核實(shí)正確的配置x作。
觀察 configure 腳本的輸出。在 configure 腳本運(yùn)行完后,你可以檢查 config.h 文件,
確信 configure 腳本沒有對你的系統(tǒng)做任何錯(cuò)誤的假設(shè)。
3. 編譯這個(gè)軟件。
在源代碼的頂層目錄運(yùn)行 'make'。在某些系統(tǒng)(比如:BSDI),你可能需要使用 GNU make
(也經(jīng)常稱作 'gmake' 或 'gnumake')來代替系統(tǒng)缺省的 make。觀察編譯過程的輸出,
確認(rèn)沒有錯(cuò)誤產(chǎn)生。在某些系統(tǒng)(特別是AIX 和 IRIX)你可能看到一些編譯或連接警告。這
些一般都可以不理睬。
4. 測試軟件。
從 ProFTPD 1.2.0 起,沒有自動的回歸(regression)測試了。
然而,鼓勵(lì)去執(zhí)行你自己的 ad-hoc,手工測試。
注意,你能夠直接在命令行啟動proftd,不過,記住,只有作為 root 運(yùn)行時(shí)才能正確
獲得所有的功能特性。雖然如此,很多x作能夠在沒有 root 權(quán)限的情況下實(shí)現(xiàn)。通過
使用命令行參數(shù) '-c' 可以指定其他的配置文件。在配置文件中,可以改變默認(rèn)的TCP
端口 ftp (21) 和 ftp-data (20) 為其他的值,也可以指定一個(gè)其他的 passwd文件。
既然作為守護(hù)進(jìn)程不能更改它的uid,你也同樣必須指定用戶名和組名來匹配來啟動守
護(hù)進(jìn)程。
為了示范這些過程,一組配置文件示例給出在了 sample-configurations 目錄下。
% sh sample-configurations/PFTEST.install
Sample test files successfully installed in /tmp/PFTEST.
% ./proftpd -n -d 5 -c /tmp/PFTEST/PFTEST.conf
然后,打開另一個(gè)窗口,連接到非特權(quán)端口。PFTEST.conf 使用了 2021 端口,而
PFTEST.passwd 定義了一個(gè)用戶名和密碼都為 "proftpd" 的用戶。使用傳統(tǒng)的 Unix
ftp 客戶端軟件連接的話,應(yīng)該會得到以下的狀態(tài):
% ftp -n -d
ftp>; open <hostname>; 2021
ftp>; user proftpd
--->; USER proftpd
331 Password required for proftpd.
Password: [proftpd]
--->; PASS proftpd
230 User proftpd logged in.
ftp>;
提供的 PFTEST.passwd 文件是傳統(tǒng) Unix 格式的。你所使用的系統(tǒng)可能采用了不同的
文件格式,這樣你就需要自己創(chuàng)建了。此外,如果 PFTEST.install 腳本失敗的話,你
就不得不使用另外一種方式在 PFTEST.conf 文件中加入你的用戶和用戶組了。
如果你遇到了任何問題,請先確定你閱讀了下面的"疑難解答"和"幫助"部分。
5. 打包軟件。
從 ProFTPD 1.2.0 起, 除了 contrib/dist/rpm/ 目錄下的RPM規(guī)格包含外不再提供其
他的打包程序了。
6. 安裝軟件。
注意:這一步已經(jīng)以下的幾步可能需要擁有 root 權(quán)限。
在源代碼樹的頂層運(yùn)行 'make install' 命令來進(jìn)行安裝,除非是已經(jīng)創(chuàng)建了某系統(tǒng)下
的特定的安裝包(比如:RPM)。這一步將會安裝ProFTPD的執(zhí)行文件、man幫助頁和拷貝至
'sample-configurations/basic.conf'的基本配置文件。這個(gè)基本配置文件在系統(tǒng)中
的路徑默認(rèn)是'/usr/local/etc/proftpd.conf',不過,也可在第一步中改成別的。
如果已經(jīng)創(chuàng)建了軟件安裝包,請依照安裝包系統(tǒng)合適的過程來安裝ProFTPD的包。
7. 修改 proftpd 的配置文件。
如果在 proftpd.conf 中指定的用戶和用戶組在你的系統(tǒng)中不存在時(shí),proftpd將不能
運(yùn)行。請根據(jù)需要編輯和修改 proftpd.conf。大多數(shù)系統(tǒng)用 "nobody" 組來代替
"nogroup" 組。根據(jù)你運(yùn)行 proftpd 的方式,要么采用超級服務(wù)器的方式( inetd 或
xinetd ),要么作為一個(gè)獨(dú)立服務(wù)器(standalone daemon)來運(yùn)行,編輯 proftpd.conf
文件,改變 ServerType 指令來匹配你的選擇,不是 "ServerType inetd" 就是
"ServerType standalone"。第四步 'make install' 時(shí)安裝的 "basic.conf" 配置
文件中默認(rèn)是設(shè)置成 "standalone" 的。
8. 修改超級服務(wù)器 inetd 的配置文件。
編輯 /etc/inetd.conf 文件,之后發(fā)送 -HUP 信號給 inetd 進(jìn)程,使其重新讀取更新
的配置文件。某些系統(tǒng)利用其他的機(jī)制去告訴 inetd 去重新讀取它的配置文件,比如:
AIX采用 'refresh -s inetd'。查看你的系統(tǒng)文檔來找到合適的命令。
如果 proftpd 從 inetd運(yùn)行,在 /etc/inetd.conf 中查找像下面內(nèi)容的行:
ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd
然后將其替換成:
ftp stream tcp nowait root /usr/local/sbin/proftpd proftpd
或者,如果你系統(tǒng)中安裝了 tcp wrappers ,修改成的行的內(nèi)容可能會像下面這樣:
ftp stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/proftpd
如果 proftpd 是運(yùn)行在 standalone 模式,你需要注釋掉 /etc/inetd.conf 中任何與
ftp 相關(guān)的行,方法是在每一行的最開頭插入一個(gè) '#'。然后發(fā)送消息來使 inetd 進(jìn)程
重新讀取 /etc/inetd.conf。
如果你的系統(tǒng)使用 xinetd 來代替 inetd的話,要么編輯 /etc/xinetd.conf 文件,
要么在 /etc/xinetd.d/ 目錄中增加一個(gè)名為 proftpd 文件,內(nèi)容類似如下:
service ftp
{
flags = REUSE
socket_type = stream
instances = 50
wait = no
user = root
server = /usr/sbin/proftpd
bind = <the-ip-you-wish-to-bind-to>;
log_on_success = HOST PID
log_on_failure = HOST RECORD
}
更多的信息可以在 FAQ、用戶手冊以及你系統(tǒng)中的 xinetd 文檔中找到。
9. 修改系統(tǒng)啟動腳本。
如果作為 standalone 模式來運(yùn)行的話,你可能需要編輯你系統(tǒng)中的啟動腳本來使
proftpd 在系統(tǒng)啟動時(shí)自動運(yùn)行。那些使用 SysV 類型的單個(gè)啟動腳本的系統(tǒng),在原
代碼中包括了一個(gè) init 腳本的示例: "contrib/dist/rpm/proftpd.init.d"
10. 創(chuàng)建運(yùn)行時(shí)狀態(tài)目錄。
為了使 MaxClients 和 MaxClientsPerHost 指令以及 ftpwho 和 ftpcount 工具能夠
工作,proftpd必須要有一個(gè)目錄來彼此它的記分板(scoreboard)文件。缺省使位于
'/usr/local/var/proftpd/'的,不過,它可以在安裝配置過程的第一步中進(jìn)行修改。
默認(rèn)的位置還可以在運(yùn)行時(shí)被 proftpd.conf 配置文件中的 "ScoreboardPath" 指令
的值所覆蓋。不管使用的哪個(gè)目錄,它都必須在啟動 proftpd 前就已經(jīng)預(yù)先存在了。
如果你是采用的是軟件包安裝方式安裝的,安裝腳本可能已經(jīng)創(chuàng)建了缺省的目錄了。雖
然如此,如果它沒有的話,你必須手工創(chuàng)建。這個(gè)目錄沒有什么特殊的權(quán)限要求,除非
你希望限制 ftpwho 和 ftpcount 的運(yùn)行。
11. 核實(shí)x作。
一旦 proftpd 以 inetd 模式或 standalone 模式運(yùn)行起來了,試著 ftp 到你的系統(tǒng)
中以確信一切已經(jīng)開始運(yùn)行了。如果你遇到了問題,請查看下面的"疑難解答"和"幫助"
部分。
12. 定制 proftpd 配置文件。
如果你希望添加一個(gè)匿名 ftp 或另外創(chuàng)建一個(gè)更完善的 ftp 配置文件,請閱讀更多的
有關(guān) ProFTPD 配置方面的文檔:
配置文件示例: sample-configurations/*.conf
配置參考文檔: doc/Configuration.html
配置 FAQ: doc/FAQ-config.html
文檔: http://www.proftpd.org/docs/
FAQ: http://pdd.sourceforge.net/faq/linked/faq.html
注意,某些系統(tǒng)為匿名ftp和任何其他 chroot 目錄的預(yù)備需要特定的系統(tǒng)特性。同樣,
需要清楚,對于" ersistentPasswd"、RequireValidShell"和"UseFtpUsers"這樣的配
置指令需要給予特別的注意。
為檢查新的或修改過的配置文件,可在命令行下運(yùn)行'proftpd -t -c <new_conf_file>;'
命令。
你可以在不妨礙一個(gè)正在運(yùn)行的服務(wù)器的情況下,通過在另一個(gè)不同端口運(yùn)行一個(gè)分離
的測試服務(wù)器來測試你的配置文件中的實(shí)際功能。通過配置文件中的 " ort" 指令來指
定要使用到的端口,不過,在將新配置文件應(yīng)用到最終服務(wù)器時(shí)不要忘記將端口號改回
來。
祝您好運(yùn)!
--------
疑難解答
--------
這個(gè)部分很不完全,請參考FAQ和其他的資源來獲得更多協(xié)助。
T1. 編譯時(shí)的很多問題通過給出正確的選項(xiàng)和到編譯器的搜索路徑就可以很容易的解決了。
然而,有些問題確實(shí)解決起來很困難。常常有問題是因?yàn)轭^文件或C語言的預(yù)處理宏名
有沖突而產(chǎn)生的。少數(shù)包(packages)已經(jīng)知道安裝 conf.h 頭文件在
/usr/local/include.有時(shí),必須要求助于查看預(yù)處理器的輸出才行。盡管類似于
`cc -E file.c`的命令經(jīng)?梢越鉀Q,不過,還是請參考你的編譯器文檔,從而決定
應(yīng)該怎么做。
一些常見的錯(cuò)誤信息包括:
o "symbol ap_signal undefined in main.o"
這通常意味著 fnmatch.h 頭文件被包括在了 Apache 的 ap_config.h
頭文件中,盡管 proftpd 并沒有鏈接 Apache 的庫。這個(gè)錯(cuò)誤主要產(chǎn)生
在 Solaris 8 系統(tǒng)上,不過,類似的問題也曾經(jīng)在 Red Hat 6.0 系統(tǒng)
中的 <hsregx.h>; 頭文件上被報(bào)告過。
T2. 如果你遇到了運(yùn)行時(shí)問題,先檢查你的系統(tǒng)日志(syslog)中的消息。proftpd 守護(hù)進(jìn)程
記錄了它遇到的所有錯(cuò)誤情況,包括解析配置文件時(shí)出現(xiàn)的問題。認(rèn)證相關(guān)的消息被系統(tǒng)
日志工具 "auth" 或 "authpriv" (如果可用的話) 記錄下來。其他所有的消息使用
系統(tǒng)日志的守護(hù)進(jìn)程工具來記錄,除非使用命令行選項(xiàng) "-n" 或 SyslogFacility 、
SystemLog 指令來進(jìn)行重定向。查看你系統(tǒng)中的 syslogd.conf 來了解 syslogd
怎么處理這些消息。
一些常見的錯(cuò)誤信息包括:
o "inet_create_connection() failed: Operation not permitted"
這通常意味著proftpd不是以root用戶的身份開始運(yùn)行的。
o "bind: unable to bind to port" or "Address already in use"
這通常意味著另外一個(gè)進(jìn)程已經(jīng)在使用指定的ftp端口了,不是inetd、xinetd
就是另外一個(gè)正在運(yùn)行著的FTP服務(wù)器。
o "Fatal: Socket operation on non-socket"
這通常意味著在 proftpd.conf 配置文件中 ServerType 指令被配置成 inetd
(超級服務(wù)器)方式而不是 standalone(獨(dú)立服務(wù)器) 方式來運(yùn)行。
o "received: PASS (hidden)"
" roFTPD terminating (signal 11)"
這通常意味著要求的 shadow passwd 文件支持沒有被編譯進(jìn)去。試著回到編譯
的第一步,要么添加 '--enable-autoshadow' ,要么添加 '--enable-shadow'
選項(xiàng)到 configure 的命令行中重新編譯。
o "Fatal: unknown configuration directive 'AuthPAMAuthoritative'
on line NN of '/etc/proftpd.conf'."
這意味著要么 'AuthPAMAuthoritative' 拼寫錯(cuò)了,要么 mod_pam 沒有被編譯
到ProFTPD中去。如果是后者,你需要重新配置、編譯proftpd,使用
"./configure --with-modules=mod_pam ..."選項(xiàng)明確的添加上模塊 mod_pam。
如果系統(tǒng)不能登錄而你的系統(tǒng)使用了PAM認(rèn)證的話,你還需要配置PAM和FTP一起工作。更多的
細(xì)節(jié),請參考你系統(tǒng)的PAM文檔。如果你選擇的是軟件包的安裝方式的話,希望PAM的配置工作
是自動完成的。在 Linux 系統(tǒng),下面的命令也許會有用:
% cp -p contrib/dist/rpm/ftp.pamd /etc/pam.d/ftp
如果登錄的FTP客戶端出現(xiàn)了類似 "server error 500, server shut down" 的信息的
話,可能意味著你的系統(tǒng)中有一個(gè)失效的 /etc/shutmsg 文件存在。你應(yīng)該刪掉它。
T3. 使用 "-d N" 命令行選項(xiàng)來啟動 proftpd 守護(hù)進(jìn)程,你可以得到更多的調(diào)試信息,其中 N
的范圍從1 到 5,值越大,調(diào)試信息的數(shù)目也越大。如果你采用 standalone的方式運(yùn)行的
話,使用 "-n" 選項(xiàng)將會阻止守護(hù)進(jìn)程脫離你的終端,使所有的調(diào)試信息直接顯示在你的終
端上,而不是記在系統(tǒng)日志中(being syslogged)。
T4. 如果你遇到的問題通過錯(cuò)誤信息還是不能很好解決的話,你可以檢查一下在官方的發(fā)布站點(diǎn)
上是不是有更新的 ProFTPD 發(fā)布,或許你的問題已經(jīng)在新版本中解決了。了解什么樣的問
題已經(jīng)在新版本中得到了解決的最快的方式是閱讀每一個(gè)新發(fā)布版本中的 ChangLog 文件。
T5. 如果你的系統(tǒng)中有系統(tǒng)調(diào)用跟蹤工具的話,你可以使用它來診斷什么失敗了。這個(gè)方法經(jīng)常用
來偵察(spot)文件打開錯(cuò)誤,包括共享庫(shared libraries)。
一些系統(tǒng)調(diào)用跟蹤工具:
o truss (Solaris, SVR4 的派生, Unixware, AIX5L, FreeBSD)
o trace (SunOS 4.x)
o tusc (HP/UX 11.x: ftp://ftp.cup.hp.com/dist/networking/misc/)
trace (HP/UX 10.x: ftp://hpux.cs.utah.edu/hpux/Sysadmin/trace-1.6/)
http://hpux.cs.utah.edu/hppd/hpux/Sysadmin/trace-1.6/
http://devresource.hp.com/devres ... Library.html#perfhp
o syscalls, trace (AIX 4.x); sctrace (AIX: [$$$] http://www.tkg.com)
o par (IRIX)
o alpha-trace (Digital Unix: ftp://ftp.mrc-lmb.cam.ac.uk/pub/jkb/)
o ktrace/kdump (NetBSD, OpenBSD)
o strace, ktrace/kdump, ltrace (Linux)
T6. 另外一個(gè)診斷技術(shù)是監(jiān)視FTP客戶端和ProFTPD服務(wù)器端的FTP協(xié)議通信情況。許多FTP客戶端
應(yīng)用程序有一個(gè)調(diào)試和跟蹤的選項(xiàng)。盡管需要有詳細(xì)的FTP協(xié)議的知識來進(jìn)行分析,不過,可以
可以使用 telnet 來連接并直接和 proftpd 服務(wù)器 對話。最后,F(xiàn)TP協(xié)議的會話情況能夠使
用網(wǎng)絡(luò)監(jiān)視工具來跟蹤,像tcpdump、etherfind、snoop和netnoop。
T7. 更進(jìn)一步的調(diào)試可能需要使用調(diào)試器了,而使用調(diào)試器就可能需要使用調(diào)試選項(xiàng)重新編譯一遍
proftpd 了。請參考你的編譯器和調(diào)試器的相關(guān)文檔。
----
幫助
----
H1. 在你向郵件列表上請求幫助前,先瀏覽一下有效的文擋,包括:FAQ、郵件列表上可搜索的檔案。
不僅很多常見問題的回答在其上已經(jīng)有了,而且,通過他們得出答案通常要比發(fā)到郵件列表要快。
以下"參考資源"一節(jié)給出了文檔的指向和鏈接。
H2. 在你向郵件列表上請求幫助時(shí),請務(wù)必把問題描敘得清楚和簡明些,不過,也要提供足夠的信息
是人們能夠幫助你。像那種僅僅以類似"It doesn't work. Help!"這樣的文字開始的是不
大有可能得出任何有用的回答的。盡可能完整的描述你的問題,包括:你認(rèn)為是那里錯(cuò)了,你希
望該是什么樣子,和一些有關(guān)的錯(cuò)誤日志消息或調(diào)試信息。除非問題產(chǎn)生于基本的
proftpd.conf 配置文件或它的最小化派生,包括你的全部或部分 proftpd.conf 文件可能
是有用的。
所以, 至少應(yīng)該包括:
o x作系統(tǒng)的類型和版本 (例如: `uname -a`)
o ProFTPD 的完整版本號 (`proftpd -vv`)
o ProFTPD 的模塊列表 (`proftpd -l`)
以下命令可以幫助進(jìn)一步的確定編譯信息,尤其是當(dāng)你安裝的是由提供商打包好了的安裝包,而不是
由你自己從源代碼開始編譯的時(shí)更是如此:
o `what proftpd` 或 `ident proftpd`
如果你的系統(tǒng)使用ELF對象文件格式的話,還有更多的編譯信息是可以利用的:
o `objdump -f proftpd` 或 `dump -v -f proftpd`
或 `elfdump -v -f proftpd`
o `objdump -j .comment proftpd` 或 `dump -n .comment proftpd`
或 `elfdump -n .comment proftpd`
o `mcs -p proftpd`
o `objdump -j .note proftpd` 或 `dump -v -n .note proftpd`
或 `elfdump -v -n .note proftpd` 或 `mcs -p -n .note proftpd`
H3. 請不要使用 bug 報(bào)告系統(tǒng)來提交有關(guān)編譯和配置方面的問題。這些問題請發(fā)到郵件列表中。
為了保存開發(fā)資源,請您在有合理的信心確認(rèn)那是一個(gè)代碼錯(cuò)誤、移植問題或編譯系統(tǒng)問題
時(shí)再提交 bug 報(bào)告。即使那樣,也請先搜索一下 bug 系統(tǒng)來看看是否你發(fā)現(xiàn)的錯(cuò)誤已經(jīng)
被報(bào)告了。如果是的話,添加你自己的最好的意見來評價(jià)這條已經(jīng)存在的錯(cuò)誤報(bào)告,特別是
,要么確認(rèn)這個(gè)錯(cuò)誤的存在,要么提供更多的診斷和調(diào)試信息。
更多有關(guān)報(bào)告 bugs 的建議, 請看:
http://bugs.proftpd.org/bugwritinghelp.html
--------
參考資源
--------
R1. 基本的.
其他主題: README.*, contrib/README.*
配置參考: doc/Configuration.html
常見問題: doc/FAQ-config.html
WWW: http://www.proftpd.org
FTP: ftp://ftp.proftpd.org/distrib/
鏡像站點(diǎn)列表: http://pdd.sourceforge.net/mirrors.html
R2. ProFTPD 文檔項(xiàng)目.
文檔包括一個(gè)配置參考,用戶向?qū)У牟莞逡约癋AQ。文擋的格式包括單一的有鏈接的網(wǎng)頁文件,
PostScript,PDF文件和純文本文件.
注意,這里提到的的配置參考可能涉及到的核心代碼比你現(xiàn)在所用的新,所以,參考你的源代碼
目錄下的 doc/Configuration.html 文件才不會產(chǎn)生更多的困惑。
(主力站點(diǎn)): http://pdd.sourceforge.net/
R3. 郵件列表.
最終用戶列表
(訂閱): proftpd-users-request@proftpd.org
(提交): proftpd-users@proftpd.org
(以往檔案): http://www.proftpd.org/proftpd-l-archive
開發(fā)者列表
(訂閱): proftpd-devel-request@proftpd.org
(提交): proftpd-devel@proftpd.org
(以往檔案): http://www.proftpd.org/proftpd-devel-archive
公告列表
(訂閱): proftpd-announce-request@proftpd.org
(以往檔案): http://www.proftpd.org/proftpd-announce-archive
安全報(bào)告: security@proftpd.org
R4. Bug 跟蹤系統(tǒng) (Bugzilla).
Bug 報(bào)告/補(bǔ)丁: http://bugs.proftpd.org
proftpd-devel@proftpd.org
R5. CVS 倉庫.
匿名 CVS: proftpd.org
(指南): http://www.proftpd.org/docs/cvs.html
CVS tarballs: ftp://ftp.stikman.com/pub/proftpd/
ftp://ftp.linuxceptional.com/proftpd/
開發(fā) CVS: cvs.proftpd.net
R6.關(guān)于 proftpd.org 和 proftpd.net 的聲明.
現(xiàn)在的 www.proftpd.org 和 www.proftpd.net 站點(diǎn) 實(shí)際上是相互鏡像的站點(diǎn)。官方
proftpd 站點(diǎn)是 www.proftpd.org,然而,為了提供冗余,www.proftpd.net 將會保
持并運(yùn)行在一個(gè)遠(yuǎn)程的位置上。 |
|