在Linux系统上使用vsftpd(Very Secure FTP Daemon)搭建多站点虚拟主机的步骤如下:
首先,确保你的系统已经安装了vsftpd。如果没有安装,可以使用以下命令进行安装:
sudo apt-get update
sudo apt-get install 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
为每个虚拟站点创建一个用户,并设置相应的目录权限。
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
编辑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
创建一个用户列表文件 /etc/vsftpd/user_list
,并列出所有允许访问的虚拟主机用户。
sudo nano /etc/vsftpd/user_list
添加用户名:
site1
site2
保存并关闭所有配置文件后,重启vsftpd服务以应用更改。
sudo systemctl restart vsftpd
确保防火墙允许FTP流量。
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp # FTPS
sudo ufw allow 40000:50000/tcp # Passive mode ports
sudo ufw reload
使用FTP客户端连接到服务器,并测试是否可以访问不同的虚拟站点。
ftp localhost
输入用户名和密码,分别测试 site1
和 site2
的访问权限。
通过以上步骤,你就可以在Linux系统上使用vsftpd搭建多站点虚拟主机了。