Linux Apache教程哪里学?Apache配置虚拟主机详解

这是一份为您准备的 Linux 下 Apache Web 服务器完整教程,本教程涵盖了从安装、基础配置、虚拟主机设置到安全优化的全过程。

前置假设:您使用的是常见的 Linux 发行版(如 Ubuntu/Debian 或 CentOS/RHEL)。
权限要求:大部分操作需要 root 权限或使用 sudo。

Linux实验10 Apache服务器配置
加载中
Linux实验10 Apache服务器配置

第一步:安装 Apache

Ubuntu / Debian 系统

打开终端,执行以下命令:

# 更新软件包列表
sudo apt update
# 安装 Apache2
sudo apt install apache2
# 启动 Apache 并设置开机自启
sudo systemctl start apache2
sudo systemctl enable apache2

CentOS / RHEL / Fedora 系统

# 安装 httpd (CentOS 7+ 使用 httpd)
sudo yum install httpd   # 或 sudo dnf install httpd
# 启动 Apache 并设置开机自启
sudo systemctl start httpd
sudo systemctl enable httpd

第二步:验证安装

安装完成后,您可以通过浏览器访问服务器的 IP 地址来验证:

http://你的服务器IP地址

如果看到 “It works!” 或 “Apache Test Page”,说明安装成功。

注意:如果无法访问,请检查防火墙设置(见第四步)。


第三步:基本目录结构

了解 Apache 的文件位置至关重要:

系统类型 网站根目录 主配置文件 模块配置目录 日志文件
Ubuntu/Debian /var/www/html /etc/apache2/apache2.conf /etc/apache2/sites-available/ /var/log/apache2/

Linux Apache教程哪里学?Apache配置虚拟主机详解

CentOS/RHEL

/var/www/html/etc/httpd/conf/httpd.conf/etc/httpd/conf.d//var/log/httpd/

第四步:防火墙配置

Apache 使用 80 (HTTP) 和 443 (HTTPS) 端口。

Ubuntu (使用 ufw)

sudo ufw allow 'Apache Full'
sudo ufw reload

CentOS (使用 firewalld)

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

第五步:配置虚拟主机 (Virtual Hosts)

这是最实用的功能,允许在一台服务器上托管多个网站。

以 Ubuntu 为例:

  1. 创建网站目录:

    sudo mkdir -p /var/www/example.com/html
    sudo chown -R $USER:$USER /var/www/example.com/html
    sudo chmod -R 755 /var/www/example.com
  2. 创建测试页面:

    sudo nano /var/www/example.com/html/index.html
    <html>
      <head><title>Welcome to Example.com!</title></head>
      <body><h1>Success! The example.com virtual host is working!</h1></body>
    </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/html
        <Directory /var/www/example.com/html>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
        CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
    </VirtualHost>

    Linux Apache教程哪里学?Apache配置虚拟主机详解

  4. 启用站点并禁用默认站点:

    sudo a2ensite example.com.conf
    sudo a2dissite 000-default.conf
  5. 测试配置并重载 Apache:

    sudo apache2ctl configtest
    # 如果输出 Syntax OK,则执行:
    sudo systemctl reload apache2

CentOS 用户:在 /etc/httpd/conf.d/ 下创建 .conf 文件,内容类似,无需 a2ensite 命令,直接重启 httpd 即可。


第六步:常用管理命令

# 启动 Apache
sudo systemctl start apache2   # Ubuntu
sudo systemctl start httpd     # CentOS
# 停止 Apache
sudo systemctl stop apache2
# 重启 Apache (应用配置更改)
sudo systemctl restart apache2
# 重载 Apache (不中断现有连接)
sudo systemctl reload apache2
# 检查 Apache 状态
sudo systemctl status apache2
# 测试配置文件语法
sudo apache2ctl configtest     # Ubuntu
sudo httpd -t                  # CentOS

