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

相关推荐

  • 无线网络的DNS服务器是多少,怎么设置?

    无线网络没有固定的DNS服务器,它由运营商自动分配,但用户可通过手动配置公共DNS(如114.114.114.114、8.8.8.8)或专业DNS服务来提升解析速度与安全性,理解DNS在无线网络中的角色DNS(域名系统)负责将域名转换为IP地址,是网络访问的底层翻译,在无线网络(Wi-Fi或移动数据)中,DNS……

    2026年8月19日
    900
  • 陕西西安电信DNS服务器地址是多少,怎么设置?

    陕西西安电信的DNS服务器地址主要是219.146.0.130和219.146.0.131,备用地址包括61.134.1.4等,配置时建议优先使用本地运营商提供的DNS以保证解析速度和稳定性,陕西西安电信DNS的具体地址是多少陕西西安电信的DNS服务器属于中国电信陕西省网络规划的一部分,主要服务于省内宽带用户和……

    2026年8月22日
    1800
  • 10M带宽服务器到底能支持多少人同时在线,怎么计算?

    10M带宽的服务器,在合理优化和典型应用场景下,大约能支撑100至200人同时在线,实际数字受页面大小、请求频率和应用架构影响极大,带宽与并发数的计算逻辑要理解10M带宽能承载多少人,先得把带宽换算成直观的传输速度,10Mbps(兆比特每秒)等于1.25MB/s(兆字节每秒),每个用户访问时,会下载HTML、C……

    2026年8月2日
    1500
  • Linux RTF文件怎么打开?, 如何转换Word文档?

    在Linux系统中处理RTF文件,你无需依赖笨重的办公套件,仅通过几行简单的命令即可高效完成查看、转换与编辑,在Linux下打开RTF文件的几种方法RTF(Rich Text Format)作为一种跨平台文档格式,在Linux上打开它的方式远比想象中丰富,无论你是想快速查看内容,还是进行后续编辑,都有对应的工具……

    2026年7月22日
    500
  • 邮件服务器一年要花多少钱,企业邮箱购买价格是多少?

    一个邮件服务器多少钱?答案很直接:从每年几百元的云托管方案,到数万元的自建机房,价格区间极大,多数中小企业的实际支出在每年500元到5000元之间,选择哪种方案,取决于你的用户规模、预算上限和安全要求,下面会把自建、租用云主机、购买企业邮箱三条路线的真实成本逐一算清楚,帮你做出适合自己的决定,三种方案的价格全景……

    2026年9月18日
    200
  • 用友T3服务器端口是多少,默认端口号是什么?

    用友T3服务器端口默认是4630,数据库端口通常是1433, 无论是做防火墙放行、路由器端口映射,还是排查客户端连接不上服务器的问题,这两个端口号都是最先要确认的基础信息,下面把端口相关的配置细节、排查步骤和常见问题一次性讲清楚,用友T3端口到底有哪些用友T3不是简单的单端口软件,它由应用服务和数据库服务两部分……

    2026年8月26日
    600
  • 配台服务器要多少钱?租用和购买价格差多少?

    配台服务器多少钱一台?入门级物理服务器月租通常几百元起,企业级多核高配在数千元到上万元区间,具体价格由CPU、内存、存储、带宽和机房资质共同决定, 如果你正在为业务挑选服务器,先别急着比价,搞清楚配置基线和服务商资质,才能避免为用不上的性能买单,配台服务器多少钱一台:配置决定价格基线把服务器拆开看,价格主要由四……

    2026年9月16日
    100
  • 美团服务器一年到底多少钱,怎么选配置更划算?

    影响服务器成本的核心变量美团服务器一年成本取决于业务规模、技术架构和部署方式,业界估算其每年基础设施投入在数亿元级别,但对于成长型企业,通过合理选择云服务商,完全可以将服务器成本控制在每年数千元至数十万元区间,业务规模与流量峰值美团作为综合性平台,高峰期并发请求量极大,其服务器集群必须支撑海量交易、配送调度和实……

    2026年8月22日
    400
  • Linux重启init是什么?linux系统重启init进程详解

    Linux 重启 init 的核心机制是通过改变系统运行级别(Runlevel)或目标状态(Target),由 init 进程(通常是 systemd)接管并有序终止或启动服务,从而实现系统状态的平滑切换,在 Linux 系统的日常运维中,重启不仅仅是按下电源键那么简单,它涉及复杂的进程管理、文件系统挂载以及网……

    2026年7月6日
    6000
  • 如何连接服务器主机的IP地址,怎样查看服务器IP?

    连接服务器主机所需的IP地址,本质上是这台服务器在网络中的唯一门牌号,通常由服务商在开通资源时分配,你可以在云控制台或服务器系统内直接查到,很多朋友第一次接触服务器时,最懵的就是“IP地址到底在哪看”,其实这就像你租了一间远程办公室,房东得告诉你地址才能进去办公,下面我分情况说清楚,看完你就能自己操作,获取服务……

    2026年9月7日
    400

发表回复

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