温馨提示×

apache2 ubuntu如何设置

小樊
47
2026-07-17 11:40:04
栏目: 智能运维

下面给你一份在 Ubuntu 上设置 Apache2 的完整入门指南,从安装到常见配置,一步步来。


一、安装 Apache2

sudo apt update
sudo apt install apache2

安装完成后,Apache 会自动启动。

检查状态:

sudo systemctl status apache2

二、防火墙设置(非常重要)

如果启用了 ufw,需要放行 HTTP / HTTPS:

sudo ufw allow 'Apache Full'

查看规则:

sudo ufw status

三、测试 Apache 是否运行

浏览器访问:

http://服务器IP

看到 Apache2 Ubuntu Default Page 即成功。


四、Apache 目录结构说明

路径 作用
/var/www/html 默认网站根目录
/etc/apache2/apache2.conf 主配置文件
/etc/apache2/sites-available/ 虚拟主机配置
/etc/apache2/sites-enabled/ 已启用的站点
/etc/apache2/mods-available/ 可用模块
/etc/apache2/mods-enabled/ 已启用模块

五、修改默认网站首页

sudo vi /var/www/html/index.html

或者新建:

sudo vi /var/www/html/index.php

六、配置虚拟主机(推荐)

1️⃣ 新建站点配置文件

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

示例:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example

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

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

2️⃣ 创建网站目录

sudo mkdir -p /var/www/example
sudo chown -R www-data:www-data /var/www/example

3️⃣ 启用站点

sudo a2ensite example.conf
sudo systemctl reload apache2

七、启用常用模块

URL 重写(伪静态)

sudo a2enmod rewrite
sudo systemctl restart apache2

PHP 支持(如 PHP 8.1)

sudo apt install php libapache2-mod-php
sudo systemctl restart apache2

测试:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

八、常用管理命令

sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl restart apache2
sudo systemctl reload apache2

九、常见问题排查

403 Forbidden

  • 目录权限不对
  • <Directory> 未允许访问

404 Not Found

  • DocumentRoot 路径错误
  • 没启用对应站点

端口冲突

sudo netstat -tulnp | grep :80

十、进阶内容(可继续深入)

  • ✅ HTTPS(Let’s Encrypt)
  • ✅ 多站点配置
  • ✅ 反向代理(Apache 做前端)
  • ✅ 性能优化 / 安全加固

如果你告诉我:

  • Ubuntu 版本
  • 是否配置 HTTPS
  • 是否部署 PHP / Python / 前端项目

我可以给你完全定制的配置方案

0