部署Apache网站服务以及访问控制的实现

WebServer常用的有Apache、IIS、nginx、Tomcat

  • Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上。其属于应用服务器。Apache支持支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。
  • IIS是一种web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络上发送信息成为一件很容易的事。但IIS只能运行在Windows平台。
  • Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,而且支持负载均衡,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。
  • Tomcat 是由 Apache开发的一个Servlet容器,实现了对Servlet 和 JSP的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。可以认为是Apache的扩展,但是可以独立于Apache运行。 实际使用中Apache与Tomcat常常是整合使用。如果客户端请求的是静态页面,则只需要Apache服务器响应请求。 如果客户端请求动态页面,则是Tomcat服务器响应请求。 因为JSP是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销。可以理解Tomcat为Apache的一种扩展。

以RedHat6为例

首先简单的部署一下Apache网站

  • 第一步: 源码编译及安装

下载好源码包百度网盘 密码:0x96

  • apr-1.4.6.tar.gz
  • apr-util-1.4.1.tar.gz
  • http-2.4.2.tar.gz

其中apr、apr-util软件包支持Apache上层应用跨平台,提供底层接口库

1. 解压apr、apr-util、http软件包至/opt目录下

 tar zxvf apr-1.4.6.tar.gz -C /opt
 tar zxvf apr-util-1.4.1.tar.gz -C /opt
 tar zxvf http-2.4.2.tar.gz

2. 将解压后的apr、apr-util软件包复制到http软件包的srclib目录下

cd /opt           //进入解压后的软件目录
cp -R  apr-1.4.6/ /opt/httpd-2.4.2/srclib/apr
cp -R  apr-util-1.4.1/ /opt/httpd-2.4.2/srclib/apr-util

3. 安装编译环境软件 包gcc 、 gcc-c++ 、 make 、 pcre、pcre-devel,pcre 是 一个Perl库,支持正则表达式(用yum仓库安装)

创建yum仓库的步骤详细步骤请参考 Linux下通过rdesktop远程登陆Windows系统

 yum install gcc gcc-c++ make pcre pcre-devel -y

4. 根据服务器的实际需要,灵活设置不同的定制选项,如指定安装路径,启用字符集支持等。

cd  /opt/httpd-2.4.2

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

上述的配置命令中,各选项的含义如下:

  • --prefix: 指定将httpd服务程序安装到哪个目录下。
  • --enable-so: 启用动态加载模块支持,使httpd具备进一步扩展功能的能力。
  • --enable-rewrite: 启用网页地址重写功能,用于网站优化及目录迁移维护。
  • --enable-charset-lite: 启用字符集支持,以便支持使用各种字符集编码的网页。
    ---enable-cgi: 启用CGI脚本程序支持,便于扩展网站的应用访问能力。

5. 编译及安装

完成配置以后,执行“make”命令进行编译,将源代码转换成可执行的程序,然后执行“make install”命令完成最后安装过程,其中make的过程可能需要较长的时间。

make
make install

6.确认安装结果

[[email protected] ~]# ls /usr/local/httpd/
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules
  • /usr/local/httpd/bin: 存放httpd服务的各种可执行程序文件,包括主程序httpd、服务控制工具apachectl.
  • /usr/local/httpd/conf: 存放httpd服务的各种配置文件,包括主配置文件httpd.conf、增强配置子目录extra等。
  • /usr/local/httpd/htdocs: 存放网页文档,包括默认首页等。
  • /usr/local/httpd/logs: 存放httpd服务的日志文件。
  • /usr/local/httpd/modules: 存放httpd服务的各种模块文件。
  • /usr/local/httpd/cgi-bin: 存放各种CGI程序文件。

7.添加httpd系统服务

为了便于通过chkconfig进行管理httpd系统服务,需要建立可控的服务脚本。可以将apachectl脚本复制为/etc/init.d/httpd,并在文件的开头添加chkconfig识别配置。

grep -v "#" /usr/local/httpd/bin/apachectl > /etc/init.d/httpd
vim /etc/init.d/httpd    //在文件的开头添加
#!/bin/sh
    # chkconfig:2345 85 15
    # description:Apache is a World Wide Web server.