第七步:安装 PHP 支持 (LAMP 栈)

Apache 本身只处理静态 HTML,要运行 PHP 应用(如 WordPress),需安装 PHP 模块。

Ubuntu:

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

CentOS:

sudo yum install php php-mysqlnd
sudo systemctl restart httpd

测试 PHP:
在 /var/www/html/ 下创建 info.php:

<?php phpinfo(); ?>

访问 http://你的IP/info.php 查看 PHP 信息,测试后建议删除该文件以确保安全。


第八步:安全优化建议

  1. 隐藏版本信息:
    编辑主配置文件,添加:

    ServerTokens Prod
    ServerSignature Off
  2. 禁止目录浏览:
    确保 Options 中没有 Indexes,或显式关闭:

    Linux Apache教程哪里学?Apache配置虚拟主机详解

    Options -Indexes
  3. 使用 HTTPS (SSL/TLS):
    强烈建议安装 SSL 证书,推荐使用 Let’s Encrypt 免费证书:

    # 安装 certbot
    sudo apt install certbot python3-certbot-apache  # Ubuntu
    sudo yum install certbot python3-certbot-apache  # CentOS
    # 自动配置 SSL
    sudo certbot --apache -d example.com -d www.example.com
  4. 限制访问:
    通过 .htaccess 或配置文件限制特定 IP 或路径的访问。


常见问题排查

问题 可能原因 解决方案
403 Forbidden 权限错误 检查文件所有者和权限 (chown, chmod)
404 Not Found 路径错误 检查 DocumentRoot 和文件是否存在
500 Internal Server Error 配置错误/PHP 错误 查看错误日志 (/var/log/apache2/error.log)
无法访问网站 防火墙/SELinux 检查防火墙规则或 SELinux 状态 (setenforce 0 测试)

下一步学习建议

  1. 学习 Nginx:对比 Apache 和 Nginx 的优缺点。
  2. 配置反向代理:使用 Apache 作为前端,后端连接 Node.js 或 Python 应用。
  3. 自动化部署:结合 Git 和 CI/CD 工具实现自动部署。

如果您有具体的配置需求(如配置 HTTPS、反向代理、负载均衡等),欢迎继续提问!

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/linux-apache%e6%95%99%e7%a8%8b%e5%93%aa%e9%87%8c%e5%ad%a6%ef%bc%9fapache%e9%85%8d%e7%bd%ae%e8%99%9a%e6%8b%9f%e4%b8%bb%e6%9c%ba%e8%af%a6%e8%a7%a3/

赞 (0)
Python国家是什么?Python国家有哪些
上一篇 2026年7月12日 01:48
python -u参数作用是什么,python运行参数-u详解
下一篇 2026年7月12日 01:50

