温馨提示×

ubuntu apache2如何设虚拟

小樊
47
2026-09-14 09:16:16
栏目: 云计算

你是指 Ubuntu + Apache2 配置虚拟主机(Virtual Host) 吧?下面给你一份最常用的完整步骤(以域名 example.com 为例)。


一、启用必要的模块(一般默认已启用)

sudo a2enmod rewrite
sudo systemctl restart apache2

二、创建网站目录

sudo mkdir -p /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/example.com
sudo chmod -R 755 /var/www/example.com

三、创建测试页面

nano /var/www/example.com/public_html/index.html

内容示例:

<!DOCTYPE html>
<html>
<body>
<h1>example.com 虚拟主机测试成功</h1>
</body>
</html>

四、创建虚拟主机配置文件

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 systemctl reload apache2

六、本地测试(无域名时)

编辑本地 hosts 文件:

sudo nano /etc/hosts

添加:

127.0.0.1 example.com

浏览器访问:

http://example.com

七、常见扩展

1️⃣ 配置 HTTPS(Let’s Encrypt)

sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com

2️⃣ 多虚拟主机

重复以上步骤,使用不同:

  • 目录
  • ServerName
  • 配置文件名

如果你是指:

  • 本地多个项目
  • Docker / PHP / Laravel
  • 端口虚拟主机
  • FTP 用户隔离

可以告诉我,我给你对应方案。

0