1. 安裝 redhat 7.2 或者solaris8
注:solaris8要求自己有c編譯器等工具,我們這里不提供安裝方法,具體可以取www.sunfreeware.com下載gcc包安裝。
2. 停止缺省的 wu-ftpd服務(wù)器
在 ntsysv 里將 wu-ftpd 前的 * 去了,然后保存,然后將 /etc/rc.d/init.d 目錄下的 wu-ftpd的啟動(dòng)腳本刪除了。Solaris可以去/etc/services和/etc/inetd.conf注銷。不過最好是不要安裝那個(gè)東西,它的安全問題很多!
3.安裝 MYSQL
在 Redhat 的光盤上有的,將 MYSQL 的程序和庫都裝上。(如果安裝 Redhat 時(shí)已經(jīng) 選裝了這步就不用了,當(dāng)然,如果是solaris的話就沒什么用了,用源代碼包自己編譯吧)
rpm -ivh mysql-3.23.41-1.i386.rpm rpm -ivh mysql-devel-3.23.41-1.i386.rpm rpm -ivh mysql-server-3.23.41-1.i386.rpm
|
也可以源代碼安裝
tar –zxvf mysql-3.23.53.tar.gz cd mysql-3.23.53 ./configure –prefix=/usr/local/mysql make make install cd /usr/local/mysql/bin ./ mysql_install_db #初始化 ./safe_mysqld –uroot & #啟動(dòng)mysql
|
4 下載 proftpd-1.2.4.tar.gz
不知道哪兒有下載?FAINT,在搜索引擎上用 "proftpd-1.2.4.tar.gz 下載" 在找, 至少命中100個(gè)可以下載的站點(diǎn)
5.準(zhǔn)備開始安裝 proftpd
為 proftpd 建立專用的用戶;加一個(gè)ftpuser組 id為65533;加一個(gè)ftpuser用戶,用戶id為65533,組id為65533
6.在MYSQL下為 proftpd 建數(shù)據(jù)庫和表
#mysql -p PASSWORD:****** (自己的口令自己知道)
|
然后用下列命令,直接拷進(jìn)去吧。
CREATE DATABASE proftpftp; USE proftp; CREATE TABLE users ( userid VARCHAR(50) NOT NULL, # 用戶名 uid INT UNSIGNED, # 用戶ID gid INT UNSIGNED, # 組ID passwd VARCHAR(50) NOT NULL, # 密碼 shell VARCHAR(100), # SHELL homedir VARCHAR(100), # 用戶目錄 count INT UNSIGNED NOT NULL # 登錄計(jì)數(shù) ) comment = ‘用戶表‘; #這個(gè)地方可能沒法輸入漢字,可改成英文! CREATE TABLE groups ( groupname VARCHAR(50) NOT NULL, # 組名 gid INT NOT NULL, # 組ID members VARCHAR(50) # 組成員 ) comment = ‘組表‘; ?。0?#8220;組表”改為英文吧
|
7. 設(shè)置權(quán)限
在 MYSQL 下 GRANT 一個(gè)可以存取這個(gè)表的用戶(要 select, update 權(quán)限)
grant select,update,delete,insert on proftp.* to yourmysqlid@”%” identified by “passwd”;
|
8. tar -zxvf proftpd-1.2.4.tar.gz
9.
./configure --with-modules=mod_sql:mod_sql_mysql --with-includes=/usr/include --with-libraries=/usr/lib/mysql
|
(這里的 MYSQL 是用 RPM 安裝時(shí)的庫路徑,你可以在根下用 locate 命令找到自己機(jī) 器上 MYSQL 庫的路徑)
如果是源代碼安裝的,一定要注意了,
./configure --prefix=/usr/local/proftpd --with-modules=mod_sql:mod_sql_mysql --with-includes=/usr/local/mysql/include --with-libraries=/usr/local/mysql/lib/mysql
|
這個(gè)地方也要多多注意,我就是這里出了錯(cuò)誤的。
10. make 并 make install
11.編輯 /usr/local/etc/proftpd.conf
加上下面的話(須修改一下再加)
#先改其它參數(shù),文件本來就有注解的,然后加上下面的 #用戶不能訪問比自己登錄目錄更高級(jí)別的目錄 DefaultRoot ~ #數(shù)據(jù)庫情況,剛剛的GRANT時(shí)要是用了IP這里要寫 proftp@xxx.xxx.xxx.xxx #用機(jī)器名也一樣,只有GRANT時(shí)用localhost時(shí)可以省略@ xxx.xxx.xxx.xxx SQLConnectInfo proftp 用戶名 口令 #密碼方式為明文,可以為空 #(要是想用 MD5 也可以,手冊上講了好多種加密支持) SQLAuthTypes Plaintext Empty #是否不允其它認(rèn)證方式 #(注意,其它文章里的這個(gè)參數(shù)是講錯(cuò)的,小樂就上當(dāng)過。) SQLAuthoritative on #不用講了吧 SQLDefaultGID 65533 SQLDefaultUID 65533 #用戶認(rèn)證 SQLDoAuth on #組有效 SQLDoGroupAuth on #下面的就不用講了吧,一眼就明白了, 根據(jù)你數(shù)據(jù)表情況寫 SQLUserTable users SQLUsernameField userid SQLUidField uid SQLGidField gid SQLPasswordField passwd SQLShellField shell SQLHomedirField homedir SQLLoginCountField count SQLGroupTable groups SQLGroupGIDField gid SQLGroupMembersField members SQLGroupnameField groupname SQLHomedirOnDemand on 12cp /usr/local/mysql/lib/mysql/libmysqlclient.so.10 /usr/lib (重要,我是花了好久時(shí)間才弄明白的,否則啟動(dòng)不了?。。。?br>
|
13.測試
先在 MYSQL 里加用戶組,用戶,密碼留空也可,反正是測試 ,運(yùn)行 /usr/local/proftpd/sbin/proftpd ftp localhost
用新加的用戶一試,哈哈是不是成了。
14.題外話
要是想把 PROFTPD 放在 ntsysv 里邊控制,呵呵加下面的腳本吧。
建立 /etc/rc.d/init.d/proftpd 內(nèi)容是:
#!/bin/sh case "$1" in ‘start‘) echo "Starting professional ftp daemon: [OK]" /usr/local/proftpd/sbin/proftpd -d 1 touch /var/lock/subsys/proftpd ;; ‘stop‘) echo -n "Restarting professional ftp daemon: All Proftpd Process " rm -f /var/lock/subsys/proftpd killall proftpd ;; *) echo "Usage: $0 { start | stop }" ;; esac exit 0
|
15.題外話二
可以用 /etc/rc.d/init.d/proftpd stop 來殺所有 proftpd 守護(hù)進(jìn)程,用 /etc/rc.d/init.d/proftpd start 啟動(dòng)一個(gè)進(jìn)程,要是你不小心啟運(yùn)了兩次就用一次 STOP 就可以了
16.修改說明
由于我需要在linux和solris下做ftp,找了很多文章,他們基本都是轉(zhuǎn)載,可能由于原作者用的版本和操作系統(tǒng)的不同,很多地方寫的不是很明白,我干脆把這片比較完整的文章修改一下了發(fā)表,希望原作者不要介意。很多內(nèi)容我并沒修改,我只是加了一些注意的地方。在此,讓我們感謝小樂堡主,是他給我們提供了這么好一片技術(shù)文章! 我的系統(tǒng)是redhat8.0和solaris8.0 for sparc版本。