chkconfig --add httpd
chkconfig --list httpd
chkconfig --level 35 httpd on
  • 第二步: 配置并启动httpd服务

    1. 建立软链接方便管理配置文件

ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
vim /etc/httpd.conf
  ServerName  www.benet.com  //设置网站名称
  Listen 192.168.10.10:80   //监听web服务器本机的IPV4地址
  #Listen 80 //不监听本机IPV6地址

2.检查配置文件的语法

使用带“-t”选项的apachectl命令对配置内容进行语法检查,显示“Syntax OK”说明没有语法错误。

[[email protected] ~]# cd /usr/local/httpd/bin/
[[email protected] bin]# ./apachectl -t
Syntax OK

3.启动httpd服务

正常启动httpd服务以后,默认将监听tcp协议的80端口。

[[email protected] ~]# service httpd start
[[email protected] ~]# netstat -ntap | grep httpd
tcp        0      0 192.168.10.10:80            0.0.0.0:*                   LISTEN      2164/httpd 
  • 第三步:测试Apache网站

    关闭Apache服务器的防火墙

    service iptables stop

接下来对Apache网站实现访问控制

为了更好地控制对网站资源的访问,可以为特定的网站目录添加访问授权。

  • 客户机地址限制

    通过配置项Order、Deny from 、Allow from,可以根据客户机的主机名或ip地址决定是否允许客户端访问。其中Order配置项用于设置限制顺序,Deny from和Allow from配置项用于设置具体限制内容。

vim /etc/httpd.conf
  <Directory "/usr/local/httpd/htdocs">
      ........     //省略部分内容
      Order deny,allow
      Deny from 192.168.10.0/24
  </Directory>
service httpd restart   //重启httpd服务

用客户机ip地址是192.168.10.0网段测试

  • 用户授权限制

基于用户的访问控制包含认证和授权两个过程,认证是识别用户身份的过程,授权是允许特定用户访问特定目录区域的过程。下面以基本认证方式为例,添加用户授权限制。

1. 创建虚拟网站目录(/opt/test)

[[email protected] ~]# mkdir /opt/test
[[email protected] ~]# echo "this is test" > /opt/test/index.html

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

使用专门的htpasswd工具创建授权用户数据文件,必须指定用户数据文件的位置。

[[email protected] ~]# htpasswd -c /etc/httpd/user zhangsan
New password:       //根据提示设置密码
Re-type new password:
Adding password for user zhangsan
[[email protected] ~]# cat /etc/httpd/user  //确认用户数据文件
zhangsan:4PzLKuWXoIm4A

3. 添加用户授权配置

有了授权账号以后,还需要加载一个独立的配置文件,使其能在特定的目录区域中添加授权配置,以启用基本认证等。

[[email protected] ~]# cd /usr/local/httpd/conf/extra/
[[email protected] extra]# vim vdir.conf
  Alias /test "/opt/test/"           //声明

<Directory "/opt/test/">                     //网站目录区域
    Options Indexes MultiViews FollowSymLinks //允许使用符号链接
    AllowOverride None               //不允许隐含控制文件中的覆盖配置
    AuthName "hello"                //定义受保护的领域名称,该内容将在浏览器弹出的认证对话框中显示
    authtype basic                 //设置认证的类型是基本认证
    authuserfile /etc/httpd/user  //设置用于保存账号、密码的认证文件路径
#  authgroupfile /etc/httpd/group
    require valid-user           //认证文件中的合法用户才能访问
#  require user test
#  require group admin
</Directory>
service httpd restart   //重启服务使配置生效

4.客户机测试


原文地址:http://blog.51cto.com/11134648/2129151

时间: 2024-10-27 12:22:37

部署Apache网站服务以及访问控制的实现的相关文章

APache网站服务配置访问控制和构建虚拟主机

博文目录一.Httpd服务的访问控制1.客户机地址限制2.用户授权限制二.构建虚拟Web主机三.配置基于域名的虚拟主机四.配置基于IP地址的虚拟主机五.配置基于端口号的虚拟主机 一.Httpd服务的访问控制 为了更好地控制对网站资源的访问.可以为特定的网站目录添加访问授权.主要分为客户机地址限制和用户授权限制,这两种访问控制方式都应用于httpd.conf配置文件中的目录区域范围内. 1.客户机地址限制 通过Require配置项,可以根据主机的主机名或IP地址来决定是否允许客户端访问.在http

