现在有很多人购买VPS都是自用,上面只有自己的网站,大部分人可能都没有安装FTP服务器程序,都是用SFTP传输文件,甚至直接使用root帐 户传输,这样就带来了一些麻烦和安全问题,虽然在之后可以用chown、chgrp命令来改变文件属性,但是总归是要登录服务器进行这些操作,浪费时间和 精力,而且个人感觉SFTP的速度没有FTP快,所以,架设一个FTP服务器还是很有必要的。推荐使用pure-ftpd,它可以使用mysql数据库来 管理帐户,有web管理界面,简单方便。?

废话少说,接下来就介绍如何安装pure-ftpd。

一、安装环境

本文主要是介绍在CentOS下的安装,其他系统也可以参考。除了httpd、php、mysql-server、php-mysql、mysql-devel等基本上必装的组件,还需要用到的组件有:gcc和pam-devel。

如果缺少这些组件,可以用yum命令安装。

二、安装pure-ftpd

切换到用户目录,下载所需文件:

cd  ~

下载pure-ftpd源文件:

wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.29.tar.gz

解压缩:

tar zxvf pure-ftpd-1.0.29.tar.gz

运行下列命令安装:

cd pure-ftpd-1.0.29

./configure --prefix=/usr/local/pureftpd --with-mysql --with-puredb --with-shadow --with-pam --with-paranoidmsg --with-welcomemsg --with-uploadscripq --with-cookie --with-virtualchroot --with-virtualhosts --with-diraliases --with-quotas --with-sysquotas --with-ratios --with-ftpwho --with-throttling

make
make install

安装完毕,处理相关配置文件:

cp pureftpd-mysql.conf /etc/
cp configuration-file/pure-ftpd.conf /etc/
cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/
chmod u+x /usr/local/pureftpd/sbin/pure-config.pl

编辑redhat.init文件:

vim contrib/redhat.init

修改下面两行的内容:

fullpath=/usr/local/pureftpd/sbin/$prog
pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho

将pure-ftpd加到系统服务:

cp contrib/redhat.init /etc/init.d/pure-ftpd
chmod +x /etc/init.d/pure-ftpd
chkconfig --add pure-ftpd

修改pure-ftpd配置文件:

vim /etc/pure-ftpd.conf

修改下面一行的内容:

MySQLConfigFile               /etc/pureftpd-mysql.conf

如果启用了iptables,还必须修改下面这一行:

PassivePortRange          30000 50000

保存退出。

如果启用了iptables,还需要开启相关端口,否则将无法连接FTP服务器,运行下面的命令:

iptables -I INPUT -p tcp --dport 21 -j ACCEPT
iptables -I INPUT -p tcp --dport 30000:50000 -j ACCEPT
/etc/rc.d/init.d/iptables save

至此,pure-ftpd安装完毕。

三、安装FTP管理程序

安装之前,我们先建立专门用于登录FTP的用户组和用户:

groupadd ftpgroup
useradd ftpuser -g ftpgroup -s /sbin/nologin

再将网站文件目录所属的用户和用户组改为刚创建的用户和用户组:

chown -R ftpuser /var/www/html/
chgrp -R ftpgroup /var/www/html/

如果你的网站文件不是放在/var/www/html/中,请修改对应的值。

回到用户目录,下载ftp管理程序:

cd  ~
wget http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz

解压缩:

tar zxvf ftp_v2.1.tar.gz

将解压缩出来的文件目录转移到web目录下,这里是直接转移到服务器根目录下:

cp -a ftp /var/www/html/

接下来,就可以在浏览器中安装了。打开http://之前转移所在目录使用的域名或IP/ftp/install.php,会出现下图(以下图片均可点击放大):

如果全部为”OK”,则点击“Step2”按钮继续:

点击“New installation”,进入下一步:

输入mysql数据库的主机名、root帐户的密码后,点击“Connect”,如果可以连接服务器,则如下图所示:

点击“Continue”进入下一步:

如图所示,安装程序会自动建立一个名为ftpusers的数据库,同时还创建了一个用户名为ftp,密码为tmppasswd的mysql帐户,如果需要 修改mysql中ftp帐户的密码,在修改后,将新密码填入“Password”字段,再点击“Refresh”按钮,如果全部是“OK”字样,则点击 “Step4”进入下一步:

在这里修改FTP管理程序的配置文件,可以将“FTP Addrss”中的myipaddress.com换成服务器的域名或者IP地址;将“Default user ID”改成之前创建的ftpuser的数字ID;将“Default group ID”改成之前创建的ftpgroup的数字ID。修改完毕后,记得点击“save”按钮更新配置文件。点击“Step5”进入下一步:

在这里设置FTP管理员帐号密码,这里的帐号密码是用于管理FTP帐号,不是用来登录FTP,输入密码后点击“Change”按钮,然后点击“Step6”进入下一步:


按照上图的说明修改pure-ftpd的相关配置文件,如果按照之前的pure-ftp安装说明安装,pureftpd-mysql.conf是保存在 /etc/pureftpd-mysql.conf中,而不是上图说明中的usr/local/etc/pureftpd-mysql.conf,而且这 里的值在之前已经修改过了,因此,步骤A可以跳过。然后,编辑/etc/pureftpd-mysql.conf,修改上图红色文字部分的值,修改完毕 后,保存退出,再点击“Step7”按钮:

当出现这个画面的时候,说明FTP管理程序成功安装,记得把install.php改名或者删除。

最后,重启ftp服务使相应配置生效:

/etc/init.d/pure-ftpd restart

四、管理FTP帐号

输入之前FTP管理程序网址:http://之前转移所在目录使用的域名或IP/ftp/,出现登录界面:

输入对应的密码点击“Login”登录:

这就是FTP用户管理页面了,在上方会列出已经创建的FTP用户,其中, “Configuration”一栏中的四个图标从左到右的功能依次是:修改用户/删除用户/锁定用户(锁定后改用户无法登录FTP)/使用该用户连接FTP。

点击“New user”创建新用户,点击“Homedir”右侧的按钮会出现目录选择下拉列表,点击相应目录名可以进入相应目录并设置该用户的主目录为该目录,如图所示:

创建FTP用户的操作很简单,就不多说了。这里还有一个小问题,每次创建用户的时候,可能都需要修改Homedir(主目录)、UL Bandwidth(上传带宽限制)和DL Bandwidth(下载带宽限制),比较麻烦,可以用下面的办法可以修改它们的默认值:

编辑ftp目录下的index.php文件,修改这几个地方:

$dir              = "/var/www/html/";
$ulbandwidth      = "";
$dlbandwidth      = "";

这样,每次创建新用户的时候,默认就在/var/www/html/下,可以节省很多点击次数,另外,默认取消了上传和下载带宽的限制。(完)

from http://www.fishnote.net/?p=248


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