温馨提示×

Debian LAMP如何添加虚拟主机

小樊
36
2026-10-01 20:12:28
栏目: 云计算

在 Debian 上搭建好 LAMP(Linux + Apache + MySQL/MariaDB + PHP)环境后,添加**Apache 虚拟主机(Virtual Host)**一般按以下步骤操作。下面以 Apache2 为例,假设你要添加一个站点 example.com,网站目录为 /var/www/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

测试用首页(可选):

echo "<h1>example.com works</h1>" | sudo tee /var/www/example.com/public_html/index.html

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

Apache 虚拟主机配置位于:

  • 可用配置:/etc/apache2/sites-available/
  • 已启用配置:/etc/apache2/sites-enabled/

创建配置文件:

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>

如果使用 PHP,确保已启用 php 模块(通常 LAMP 已配置好)


三、启用虚拟主机

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(可选,推荐)

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

常见补充

1. 多个虚拟主机

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

  • 域名
  • 目录
  • 配置文件名

2. 指定端口(非 80)

修改 <VirtualHost *:PORT> 并在 ports.conf 中监听端口

3. 权限问题

确保:

sudo chown -R www-data:www-data /var/www

如果你用的是 Nginx 或 Debian 12 + PHP 8.x,或者需要多 PHP 版本,可以告诉我,我可以给你更具体的配置。

0 踩