从今天开始就要讲到服务的搭建了,首先是HTTP服务
#############安装http服务#############
1.安装httpd
2.开启并且设置开机自启动
3.安装hpptd-manual ##因为HTTP服务的配置文件是没有man文档的,所以需要下载一个
4.关闭防火墙
需要另外下载一个安装包来解释主配置文件(htppd-manual)
要说http,就必须要说一下搭载这个服务的服务apache服务
######################
####### apache #######
######################
#1.apache
企业中常用的web服务,用来提供http://(超文本传输协议)
#2.apache的安装部署
yum install httpd -y
yum install htppd-manual -y
systemctl start httpd
systemctl enable httpd
systemctl stop firewalld
systemctl disable firewalld
#测试 http://172.25.254.38
# http://172.25.254.38/manual
#3.apache的基础信息
#主配置文件目录: /etc/httpd/conf/
#主配置文件: /etc/httpd/conf/httpd.conf
#子配置目录: /etc/httpd/conf.d/
#子配置文件: /etc/httpd/conf.d/*.conf(所有conf结尾的都是子配置文件)
#默认发布目录: /var/www/html
#默认发布文件: index.html
#默认端口: 80
#默认安全上下文: httpd_sys_content_t
#程序开启默认用户: apache
#apache日志: /etc/httpd/logs/
清空浏览器缓存: ctrl+shift+del
修改默认端口
#查看端口: ss -anutlpe | grep httpd(这条命令很重要!!!)
vim /etc/httpd/conf/httpd.conf
43行 Listen 8080 ##修改默认端口为8080修改完成之后一定要重启服务
修改默认发布文件
什么是发布文件,在/var/www/html下创建一个名为index.html 在里面写入一个语句,随便写什么,访问这个网站的时候就会访问到默认的那个发布文件中
#默认发布文件就是apache时没有指定文件名称时默认访问的文件,这个文件可以指定多个,有访问顺序
vim /etc/httpd/conf/httpd.conf
164行 DirectoryIdex index.html test.html ##当index.html不存在时访问test.html
修改默认发布目录:
120 DocumentRoot "/www/html"
121
122 Require all granted
123
重启服务
#修改安全上下文!!!
#4.apache的虚拟主机
先把之前进行的修改改回来
combined(整合型的四种日志都放在一起)
vim /etc/httpd/conf.d/adefault.conf(这里要写a开头的,因为后面有一个c开头的配置文件,系统在读取的时候是按照ASCII码读取的,所以不写a的话系统会优先读取开头为c的文件)
1
2 DocumentRoot "/var/www/html"
3 CustomLog "logs/www.westos.com.log" combined
4
vim /etc/httpd/conf.d/linux.conf
1
2 ServerName linux.westos.com #指定站点网址
3 DocumentRoot "/var/www/virtual/linux.westos.com/html/" #站点默认发布目录
4 CustomLog "logs/linux.westos.com.logs" combined #站点日志combined(整合型的四种日志都放在一起)
5
6
7 require all granted
8
vim /etc/httpd/conf.d/c.conf
1
2 ServerName c.westos.com
3 DocumentRoot "/var/www/virtual/c.westos.com/html/"
4 CustomLog "logs/c.westos.com.logs" combined
5
6
7 require all granted
8
测试
在测试主机中做好本地解析(告诉系统你将要访问的地址IP是多少)
vim /etc/hosts
172.25.254.38 站点网址都写上去
#清空浏览器缓存: ctrl+shift+del!!!(一定要记得这个)
#5.apache内部的访问控制
1.针对与主机的访问控制
在/etc/http/conf.d/下的一个子配置文件中添加(最好default,因为不需要做解析)
Order deny,allow #列表读取顺序,后读取的列表会覆盖先读取的内容
Allow from 172.25.254.44
Deny from all
mkdir /var/www/html/test
2.用户方式的访问控制
最好在default做,因为没有servername,不需要做解析
htpasswd -cm /etc/httpd/userpass admin(虚拟用户,可有可无)
htpasswd -m /etc/httpd/userpass admin1
当你再次创建密码时,一定要把c去掉,不然就会将以前的记录都覆盖掉
AuthUserFile /etc/httpd/userpass #指定一个认证文件
AuthName(用户可在提示页面看到显示的信息) "Please input your name and passwd"
AuthType basic(方式为基本,就是输入用户名密码就能登陆) #认证方式
Require user admin(这个目录只允许admin一个用户访问)
Required valid-user(有效的用户都可以)两个写一个就可以了
mkdir /var/www/html/admin
vim /var/www/html/admin/index.html
#6.apache支持的语言
1.html
2.php
vim /var/www/html/index.php
phpinfo();
?>
yum install php -y
systemctl restart httpd
测试
172.25.254.138/index.php
3.cgi
mkdir -p /var/www/html/cgi
semanager fcontent -l | grep http
semanager fcontent -a -t httpd_sys_script_exex_t '/var/www/html/cgi(/.*)?'
restorecon -RvvF /var/www/html.cgi
vim /var/www/html/cgi/index.cgi(内容在man里面可以找到)
#!/usr/bin/perl
print "Content-type:text/html\n\n";
print `date`;
chmod +x /var/www/html/cgi/index.cgi
/var/www/html/cgi/index.cgi #执行下脚本确保脚本运行正常
vim adefatul.conf
options +ExecCGI
AddHandler cgi-script .cgi
systecctl restart httpd
#7.https
作用 保护数据传送至服务端时不被破解
ss -antlupe |grep 443 (https使用的是443端口)
yum install mod_ssl -y #安装443端口
yum install crypto-utils -y #制作网络安全证书的服务
genkey www.westos.com
乱动鼠标或者敲键盘都可以
这个是选择是否发送至官方授权,选择No
vim /etc/httpd/conf.d/ssl.conf
101 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
109 SSLCertificateKeyFile /etc/pki/tls/privats/www.westos.com.key
访问的时候一定要开头输入https,不然的话登陆不上去。
#8.设定https虚拟主机并设定网络服务器
但是用户输入网址的时候不会将前面的https也输入进去的,所以就需要填加一个配置文件,将http的开头自动转换为https
ServerName login.westos.com
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [red irect=301]
^(/.*)$ ##客户在浏览器地址栏中输入的所有字符
https:// ##强制客户加密访问
%{HTTP HOST}$1 ##客户请求访问的主机
$1 ##"$1"标示^(/.*)$的值
[redirect=301] ##临时重写 302永久转换