阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何配置 Apache Web 服务器

461次阅读
没有评论

共计 4425 个字符,预计需要花费 12 分钟才能阅读完成。

学习如何在 Apache 上托管你自己的网站,这是一个可靠、流行且易于配置的 Web 服务器。

我托管自己的网站已经有很多年了。自从 20 多年前从 OS/2 切换到 Linux 以来,我一直将 Apache 作为我的服务器软件。Apache 是可靠、流行的,且基本的安装配置也很容易。对于更复杂的设置(比如多个网站)也并不是那么困难。

Apache Web 服务器的安装和配置必须以 root 身份执行。防火墙的配置也需要以 root 身份执行。使用浏览器查看安装配置的结果应该以非 root 用户的身份完成。(我在我的虚拟主机上使用 student 这个用户。)

安装

注意:我使用的实验环境是安装有 Fedora 27 的虚拟机,Apache 版本为 2.4.29。如果您使用的是不同的发行版或不同版本的 Fedora,您的命令以及配置文件的位置和内容可能会有所不同。但是,您需要修改的配置行是相同的。

Apache Web 服务器非常容易安装。在我的 CentOS 6.x 服务器上,它只需要一个简单的 yum 命令。它会安装所有必要的依赖(如果需要的话)。我在我的 Fedora 虚拟机上使用了下面的 dnf 命令。除了命令本身的名称之外,dnfyum 的语法是相同的。

  1. dnf -y install httpd

这个虚拟机是个非常基础的桌面环境,我正在使用它作为编写书籍的测试平台。即使在这个系统上,也只安装了六个依赖项,用了一分钟。

Apache 的所有配置文件都位于 /etc/httpd/conf/etc/httpd/conf.d。网站的数据默认位于 /var/www,但如果你愿意,你可以改变它。

配置

Apache 主要的配置文件是 /etc/httpd/conf/httpd.conf。它包含许多在基本安装中不需要更改的配置。实际上,只需对此文件进行一些更改即可启动并运行一个简单的网站。该文件非常大,因此,我不会将这篇文章与大量不必要的东西混淆起来,而只会显示那些需要更改的指令。

首先,花点时间熟悉一下 httpd.conf 文件。我喜欢 Red Hat 的一个原因是它的配置文件注释非常的详细。httpd.conf 文件也不例外,因为它有很好的注释。可以使用这些注释来了解文件的配置。

第一个要修改的是 Listen 配置项,它定义了 Apache 要监听页面请求的 IP 地址和端口。现在,你只需要使这个网站可以从本地访问,所以使用 localhost 地址。完成后,该行应该看起来像这样:(LCTT 译注:localhost 的 IP 地址是 127.0.0.180 是端口 )

  1. Listen127.0.0.1:80

通过将此配置项设置为 localhost 的 IP 地址,Apache 将只侦听来自本地主机的连接。如果您希望 Web 服务器侦听来自远程主机的连接,则可以使用主机的外部 IP 地址。

DocumentRoot 配置项指定组成网站页面的 HTML 文件的位置。该配置项不需要更改,因为它已经指向标准位置。该行应该看起来像这样:

  1. DocumentRoot"/var/www/html"

Apache 安装包会创建 /var/www 目录。如果您想更改存储网站文件的位置,则使用此配置项来完成此操作。例如,您可能想要为 www 目录使用不同的名称,以更明确地识别网站。这可以是这样的:

  1. DocumentRoot"/var/mywebsite/html"

这些是创建一个简单网站需要唯一修改的 Apache 配置项。对于这个小练习,只对 httpd.conf 文件(Listen 配置项)进行了一些修改。其它的配置项对于一个简单的 Web 服务器暂时无需配置。

另一个需要改变的地方是:在我们的防火墙中打开端口 80。我使用 iptables 作为我的防火墙,因此我更改 /etc/sysconfig/iptables 文件以添加允许使用 HTTP 协议。整个文件看起来像这样:

  1. # sample configuration for iptables service
  2. # you can edit this manually oruse system-config-firewall
  3. # please donot ask us to add additional ports/services to thisdefault configuration
  4. *filter
  5. :INPUT ACCEPT [0:0]
  6. :FORWARD ACCEPT [0:0]
  7. :OUTPUT ACCEPT [0:0]
  8. -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  9. -A INPUT -p icmp -j ACCEPT
  10. -A INPUT -i lo -j ACCEPT
  11. -A INPUT -p tcp -m state --state NEW -m tcp --dport 22-j ACCEPT
  12. -A INPUT -p tcp -m state --state NEW -m tcp --dport 80-j ACCEPT
  13. -A INPUT -j REJECT --reject-with icmp-host-prohibited
  14. -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  15. COMMIT

