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

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

120次阅读
没有评论

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

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 目录下

.tar.gz -C /opt
 tar zxvf apr-util-.tar.gz -C /opt
 tar zxvf http-

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


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


make install

6. 确认安装结果


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 识别配置。

vim /etc/init.d/httpd    // 在文件的开头添加

chkconfig 
chkconfig 
  • 第二步: 配置并启动 httpd 服务

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

 /etc/httpd.conf
    www.benet.com  // 设置网站名称
   192.168.10.10:80   // 监听 web 服务器本机的 IPV4 地址
  

2. 检查配置文件的语法

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


[root@RedHat6
Syntax OK

3. 启动 httpd 服务

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


[root@RedHat6-
tcp        
  • 第三步:测试 Apache 网站

    关闭 Apache 服务器的防火墙

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

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

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

  • 客户机地址限制

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

vim /etc/httpd.conf
  <Directory >
      ........     
      Order deny,allow
      Deny 
  </Directory>      

用客户机 ip 地址是 192.168.10.0 网段测试
部署 Apache 网站服务以及访问控制的实现

  • 用户授权限制

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

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


[root@RedHat6

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

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


New password:        根据提示设置密码
Re-type  password: 
Adding password  user zhangsan
[root@RedHat6
zhangsan:

3. 添加用户授权配置

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


[root@RedHat6
  Alias /test 

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

    


</Directory>

4. 客户机测试

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

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