温馨提示×

如何在Linux FTP服务器上配置虚拟主机

小樊
35
2025-11-05 05:57:27
栏目: 云计算

在Linux FTP服务器上配置虚拟主机可以通过多种方式实现,具体取决于你使用的FTP服务器软件。以下是使用两种常见FTP服务器软件(vsftpd和ProFTPD)配置虚拟主机的步骤:

使用vsftpd配置虚拟主机

  1. 安装vsftpd

    sudo apt-get update
    sudo apt-get install vsftpd
    
  2. 创建虚拟主机配置文件: 在/etc/vsftpd/conf.d/目录下创建一个新的配置文件,例如virtual_hosts.conf

    sudo nano /etc/vsftpd/conf.d/virtual_hosts.conf
    
  3. 添加虚拟主机配置: 在virtual_hosts.conf文件中添加以下内容:

    listen=YES
    listen_ipv6=NO
    userlist_enable=YES
    tcp_wrappers=YES
    connect_from_port_20=YES
    chroot_local_user=YES
    allow_writeable_chroot=YES
    guest_enable=YES
    guest_username=ftpuser
    virtual_use_local_privs=YES
    local_root=/home/vsftpd/$USER
    user_sub_token=$USER
    local_root=/home/vsftpd/$USER
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    
  4. 配置用户和目录: 创建用户并设置其主目录:

    sudo adduser ftpuser
    sudo mkdir -p /home/vsftpd/ftpuser
    sudo chown ftpuser:ftpuser /home/vsftpd/ftpuser
    sudo chmod 755 /home/vsftpd/ftpuser
    
  5. 重启vsftpd服务

    sudo systemctl restart vsftpd
    

使用ProFTPD配置虚拟主机

  1. 安装ProFTPD

    sudo apt-get update
    sudo apt-get install proftpd
    
  2. 创建虚拟主机配置文件: 在/etc/proftpd/conf.d/目录下创建一个新的配置文件,例如virtual_hosts.conf

    sudo nano /etc/proftpd/conf.d/virtual_hosts.conf
    
  3. 添加虚拟主机配置: 在virtual_hosts.conf文件中添加以下内容:

    <VirtualHost *:21>
        ServerName "Virtual Host 1"
        ServerAlias "vhost1.example.com"
        DefaultRoot ~ ftpuser1
        <Directory ~ ftpuser1>
            AllowOverwrite on
            RequireValidShell off
            Umask 022 022
            <Limit ALL>
                AllowUser ftpuser1
                DenyAll
            </Limit>
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:21>
        ServerName "Virtual Host 2"
        ServerAlias "vhost2.example.com"
        DefaultRoot ~ ftpuser2
        <Directory ~ ftpuser2>
            AllowOverwrite on
            RequireValidShell off
            Umask 022 022
            <Limit ALL>
                AllowUser ftpuser2
                DenyAll
            </Limit>
        </Directory>
    </VirtualHost>
    
  4. 配置用户和目录: 创建用户并设置其主目录:

    sudo adduser ftpuser1
    sudo adduser ftpuser2
    sudo mkdir -p /home/vsftpd/ftpuser1
    sudo mkdir -p /home/vsftpd/ftpuser2
    sudo chown ftpuser1:ftpuser1 /home/vsftpd/ftpuser1
    sudo chown ftpuser2:ftpuser2 /home/vsftpd/ftpuser2
    sudo chmod 755 /home/vsftpd/ftpuser1
    sudo chmod 755 /home/vsftpd/ftpuser2
    
  5. 重启ProFTPD服务

    sudo systemctl restart proftpd
    

通过以上步骤,你可以在Linux FTP服务器上配置虚拟主机。请根据你的具体需求和使用的FTP服务器软件进行调整。

0