Pure-ftp的實現
1.先安裝需要的軟件包
[root@mail yum.repos.d]# yum install httpd php mysql mysql-server mysql-devel php-mysql
[root@mail yum.repos.d]# chkconfig mysqld on
[root@mail yum.repos.d]# service mysqld start
[root@mail yum.repos.d]# mysqladmin -u root -p password '123' (爲了安全爲mysql創建一個用戶加密)
[root@mail yum.repos.d]# service httpd start
[root@mail yum.repos.d]# cd /var/www/html/
[root@mail html]# vim index.php (編輯一個php的網頁用於測試下是否能web調用mysql)
2.源碼的安裝只要確保四個group組要安裝上
[root@mail Server]# yum groupinstall "X軟件開發" "開發庫" "開發工具" '"老的開發工具"
[root@mail pureftp]# tar -zxvf pure-ftpd-1.0.36.tar.gz -C /usr/local/src/
[root@mail pure-ftpd-1.0.36]# ./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
[root@mail pure-ftpd-1.0.36]# make
[root@mail pure-ftpd-1.0.36]# make install
3.實現service啓動pure-ftp ,去修改控制腳本才能用service 控制
[root@mail pure-ftpd-1.0.36]# cd contrib/ (這個是放控制腳本的目錄)
[root@mail contrib]# cp redhat.init /etc/init.d/pureftpd (把控制腳本文件拷貝到默認的service控制的地方)
[root@mail init.d]# chmod a+x /etc/init.d/pureftpd (把啓動程序的權限改成可執行的纔可以控制)
配置服務器程序
[root@mail configuration-file]# cp pure-config.pl /usr/local/pureftpd/sbin/
[root@mail configuration-file]# cd /usr/local/pureftpd/sbin/
[root@mail sbin]# chmod a+x pure-config.pl
配置腳本
[root@mail sbin]# mkdir /usr/local/pureftpd/etc
[root@mail configuration-file]# cp pure-ftpd.conf /usr/local/pureftpd/etc/
[root@mail configuration-file]# vim /etc/init.d/pureftpd
[root@mail configuration-file]# service pureftpd start
啓動 pure-config.pl:Running: /usr/local/pureftpd/sbin/pure-ftpd --daemonize -A -c50 -B -C8 -D -fftp -H -I15 -L10000:8 -m4 -s -U133:022 -u100 -k99 -Z
[root@mail configuration-file]# netstat -tupln |grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 13691/pure-ftpd (SE
tcp 0 0 :::21 :::* LISTEN 13691/pure-ftpd (SE
[root@mail configuration-file]# chkconfig --add pureftpd
[root@mail configuration-file]# chkconfig --list pureftpd
pureftpd 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉
[root@mail configuration-file]# chkconfig pureftpd on
4.修改配置腳本文件
[root@mail configuration-file]# vim /usr/local/pureftpd/etc/pure-ftpd.conf
336 CreateHomeDir yes (打開)
[root@mail configuration-file]# service pureftpd restart
[root@mail configuration-file]# mkdir /ftproot (創建家目錄)
[root@mail configuration-file]# chmod 777 /ftproot/
[root@mail configuration-file]# useradd virtualftp -d /ftproot -s /sbin/nologin -M
5.因爲有些指令不能用,所以要改變環境變量
[root@mail sbin]# cd /usr/local/pureftpd/bin/ (查看指令)
[root@mail bin]# ll
總計 112
-rwxr-xr-x 1 root root 76969 12-18 23:51 pure-pw
-rwxr-xr-x 1 root root 14468 12-18 23:51 pure-pwconvert
-rwxr-xr-x 1 root root 14462 12-18 23:51 pure-statsdecode
[root@mail configuration-file]# echo $PATH (查看環境變量的路徑)
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@mail configuration-file]# echo "PATH=$PATH:/usr/local/pureftpd/etc/bin" >>/etc/profile(改變環境變量的路徑)
[root@mail configuration-file]# . /etc/profile
[root@mail configuration-file]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/pureftpd/etc/bin
6.導入數據庫,不用創建了(這裏需要在網上找一個數據庫文件)
50 INSERT INTO admin VALUES ('admin',MD5('123')); (裏面改寫的東西)
[root@mail pureftp]# mysql -u root -p <pureftp.sql (把這個做好的數據庫導入到mysql數據庫)
7.配置接口文件,mysql的認證,需要修改主的配置文件
<1>#vi /usr/local/pureftpd/etc/pure-ftpd.conf
[root@mail pureftp]# vim /usr/local/pureftpd/etc/pure-ftpd.conf
修改116行爲:
MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf
[root@mail pureftp]# cp pureftpd-mysql.conf /usr/local/pureftpd/etc/
[root@mail pureftp]# vim /usr/local/pureftpd/etc/pureftpd-mysql.conf
32 MYSQLPassword tmppasswd(密碼)
45 MYSQLCrypt md5 (密碼類型)
8.要實現web界面管理數據庫,用到了pureadmin。
[root@mail pureftp]# tar -zxvf PureAdmin-0.3.tar.gz
[root@mail pureftp]# mv PureAdmin-0.3 /var/www/html/pureadmin
[root@mail pureftp]# cd /var/www/html/pureadmin/
[root@mail pureadmin]# vim config.php (編輯主配置文件)
can't connect to mysql serverAccess denied for user 'ftp'@'localhost' (using password: YES)
登錄時出錯。主要沒用戶沒有導入數據庫
添加連接mysql用戶
先用root登錄mysql,執行
mysql>grant all privileges on ftpusers.* to ftp@localhost identified by 'tmppasswd';
mysql>flush privileges;
mysql>quit;
現在可以建用戶了,建完後,登錄時無法登錄,主要是忘了重啓服務了
[root@mail ~]# service pureftpd restart
必須登錄下才能看到
[root@mail ~]# ll /ftproot/ (可以查看已經創建成功了)
總計 4
drwxr-xr-x 2 1000 1000 4096 12-19 02:03 user3