既然要做pureftp,它必然有其要我們值得去學的利用。我們知道,並不是每個人都對服務器數據,等我們要登錄ftp服務器時,不可能都要到服務器裏用命令來創建用戶,爲了解決非專業人員可以來創建ftp的賬戶,就有了pureftp,只要會用瀏覽器即可進行用戶的創建工作。
在主角亮相之前,是要做一些準備工作的。首先,要搭建lamp環境,因爲pureftp是基於lamp的。這裏,爲了搭建的方便,可以採用yum來進行配置環境,而要想使用yum,就要配置yum,這裏由於有光盤,只需配置本地yum即可。
通過編輯yum的配置文件來配置本地yum:
vim /etc/yum.repos.d/rhel-debuginfo.repo
這時,本地yum也就配置完成了。
由於pureftp是用源碼安裝的,而要使源碼能正常安裝且正常工作,我們要先檢查系統預編譯環境且系統是否安裝了必需開發組件,即開發工具和開發庫。爲了操作起來方便,這裏,我有yum來檢測,當然要先配置本地yum,這裏我由於我已經配置過了,就直接來用,利用yum grouplist命令來檢測,檢測發現,必要的組件和庫文件已經具備:
Development Libraries;Development Tool;X Software Development;Legacy Software Development。當然如果沒有的話,是要安裝的,利用yum groupinstall 命令來安裝即可。這裏我的系統已具備這些開發工具和開發庫,所以接下來就可以搭建lamp環境了。
切換到光盤掛載點:cd /mnt/cdrom/Server然後執行如下命令來搭建lamp環境了
yum install httpd mysql mysql-server php-mysql php php-mbstring php-gd php-xml
這時可以把mysql服務啓起來:service mysqld start
接着可以執行如下命令時mysql開機啓動:chkconfig mysqld on
出於對數據庫的安全考慮,這裏要對mysql數據庫的管理員root配置一密碼
mysqladmin -u root -p password 'wgz0224gz'
這時可以測試一下,mysql是否搭建成功了
表示,mysql搭建成功。
接着可以把apache啓起來:service httpd start
依舊把apache設置爲開機啓動:chkconfig httpd on
這裏依然要測試一下apache是否搭建成功
表示,apache也搭建成功了。
php與apache是否很好的關聯了呢,這裏要測試一下cd /var/www/html/
創建一php文件:vim index.php
可知php與apache已成功結合,那mysql與apache呢,這時可以編輯index.php文件來做一小測試
由於mysql這時是啓動的,加入mysql與apache連接成功的話,應該顯示 It is OK,否則則顯示It does not work
說明mysql與apache也已成功連接。
接下來就是來安裝pureftp了
首先要拆包: tar -zxvf pure-ftpd-1.0.36.tar.gz -C /usr/local/src/
切換到解壓目錄:cd /usr/local/src/pure-ftpd-1.0.36/
執行老三部來配置pureftp
./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
這時,出現了一個錯誤
這時不要怕,只要安裝一下mysql-devel包就好,這時切換到光盤掛載點,裝上該包即可:
然後再來執行上面的./configure命令
make
make install
接下來首先要創建存放配置文件的目錄etc
去生成啓動腳本
生成配置文件
生成控制腳本文件
注意這時千萬不要去啓動pureftp,因爲這個控制文件是拷貝生成的,裏面的路徑可能跟安裝的pureftp的相關路徑有衝突,爲了安全起見,還是要去修改一下
vim /etc/init.d/pureftpd
修改完成後,保存退出,這時就可以啓動pureftp了
接着就要把pureftp與mysql連接起來了,首先要導入數據庫
首先依然要去看看數據庫裏的參數是否符合我們的環境
vim pureftp.sql
接着就是導入數據庫了:
這時可以登入mysql數據庫來查看是否導入成功
接着去看錶倒入沒有
說明,數據庫已經導入成功了。
但是還有一項是很重的,就是授權
接着就是編輯相應的文件使mysql與pureftp進行連接了,這裏以下載好了該文件,只要拷貝的相應的位置就好。
接着去編輯該文件做相應的修改vim pureftpd-mysql.conf
接着去編輯修改配置文件去找到剛配置的連接文件
vim pure-ftpd.conf
然後就可以去配置pureftp的管理工具了,這裏我已經下載好了,只需對其做相應的操作即可:
tar -zxvf PureAdmin-0.3.tar.gz -C /var/www/html/
然後進入該目錄,並編輯conf.php文件
接着去創建登錄後的家目錄
mkdir /ftproot
然後創建一個本地賬號,用來和虛擬賬號進行映射
執行上面的命令時可能會出現一個錯誤,但不用管它,然後查看是否映射成功
修改ftproot的用戶和所有者
chown vitualftp.vitualftp /ftproot/
修改權限
chmod -R 777 /ftproot/
這時可以測試一下能否創建用戶呢
點擊新建按鈕來創建用戶
點擊保存後,還可以點擊上面的FTP用戶來查看創建的用戶
這時可以登錄到數據庫裏去查看數據庫裏是否有了user1的記錄呢
可以看出,創建的用戶已經寫入到數據庫裏了
但是這時,利用user1登錄ftp是登錄不上去的,因爲還沒有對其與我們創建的本地賬號進行映射,接着就要做映射了
這裏面有這樣一條記錄
但是我們還沒有創建pureftpd.pdb,所以要來創建該文件
注意上圖中的兩條命令只需執行這一次,以後不管創建多少個賬號都不用再執行了
這時重啓服務
然後重新去註冊賬號來進行測試
這時可以看數據庫裏是否有該記錄
利用use2來登陸
來查看家目錄
說明已經成功登陸了。
但是當我們以匿名賬戶登錄時,卻出現這樣的錯誤
這時,根據上面的信息可知,我們只需去創建匿名賬號的根目錄即可
mkdir -pv /var/ftp
爲了測試,可以在該目錄下創建文件
然後再來以匿名賬戶登錄來測試
可以看出,登錄成功了。