温馨提示×

ubuntu apache2如何配域名

小樊
46
2026-09-05 06:39:57
栏目: 云计算

在 Ubuntu 上使用 Apache2 配置域名,一般流程如下(假设你已有域名,并且域名已解析到服务器公网 IP)。


一、前提条件

  1. 已安装 Apache2
sudo apt update
sudo apt install apache2
  1. 域名已解析到服务器 IP(A 记录)
  2. 有服务器 root / sudo 权限

二、创建网站目录

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

测试页面:

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

三、创建 Apache 虚拟主机配置

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>
        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 a2enmod rewrite              # 如用到伪静态

五、检查并重载 Apache

sudo apache2ctl configtest
sudo systemctl reload apache2

此时访问 http://example.com 应能看到页面。


六、(推荐)配置 HTTPS(Let’s Encrypt)

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

自动配置 80 → 443 跳转。


七、常见问题

1. 只能 IP 访问,域名不行

  • 检查域名 DNS 是否生效
ping example.com

2. 403 Forbidden

  • 检查目录权限
  • 检查 <Directory> 配置

3. 多域名

为每个域名新建 sites-available/xxx.confa2ensite


如果你愿意,可以告诉我:

  • 单域名 / 多域名
  • 是否要 HTTPS
  • 是否是 本地测试(局域网)

我可以给你更精确的配置示例。

0