Apache的安装部署

关于Apache:

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广泛使用的计算机平台上。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
Apache的诞生极富有戏剧性。当NCSAWWW服务器项目停顿后,那些使用NCSAWWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。
Apacheweb服务器软件拥有以下特性:

1.支持最新的HTTP/1.1通信协议
2.拥有简单而强有力的基于文件的配置过程
3.支持通用网关接口
4.支持基于IP和基于域名的虚拟主机
5.支持多种方式的HTTP认证
6.集成Perl处理模块
7.集成代理服务器模块
8.支持实时监视服务器状态和定制服务器日志
9.支持服务器端包含指令(SSI)
10.支持安全Socket层(SSL)
11.提供用户会话过程的跟踪
12.支持FastCGI
13.通过第三方模块可以支持JavaServlets
  apache超文本传输协议,启用同步阻塞模式。(阻塞代表等待,更加安全稳定性高)

   nginx启用异步非阻塞模式。门户性网站一般用nginx。

先恢复环境:

<1>rpm -e httpd php php-mysql

<2>rm -fr /var/www/

1.apache默认发布目录/文件

<1>yum install httpd -y

<2>systemctl start httpd

<3>netstat -antlupe | grep httpd    #查看apache的端口

<4>cd /var/www/html/  

<5>vim index.html

<6>vim test.html

打开浏览器测试:

<7> vim /etc/httpd/conf/httpd.conf   #修改端口

<8>systemctl restart httpd

<9> netstat -antlupe  | grep httpd   #查看端口是否修改

在浏览器里测试:(此时访问不到,必须输入 172.25.254.138:8080)

做完实验后记得把端口修改回来

2.默认路径的修改(aphache的默认路径是 /var/www/html)

<1>mkdir /westos/html -p

<2>cd /westos/html/

<3>vim index.html

写入: 平凡的世界
<4>vim test.html

写入:追风筝的人
<5>vim /etc/httpd/conf/httpd.conf   #修改默认端口

119 # DocumentRoot "/var/www/html"  #注释掉原来的默认路径

120 DocumentRoot "/westos/html"  #修改http访问根目录路径

125 <Directory "/westos">        #在/westos目录下

126          require all granted

127          DirectoryIndex index.html  test.html

128 </Directory>

<6>systemctl restart httpd

<7>测试

做完实验后,记得把默认目录改回来

3.访问控制

 a.基于ip的访问控制

准备工作:

<1>cd /var/www/html

<2>mkdir westos

<3>cd westos/

<4>vim index.html

<5>vim test.html

访问ip黑名单

<6>vim /etc/httpd/conf/httpd.conf  #设置黑名单

 

<7>systemctl restart httpd    

<8>在被设置为黑名单的主机上进行测试,访问被禁止

访问ip白名单

<9>vim /etc/httpd/conf/httpd.conf

<10>在被设置为白名单的主机上进行测试,访问允许

<11>在其他主机上测试,访问失败

 b.基于用户的访问控制

<1>cd /etc/httpd/

<2> htpasswd -cm apacheuser joe     #创建apache用户

<3> cat apacheuser     #查看apache用户

<4>vim /etc/httpd/conf/httpd.conf

<5>systemctl restart httpd

<6>打开浏览器进行访问,输入正确的用户和密码就可查看

4.apache的虚拟主机配置(用一个ip发布多个测试节点,使不同的域名访问不同的文件)

在虚拟机里配置文件:

<1>cd /etc/httpd

<2>cd conf.d/

<3>vim default.conf

写入:

注:apache有四种日志类型 被访问时的日志,拒绝访问的日志,警告日志,报错日志

<4>mkdir /var/www/virtual/westos.com/news -p

<5>mkdir /var/www/virtual/westos.com/music -p

<6>vim /var/www/virtual/westos.com/news/index.html

<7>vim /var/www/virtual/westos.com/music/index.html

<8>vim news.conf  #子配置文件

<9>cp news.conf  music.conf

<10>vim news.conf

<11>systemctl restart httpd

在真机里(测试端):

<1>vim /etc/hosts      #修改本机解析

添加:   172.25.254.38  www.westos.com  news.westos.com music.westos.com  login.westos.com

<2>打开浏览器测试

5.制作apache证书,并指定证书

<1>yum install mod_ssl -y    #下载加密认证模块

