zl程序教程

您现在的位置是:首页 >  系统

当前栏目

Linux 之 FTP服务器搭建

2023-09-11 14:22:41 时间

 FTP服务器搭建


 参考教程:【千峰教育


1、关闭防火墙:

  service iptables stop


2、关闭Selinux
  setenforce 0


3、安装所需要依赖及编译工具
  yum install -y gcc openssl-devel perl


4、下载pure-ftpd
  (1)搜索pure-ftpd,一般是第一个,打开链接:https://www.pureftpd.org/project/pure-ftpd。
  (2)点击页面右侧列表的的【Download】:https://www.pureftpd.org/project/pure-ftpd/download。
  (3)点击【Primary HTTP download site】:http://download.pureftpd.org/pub/pure-ftpd/。
  (4)在列表中点击发行版【releases/】:https://download.pureftpd.org/pub/pure-ftpd/releases/。
  (5)选择其中一个版本,例如【pure-ftpd-1.0.47.tar.gz】,复制下载链接。
  (6)在Linux中执行下载命令:
    curl -O https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.47.tar.gz


5、解压
  tar -zxvf pure-ftpd-1.0.47.tar.gz


6、进行配置
  cd pure-ftpd-1.0.47
  ./configure --prefix=/usr/local/pureftpd --without-inetd --with-altlog --with-puredb --with-throttling -with-tls


7、编译和安装
  make && make install


8、修改配置文件
  注意:这里好像区分版本,不同版本不太一样:
  (1)如果下载的目录里【有configuration-file目录】:
    mkdir -p /usr/local/pureftpd/etc
    cd ./configuration-file/
    cp pure-ftpd.conf /usr/local/pureftp/etc/
  (2)如果下载的目录里【没有configuration-file目录】:
    可能配置文件已经存在于指定的目录下了。
   

  修改:/usr/local/pureftpd/etc/pure-ftpd.conf
    如下:
    PureDB /usr/local/pureftpd/etc/pureftpd.pdb
    PIDFile /usr/local/pureftpd/var/run/pure-ftpd.pid


9、启动服务
  注意:这里好像区分版本,不同版本不太一样:
  (1)如果下载的目录里【有configuration-file目录】:
    这里目录里会有pure-config.pl控制文件:
    cp pure-config.pl /usr/local/pureftpd/sbin/
    chmod 755 pure-config.pl
    然后启动:
      cd /usr/local/pureftpd
      ./sbin/pure-config.pl ./etc/pure-ftpd.conf
  (2)如果下载的目录里【没有configuration-file目录】:
    启动:
      cd /usr/local/pureftpd
      ./sbin/pure-ftpd ./etc/pure-ftpd.conf
      或者
      /usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf


10、检查是否启动:
  使用netstat命令:
  结果看到如下信息,21号端口,pure-ftpd,说明启动了。
  tcp   0 0 0.0.0.0:21   0.0.0.0:*   LIST   EN   22755/pure-ftpd

11、添加管理用户:
  useradd ftp-user    #在系统中的添加一个用户ftp-user
  mkdir -p /var/www/html/
  chown -R ftp-user:ftp-user /var/www/html/
  ./bin/pure-pw useradd zhangsan -u ftp-user -d /var/www/html
  说明:
    zhangsan 是使用ftp登录时的用户名
    -u:指系统中存在的用户ftp-user
    -d:指定访问的目录
    ./bin/pure-pw命令在/usr/local/pureftpd/下。


12、创建虚拟的用户数据库

  cd /usr/local/pureftpd/
  ./bin/pure-pw mkdb
  查看:
  ./bin/pure-pw list


13、测试:
  通过ftp工具(FileZilla)测试。
  主机:填写虚拟机地址。
  端口:21。
  协议:FTP-文件传输协议。
  加密:只使用普通FTP(不安全)
  登录类型:询问密码。
  用户:用户名,即示例中设置的zhangsan


扩展知识:

  ctrl+u 清空当前输入
  ctrl+l 清空屏幕

  

  解压pure-ftpd-1.0.47.tar.gz时提示:

    gzip: stdin: unexpected end of file
    tar: 归档文件中异常的 EOF
    tar: 归档文件中异常的 EOF
    tar: Error is not recoverable: exiting now
  原因:
    源码包在下载过程中被破坏或者不完整所致。
    可以看到,下载后的大小和开始下载时显示的总大小是不一样的。
  解决方法:
    重新下载。
    如果服务器的网速较慢,或下载后还是不完整的文件,可以选择在windows上下载后,上传到服务器行。
    本地下载curl软件后,在cmd命令行,执行上面的而下载命令:
    curl -O https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.47.tar.gz
    然后上传。

 

  ./configure的那个配置项有时间要具体了解一下,这里不做说明了。