1. 程式人生 > 實用技巧 >pureftp伺服器搭建

pureftp伺服器搭建

Pureftp伺服器搭建

上傳我們搭建pureftp所需要的軟體包


144043768.png

安裝步驟:

[[email protected] pureftp]# tar -zxvf pure-ftpd-1.0.36.tar.gz -C /usr/local/src/

[[email protected] pureftp]# cd /usr/local/src/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

Make && make install

拷貝生成pureftp服務的主配置檔案和伺服器指令碼

[roo[email protected] pure-ftpd-1.0.36]# cd configuration-file/

[[email protected] configuration-file]# chmod a+x pure-config.pl

[[email protected] configuration-file]# cp pure-config.pl /usr/local/pureftpd/sbin/

[[email protected] configuration-file]# mkdir /usr/local/pureftpd/etc

[[email protected] configuration-file]# cp pure-ftpd.conf /usr/local/pureftpd/etc/

拷貝生成pureftp服務的啟動指令碼,並修改相應的引數。

[[email protected] pure-ftpd-1.0.36]# cp contrib/redhat.init /etc/init.d/pureftpd

144044551.png

[[email protected] pure-ftpd-1.0.36]# chmod 755 /etc/init.d/pureftpd

[[email protected] pure-ftpd-1.0.36]# chkconfig --add pureftpd

[[email protected] pure-ftpd-1.0.36]# chkconfig pureftpd on

配置pure-ftp的主配置檔案,新增虛擬賬號的登陸環境引數

[[email protected] pure-ftpd-1.0.36]# vim /usr/local/pureftpd/etc/pure-ftpd.conf

144044931.png

144045268.png

144045620.png

144046406.png

144047690.png

144047714.png

144047478.png

建立虛擬使用者登陸的家目錄

[[email protected] ~]# mkdir /ftproot

[[email protected] ~]# chmod -R 777 /ftproot

[[email protected] ~]# useradd virtualftp -d /ftproot -s /sbin/nologin -M

[[email protected] ~]# chown virtualftp:virtualftp /ftproot

虛擬賬號認證配置。

144048378.png

[[email protected] ~]# vim /usr/local/pureftpd/etc/pure-ftpd.conf

建立虛擬賬號與伺服器本地賬號的對映

[[email protected] ~]# cd /usr/local/pureftpd/bin

[[email protected] bin]# ./pure-pw useradd user1 -u virtualftp -g virtualftp -d /ftproot/user1 -m

說明:

user1是使用者名稱,-u virtualftp是其實際的linux使用者,-d指定起始目錄,並鎖定於該目錄。如果不鎖定,則用-D;如果需要不同的許可權,可以建立新的linux使用者與組

如果用的系統自帶的ftp使用者,這樣的話還需修改配置檔案pure-ftpd.conf中的MinUIDftp使用者的UID 14,否則登入時會出現530錯誤;所以這裡建議建立另一個非系統自帶的使用者做對映

建立使用者資料庫:

[[email protected] bin]# ./pure-pw mkdb /usr/local/pureftpd/pureftpd.pdb

[[email protected] pureftp]# tar -zxvf PureAdmin-0.3.tar.gz -C /var/www/extsuite/extmail/html/

[[email protected] pureftp]# cd /var/www/extsuite/extmail/html/

[[email protected] html]# mv PureAdmin-0.3 pureadmin

匯入資料檔案pureftp.sqlmysql資料庫。

-- This mysql script is made by M.Mastenbroek 2002 - 2005

-- For more info look at http://machiel.generaal.net

-- Version 2.0

--

-- mysql -u root -ppassword -h 127.0.0.1 < script.mysql

--

--

--

-- Host: localhost Database: ftpusers

-- -------------------------------------------------------

-- Server version 3.23 or 4.x

-- Script version 1.4.0

--

--

--

-- Create MySQL user called 'ftp'

-- Login = ftp

-- Password = tmppasswd

-- Host = 127.0.0.1

--

FLUSH PRIVILEGES;

CREATE DATABASE ftpusers;

USE ftpusers;

--

-- Table structure for table 'admin'

--

CREATE TABLE admin (

Username varchar(35) NOT NULL default '',

Password char(32) binary NOT NULL default '',

PRIMARY KEY (Username)

) ;

--

-- Data for table 'admin'

--

INSERT INTO admin VALUES ('admin',MD5('123456'));

--

-- Table structure for table 'users'

--

CREATE TABLE `users` (

`User` varchar(16) NOT NULL default '',

`Password` varchar(32) binary NOT NULL default '',

`Uid` int(11) NOT NULL default '14',

`Gid` int(11) NOT NULL default '5',

`Dir` varchar(128) NOT NULL default '',

`QuotaFiles` int(10) NOT NULL default '500',

`QuotaSize` int(10) NOT NULL default '30',

`ULBandwidth` int(10) NOT NULL default '80',

`DLBandwidth` int(10) NOT NULL default '80',

`Ipaddress` varchar(15) NOT NULL default '*',

`Comment` tinytext,

`Status` enum('0','1') NOT NULL default '1',

`ULRatio` smallint(5) NOT NULL default '1',

`DLRatio` smallint(5) NOT NULL default '1',

PRIMARY KEY (`User`),

UNIQUE KEY `User` (`User`)

) ;

--

-- Data for table 'users'

--

[[email protected] pureftp]# mysql -u root -p < pureftp.sql

[[email protected] pureftp]# mysql -u root -p

mysql> grant all privileges on ftpusers.* to [email protected] identified by 'tmppasswd';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

檢視匯入是否成功

144048567.png

修改pureadmin配置檔案,修改資料庫引數

[[email protected] pureftp]# vim /var/www/extsuite/extmail/html/pureadmin/config.php

144048635.png

[[email protected] pureftp]# vim pureftpd-mysql.conf

144049656.png

[[email protected] pureftp]# cp pureftpd-mysql.conf /usr/local/pureftpd/etc/

建立匿名賬號根目錄

[[email protected] pureftp]# mkdir /var/ftp


轉載於:https://blog.51cto.com/muxiaohao/1319012