CentOS 7安装配置Apache Web

Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

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

安装

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

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

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 地址。 完成后,该行应该看起来像这样:

Listen127.0.0.1:80

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

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

DocumentRoot"/var/www/html"

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

DocumentRoot"/var/mywebsite/html"

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

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

# sample configuration for iptables service
# you can edit this manually oruse system-config-firewall
# please donot ask us to add additional ports/services to thisdefault configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22-j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80-j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

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

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

创建 index.html 文件

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

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

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

启动 Apache

Apache 很容易启动。 当前版本的 Fedora 使用 systemd 。 运行以下命令启动它,然后检查服务器的状态:

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

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

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

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

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

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

[root@testvm1 ~]# lynx localhost

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

HelloWorld

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

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

Hello World

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

HelloWorld

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

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/17273.html

(0)
晴川运维晴川运维
上一篇 2025年10月27日
下一篇 2025年10月27日

相关推荐

  • CentOS 6.6最小安装实战图解

    1. 背景CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat …

    CentOS 2025年10月11日
  • CentOS 7下使用Docker运行.Net Core

    试试在linux(centos 7)下使用Docker运行.Net Core项目,那么今天我们就一起看看如何在Linux下使用Docker运行.Net Core项目吧。 首先在Li…

    CentOS 2025年6月8日
  • CentOS7.2编译安装LNMP

    一、前言 1、环境说明 基础环境linux+Nginx+mysql+php Linux:centos7.2 Nginx:1.10.2 MySQL:5.6.17 PHP:5.5.12…

    CentOS 2025年6月8日
  • CentOS 6.5下ZooKeeper3.4.6集群环境部署及单机部署详解

    【系统】centos 6.5 集群部署 【软件】准备好jdk环境,此次我们的环境是open_jdk1.8.0_101    zookeeper-3.4.6.tar.gz【步骤】1.…

    CentOS 2025年7月11日
  • CentOS 7 mini使用ifconfig实例

    许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是ifconfig(interfaces c…

    CentOS 2025年9月20日
  • CentOS 7.3下KVM安装搭建及使用

    由于公司目前的情况最适合用kvm,(esxi版权问题,openstack麻烦) 废话不多说直接上环境:宿主机:centos Linux release 7.3.1611 (Core…

    CentOS 2025年6月8日
  • CentOS6+Rsync+inotify 数据同步

    centos6+Rsync+inotify 数据同步 一 准备#检测rsync是否已安装rpm -qa rsync#如未按装,执行yum安装yum install -y rsync…

    CentOS 2025年6月8日
  • CentOS 6.4安装后Atheros AR8161/AR8162网卡驱动问题解决

    centos 6.4物理机安装后Atheros AR8161/AR8162网卡驱动问题,只为后来者不要再被虐,故写此文。 CentOS 6.4装在在物理机上和Win7形成双系统,但…

    CentOS 2025年7月9日
  • CentOS安装MySQL数据库

    一、mysql服务基础 MySQL是一个真正的多线程,多用户的SQL数据库服务,凭借其高性能、高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。 MySQL项目在0…

    CentOS 2025年6月8日
  • Visual Studio Code 配置C/C++环境

    0. 前言 VS Code 是微软发布一款跨平台的源代码编辑器,其拥有强大的功能和丰富的扩展,使之能适合编写许多语言。 本文面向初学者(但不是纯小白),分享一点我配置C/C++的经…

    CentOS 2025年6月10日

发表回复

登录后才能评论