Apache简介及部署教程

Apache

一、Apache概述

1.1.Apache简介

1.2.Apache的主要特点:

二、Apache部署

2.1.安装Apache

2.2.主要文件及目录

2.3.配置服务器

2.4.常用的配置参数

三、Apache应用

3.1.客户机地址限制

3.2.用户授权访问

3.3构建虚拟web主机

3.3.1.基于域名的虚拟主机 ****

3.3.2.基于端口的虚拟主机

3.3.3.基于IP的虚拟主机

一、Apache概述

1.1.Apache简介

“Apache HTTP Server”是开源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务,在web服务器领域中长期保持着超过半数的份额。Apache服务器可以运行在Linux、UNIX、Windows等多种操作系统平台。

Apache的起源:Apache服务器是针对之前出现的若干个web服务器程序进行整合、完善后形成的软件、其名称来源于“A Patchy Server”,意思是基于原有web服务程序的代码进行修改(补丁)后形成的服务器程序。1995年,Apache服务程序的1.0版本发布,之后一直由Apache Group负责该项目的管理和维护;直到1999年,在Apache Group 的基础上成立了Apache软件基金会(Apache Software Foundation,ASF)。目前,Apache项目一直由ASF负责管理和维护。

ASF是非盈利性质的组织,最初只负责“Apache Web”服务器项目的管理,随着web应用需求的不断扩大,ASF逐渐增加了许多与Web技术相关的开源软件项目,因此Apache现在不仅仅代表着web服务器,更广泛地代表着ASF管理的众多开源软件项目。ASF基金会的官方网站是http://www.apache.org/。Apache HTTP Server 是ASF旗下著名的软件项目之一,其正式名称是httpd,也就是历史上的Apache网站服务器。

1.2.Apache的主要特点:

Apache服务器在功能、性能和安全性等方面的表现都是比较突出的,可以较好地满足Web服务器用户的应用需求。

其主要特点包括以下几个方面:

(1.)开放源代码:

这是Apache服务器的重要特性之一,也是其他特性的基础。Apache服务程序由全世界的众多开发者共同维护,并且任何人都可以自由使用,这充分体现了开源软件的精神。

(2.)跨平台应用:

这个特性得益于Apache的源代码开放。Apache服务器可以运行在绝大多数软件硬件平台上,所有Unix操作系统都可以运行Apache服务器,甚至Apache服务器可以良好地运行在大多数Windows系统平台中。Apache服务器的跨平台特性使其具有被广泛应用的条件。

(3.)支持各种Web编程语言:

Apache服务器可支持的网页编程语言包括Perl、PHP、Python、Java等,甚至微软的ASP技术也可以在Apache服务器中使用。支持各种常用的web编程语言使Apache具有更广泛的应用领域。

(4.)模块化设计:

Apache并没有将所有的功能集中在单一的服务程序内部,而是尽可能地通过标准的模块实现专有的功能,这为Apache服务器带来了良好的扩展性。其他软件开发商可以编写标准的模块程序,从而添加Apache本身并不具有的其他功能。

(5.)运行非常稳定:

Apache服务器可用于构建具有大负载访问量的web站点,很多知名的企业网站都使用Apache作为web服务软件。

(6.)良好的安全性:

Apache服务器具有相对较好的安全性,这是开源软件共同具有的特性。并且,Apache的维护团队会及时对已发现的漏洞提供修补程序,为Apache的所有使用者提供尽可能安全的服务器程序。

二、Apache部署

2.1.安装Apache

1.上传httpd源码包至服务器

2.确认httpd服务是否安装,并安装2.4版本所需依赖包

# rpm -qa httpd

若提示已安装则进行卸载,未安装则直接执行第3步:

# rpm -e httpd --nodeps

# yum install -y apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre gcc gcc-c++ make lrzsz

3.解压并制定解压目录

# tar zxf httpd-2.4.25.tar.gz -C /usr/src/

进入解压目录

# cd /usr/src/httpd-2.4.25/

4.执行配置:

# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

其中选项作用如下:

--prefix:指定将httpd服务程序安装到哪个目录,如/usr/local/httpd。

若不指定安装目录,默认安装在/usr/local/apache2目录下

--enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。

--enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。

--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。

--enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。

5.执行编译以及安装:

# make && make install

6.确认安装成功,进入安装目录查看是否有文件存在

# cd /usr/local/httpd/

# ls

7.优化路径方便管理:

# ln -s /usr/local/httpd/bin/* /usr/local/bin/ //文件链接

# httpd -v //查看当前httpd程序版本

8.设置为开机自启:

centos 7.5:

创建Apache 系统控制文件:

# vim /lib/systemd/system/httpd.service

[Unit]

Description=The Apache HTTP Server

After=httpd.target

[Service]

Type=forking

PIDFile=/usr/local/httpd/logs/httpd.pid

ExecStart=/usr/local/bin/apachectl $OPTIONS

ExecReload=/bin/kill -HUP $MAINPID

KillMode=process:

Restart=on-failure

RestartSec=1s

[Install]

WantedBy=multi-user.target //最小化安装或者桌面版本 /graohical.target

# systemctl daemon-reload //重载systemctl系统

# systemctl enable httpd.service //将httpd服务设置为开机自启

以下两种方法都可查询开机是否启动:

# systemctl list-unit-files | grep httpd.service

# systemctl is-enabled httpd

2.2.主要文件及目录

程序安装目录:/usr/local/httpd/

主配置文件:/usr/local/httpd/conf/httpd.conf

网页目录:/usr/local/httpd/htdocs/

服务脚本:/usr/local/httpd/bin/apachectl

主程序:/usr/local/httpd/bin/httpd

访问日志: /usr/local/httpd/logs/access_log

错误日志: /usr/local/httpd/logs/error_log

2.3.配置服务器

修改主机名

# vim /etc/sysconfig/network

HOSTNAME=www.chengdu.com //修改主机名,用于域名解析,可不更改

在主配置文件中添加主机名:

# vim /usr/local/httpd/conf/httpd.conf

ServerName www.chengdu.com //添加此项

检查配置文件是否正常:

# apachectl -t //提示OK 则正常

启动HTTPD服务:

# systemctl start httpd

查看运行的进程,有进程表示启动成功

# ps aux | grep httpd

修改默认显示网页

# vim /usr/local/httpd/htdocs/index.html

www.chengdu.com //加入此内容

客户机通过服务器IP地址进行访问:

服务器中查看客户机访问日志记录:

# tail /usr/local/httpd/logs/access_log

2.4.常用的全局配置参数

ServerRoot:服务目录

ServerAdmin:管理员邮箱

User:运行服务的用户身份

Group:运行服务的组身份

ServerName:网站服务器的域名

DocumentRoot:网页文档的根目录

Listen:监听的IP地址、端口号

PidFile:保存httpd进程PID号的文件

DirectoryIndex:默认的索引页文件

AddDefaultCharset UTF-8  设置字符集

常用的全局配置参数(续)

ErrorLog:错误日志文件的位置

CustomLog:访问日志文件的位置

LogLevel:记录日志的级别,默认为warn

Timeout:网络连接超时,默认为300秒

KeepAlive:是否保持连接,可选On或Off

MaxKeepAliveRequests:每次连接最多请求文件数

KeepAliveTimeout:保持连接状态时的超时时间

Include:需要包含进来的其他配置文件

三、Apache应用

3.1.客户机地址限制 

Require all granted //允许访问策略

Require all denied //拒绝访问策略

Require local //只允许本地访问

Require [not] host <主机名或域名列表>

Require [not] ip <ip地址或网段列表>

举例1:表示只禁止IP 1.1访问服务

    <RequireAll> //使用"not"需要用到此标签,将该段加入到项目中

           Require not ip 192.168.1.1

           Require all granted

    </RequireAll>

举例2:表示只允许IP 1.0网段和2.0网段访问服务,不需要使用 <RequireAll>标签

            Require ip 192.168.1.0/24 192.168.2.0/24

            Require ip 192.168.1.1/32 192.168.0.0/16

被拒绝的主机连接服务器将会显示403错误

3.2.用户授权访问

认证就是客户端要给服务器出示一些自己的身份证明,来证明自己是谁!一旦服务器知道了客户端的身份,就可以判定客户端可以访问的事务和资源了。 在HTTP中,认证通常是通过提供用户名和密码来进行认证的。

http服务支持两种认证方式:摘要认证(需要模块功能支持,更加安全的方式传递验证信息)、基本认证。

基本认证:基于用户访问控制包括认证和授权,

认证:指识别用户身份的过程

授权:指允许特定用户访问特定目录区域的过程

1.创建用户认证数据文件

# cd /usr/local/httpd

