温馨提示×

如何在Ubuntu配置Apache

小樊
52
2026-08-16 11:59:53
栏目: 智能运维

在 Ubuntu 上配置 Apache(通常指 Apache HTTP Server)可以分为安装、基础配置、虚拟主机、常见优化与安全几个步骤。下面以 Ubuntu 20.04 / 22.04 为例,逐步说明。


一、安装 Apache

1. 更新软件包索引

sudo apt update

2. 安装 Apache

sudo apt install apache2 -y

3. 检查服务状态

sudo systemctl status apache2

常用命令:

sudo systemctl start apache2    # 启动
sudo systemctl stop apache2     # 停止
sudo systemctl restart apache2  # 重启
sudo systemctl enable apache2   # 开机自启

二、验证 Apache 是否工作

在浏览器中访问:

http://服务器IP

如果看到 Apache2 Ubuntu Default Page,说明安装成功。


三、目录结构说明(重要)

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

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

1. 创建网站目录

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

2. 创建测试页面

echo "<h1>Hello Apache</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

5. 禁用默认站点(可选)

sudo a2dissite 000-default.conf

五、启用常用模块

常见模块

sudo a2enmod rewrite   # URL 重写(WordPress 等常用)
sudo a2enmod ssl       # HTTPS
sudo a2enmod headers

启用后重启:

sudo systemctl restart apache2

六、配置 HTTPS(Let’s Encrypt)

1. 安装 Certbot

sudo apt install certbot python3-certbot-apache -y

2. 申请证书

sudo certbot --apache -d example.com -d www.example.com

3. 自动续期测试

sudo certbot renew --dry-run

七、防火墙配置(UFW)

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable

查看状态:

sudo ufw status

八、常见排错

1. 端口被占用

sudo netstat -tulnp | grep :80

2. 配置语法检查

sudo apache2ctl configtest

3. 查看错误日志

tail -f /var/log/apache2/error.log

九、简单安全建议

  • 禁用目录浏览
  • 使用 HTTPS
  • 隐藏 Apache 版本信息
ServerTokens Prod
ServerSignature Off

如果你需要:

  • 配置 PHP + Apache
  • 部署 WordPress
  • 配置反向代理
  • 多站点 / 多端口
  • Ubuntu 18.04 / 22.04 差异

告诉我你的具体需求,我可以给你更精确的配置方案。

0 踩