1、关闭防火墙,关闭SELinux
systemctl stop firewalld #关闭防火墙centos7之前是 service iptables stop
setenforce 0 #关闭SELinux
2、安装所需依赖及编译工具,这里我已经安装过了,所以显示最新版本
yum install -y gcc openssl-devel perl
3、下载pure-ftpd,第一次执行有可能下载不成功,多重复执行几次就可以了,直到出现安装包
curl -O https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.47.tar.gz
ps:复制这里的链接地址
4、解压进入目录
tar -zxvf pure-ftpd-1.0.47.tar.gz
cd pure-ftpd-1.0.47/
5、进行配置
./configure --prefix=/usr/local/pureftpd --without-inetd --with-altlog --with-puredb --with-throttling --with-tls
7、编译和安装
make && make install
8、修改配置文件
mkdir /usr/local/pureftpd/etc #创建etc文件
cp pure-ftpd.conf /usr/local/pureftpd/etc/ #拷贝文件到etc目录下
vi /usr/local/pureftpd/etc/pure-ftpd.conf #打开pure-ftpd.conf文件
PureDB /usr/local/pureftpd/etc/pureftpd.pdb #把对应内容修改
PIDFile /var/run/pure-ftpd.pid #把这行的前面#号去掉即可
9、启动文件,检测是否启动
/usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf #启动文件
netstat -tunpl #检测启动
10、添加管理用户
cd /usr/local/pureftpd/ #切换目录
useradd test #创建用户 userdel -r test #删除用户
mkdir -p /var/www/html/ #创建ftp访问目录
chown -R test:test /var/www/html/ #改变权限
./bin/pure-pw useradd ftp_user -u test -d /var/www/html #创建虚拟用户,指定test 删除虚拟用户:/usr/local/pureftpd/bin/pure-pw userdel ftp_user
11、创建虚拟的用户数据库
./bin/pure-pw mkdb #创建数据库
./bin/pure-pw list #查看用户是否存在
12、查看ip,通过ftp链接工具(FileZilla)测试
ifconfig
ps:ftp搭建到这里已经结束了,各位小伙伴可以试着上传文件看看!
最后提个醒,就是ftp连接不上服务器的原因,有几点:
1,、防火墙、SELinux没有关闭成功
2、用户id超出MinID范围,修改pure-ftpd配置文件MinID=0即可
3、php7.2安装的情况下,会有一定的影响,我这里就是碰到这个问题,然后系统重装了(具体不说了),重装之后第一步安装ftp就马上连接上了,之后我是不会安装php7.2了,浪费时间
4、端口21被占用
5、如果使用的是阿里云轻量服务器,需要在防火墙添加规则,使用默认的ftp就行
6、如果使用的是阿里云轻量服务器,假如上面的这个软件连接不了,并且出现下图现象,更换一个连接工具,flashFxp这个就可以连