温馨提示×

Ubuntu下Apache怎么配

小樊
44
2026-07-31 23:14:31
栏目: 智能运维

在 Ubuntu 下配置 Apache(通常指 Apache HTTP Server),下面给你一套从安装到常见配置的完整流程,适合新手和日常使用。


一、安装 Apache

sudo apt update
sudo apt install apache2 -y

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

查看状态:

sudo systemctl status apache2

常用命令:

sudo systemctl start apache2    # 启动
sudo systemctl stop apache2     # 停止
sudo systemctl restart apache2  # 重启
sudo systemctl reload apache2   # 重新加载配置(不中断)

二、防火墙放行(如果启用了 ufw)

sudo ufw allow 'Apache'
# 或
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

查看:

sudo ufw status

三、测试 Apache 是否正常工作

浏览器访问:

http://服务器IP

看到 Apache2 Ubuntu Default Page 即成功。


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

默认站点目录

/var/www/html

默认首页:

/var/www/html/index.html

五、配置虚拟主机(推荐方式)

1️⃣ 新建网站目录

sudo mkdir -p /var/www/example.com/public_html

2️⃣ 新建测试页面

echo "Hello Example" | sudo tee /var/www/example.com/public_html/index.html

3️⃣ 新建虚拟主机配置

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

内容示例:

<VirtualHost *:80>
    ServerAdmin webmaster@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}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

六、启用站点与模块

启用站点

sudo a2ensite example.com.conf

禁用默认站点(可选)

sudo a2dissite 000-default.conf

启用 rewrite(常用)

sudo a2enmod rewrite

重载 Apache

sudo systemctl reload apache2

七、本地 hosts 测试(可选)

如果你没有真实域名,在本地测试:

sudo nano /etc/hosts

添加:

127.0.0.1 example.com

浏览器访问:

http://example.com

八、权限问题(常见坑)

如果访问出现 403 Forbidden

sudo chown -R www-data:www-data /var/www/example.com
sudo chmod -R 755 /var/www/example.com

九、HTTPS(Let’s Encrypt)

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache

证书会自动续期。


十、常用配置路径速查

功能 路径
主配置 /etc/apache2/apache2.conf
虚拟主机 /etc/apache2/sites-available/
启用站点 /etc/apache2/sites-enabled/
模块 /etc/apache2/mods-available/
日志 /var/log/apache2/

如果你有具体需求(比如:PHP、反向代理、多站点、HTTPS、Laravel、WordPress、权限报错),可以直接告诉我,我可以给你定制配置示例

0