linux

Linux vsftp虚拟主机:如何搭建多站点

小樊
44
2025-09-08 09:28:52
栏目: 云计算

在Linux系统上使用vsftpd(Very Secure FTP Daemon)搭建多站点虚拟主机的步骤如下:

1. 安装vsftpd

首先,确保你的系统已经安装了vsftpd。如果没有安装,可以使用以下命令进行安装:

sudo apt-get update
sudo apt-get install vsftpd

2. 配置vsftpd

编辑vsftpd的配置文件 /etc/vsftpd.conf,进行必要的配置。

sudo nano /etc/vsftpd.conf

在配置文件中,确保以下设置:

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

3. 创建用户和目录

为每个虚拟站点创建一个用户,并设置相应的目录权限。

sudo adduser site1
sudo adduser site2

为每个站点创建一个目录,并设置适当的权限:

sudo mkdir -p /home/site1/www
sudo mkdir -p /home/site2/www
sudo chown -R site1:site1 /home/site1/www
sudo chown -R site2:site2 /home/site2/www
sudo chmod -R 755 /home/site1/www
sudo chmod -R 755 /home/site2/www

4. 配置虚拟主机

编辑vsftpd的虚拟主机配置文件 /etc/vsftpd/virtual_users.conf,添加虚拟主机的配置。

sudo nano /etc/vsftpd/virtual_users.conf

添加以下内容:

[userlist_enable]
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO

[virtual_users]
local_root=/home/site1/www
write_enable=YES
local_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES

[virtual_users]
local_root=/home/site2/www
write_enable=YES
local_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES

5. 创建用户列表

创建一个用户列表文件 /etc/vsftpd/user_list,并列出所有允许访问的虚拟主机用户。

sudo nano /etc/vsftpd/user_list

添加用户名:

site1
site2

6. 重启vsftpd服务

保存并关闭所有配置文件后,重启vsftpd服务以应用更改。

sudo systemctl restart vsftpd

7. 配置防火墙

确保防火墙允许FTP流量。

sudo ufw allow 21/tcp
sudo ufw allow 990/tcp  # FTPS
sudo ufw allow 40000:50000/tcp  # Passive mode ports
sudo ufw reload

8. 测试FTP连接

使用FTP客户端连接到服务器,并测试是否可以访问不同的虚拟站点。

ftp localhost

输入用户名和密码,分别测试 site1site2 的访问权限。

通过以上步骤,你就可以在Linux系统上使用vsftpd搭建多站点虚拟主机了。

0
看了该问题的人还看了