在 Debian 上用 Apache 配置虚拟主机(Virtual Host),一般步骤如下(以 Debian 11/12 为例,Apache 2.4):
sudo a2enmod rewrite
sudo systemctl restart apache2
比如你要建一个站点 example.com:
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R www-data:www-data /var/www/example.com
sudo chmod -R 755 /var/www/example.com
在 /etc/apache2/sites-available/ 下新建配置文件:
sudo nano /etc/apache2/sites-available/example.com.conf
内容示例(最基础):
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
sudo a2ensite example.com.conf
禁用默认站点(可选):
sudo a2dissite 000-default.conf
sudo apache2ctl configtest
sudo systemctl restart apache2
看到 Syntax OK 就说明配置没问题。
修改本机 hosts(仅本机生效):
sudo nano /etc/hosts
添加:
127.0.0.1 example.com
浏览器访问:
http://example.com
使用 Let’s Encrypt:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com
sites-available:配置文件存放sites-enabled:已启用的站点(软链接)a2ensite / a2dissite:启用 / 禁用站点如果你是要配置多个域名、端口虚拟主机或 SSL 单独配置,可以告诉我具体需求。