# bin/htpasswd -c /usr/local/httpd/conf/.awspwd webadmin //创建授权访问的用户账户文件

# bin/htpasswd /usr/local/httpd/conf/.awspwd webadmin1 //添加新用户时不需要-c选项

2.添加用户授权配置

# vim /usr/local/httpd/conf/httpd.conf

<Directory "/usr/local/httpd/htdocs"> //在此行下添加

    Authname "AAA"

    Authtype Basic

    Authuserfile /usr/local/httpd/conf/.awspwd

    require valid-user  //valid-user:代表所有列表中的用户,若需要指定单个用户可修改为:require webadmin

注意:当设置了主机访问控制的同时配置了验证访问,主机访问控制生效。

#   Require all granted   //配置了主机访问又配置了验证访问,因此需要关闭主机访问控制。

    Authname "AAA"

    Authtype Basic

    Authuserfile /usr/local/httpd/conf/.awspwd

    require valid-user

需求:

允许192.168.1.254直接访问,而其他人输入密码才能访问:

    Require ip 192.168.1.253

    Authname "AAA"

    Authtype Basic

    Authuserfile /usr/local/httpd/conf/.awspwd

    require valid-user

需求2:

拒绝一个地址访问而允许其他人认证访问:

3.3构建虚拟web主机

能够让一台web服务器同时存在多个站点!

3.3.1.基于域名的虚拟主机 ****

通过两个域名访问到不同内容

1.安装配置DNS服务器用于域名解析

# yum install -y bind

# mv /etc/named.conf /etc/named.conf.bak

# vim /etc/named.conf

options {

        directory       "/var/named";

};

zone "chengdu.com" IN {

        type master;

        file "chengdu.com.zone";

};

zone "shanghai.com" IN {

        type master;

        file "shanghai.com.zone";

};

# vim /var/named/chengdu.com.zone

$TTL 600

@       IN      SOA     chengdu.com.      admin.chengdu.com.(

                        20170405

                        1d

                        5d

                        2D

                        6h

)

@       IN      NS      ns1.chengdu.com.

ns1     IN      A       192.168.1.10

www     IN      A       192.168.1.10

# vim /var/named/shanghai.com.zone

$TTL 600

@       IN      SOA     shanghai.com.      admin.shanghai.com.(

                        20170405

                        1H

                        5M

                        2D

                        6h

)

@       IN      NS      ns1.shanghai.com.

ns1     IN      A       192.168.1.10

www     IN      A       192.168.1.10

# systemctl restart named  

2.准备虚拟主机网页文档

# mkdir /var/wwwchengdu /var/wwwshanghai //创建两台虚拟主机网页根目录

# echo "www.chengdu.com" > /var/wwwchengdu/index.html //生成网页文件内容

# echo "www.shanghai.com" > /var/wwwshanghai/index.html

3.以独立的形式创建虚拟主机配置文件

# mv /usr/local/httpd/conf/extra/httpd-vhosts.conf /usr/local/httpd/conf/extra/httpd-vhosts.conf.bak

# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf  

<VirtualHost 192.168.1.10:80>

    DocumentRoot "/var/wwwchengdu"

    ServerName www.chengdu.com

    ErrorLog "logs/www.chengdu.com.error.log"

    CustomLog "logs/www.chengdu.com.custom.log" common

</VirtualHost>

<VirtualHost 192.168.1.10:80>

    DocumentRoot "/var/wwwshanghai"

    ServerName www.shanghai.com

    ErrorLog "logs/www.shanghai.com.error_log"

    CustomLog "logs/www.shanghai.com.access_log" common

</VirtualHost>

注意:也可以将以上所有配置文件直接放在httpd.conf中

设置虚拟主机时需要注意:

1.修改主配置文件,确定主配置文件没有访问限制拒绝策略

2.将 "/"区域设置为允许所有人访问:

<Directory /> //此区域中将拒绝所有改为允许所有

    AllowOverride none

    Require all granted //将拒绝改为允许

</Directory>

3.在主配置文件中加入引用虚拟主机配置文件项:

# vim /usr/local/httpd/conf/httpd.conf

Include conf/extra/httpd-vhosts.conf

# systemctl restart httpd

验证:访问chengdu域名能够看到chengdu内容  访问shanghai能够看到shanghai内容

3.3.2.基于端口的虚拟主机

访问www.chengdu.com 得到的网页信息:www.chengdu.com

访问www.chengdu.com:8080  得到的网页信息:www.shanghai.com

