温馨提示×

ubuntu apache2怎么配虚拟机

小樊
53
2026-10-05 05:06:04
栏目: 云计算

你应该是想问 Ubuntu + Apache2 如何配置虚拟主机(Virtual Host,俗称“虚拟机/站点”)。下面给你一个从零开始、可直接照做的流程。


一、前提

  • 系统:Ubuntu(20.04 / 22.04 都适用)
  • 已安装 Apache2
sudo apt update
sudo apt install apache2

二、示例目标

假设我们要建一个站点:

  • 域名:example.local
  • 网站目录:/var/www/example
  • 访问方式:本机或局域网浏览器

三、创建网站目录

sudo mkdir -p /var/www/example
sudo chown -R $USER:www-data /var/www/example
sudo chmod -R 755 /var/www/example

写一个测试页面:

echo "<h1>Hello Apache Virtual Host</h1>" | sudo tee /var/www/example/index.html

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

sudo nano /etc/apache2/sites-available/example.conf

写入以下内容:

<VirtualHost *:80>
    ServerAdmin admin@example.local
    ServerName example.local
    DocumentRoot /var/www/example

    <Directory /var/www/example>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example_error.log
    CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>

保存退出。


五、启用站点

sudo a2ensite example.conf
sudo a2dissite 000-default.conf   # 可选:关闭默认站点
sudo systemctl reload apache2

六、配置本地解析(无真实域名时)

本机测试

sudo nano /etc/hosts

添加:

127.0.0.1 example.local

浏览器访问:

http://example.local

局域网其他电脑访问

在那台电脑的 hosts 里加:

你的UbuntuIP example.local

七、常见问题

1. 403 Forbidden

  • 目录权限不对
  • <Directory> 没加 Require all granted

2. 站点不生效

sudo apache2ctl configtest
sudo systemctl restart apache2

3. 想用 HTTPS

sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d example.local

八、一个服务器多个站点

重复:

  • 新建目录
  • 新建 xxx.conf
  • a2ensite xxx.conf

如果你说的是 “虚拟机(VM)+ Apache”(比如 KVM / VirtualBox),或者 Docker 里的 Apache,也可以告诉我,我给你对应方案。

0 踩