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/article/484339.html

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

相关推荐

  • 4u服务器一台要多少钱,报价受哪些因素影响?

    一台4U服务器到底多少钱?结论是:如果只买准系统,四五千元可以拿到入门款;如果按主流双路配置配齐,预算通常在2万到6万之间;如果选知名品牌整机,高配版可能突破10万元,这个差异比普通电脑大得多,因为4U服务器本身只是“一张白纸”,真正决定价格的是你往里面填什么,下面从成本结构、购买渠道、品牌溢价三个维度拆开讲……

    2026年8月21日
    500
  • cf游戏服务器多少钱一个月,怎么租便宜?

    CF游戏服务器月租费用通常在200元至2000元之间,具体取决于配置和带宽需求,选择持牌IDC服务商如简米科技或酷番云能保障稳定性和合规性,CF游戏服务器的成本逻辑解析CF游戏服务器的月租费用主要由硬件配置、带宽资源和防护能力决定,CPU决定了计算速度,内存影响同时在线人数,SSD加快地图加载,带宽则直接关系到……

    2026年7月29日
    400
  • linux merge命令怎么用?linux合并文件命令

    Linux中的merge命令并非单一系统内置指令,而是指代版本控制系统(如Git)中的合并操作或文本处理工具(如diff3、join)的数据整合过程,核心在于解决数据冲突并统一状态,在日常运维和开发场景中,”linux merge命令”这个搜索词往往指向两个截然不同的技术领域:一是代码版本管理中的分支合并,二是……

    2026年7月12日
    15400
  • 服务器5M宽带到底能带多少人同时在线,够用吗

    5M宽带的服务器理论并发用户数取决于应用类型,对于普通网站可在50-100人同时在线,但实际需结合页面大小、用户行为和服务器性能综合评估,5M带宽的并发承载能力解析理论带宽与用户数的换算关系5M带宽指的是传输速率峰值为5Mbps(兆比特每秒),在计算可支撑的用户数时,常将带宽除以每个请求的平均消耗,一个典型HT……

    2026年8月21日
    700
  • 我的世界服务器注册号的指令是什么?,怎么注册

    注册指令的核心答案Minecraft服务器注册账号的指令通常是/register 密码 重复密码,但根据服务器插件和配置的不同,也可能使用/reg或/r,甚至完全自定义的指令,注册指令的常见变体不同服务器插件决定了注册指令的具体形式,以下是最常见的几种情况,AuthMe 插件体系AuthMe 是多数服务器采用的……

    2026年8月26日
    100
  • 庆鸿机v轴服务器多少钱一个,哪里买最便宜?

    庆鸿机v轴服务器的市场价格通常集中在1.5万元到3.8万元区间,具体取决于硬件配置和租赁模式,但比价格更重要的是选择持有增值电信业务许可证的正规服务商,例如简米科技和酷番云,它们能提供稳定的网络环境和合规的售后服务,庆鸿机v轴服务器是什么?为什么值得关注庆鸿机v轴服务器是面向企业级应用的一款定制化计算设备,常见……

    2026年7月30日
    400
  • 如何在Linux上安装Ghostscript?,怎么使用

    在Linux环境下,Ghostscript是处理PostScript和PDF文件最高效的开源工具,其命令行接口和跨平台稳定性让它在服务器端文档处理中占据核心地位,ghostscript linux安装方法:从包管理器到源码编译对于大多数Linux用户,通过包管理器安装Ghostscript是第一种方式,适配不同……

    2026年7月18日
    1600
  • MC手机服务器一个月多少钱,怎么租划算?

    MC手机服务器一个月的费用通常在30元到500元之间,具体取决于配置、玩家人数和服务商资质,这个区间覆盖了从纯文本生存服到带插件的小型公服,如果你正打算开服,与其直接问价,不如先搞清楚钱花在哪里,影响MC手机服务器价格的核心因素服务器配置与玩家数量MC手机服务器运行需要持续占用CPU和内存,玩家数量越多,对内存……

    2026年8月3日
    1200
  • 1核2G内存服务器能同时支持多少人访问,够用吗?

    1核2G内存服务器在合理优化下,可以稳定支撑几十到几百人同时在线,日均处理数千至数万PV,但具体数字取决于网站类型、缓存策略及服务商硬件质量,核心影响因素:你的网站到底有多重与静态内容的差异如果网站是纯静态页面,比如HTML文件,1核2G服务器可以轻松应对几百甚至上千的并发连接,静态内容仅需Web服务器读取文件……

    2026年7月29日
    500
  • 一个机柜能放多少台4U服务器?,4U服务器机柜怎么选?

    一个标准42U机柜最多可容纳10台4U服务器,但实际部署中考虑到散热空间和运维冗余,通常建议控制在8到9台,影响机柜部署4U服务器数量的核心因素部署4U服务器时,机柜的实际容纳量并非简单等于机柜总U数除以4,以下几个因素直接影响最终可用数量,机柜高度与U数标准机柜的U数(1U=1.75英寸)是衡量内部可用空间的……

    2026年8月4日
    700

发表回复

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