在Ubuntu上使用FTP服務器實現虛擬主機功能,可以通過多種方式來完成。以下是使用vsftpd
(Very Secure FTP Daemon)和ProFTPD
兩種常見FTP服務器軟件來實現虛擬主機的步驟。
安裝vsftpd
sudo apt update
sudo apt install vsftpd
配置vsftpd
編輯/etc/vsftpd.conf
文件:
sudo nano /etc/vsftpd.conf
確保以下配置項存在并正確設置:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
創建用戶和目錄 創建用于FTP訪問的用戶,并為每個用戶指定一個主目錄:
sudo adduser ftpuser1
sudo adduser ftpuser2
sudo mkdir -p /home/ftpuser1
sudo mkdir -p /home/ftpuser2
sudo chown ftpuser1:ftpuser1 /home/ftpuser1
sudo chown ftpuser2:ftpuser2 /home/ftpuser2
配置虛擬主機
在/etc/vsftpd.conf
中添加虛擬主機配置:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
創建用戶列表文件并添加用戶:
sudo nano /etc/vsftpd.userlist
添加用戶名:
ftpuser1
ftpuser2
重啟vsftpd服務
sudo systemctl restart vsftpd
安裝ProFTPD
sudo apt update
sudo apt install proftpd
配置ProFTPD
編輯/etc/proftpd/proftpd.conf
文件:
sudo nano /etc/proftpd/proftpd.conf
確保以下配置項存在并正確設置:
ServerName "ProFTPD Ubuntu Server"
ServerIdent on "FTP Server ready."
Port 21
UseIPv6 off
SystemLog /var/log/proftpd/proftpd.log
TransferLog /var/log/proftpd/xferlog
LogFormat "%h %l %u %t \"%r\" %>s %b"
LogFormat "%{Referer}i -> %U"
DefaultServer off
DefaultRoot ~
配置虛擬主機 創建虛擬主機配置文件:
sudo nano /etc/proftpd/conf.d/virtualhost.conf
添加虛擬主機配置:
<VirtualHost ftp.example.com>
ServerAdmin webmaster@example.com
DocumentRoot /var/www/html
ServerName ftp.example.com
User ftpuser1
Group ftpuser1
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost ftp.example.org>
ServerAdmin webmaster@example.org
DocumentRoot /var/www/other
ServerName ftp.example.org
User ftpuser2
Group ftpuser2
<Directory /var/www/other>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
重啟ProFTPD服務
sudo systemctl restart proftpd
通過以上步驟,你可以在Ubuntu上使用vsftpd
或ProFTPD
實現FTP虛擬主機功能。根據你的需求選擇合適的FTP服務器軟件,并按照相應的配置步驟進行設置。