在原配置文件中将shanghai的端口号改为8080,在httpd.conf中添加监听端口8080,重启访问服务即可

# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

找到shanghai配置区域

<VirtualHost 192.168.1.10:8080> //修改为8080

    DocumentRoot "/var/wwwshanghai"

    ServerName www.chengdu.com //域名改为www.chengdu.com

    ErrorLog "logs/www.shanghai.com.error_log"

    CustomLog "logs/www.shanghai.com.access_log" common

# vim /usr/local/httpd/conf/httpd.conf

Listen 8080 //添加监听端口

# systemctl restart httpd //重启服务验证

www.chengdu.com //能够访问到chengdu页面

www.chengdu.com:8080 //能够访问到shanghai页面

3.3.3.基于IP的虚拟主机

192.168.1.11 www.chengdu.com

192.168.1.12   www.shanghai.com

# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

<VirtualHost 192.168.1.11:80> //将shanghai.com段修改IP为11

    DocumentRoot "/var/wwwshanghai"

    ServerName www.shanghai.com

    ErrorLog "logs/www.shanghai.com.error_log"

    CustomLog "logs/www.chengdu.com.access_log" common

</VirtualHost>

开放IP加端口的监听

Listen 192.168.1.10:80

Listen 192.168.1.11:80

#Listen 192.168.1.10:8080 //禁用此项

修改DNS解析:

# vim /var/named/shanghai.com.zone

@       IN      SOA     shanghai.com.      admin.shanghai.com.(

                        20170405

                        1H

                        5M

                        2D

                        6h

)

@       IN      NS      ns1.shanghai.com.

ns1     IN      A       192.168.1.11 //修改为11

www     IN      A       192.168.1.11 //修改为11

# ifconfig ens33 192.168.1.11/24

# systemctl restart named

# systemctl restart httpd

注意:需要将虚拟机两张网卡都设置为同一个vmnet网卡,便于客户端访问验证

验证:通过域名shanghai能够看到shanghai内容

通过域名chengdu能够看到chengdu内容

通过nslookup也能够解析到shanghai域名的IP为11,chengdu的IP为10

直接通过IP 192.168.1.10能够访问到chengdu页面