我在文件的倒数第三行上添加了一个新行,它允许在端口 80 上输入流量。现在我重新加载 iptables 配置文件。

  1. [root@testvm1 ~]#cd/etc/sysconfig/; iptables-restore iptables

创建 index.html 文件

index.html 文件是你使用域名访问网站而不是访问特定网页时的默认文件。在 /var/www/html 中,创建一个名字为 index.html 的文件,在其中添加字符串 Hello World。你不需要添加任何的 HTML 标志去完成这项工作。web 服务器的唯一任务是提供文本数据流,服务器不知道数据是什么,也不知道如何呈现它。它只是将数据流传输给请求主机。

保存文件后,将所有权设置为 apache.apache

  1. [root@testvm1 html]#chown apache.apache index.html

启动 Apache

Apache 很容易启动。当前版本的 Fedora 使用 systemd。运行以下命令启动它,然后检查服务器的状态:(LCTT 译注:systemctl 是一个 systemd 工具)

  1. [root@testvm1 ~]#systemctl start httpd
  2. [root@testvm1 ~]#systemctl status httpd
  3. httpd.service -TheApache HTTP Server
  4. Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  5. Active: active (running) since Thu2018-02-0813:18:54 EST;5s ago
  6. Docs:man:httpd.service(8)
  7. Main PID:27107(httpd)
  8. Status:"Processing requests..."
  9. Tasks:213(limit:4915)
  10. CGroup:/system.slice/httpd.service
  11. ├─27107/usr/sbin/httpd -DFOREGROUND
  12. ├─27108/usr/sbin/httpd -DFOREGROUND
  13. ├─27109/usr/sbin/httpd -DFOREGROUND
  14. ├─27110/usr/sbin/httpd -DFOREGROUND
  15. └─27111/usr/sbin/httpd -DFOREGROUND
  16. Feb0813:18:54 testvm1 systemd[1]:StartingTheApache HTTP Server...
  17. Feb0813:18:54 testvm1 systemd[1]:StartedTheApache HTTP Server.

您的服务器上的命令可能不同。在使用 SystemV 启动脚本的 Linux 系统上,命令如下:

  1. [root@testvm1 ~]# service httpd start
  2. Starting httpd:[FriFeb0908:18:072018]          [  OK  ]
  3. [root@testvm1 ~]# service httpd status
  4. httpd (pid  14649)is running...

如果您的主机上有像 Firefox 或 Chrome 这样的浏览器,您可以在浏览器的 URL 行上使用 URL localhost 来显示您的 web 页面,尽管看起来很简单。您还可以使用像 Lynx 这样的文本模式 web 浏览器来查看 web 页面。首先,安装 Lynx (如果它还没有被安装)。

  1. [root@testvm1 ~]# dnf -y install lynx

然后使用下面的命令来显示网页。

  1. [root@testvm1 ~]# lynx localhost

结果在我的终端中是这样的。我已经删除了页面上的很多空白。

  1. HelloWorld
  2. <snip>
  3. Commands:Use arrow keys to move,'?'for help,'q' to quit,'<-' to go back.
  4. Arrow keys:UpandDown to move.Right to follow a link;Left to go back.
  5. H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list```

接下来,编辑您的 index.html 文件并添加一些 HTML 标记,使其看起来像这样:

  1. <h1>Hello World</h1>

现在刷新浏览器。对于 Lynx,使用组合键 Ctrl + R。结果看起来有点不同。如果你的终端支持彩色的话文本是彩色显示的,Lynx 会显示标题,现在它处于居中状态。在 GUI 浏览器中,文本将以大字体显示。

  1. HelloWorld
  2. <snip>
  3. Commands:Use arrow keys to move,'?'for help,'q' to quit,'<-' to go back.
  4. Arrow keys:UpandDown to move.Right to follow a link;Left to go back.
  5. H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

后记

从这个小练习中可以看到,建立一个 Apache Web 服务器很容易。具体情况取决于您的发行版和该发行版提供的 Apache 版本。在我的环境中,这是一个非常简单的练习。

但不仅仅如此,因为 Apache 非常灵活强大。下个月,我将讨论使用单个 Apache 托管多个网站。

via: https://opensource.com/article/18/2/how-configure-apache-web-server

作者:David Both 译者:amwps290 校对:wxy

本文由 LCTT 原创编译,Linux 中国 荣誉推出

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4425字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7978438
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用 AI 做了一个 1978 年至 2019 年中国大陆企业注册的查询网站 最近星哥在 GitHub 上偶然...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...