实验:第一步安装http服务以及http手册,并启动http服务,设置开机启动
第二步:查看htpp服务是否被防火墙允许,若没有启动防火墙允许http服务运行,并重新加载防火墙
测试:client端浏览器测试http://172.25.254.1:/manual
1.修改默认端口
主配置文件:/etc/httpd/conf/httpd.conf
修改服务端口为8080
修改配置文件/etc/httpd/conf/httpd.conf 44行;
执行命令firewall-cmd –permanent –add-port=8080/tcp 添加服务端口
firewall-cmd –reload重新加载防火墙
2.修改发布文件:
主配置文件:/etc/httpd/conf/httpd.conf
163
164 DirectoryIndex index.html test.html …
165
当删除第一个index.html 会默认位test.html …
移动index.html 在测试
3.修改默认发布目录
主配置文件:注释掉原目录
/etc/httpd/conf/httpd.conf
120 DocumentRoot "/westos/html"
121 <Directory "/westos/html">
122 Require all granted
123 Directory>
注意:当内核级防火墙selinux=enforcing时,需要修改新建目录的安全上上下文:
semanage fcontext -a -t httpd_sys_content_t ‘/www(/.*)?’
restorecon -RvvF /www/ 刷新目录以及里边的所有文件安全上下文(永久)
实验前,确保有目录可用,原来的内容不要删除最好注释掉
4.apache服务的内部访问控制
(1)针对主机的访问控制
编辑主配置文件:/etc/httpd/conf/httpd.conf
121 "/var/www/html/test">
122 Order Deny,Allow ##列表读取顺序,后读取的列表会覆盖前边的
123 Allow from 172.25.254.10
124 #Require all granted
125 Deny from all
126
实验:172.25.254.51和2两台主机无法使用http服务;很显然这两台时被允许的,但依然被禁止,其中51号主机被禁止了但依然可以登陆访问,order后,后边的会覆盖前边的指令,所以禁止51号失败。
(2)用户方式的访问:
htpasswd -cm /etc/httpd/userpasswd admin ##创建含用户密码的文件,-c新建
htpasswd -m /etc/httpd/userpasswd ad ##新增,-c会覆盖原来内容
121 "/var/www/html/test"> ##编辑进入主配置文件
122 AuthUserfile /etc/httpd/webuser ##用户认证文
123 AuthName "please input username and passwd!!" ##认证名
124 AuthType basic ##认证类型
125 #Require all granted ##所有人都可以访问,注释掉
126 Require valid-user ##有效用户
127
5.apache的虚拟主机
实验:
(1)配置本地解析,在真机/etc/hosts中进行配置
(2)服务端配置:添加配置文件在子配置目录中,主要为了减轻主配置文件的冗余,在子配置目录/etc/httpd/conf.d/下新建文件a_default.conf ,编辑图中4行内容,文件名称a_default.conf,a表示优先读取,不要出现数字;第一行,包含了读取的开始和端口;第二行表示访问主网页路径;第三行表示日志位置,相对路径表示(/etc/httpd/log/),conbined混合日志
(3)新建目录:mkdir /var/www/html/news/ -p
mkdir /var/www/html/music/ -p
在/var/www/html/news/下创建index.html;内容为news page
在/var/www/html/music/下创建index.html;内容为music page
(4)子目录文件配置:/etc/httpd/conf.d/
在/etc/httpd/conf.d/下创建文件news-music.conf
写入以下内容:
ServiceName news.westos.com
DocumentRoot /var/www/html/news/
CustomLog logs/news.log combined
Require all granted
<.Directory>
##
ServerName music.westos.com
DocumentRoot /var/www/html/music
CustomLog logs/music.log combined
Require all granted
(5)测试:
6.apache支持的语言:php 和cji
实验:安装php
这里写图片描述
编写php命令文件:
测试:172.25.254.2/index.php
Cgi动态语言
(1) 子配置目录下新建子配置文件cgi.conf;/etc/httpd/conf.d/cgi.conf
vim /etc/httpd/conf.d/cgi.conf
<Directory /var/www/html/cgi>
Options +ExecCGI
AddHandler cgi-script .cgi
Directory>
(2) yum 安装httpd-manual 手册
ip:/manual 查看手册
vim /var/www/html/index.cgi
(3)网页测试
7.https设定
实验:安装mod_ssl
重启httpd服务,防火墙放行https服务,重新加载防火墙,安装genkey服务
下一步
选择1024进入下一步
完成后进入第二副图界面,键盘不断输入任意字符
选择no,因为要收费,这是练习
什么都不输入,进入下一步
添加信息下一步
生成认证文件和钥匙
替换/etc/httpd/conf.d/ssl.conf中101行和107行
重启服务httpd
打开浏览器 –>>Edit–Preferences–>>Advanced–>>Viewer Certificates–>>….