相关推荐

  • top怎么看有多少个CPU,Linux如何查看CPU核数?

    在Linux服务器上,使用top命令后直接按数字键1,即可在顶部概览区查看到当前服务器的逻辑CPU数量及每个核心的实时负载情况,这是运维排查性能问题时最直观、最常用的核心操作,下面详细拆解top命令的CPU信息读取逻辑,并延伸到物理核、逻辑核的深层判断方法,用top命令快速定位CPU核数:从入门到精通很多新手在……

    2026年10月2日
    000
  • 50CPU服务器到底能存多少数据?, 存储空间怎么选?

    一台50核CPU的服务器并非孤立存在的硬件,它的实际数据存储能力并非由CPU核心数量决定,而是由其搭配的内存容量、硬盘类型与数量,以及RAID配置共同决定的,一台配备双路高密度存储方案的综合型服务器,可轻松承载数十TB至数百TB的数据量;而在典型的企业级配置下,以50核CPU为核心的服务器,其数据存储量通常在1……

    2026年8月29日
    600
  • 服务器主频一般是多少,服务器主频多少才算好

    服务器主频一般落在2.0GHz至3.5GHz之间,具体数值取决于用途——Web前端、数据库、计算密集型任务各自有截然不同的最佳频率区间,买服务器盯着“频率越高越好”是新手思维,核数与主频的平衡才是真正的选购核心,先搞清楚主频是什么:它在服务器里扮演什么角色服务器主频,也就是CPU的时钟频率,决定了处理器每秒能执……

    2026年10月10日
    100
  • 天空之境服务器号到底是多少,天空之境服务器怎么进?

    “天空之境服务器号多少”没有统一数字:游戏看登录界面的区服编号,云服务器看控制台实例ID,托管看机柜/U位和IP段,先分清你问的是哪一类,再去对应入口查,才不会在论坛里被旧号带偏,为什么“天空之境服务器号”没有一个固定答案很多人把“服务器号”当成一串通用密码,实际在运维和游戏运营里,它至少对应三种东西,据工信部……

    相关资讯 2026年11月5日
    000
  • 一套财务帐套服务器多少钱,价格行情怎么样?

    财务帐套服务器的价格区间跨度非常大,但多数中小企业的真实花费集中在每年2000元至2万元之间,具体由财务软件类型、并发用户数和数据量决定,一个典型的用友T3或金蝶KIS迷你版帐套,2核4G配置、50G数据盘、3M带宽的云服务器,年付成本通常在1500元至3000元;如果是金蝶云星空或用友U8 Cloud这类需要……

    2026年10月10日
    100
  • 云服务器电脑租赁多少钱?,一年费用大概多少?

    云服务器电脑租赁的价格没有一个固定的“一口价”,但按当前主流市场行情,常规办公配置的月租成本普遍在几十元到两三百元之间,高性能图形工作站或游戏级配置则从每月数百元到上千元不等,长期租约、配置高低和是否包含带宽与运维服务,是决定最终费用的三大核心变量,为什么越来越多企业选择按月租云电脑过去公司给员工配电脑,是一次……

    2026年10月8日
    200
  • Linux和cmd哪个好用?Linux常用命令大全

    Linux和CMD的核心区别在于底层架构与开放程度:Linux基于Unix内核,拥有强大的命令行生态和极高的安全性,适合服务器开发与高级运维;CMD则是Windows内置的命令提示符,界面简单直观,主要服务于日常系统维护和轻量级任务,两者并非替代关系,而是针对不同使用场景的最佳工具,底层逻辑与交互体验的本质差异……

    2026年7月4日
    18600
  • 租网络服务器多少一年

    租用网络服务器一年的费用大致在几百元到数万元之间,具体取决于配置、带宽、机房等级和计费模式;入门级云服务器年付约300-2000元,物理服务器年付约5000-30000元,高性能GPU服务器年付则可能超过5万元,租网络服务器,价格到底差在哪先别急着看数字,你得明白一件事:网络服务器不是标品,同一个“服务器”三个……

    2026年9月2日
    500
  • 戴尔R740深度是多少?,R740服务器深度尺寸参数多少

    戴尔PowerEdge R740服务器的深度为735.5毫米(含挡板),不含挡板时为707毫米,这是2U机架式服务器安装部署前必须确认的第一物理尺寸,很多采购者在选型时只关注CPU核数和内存容量,忽略了机柜深度这个”最后一厘米”的硬约束,导致设备运到现场才发现前后导轨行程不够、线缆管理空间不足,本文从机柜适配……

    相关资讯 2026年10月21日
    100
  • app服务器租用一年大概要多少钱,哪家便宜?

    APP服务器租用一年的费用通常在几百元到数万元之间,具体取决于配置、带宽、机房级别和服务商资质,中小型APP年预算普遍集中在2000元至20000元区间,作为从业十余年的IDC服务商,我每天都会遇到创业者问同一个问题:“做个APP,服务器一年到底要花多少钱?”这个问题看似简单,但答案却藏在你的业务阶段、用户规模……

    2026年8月28日
    800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注