温馨提示×

怎么设置ubuntu apache2

小樊
56
2026-07-17 11:44:05
栏目: 智能运维

下面按从零开始的方式,给你一个Ubuntu 上配置 Apache2 的完整流程(适用于 Ubuntu 20.04 / 22.04 / 24.04)。


一、安装 Apache2

sudo apt update
sudo apt install apache2 -y

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


二、检查 Apache 状态

sudo systemctl status apache2

看到 active (running) 说明运行正常。

常用命令:

sudo systemctl start apache2    # 启动
sudo systemctl stop apache2     # 停止
sudo systemctl restart apache2  # 重启
sudo systemctl reload apache2   # 平滑重载配置

三、防火墙放行(如果有 ufw)

sudo ufw allow 'Apache Full'

或只放行 HTTP / HTTPS:

sudo ufw allow 80
sudo ufw allow 443

四、测试是否成功

浏览器访问:

http://服务器IP

看到 Apache2 Ubuntu Default Page 即成功。


五、网站目录结构(重点)

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

六、配置一个自己的网站(示例)

1️⃣ 创建网站目录

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

2️⃣ 创建测试页面

echo "<h1>Hello Apache2</h1>" > /var/www/example.com/index.html

3️⃣ 创建虚拟主机配置文件

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

内容示例:

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

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

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

4️⃣ 启用站点

sudo a2ensite example.com.conf
sudo systemctl reload apache2

(禁用站点用 a2dissite


七、常用模块开启

✅ 开启 rewrite(非常常用)

sudo a2enmod rewrite
sudo systemctl restart apache2

✅ 开启 SSL(HTTPS)

sudo a2enmod ssl
sudo systemctl restart apache2

八、配置 HTTPS(Let’s Encrypt)

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

会自动:

  • 申请证书
  • 配置 HTTPS
  • 自动续期

九、常见问题排查

❌ 403 Forbidden

sudo chmod -R 755 /var/www/example.com

❌ 页面没变化

sudo systemctl reload apache2

❌ 端口被占用

sudo netstat -tlnp | grep :80

十、你接下来可能需要的

✅ 配置 PHP ✅ 配置 多站点 ✅ 配置 反向代理 ✅ 配置 Apache + Tomcat / Node ✅ 配置 访问控制 / 认证

你可以直接告诉我:

你的具体需求(比如 PHP 网站 / HTTPS / 多域名)
我可以给你更精准的配置方案 ✅

0