直接通过IP 192.168.1.11能够访问到shanghai页面

  • 18
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Apache Tomcat是一个开源的Java Servlet容器,用于Web应用程序的部署和管理。以下是Apache Tomcat的安装及配置教程: 1. 下载Apache Tomcat:从Apache Tomcat官网下载最新版本的Tomcat。 2. 安装Tomcat:将下载的Tomcat压缩包解压到指定目录下,例如:/usr/local/tomcat。 3. 配置Tomcat:打开Tomcat目录下的conf目录,编辑server.xml文件,修改端口号、虚拟主机等配置信息。 4. 启动Tomcat:进入Tomcat目录下的bin目录,执行startup.sh或startup.bat启动Tomcat。 5. 部署Web应用程序:将Web应用程序的WAR文件复制到Tomcat目录下的webapps目录中,Tomcat会自动解压并部署Web应用程序。 6. 访问Web应用程序:在浏览器中输入http://localhost:808/应用程序名称即可访问Web应用程序。 以上是Apache Tomcat的安装及配置教程,希望对您有所帮助。 ### 回答2: Apache Tomcat是一个基于Java的开源Web应用服务器,用于运行Java Servlet、Java Server Pages(JSP)等Web应用程序。它是一个轻量级的容器,非常适用于部署和运行Java Web应用程序。本文将为您介绍Apache Tomcat的安装和配置过程。 安装Apache Tomcat 在开始安装Apache Tomcat之前,您需要确保已经安装Java开发工具包(JDK)。以下为您提供一个简单的步骤以安装Apache Tomcat: 步骤 1:下载Tomcat 在Apache Tomcat的官方网站上下载Tomcat。您应该选择与您所使用的JDK版本兼容的Tomcat版本,一般来说,应该选择最新版本的Tomcat,因为它包含了许多新的功能和修复了许多错误。 步骤 2:解压Tomcat文件 将下载的Tomcat文件解压到您想要安装Tomcat的目录。在解压之后,您将得到一个名为“apache-tomcat-XXXX”的文件夹(其中XXXX表示Tomcat的版本号)。移动这个文件夹到您想要安装Tomcat的位置。 步骤 3:启动Tomcat 运行Tomcat的启动脚本。在Windows平台上,可以使用“startup.bat”脚本,在Linux平台上,可以使用“startup.sh”脚本。启动脚本将启动Tomcat,并将它作为Web服务器运行。 步骤 4:测试Tomcat 一旦Tomcat成功启动,您可以通过在浏览器中打开localhost:8080来测试Tomcat。如果您看到了Tomcat的欢迎页面,就说明Tomcat已经成功安装并正在运行。 配置Apache Tomcat 配置Apache Tomcat对于Web应用程序的部署非常重要。以下是一些关键配置: 1.文件夹结构 Tomcat文件夹包含许多子文件夹,其中一些是您可以部署您的Web应用程序的文件夹。其中,最重要的三个文件夹是:webapps,conf和logs。 • webapps:这个文件夹是您可以将您的Web应用程序部署到Tomcat的地方。当您将您的Web应用程序(如.war文件)放入这个文件夹中时,Tomcat就会自动将其解压缩到其文件结构中,并在服务器上运行它。 • conf:这个文件夹包含Tomcat的一些关键配置文件,如server.xml和web.xml。这些文件决定了Tomcat将如何运行您的Web应用程序。 • logs:这个文件夹包含Tomcat的日志文件。这些日志文件可以帮助您了解Tomcat运行过程中出现的任何问题。 2.端口配置 Tomcat默认使用的端口是8080。如果您想更改这个端口号,只需要编辑server.xml文件并更改Tomcat Connector的port属性即可。 3.管理控制台配置 Tomcat提供了一个管理控制台,通过它,您可以管理和部署Web应用程序。但是,默认情况下,这个管理控制台是不安全的。要在Tomcat的安全管理控制台中设置用户名和密码,只需编辑tomcat-users.xml文件并添加以下代码段: <role rolename="manager-gui"/> <user username="admin" password="password" roles="manager-gui"/> 其中“username”和“password”应该替换为您所选择的用户名和密码。 总结 在本文中,我们向您介绍了如何安装和配置Apache Tomcat。安装Tomcat非常简单,只需要下载文件并启动它即可。但是配置Tomcat需要一些技术知识。希望这篇文章能够帮助您开始使用Tomcat,并部署您的Web应用程序。 ### 回答3: Apache Tomcat是一款开放源代码的Web应用程序服务器,可以在多种平台上运行,包括Windows、Linux和Unix等。作为一款轻量级的Web服务器,Tomcat可以用来部署Java Web应用程序和Servlet容器,它是一个非常流行的Java web应用程序服务器。如果你想要在自己的电脑中使用Tomcat服务器来构建和测试Web应用程序,本文将为你提供Tomcat的安装和配置教程。 一、安装Tomcat 1.前往Apache官网tomcat.apache.org下载最新版本的Tomcat; 2.下载完成后解压至指定目录,例如解压至C:\Apache-Tomcat-9.0.16; 3.将Tomcat添加至环境变量中,方法为:计算机 -> 属性 -> 高级系统设置 -> 环境变量 -> 编辑系统变量中的Path -> 将Tomcat的bin目录添加至系统变量中; 4.启动Tomcat,打开cmd命令行窗口 -> 进入Tomcat安装目录 -> 输入startup.bat命令 -> 点击浏览器打开http://localhost:8080/,如果出现Tomcat主页,则表示安装成功。 二、配置Tomcat 1.修改Tomcat默认端口 打开Tomcat目录中的conf文件夹 -> 找到server.xml文件 -> 找到与Connector节点相关的代码段 -> 根据需求修改port属性的值。 2.配置Tomcat自动启动 打开Tomcat目录中的bin文件夹 -> 找到catalina.bat文件 -> 右键编辑 -> 在文件末尾添加start或net start Tomcat9(电脑每次开机自动启动Tomcat) -> 保存并关闭。 3.配置Tomcat中文化 打开Tomcat目录中的conf文件夹 -> 找到web.xml文件 -> 找到locale-encoding-mapping-list -> 修改为如下代码: <locale-encoding-mapping-list> <locale-encoding-mapping> <locale>zh_CN</locale> <encoding>UTF-8</encoding> </locale-encoding-mapping> </locale-encoding-mapping-list> 以上就是Tomcat的安装及配置教程,通过以上方法,你可以快速的配置好Tomcat服务器,并在此基础上开发web应用程序。在实际的开发过程中,还需要掌握更多Tomcat服务器的使用技巧,以充分发挥其强大的Web应用程序部署和测试功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值