温馨提示×

ubuntu apache配置步骤

小樊
33
2025-12-28 18:52:08
栏目: 智能运维

Ubuntu 上 Apache 配置步骤

一 安装与启动

  • 更新软件包索引并安装 Apache2:
    • sudo apt update
    • sudo apt install apache2
  • 启动并设置开机自启:
    • sudo systemctl start apache2
    • sudo systemctl enable apache2
  • 检查运行状态:
    • sudo systemctl status apache2
  • 验证:在浏览器访问服务器 IP 或域名,应看到 Apache 默认欢迎页。

二 防火墙放行

  • 使用 UFW 放行 Web 访问:
    • 同时放行 HTTP/HTTPS:sudo ufw allow ‘Apache Full’
    • 仅放行 HTTP:sudo ufw allow ‘Apache’
    • 仅放行 HTTPS:sudo ufw allow ‘Apache Secure’
  • 查看状态:sudo ufw status

三 目录与权限

  • 默认网站根目录:/var/www/html(可直接放置文件测试)。

  • 自定义站点目录示例(/var/www/example.com):

    • 创建目录:sudo mkdir -p /var/www/example.com
    • 写入测试页:echo “

      Hello Example

      ” | sudo tee /var/www/example.com/index.html
    • 推荐权限(开发/单机):
      • sudo chown -R $USER:$USER /var/www/example.com
      • sudo chmod -R 755 /var/www/example.com
    • 生产环境常用(以 www-data 运行):
      • sudo chown -R www-data:www-data /var/www/example.com
      • sudo find /var/www/example.com -type d -exec chmod 755 {} ;
      • sudo find /var/www/example.com -type f -exec chmod 644 {} ;

四 虚拟主机配置

  • 创建配置文件:
    • sudo nano /etc/apache2/sites-available/example.com.conf
  • 示例配置(基于名称的虚拟主机,端口 80):
    <VirtualHost *:80>
        ServerAdmin webmaster@example.com
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot /var/www/example.com
    
        <Directory /var/www/example.com>
            Options Indexes FollowSymLinks
            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/ssl):sudo a2enmod rewrite;sudo a2enmod ssl
  • 使配置生效:
    • 平滑重载:sudo systemctl reload apache2
    • 或重启:sudo systemctl restart apache2
  • 说明:Ubuntu 的站点配置位于 /etc/apache2/sites-available//etc/apache2/sites-enabled/,通过 a2ensite/a2dissite 管理启用状态。

五 启用 HTTPS 与常见问题

  • 使用 Let’s Encrypt 自动申请并配置 SSL:

    • 安装 Certbot 与 Apache 插件:sudo apt install certbot python3-certbot-apache
    • 获取并安装证书(同时处理 example.comwww.example.com):
      • sudo certbot --apache -d example.com -d www.example.com
    • 按提示选择是否重定向 HTTP→HTTPS,证书将自动续期。
  • 常用排错与验证

    • 语法检查:sudo apache2ctl configtest
    • 查看错误日志:sudo tail -f /var/log/apache2/error.log
    • 目录权限要点:确保 DocumentRoot 及其上级目录对 www-data 有读取权限,目录建议 755、文件 644
    • DNS 要求:将域名 A/AAAA 记录指向服务器 IP,否则无法通过域名访问。

0