部署Nginx网站服务实现访问状态统计以及访问控制功能

Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物理服务器可支持30000-50000个并发请求. Nginx的安装文件可以从官方网站http://www.nginx.org/下载,下面以Nginx1.12版本为例,基于CentOS7,部署Nginx网站服务. 安装Nginx 第一步源码编译安装 1. 安装支持软件 Nginx的配置及运行需要gcc . gcc-c++ . make . pcre.pcre-devel.zlib-de

Apache网站服务基础

Apache网站服务基础 一.安装httpd服务器 1.      为了避免端口冲突,程序冲突,建议先卸载使用RPM方式安装的httpd rpm  -q | grep httpd rpm  -e httpd  --nodeps 2.      源码编译及安装 a)        解包 tar zxfhttpd-2.2.17.tar   -C /root cd  ~ b)        配置 根据服务器实际的应用需求,可以灵活设置不同的定制选项 各选项的含义: --prefix:指定将httpd服

基于Cent OS7搭建apache网站后的访问控制配置详解

在一台centos7上搭建apache网站后,一般都是允许所有人访问的,那么可能会有一些特殊情况,需要对访问网站的人进行限制,出于这种情况,apache可以通过Require配置项,来对客户端进行一些访问限制,可以基于IP地址.网段.主机名或域名.使用名称"all"时表示任意地址. 安装apache服务的参考博文:https://blog.51cto.com/14154700/2391114 1.客户机地址限制: 限制策略的常用格式有下面几种: Require all granted:

CentOS 7.4搭建Apache网站服务

博文目录一.Apache是什么?1.Apache的起源2.Apache的主要特点二.Apache的主要版本三.安装httpd服务器1.挂载光盘2.源码编译及安装3.Apache全局配置项4.安装DNS域名解析服务 一.Apache是什么? Apache HTTP Server是广泛应用的Web应用系统之一,要运用好它,必须先了解它的特点及其编译安装过程. Apache HTTP Server是来源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务,在Web服务器领域中长期保持着超过半

Apache网站服务源码安装与站点部署

简介: 在Internet 网络环境中,Web服务无疑是最为主流的应用系统,有了WEB站点,企业可以充分展示自己的产品,公司,宣传自己的企业形象,提供各种网上交流,业务平台等. Apache起源:源于 A Patchy Server(基于原有web服务程序的代码进行修改(补丁)后形成的服务器程序),最新的名称为 "Apache HTTP Server" ,软件名称 httpd 1995年,发布1.0 由 Apache Group 管理及维护1999年,在Apache Group基础上成

基于Linux搭建Apache网站服务配置详解

Apache作为一款开源软件,是广泛应用的web应用之一,Apache有两个主要版本1.X和2.X,一般我们使用2.X版本,比起1.X版本它支持很多新的功能,下载Apache源码包的地址为:https://httpd.apache.org ,下载到源码包后开始准备安装: 1.为避免发生端口冲突,程序冲突等问题,如果有rpm方式安装的httpd服务,建议将其卸载. 2.挂载系统镜像,切换至系统盘中的Packages目录,安装相关依赖包(注意,最好一个一个的依次安装,因为如果有些安装包已经安装了,一

Apache网站服务

Apache 下载地址: http://mirror.bit.edu.cn/apache/httpd/相关软件下载地址:http://mirror.bjtu.edu.cn/apache/apr/apr http://mirror.bjtu.edu.cn/apache/apr/apr-util=============Apache 简介: 进程技术,高资源消耗,但是稳定: MPM (multi process moudles): 多处理模块:   Apache工作模式: 进程池(prefork):

Centos 7部署Nginx网站服务

一.Nginx服务基础 Nginx专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力(单台物理服务器可支持30000~50000个并发请求).正因为如此,大量提供社交网络.新闻资讯.电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供Web服务. 1.Nginx服务的优势 Nginx是一个很牛的高性能Web和反向代理服务器,它具有有很多非常优越的特性: 高并发连接:官方测试能支撑5万并发连接,在实际生产环境中跑到2,~3W并发连: 内存消耗少:在