filezilla搭建ftp服务器 外网

搭建FileZilla服务器

1、下载并安装FileZilla Server

我们需要下载并安装FileZilla Server,FileZilla Server是一个用于托管FTP服务器的开源软件,下载地址:https://filezilla-project.org/download.php?type=server

filezilla搭建ftp服务器 外网

根据操作系统选择相应的安装包进行下载和安装,安装过程中,确保勾选“Run FileZilla Server”选项,以便在系统启动时自动运行FileZilla Server。

2、配置防火墙

为了使外部用户能够访问FileZilla Server,我们需要配置防火墙允许FTP端口(默认为21)的通信,以下是在不同操作系统上配置防火墙的方法:

- Windows:打开“控制面板”->“系统和安全”->“Windows Defender 防火墙”,点击“高级设置”,然后在左侧选择“入站规则”,在右侧点击“新建规则”,选择“端口”,输入“21”,然后点击“下一步”和“阻止连接”。

- Linux(以Ubuntu为例):使用以下命令开放FTP端口:

sudo ufw allow 21

3、配置FileZilla Server

接下来,我们需要配置FileZilla Server的一些参数,如监听地址、端口等,编辑FileZilla Server的配置文件filezilla.ini,通常位于/etc/filezilla/目录下,在文件中找到以下行:

#listen = 0.0.0.0
listen = ::

取消这两行的注释,并修改listen参数的值,使其指向你希望FileZilla Server监听的IP地址,如果你希望FileZilla Server仅监听本地回环地址,可以将listen参数设置为localhost127.0.0.1

listen = localhost

4、重启FileZilla Server

配置完成后,需要重启FileZilla Server以使更改生效,在Linux系统中,可以使用以下命令重启FileZilla Server:

sudo systemctl restart filezilla-server

创建FTP用户及目录权限设置

1、在MySQL数据库中创建用户及密码

为了让外部用户能够访问FTP服务器,我们需要在MySQL数据库中创建一个新用户,并为其分配FTP访问权限,以下是创建用户的SQL语句:

CREATE USER 'ftpuser'@'%' IDENTIFIED BY 'your_password';
GRANT FILE, RELOAD, SHUTDOWN, PROCESS, LOCK TABLES, SELECT, SHOW VIEW, CREATE TEMPORARY TABLES, INSERT, UPDATE, DELETE ON *.* TO 'ftpuser'@'%';
FLUSH PRIVILEGES;

将上述SQL语句中的your_password替换为你希望设置的密码,执行完毕后,需要刷新MySQL权限:

FLUSH PRIVILEGES;

2、创建FTP目录及其权限设置

接下来,我们需要在MySQL数据库中为刚刚创建的用户创建一个FTP目录,并设置相应的权限,以下是创建FTP目录的SQL语句:

CREATE DATABASE IF NOT EXISTS ftpdb; -- 如果不存在名为ftpdb的数据表,则创建一个名为ftpdb的数据表,如果已存在,则跳过此步骤。
USE ftpdb; -- 切换到ftpdb数据表,如果已存在ftpdb数据表,则跳过此步骤,如果不存在,请先执行上述SQL语句创建数据表。
CREATE TABLE IF NOT EXISTS ftpusers ( // 创建名为ftpusers的数据表,如果已存在,则跳过此步骤,如果不存在,请先执行上述SQL语句创建数据表。)ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 指定字符集为utf8,如果已存在且字符集不为utf8,则跳过此步骤,如果不存在,请先执行上述SQL语句创建数据表,ALTER TABLE ftpusers ADD PRIMARY KEY (username, password, rights); -- 为数据表添加主键约束,如果已存在且主键约束不包含username、password、rights字段,则跳过此步骤,如果不存在,请先执行上述SQL语句创建数据表,INSERT INTO ftpusers (username, password, rights) VALUES ('ftpuser', 'your_password', 'RW'); -- 将ftpuser用户及其密码和权限插入到ftpusers数据表中,将上述SQL语句中的your_password替换为你设置的密码,如果已存在相同的记录,则跳过此步骤,如果不存在,请执行上述SQL语句插入记录,ALTER TABLE ftpusers ADD FOREIGN KEY (username) REFERENCES ftpusers(username) ON DELETE CASCADE; -- 为数据表添加外键约束,如果已存在且外键约束不包含username字段,则跳过此步骤,如果不存在,请先执行上述SQL语句创建数据表,ALTER TABLE ftpusers ADD FOREIGN KEY (rights) REFERENCES ftpaccessrights(rights) ON DELETE CASCADE; -- 为数据表添加外键约束,如果已存在且外键约束不包含rights字段,则跳过此步骤.如果不存在,请先执行上述SQL语句创建数据表,ALTER TABLE ftpusers ADD FOREIGN KEY (password) REFERENCES mysql.(password) ON DELETE CASCADE; -- 为数据表添加外键约束,如果已存在且外键约束不包含password字段,则跳过此步骤.如果不存在,请先执行上述SQL语句创建数据表,CREATE TABLE IF NOT EXISTS ftpaccessrights ( // 创建名为ftpaccessrights的数据表,如果已存在,则跳过此步骤,如果不存在,请先执行上述SQL语句创建数据表),ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 指定字符集为utf8,如果已存在且字符集不为utf8,则跳过此步骤.如果不存在,请先执行上述SQL语句创建数据表,ALTER TABLE ftpaccessrights ADD PRIMARY KEY (rights); -- 为数据表添加主键约束,如果已存在且主键约束不包含rights字段,则跳过此步骤.如果不存在,请先执行上述SQL语句创建数据表,INSERT INTO ftpaccessrights (rights) VALUES ('RW'),('R'),('W'),('D'); -- 将不同的FTP访问权限插入到ftpaccessrights数据表中,将上述SQL语句中的'RW','R','W','D'替换为相应的FTP访问权限字符串(读写、只读、只写、删除),如果已存在相同的记录,则跳过此步骤,如果不存在,请执行上述SQL语句插入记录,ALTER TABLE ftpusers ADD FOREIGN KEY (rights) REFERENCES ftpaccessrights(rights) ON DELETE CASCADE; -- 为数据表添加外键约束,将上述SQL语句中的'RIGHTS'替换为相应的外键名称('rights'),如果已存在且外键约束不包含rights字段,则跳过此步骤.如果不存在,请先执行上述SQL语句创建数据表,ALTER TABLE ftpusers ADD FOREIGN KEY (username) REFERENCES mysql.(username) ON DELETE CASCADE; -- 为数据表添加外键约束.将上述SQL语句中的'USERNAME'替换为相应的外键名称('username').如果已存在且外键约束不包含username字段,则跳过此步骤.如果不存在,请先执行上述SQL语句创建数据表.CREATE TABLE IF NOT EXISTS ftpsubdirs ( // 创建名为ftpsubdirs的数据表).ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 指定字符集为utf8.如果已存在且字符集不为utf8,则跳过此步骤.如果不存在,请先执行上述SQL语句创建数据表.ALTER TABLE ftpsubdirs ADD PRIMARY KEY (id); -- 为数据表添加主键约束.将上述SQL语句中的'id'替换为相应的主键名称('id').如果已存在且主键约束不包含id字段,则跳出此步骤.如果不存在,请先执行上述SQL语句创建数据表.ALTER TABLE ftpsubdirs ADD FOREIGN KEY (parentid) REFERENCES ftpsubdirs(id) ON DELETE CASCADE; -- 为数据表添加外键约束.将上述SQL语句中的'PARENTID'替换为相应的外键名称('parentid').如果已存在且外键约束不包含parentid字段,则跳出此步骤.如果不存在,请先执行上述SQL语句创建数据表.ALTER TABLE ftpsubdirs ADD FOREIGN KEY (name) REFERENCES mysql.(name) ON DELETE CASCADE; -- 为数据表添加外键约束.将上述SQL语句中的'NAME'替换为相应的外键名称('name').如果已存在且外键约束不包含

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/123272.html

(0)
K-seoK-seoSEO优化员
上一篇 2023年12月14日 21:01
下一篇 2023年12月14日 21:03

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入