前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >部署Apache网站服务以及访问控制的实现

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

作者头像
星哥玩云
发布2022-07-25 11:08:52
6720
发布2022-07-25 11:08:52
举报
文章被收录于专栏:开源部署

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的一种扩展。
以RedHat Linux 6为例
首先简单的部署一下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目录下
代码语言:javascript
复制
.tar.gz -C /opt
 tar zxvf apr-util-.tar.gz -C /opt
 tar zxvf http-
2. 将解压后的apr、apr-util软件包复制到http软件包的srclib目录下
代码语言:javascript
复制
cp -R  apr/srclib/apr
cp -R  apr-util
3. 安装编译环境软件 包gcc 、 gcc-c++ 、 make 、 pcre、pcre-devel,pcre 是 一个Perl库,支持正则表达式(用yum仓库安装)

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

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

./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的过程可能需要较长的时间。

代码语言:javascript
复制
make install
6.确认安装结果
代码语言:javascript
复制
bin  build  cgi-bin  conf  error  htdocs  icons  
  • /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识别配置。

代码语言:javascript
复制
vim /etc/init.d/httpd    //在文件的开头添加
代码语言:javascript
复制
chkconfig 
chkconfig 
  • 第二步: 配置并启动httpd服务 1. 建立软链接方便管理配置文件
代码语言:javascript
复制
 /etc/httpd.conf
    www.benet.com  //设置网站名称
   192.168.10.10:80   //监听web服务器本机的IPV4地址
2.检查配置文件的语法

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

代码语言:javascript
复制
[root@RedHat6
Syntax OK
3.启动httpd服务

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

代码语言:javascript
复制
[root@RedHat6-
tcp        
  • 第三步:测试Apache网站 关闭Apache服务器的防火墙
部署Apache网站服务以及访问控制的实现
部署Apache网站服务以及访问控制的实现
接下来对Apache网站实现访问控制

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

  • 客户机地址限制 通过配置项Order、Deny from 、Allow from,可以根据客户机的主机名或ip地址决定是否允许客户端访问。其中Order配置项用于设置限制顺序,Deny from和Allow from配置项用于设置具体限制内容。
代码语言:javascript
复制
vim /etc/httpd.conf
  <Directory >
      ........     
      Order deny,allow
      Deny 
  </Directory>      

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

部署Apache网站服务以及访问控制的实现
部署Apache网站服务以及访问控制的实现
  • 用户授权限制

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

1. 创建虚拟网站目录(/opt/test)
代码语言:javascript
复制
[root@RedHat6
2. 创建用户数据认证文件

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

代码语言:javascript
复制
New password:       根据提示设置密码
Re-type  password: 
Adding password  user zhangsan
[root@RedHat6
zhangsan:
3. 添加用户授权配置

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

代码语言:javascript
复制
[root@RedHat6
  Alias /test 

<Directory 
    Options Indexes MultiViews FollowSymLinks 
    AllowOverride None               
    AuthName 
    authtype basic                 
    authuserfile /etc/httpd/user  

    


</Directory>
4.客户机测试
部署Apache网站服务以及访问控制的实现
部署Apache网站服务以及访问控制的实现
部署Apache网站服务以及访问控制的实现
部署Apache网站服务以及访问控制的实现
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 以RedHat Linux 6为例
  • 首先简单的部署一下Apache网站
  • 1. 解压apr、apr-util、http软件包至/opt目录下
  • 2. 将解压后的apr、apr-util软件包复制到http软件包的srclib目录下
  • 3. 安装编译环境软件 包gcc 、 gcc-c++ 、 make 、 pcre、pcre-devel,pcre 是 一个Perl库,支持正则表达式(用yum仓库安装)
  • 4. 根据服务器的实际需要,灵活设置不同的定制选项,如指定安装路径,启用字符集支持等。
  • 5. 编译及安装
  • 6.确认安装结果
  • 7.添加httpd系统服务
  • 2.检查配置文件的语法
  • 3.启动httpd服务
  • 接下来对Apache网站实现访问控制
  • 1. 创建虚拟网站目录(/opt/test)
  • 2. 创建用户数据认证文件
  • 3. 添加用户授权配置
  • 4.客户机测试
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档