`
cuker919
  • 浏览: 97730 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

inux下pure-ftpd安装图文教程

 
阅读更多

现在有很多人购买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


分享到:
评论

相关推荐

    inux-C--.rar_誊抄

    "Linux C 誊抄"这个项目可能是一个教学实例或实战练习,旨在教授如何使用C语言在Linux环境下读取文件内容并将其复制到另一个文件中,即实现文件的“誊抄”操作。下面我们将详细探讨这一主题。 首先,我们需要了解...

    inux l 2.4.20-8 # 溢出.txt

    Linux系统安全学习

    Linux内核驱动模块编程指南

    《Linux内核模块编程指南》是一本由Peter Jay Salzman、Michael Burian和Ori Pomerantz共同编著的专业书籍,旨在为读者提供深入理解Linux内核模块编程的知识与技能。该书版权始于2001年,并在2007年进行了更新,版本...

    linux-headers-4.15.0-119-generic_4.15.0-119.120_arm64.deb

    linux-headers-4.15.0-119-generic_4.15.0-119.120_arm64.deb

    Linux菜鸟专用_PDF

    例如,了解如何查看和解读日志文件(/var/log/目录下的文件)可以帮助诊断和解决问题。 最后,本书可能还会涵盖一些基础的脚本编写,比如bash shell脚本。通过编写简单的脚本,你可以自动化重复性的任务,提高工作...

    inux-LVM管理.doc

    inux-LVM管理.doc

    goahead编译完成包

    1.将此文件解压后,找到build文件下的inux-arm-default/bin下的libgo.so库文件拷贝到开发板存放lib目录下即可; 2.将inux-arm-default/bin下的goahead执行文件 拷贝到开发板自己想放的目录, 如/var/goahead/ 3.将go...

    酷狗Linux客户端linux-kugou-client.zip

    linux-kugou-client 是酷狗音乐的 Linux 桌面应用。Kugou linux desktop app安装$ git clone git@bitbucket.org:Tate_fan/kugou.git $ make install $ make build 标签:linux

    linux环境 nginx-1.18.0 目录/root下解压 使用,无需编译代码

    linux环境 nginx-1.18.0 ,目录/root下解压 使用,无需编译代码 #tar -zxvf nginx-green-1.18.0.tar.gz #chmod 777 nginx/* #cd nginx/sbin #./nginx 如果提示无权限,可以手工先创建相关文件和目录

    MySQL8.4.0 LTS(mysql-8.4.0-linux-glibc2.28-x86-64.tar)

    MySQL8.4.0 LTS(mysql-8.4.0-linux-glibc2.28-x86_64.tar)适用于Linux Generic x86_64 glibc2.28

    inux下RoseMirrorHA实施文档.doc

    inux下RoseMirrorHA实施文档.doc

    jdk-8u121-linux-x64.tar.zip

    默认方法允许在接口中定义具有实现的方法,这使得接口可以在不破坏向后兼容性的前提下添加新功能。`default`关键字的引入,让接口可以像类一样拥有行为,进一步丰富了接口的使用场景。 7. **压缩格式:tar.gz** ...

    inux-gdb_详解

    Linux GDB调试详解 GDB(GNU Debugger)是一款强大的源代码级调试工具,适用于Linux操作系统,用于调试C、C++等编程语言编写的程序。本文将详细介绍GDB的使用方法和调试技巧。 一、列文件清单 ...

    inux平台mysqlsource安装的安装与配置步骤.doc

    在Linux平台上安装MySQL源码的过程是一个涉及多个步骤的技术任务,主要目的是确保数据库服务器能够正确配置并稳定运行。以下是详细的安装与配置步骤: 1. **下载MySQL源码** 首先,你需要访问MySQL的官方网站下载...

    graalvm-ce-java8-linux-amd64-21.0.0.2.tar.gz

    安装GraalVM通常涉及添加其bin目录到系统PATH环境变量,然后可以像使用普通Java SDK一样使用它。对于开发人员,这意味着可以直接在GraalVM上运行、测试和构建Java应用。 7. **优化与应用场景**: GraalVM适用于...

    inux平台mysqlsource安装的安装及配置步骤.pdf

    在Linux平台上安装MySQL Source的详细步骤是至关重要的,因为MySQL是一个广泛应用的关系型数据库管理系统,尤其在服务器环境中。下面是根据给出的文件内容详细解释的安装和配置过程: 1. **下载MySQL源码**: 访问...

Global site tag (gtag.js) - Google Analytics