<2>yum install crypto-utils.x86_64  -y #下载证书

<3>systemctl restart httpd

<4>ls

<5>genkey www.westos.com  #生成该网页的证书和密钥

<6>vim /etc/httpd/conf.d/ssl.conf

<7>systemctl restart httpd

<8>打开浏览器输入:https://www.westos.com

最后可以看到证书上有自己设置的信息,表示成功

###排错###

重启不了httpd

 1 关闭火墙

 2 网络保持畅通

 3 看日志里有没有文件内容报错信息,根据报错信息改错

 4

<1>cd /etc/pki/tls/certs/

<2>ls

ca-bundle.crt        localhost.crt    Makefile          www.westos.com.crt

ca-bundle.trust.crt  make-dummy-cert  renew-dummy-cert

<3> cd ../private/

<4>ls

tmprequest  www.westos.com.key

<5>rm -fr  *

6.建立域名默认目录以及文件(网页重写)

<1>cd /etc/httpd/conf.d/

<2>mkdir /var/www/virtual/westos.com/login -p

<3>vim  /var/www/virtual/westos.com/login/index.html

<4>vim login.conf

写入:

<5>systemctl restart httpd


<6>打开浏览器访问  login.westos.com 会自动调转到 https://login.westos.com

7.apache的语言支持

a.php语言

<1>vim /etc/httpd/conf/httpd.conf

<2>vim /var/www/html/index.php

 

<2>systemctl restart httpd

<3>打开浏览器,输入172.25.254.138,看到的是空的,因为没有php服务配置

<4>yum install php  -y

<5>再次用浏览器访问就可以看到文件内容

b.cgi语言

<1>cd /var/www/html

<2>mkdir cgi

<3>ls

<4>vim cgi/index.cgi

 

<5>chmod +x cgi/index.cgi

<6>./cgi/index.cgi


<7>cd /etc/httpd/conf.d/

<8>vim default.conf

<8>systenctl restart httpd

<9>打开浏览器访问:172.25.254.138/cgi/index.cgi    #看到时间代表成功

8.论坛搭建

<1>cd /var/www/html

<2>ls

<3>unzip Discuz_X3.2_SC_UTF8.zip

<4>ls

<5>cd upload/

<6>chmod 777 /var/www/html/upload/ -R

<7>yum install php-mysql.x86_64  -y

<8> systemctl start mariadb

<9>systemctl restart httpd

测试:

打开浏览器输入:

172.25.254.138/upload

9.squid的部署

关于squid:

   Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Linux一类系统运行。

   Squid是一种在Linux系统下使用的优秀的代理服务器软件。

   squid不仅可用在Linux系统上,还可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等系统上。

   Squid与Linux下其它的代理软件如Apache、Socks、TIS FWTK和delegate相比,下载安装简单,配置简单灵活,支持缓存和多种协议。用ipchains+Squid的解决方案,就可以获得通过缓存高性能的同时能够无缝的访问Internet。

   Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户想要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。

 1 正向代理

在虚拟机里:

<1>vim /etc/sysconfig/network-scripts/ifcfg-eth0

添加DNS1=114.114.114.114 #使虚拟机可以联网

<2>ping www.qq.com   #在此虚拟机里缓存www.qq.com的ip

PING www.qq.com (182.140.167.44) 56(84) bytes of data.

64 bytes from 182.140.167.44: icmp_seq=1 ttl=52 time=36.3 ms

64 bytes from 182.140.167.44: icmp_seq=2 ttl=52 time=85.0 ms

64 bytes from 182.140.167.44: icmp_seq=3 ttl=52 time=79.2 ms

<3>在浏览器里输入  www.qq.com 就可以打开网页,但在真机里ping www.qq.com还是不通

<4>关闭之前在浏览器里的一系列设置

 

 2 反向代理 (需要两个虚拟机)

desktop里(深圳)

<1>yum install httpd -y

<2>yum install squid -y

<3>systemctl start httpd

<4>vim /etc/squid/squid.conf

 

<5>systemctl start squid

<6>systemctl stop firewalld

server里(西安)

<7>yum install squid -y

<8>vim /etc/squid/squid.conf

 

<9>systemctl stop firewalld

<10>systemctl start squid

在浏览器中关闭代理,然后输入server虚拟机ip进行查看。

猜你喜欢

转载自blog.csdn.net/wzt888_/article/details/80518780