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://test.idctop.com/article/484339.html

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

相关推荐

  • 美国圣何塞VPS好用吗?美国VPS推荐原生IP

    OuLuCloud欧路云新上线的美国圣何塞区域VPS,凭借原生美国IP、200G DDoS防御及NEW80优惠码8折福利,是搭建跨境业务的高性价比选择,在跨境出海、海外营销以及数据备份的场景中,服务器节点的选择往往决定了业务的稳定性和访问速度,圣何塞作为硅谷的核心地带,其网络基础设施在全球范围内都享有极高的声誉……

    2026年6月27日
    1600
  • linux crypt函数怎么用?linux crypt函数加密原理

    Linux中的crypt函数并非直接用于日常文件加密,而是系统底层处理用户密码哈希的核心机制,它通过单向算法将明文密码转化为不可逆的密文存储,从而保障账户安全,在Linux系统的安全架构中,密码管理是最后一道防线,许多开发者或系统管理员在初次接触用户认证机制时,往往会被各种加密术语绕晕,理解crypt函数就是理……

    行业资讯 2026年7月12日
    12900
  • 2b2t基岩版服务器最新IP地址是多少?,怎么进

    2b2t服务器基岩版玩家使用最广泛的连接地址是 play.2b2tpe.com,该服务器是独立于原版2b2t的基岩版无政府服务器,保留了原版风格, 对于想直接体验无政府混乱乐趣的基岩版玩家,这是当前最可靠的选择,官方2b2t因协议限制仅支持Java版,但社区通过跨平台插件和独立服务器弥补了这一缺口,2b2t基岩……

    2026年8月5日
    1100
  • 国外CDN云存储空间不足怎么办,如何快速清理释放空间?

    面对国外CDN云存储空间不足怎么办这一棘手问题,核心结论在于建立一套“紧急清理-自动化管理-架构分层”的立体化应对机制,首要任务是立即清除冗余日志与过期缓存以释放紧急空间,紧接着配置生命周期策略实现数据的自动流转,最终通过冷热数据分离架构解决长期扩容与成本平衡问题,这一策略能确保业务连续性的同时,将存储成本控制……

    2026年2月28日
    12800
  • 12T服务器一天能赚多少钱,收益怎么计算才准确

    12T服务器一天能产生的实际收益,通常在80元至500元之间,具体取决于服务器用途、配置和运营策略,这个范围不是凭空捏造,而是基于当前主流IDC市场的租赁价格、带宽成本以及硬件折旧综合推算的结果,一台12T服务器如果单纯用于文件存储,日收益可能偏低;但如果虚拟化成多个云主机实例,或者配合CDN分发,收入就能明显……

    2026年7月29日
    400
  • Linux竞争产生的原因是什么,如何解决?

    Linux在竞争中的核心优势在于其开源生态与高度可定制性,无论是个人开发者还是企业团队,选择Linux意味着拥抱灵活性与成本控制,而这正是现代技术竞争的关键, 从服务器到桌面,从云计算到嵌入式设备,Linux凭借其稳定性、安全性和社区驱动的发展模式,在多个技术领域占据主导地位,理解Linux的竞争格局,能帮助你……

    2026年7月22日
    400
  • 如何查询企业邮箱,企业邮箱账号怎么查

    查询企业邮箱的核心在于精准定位目标域名的邮件服务器记录,并借助专业的在线工具与命令行指令进行验证,最直接且有效的方法是综合运用MX记录查询工具、SMTP协议验证以及企业官网溯源,这三种方式构成了企业邮箱查询的完整闭环,通过系统化的查询流程,不仅能够获取邮箱服务器的具体地址,还能验证邮箱地址的真实有效性,为商务沟……

    2026年3月19日
    13200
  • linux terminal怎么安装?linux终端安装教程

    在 Linux 系统中,“安装终端”通常有两种含义:安装终端模拟器软件(如 GNOME Terminal, Konsole, Terminator 等),因为某些精简版 Linux 可能没有预装,配置或修复终端环境(如安装 zsh、配置 bash、安装字体等),下面我将分别介绍常见情况下的安装方法,请根据你的……

    2026年7月10日
    5000
  • 服务器租用一小时多少钱?,哪个平台最便宜?

    服务器的按小时计费价格,从几毛钱到几十元不等,主要取决于配置、带宽和机房等级,云服务商普遍支持按秒计费,用多少付多少,影响服务器每小时价格的关键因素硬件配置:CPU、内存与硬盘硬件是计费的基础,入门级配置(1核1G)每小时通常0.2-0.5元,适合轻量级测试或个人博客,标准级(2核4G)在0.5-1.5元区间……

    2026年8月24日
    400
  • 1u服务器一天耗电多少度?,电费一个月多少钱?

    一台1U服务器在典型业务负载下,一天耗电量通常在4度到8度之间,具体数值取决于硬件配置、运行负载和机房环境,以一台配备单颗Intel Xeon Silver处理器、64GB内存和2块SSD的服务器为例,在40%至60%负载下,功耗约200W,日耗电约4.8度,若配置更高或满载运行,功耗可达350W以上,日耗电超……

    2026年8月20日
    300

发表回复

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