Linux之apache

一、重置虚拟机,配置纯净的环境

如下图,这里我的ip为172.25.254.105,并且配置好yum源(apache在linux的镜像文件里有安装包)

二、安装apache并测试其可以正常显示

1、安装apache的服务器  yum install httpd

2、开启http服务,并设置为开机自启动。

3)但是http不在火墙允许列表里,所以我们将其加入火墙允许列表(--permanent表示永久性的  --reload表示重新加载列表)

4)apache的默认发布目录为 /var/www/html

默认发布文件:index.html

我们可以在默认发布文件下写下内容,当其他主机来访问时就可以看到

用真机去访问查看


三、默认发布文件的修改

默认发布文件可以有多个,在配置文件里修改,其按顺序执行,即如果前面的文件不存在,则访问后面的。

我们在默认发布目录下,新建westos文件加入内容,并在配置文件里加入westos置于index.html前。

1)在默认发布目录下新建westos加入内容,如下图

2)编辑主配置文件 vim /etc/httpd/conf/httpd.conf,完成后重启http服务,如下图

3)真机进行访问,发现默认发布内容变成了westos文件里的内容


四、默认发布目录的修改

1、新建一个目录,准备将其设为默认发布目录

2、我们将默认发布目录修改为上面新建的/westos/html,其中Directory模块是赋予新的发布目录的权限,Require all granted表示允许所有用户访问,修改后重启服务,如下图


注意:修改的发布目录必须系统存在,如果不存在需要手动建立,否则访问不到。

3)测试:用真机进行访问查看

修改默认发布目录时,如果selinux是开启状态,需要将其加入安全上下文列表
semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'
retorecon -RvvF /www/


五、默认端口的修改

apache的默认端口为80,我们修改为8080

1、先在主配置文件里修改

2、查看是否修改成功,但此时还是无法访问到,因为火墙的默认端口是80,所以还要将其加入火墙允许列表里,如下图


3、真机进行访问,虚拟机ip:8080访问


五、apache的访问控制

在主配置文件里写入控制模块,用来设置那些用户可以访问,那些不能。具体做法有两种

1、针对主机的访问控制,如下图,Dirctory模块设置权限,Order表示读取顺序,即允许所有人访问,但是不允许172.25.254.105用户访问 (系统在读取文件时,Order后的顺序决定了读取顺序,先读取的内容会被后读取的内容中相同的内容覆盖掉


测试可以看到,修改完后,真机可以正常访问,虚拟机本身访问不到

2、用户方式的访问控制

1)先建立用户的目录,即把你要发布的内容写在此目录的发布文件中,访问者访问时可以看到

2)建立用户的登陆文件

在/etc/httpd里 执行htpasswd  -cm 用户目录 用户添加(第一次创建-cm 再次建立-m即可,否则会覆盖你第一次建立用户)

3)编辑主配置文件

Authuserfile 表示登陆文件所在目录

AuthName   给进来访问的人提示信息

Authtype      认证类型为基本类型

Require        指定用户可以登陆,下一行是登陆文件里的所有用户都可以登陆

4)真机进行登陆访问,必须输入在登陆文件里的用户名和密码,才可以登陆

六、apache的虚拟主机

类似与打开百度主页后,在里面点开贴吧,点开视频等

1、在真机(也就是你一会准备进行访问的那台主机)的本地域名解析里加上你准备访问虚拟主机的所有网址

2、接下来在虚拟机里

1)先建立news(和music)的目录,下面配置文件里面要指令此目录, /var/www/virtual/news.westos.com/html/  
      再编辑内容vim /var/www/virtual/news.westos.com/html/index.html   即打开网页就是查看你写在里面的内容


2)cd /etc/httpd/conf.d/切换到此目录下,准备建立三个文件并编辑其内容
编辑a_default.conf(第一行指定默认发布目录,类似首页;第二行为混合日志文件)
编辑news.westos.conf(类似首页下的子网站,第一行为news的网址;第二行指定news所在发布目录;第三行为混合日志文件)
编辑music.westos.conf(首页下的子网站,第一行为music的网址;第二行指定music所在发布目录;第三行为混合日志文件

3)完成后重启服务,并依次进行访问查看


七、apache支持的语言

php语言

1、安装php   yum install php

2、cd  /var/www/html 切换到此目录下,并编写php脚本文件,固定格式

3、进行访问查看ip/index.php




cgi语言

1、cd /var/www/html 切换到此目录下建立cgi目录,在cgi目录下编写cgi脚本内容为动态的显示系统当前时间,完成后赋予执行权限,并./文件查看脚本文件是否编写正确

2、在之前建立的a_default 里写入cgi的授权模块(可以安装httpd-manual访问方式ip/manual去网页里打开cgi模块去复制cgi的配置信息)完成后重启服务

3、进行访问查看:ip/cgi/index.cgi

八、https

         https是用户在通过http访问时数据不会被破解,简单来说就是http的加密。

         httos的默认访问端口为443

1)部署https:yum install mod_ssl -y :生成443端口以及https服务,并将其加入火墙允许列表,然后重新加载火墙列表,并重启http服务


2)这时我们https://ip进入后是下图页面



3)下面我们来配置其证书信息:yum install crypto-utils -y :生成产生加密证书的命令

安装完成后即可运行产生证书的命令:genkey 网站名称,运行后会产生如下界面进行生成:

分别为加密的key和加密证书的文件及其位置,选择Next进行下一步

选择key文件的大小,建议选择1024适中

此步为收集密码数据,速度较慢,此时需要在一个新的shell命令行随机输入内容,速度会迅速加快

该步骤为是否向CA机构发送,选择NO,不发送

填写网站的基本信息,依次为国家、省份、所在城市、公司名称,所属部门,网站网址名称

 完成后Next即可创建成功

4)https的配置文件会自动在/var/httpd/conf.d/下生成,为ssl.conf文件

      vim /etc/httpd/conf.d/ssl.conf,在里面写入生成的key和密码证书文件路径,完成后重启服务


5)用https://ip进行访问查看证书信息(如果查看不了,ctrl+shift+del清除缓存)


九、网页重写

目的:输入指定网址强制使用443https加密

1)在真机本地解析/etc/hosts加入测试网址login.westos.com

2、/var/www/virtual下建立login.westos.com/html目录并编辑目录下/index.com 写入内容

3、在/etc/httpd/conf.d/里建立login.conf文件,编辑
第一部分SSLEngine on 表示认证打开
第二部分允许所有人访问
第三部分RewriteEngine on 打开重写功能
                    RewriteRule 重写规则 *(/.*)$客户在浏览器地址栏中输入的所有字符
                    https://     强制客户加密访问
                    %{HTTP_HOST}客户求求主机
                    $1表示^(/.*)$的值
                    [redirect=301]临时重写 (=302永久重写)

4、重启服务,真机只输入网址访问查看,认证后发现可以网址前面强制加入https://



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值