温馨提示×

如何设置ubuntu apache虚拟主机

小樊
51
2026-09-11 02:50:38
栏目: 云计算

在 Ubuntu 上配置 Apache 虚拟主机(Virtual Host) 通常用于在同一台服务器上托管多个网站。下面以 Ubuntu 20.04 / 22.04 为例,逐步说明。


一、前提条件

  • 已安装 Ubuntu
  • 已安装 Apache
sudo apt update
sudo apt install apache2

二、创建网站目录

假设你要建一个站点:example.com

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

三、创建测试页面

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

内容示例:

<html>
  <head><title>example.com</title></head>
  <body>
    <h1>Welcome to example.com</h1>
  </body>
</html>

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

Apache 虚拟主机配置文件位于:

/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

六、检查配置并重启 Apache

sudo apache2ctl configtest
sudo systemctl restart apache2

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

修改本地 hosts 文件(仅本机生效):

Linux / macOS

sudo nano /etc/hosts

添加:

127.0.0.1 example.com

Windows

C:\Windows\System32\drivers\etc\hosts

浏览器访问:

http://example.com

八、配置 HTTPS(可选,推荐)

使用 Let’s Encrypt:

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

九、常见命令总结

a2ensite   # 启用站点
a2dissite  # 禁用站点
a2enmod    # 启用模块
a2dismod   # 禁用模块

如果你需要:

  • 基于端口的虚拟主机
  • 本地开发环境(如 Laravel / WordPress)
  • Ubuntu + Docker + Apache

可以告诉我具体场景,我可以给你更针对性的配置。

0 踩