zoukankan      html  css  js  c++  java
  • inux下pureftpd安装图文教程

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


  • 相关阅读:
    向Oracle 数据表中插入一条带有日期类型的数据
    JDBC 连接Oracle 数据库,JDBC 连接Mysql 数据库
    球球大作战四亿人都在玩?玩家回归没有优越感,新玩家游戏被虐,游戏体验感极差!
    struts2中的错误--java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
    如何在idea中设置 jsp 内容修改以后,立即生效而不用重新启动服务?
    idea中 在接口中如何直接跳转到该接口的是实现类中?
    使用IDEA 创建Servlet 的时候,找不到javax.servlet
    如何高效的遍历HashMap 以及对key 进行排序
    springboot 自动装配
    git 多账户添加ssh秘钥
  • 原文地址:https://www.cnblogs.com/cuker919/p/4878546.html
Copyright © 2011-2022 走看看