本文共 4956 字,大约阅读时间需要 16 分钟。
Apache(未完善)
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
它可以运行在几乎所有广泛使用的计算机平台上。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
apache
在企业中常用的web服务,用来提供http://(超文本传输协议)apache的基本信息
主配置目录:/etc/httpd/conf 主配置文件:/etc/httpd/conf/httpd.conf 子配置目录:/etc/httpd/conf.d/ 子配置文件:/etc/httpd/conf.d/.conf 默认发布目录:/var/www/html/ 默认发布文件:index.html 默认端口:80 默认安全上下文:httpd_sys_content_t 程序开启默认用户:apache apache日志:/etc/httpd/logs/apache的安装部署
关闭selinux getenforce 查看selinux的状态 状态为 Disabledyum install httpd -y ##安装http
systemctl start httpd ##开启http systemctl enable httpd ##开机自启 firewall-cmd --list-all ##查看防火墙中是否添加了http服务 firewall-cmd --permanent --add-service=http ##在防火墙中添加http服务默认端口为80不需要添加默认发布目录:/var/www/html/
rpm -qc httpd ##查看http的配置文件:/etc/httpd/conf/httpd.conf;
cd /var/www/html ##apached的根目录,默认发布目录:apache默认的数据文档存储目录 vim index.html ##apache的默认发布文件在浏览器上输入172.25.254.139,会显示默认发布目录下的发布文件index.html的默认页面
[root@apache html]# yum install -y httpd-manual.noarch
##安装apache的手册 在浏览器上输入172.25.254.139/manual,会出现报错因为没有重新启动服务;[root@apache html]# systemctl restart httpd
[root@apache html]# systemctl restart network修改默认端口:
vim /etc/httpd/conf/httpd.conf
43 Listen 8080 #修改默认端口为8080 firewall-cmd --permanent --add-port=8080/tcp ##在防火墙中添加8080端口 firewall-cmd --reload firewall-cmd --list-all systemctl restart httpd ##修改完配置文件要重新启动给防火墙添8080:在浏览器上输入172.25.254.139:8080,因为默认的端口号为80,而端口号发生了改变,所以在访问时需要添加8080端口,会出现配置文件的默认页面;
修改默认发布文件:
默认发布文件就是访问apache时没有指定文件名时默认访问的文件这个文件可以指定多个,有访问顺序vim /etc/httpd/conf/httpd.conf
164 DirectoryIndex index.html westos index.html ##当index.html不存在时访westos
systemctl restart httpd修改发布目录:
mkdir -p /westos/html/ #创建发布目录 vim /westos/html/index.htmlvim /etc/httpd/conf/httpd.conf
DocumentRoot “/westos/html”
文件默认访问目录 这里端口已经修改回80,所以访问时不需要添加端口添加:
设置主配置文件中的域名访问时的访问控制条件 vim /etc/httpd/conf/httpd.conf 121 <Directory “/var/www/html/westos”> 122 Order Allow,Deny ##命令读取顺序 Allow from All #允许所有通过 Deny from 172.25.254.110 #不允许110主机访问,读到deny会覆盖allow(图片有误注意) 123 systemctl restart httpd #重启动服务创建动态网页php+cgi
什么是php?
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。什么是CGI?
公共网关接口(Common Gateway Interface,CGI)是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。CGI 应用程序能与浏览器进行交互,还可通过数据API与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中。几乎所有服务器都支持CGI,可用任何语言编写CGI,包括流行的C、C ++、VB 和Delphi 等。CGI分为标准CGI和间接CGI两种。标准CGI使用命令行参数或环境变量表示服务器的详细请求,服务器与浏览器通信采用标准输入输出方式。间接CGI又称缓冲CGI,在CGI程序和CGI接口之间插入一个缓冲程序,缓冲程序与CGI接口间用标准输入输出进行通信步骤:
vim /var/www/html/index.php <?php phpinfo(); ?>测试:
http://172.25.254.139/index.php 报错信息:会显示空白的状态解决办法:
添加php服务 安装php和cgi yum install -y php systemctl restart httpd测试主机访问172.25.254.139/index.php
mkdir /var/www/html/cgi 创建目录
vim /var/www/html/cgi/index.cgi 编剧index.cgi #!/usr/bin/perl print “Content-type: text/html\n\n”; print date; 文字输出是静态的,显示的是代码; chmod +x index.cgi 添加可执行权限;vim /etc/httpd/conf.d/default.conf ##进入子配置文件设置端口
默认的80端口 DocumentRoot /var/www/html/ CustomLog logs/default.log combined #将错误日志和登录日志联系在一起,及可以一起看不用分开看;方便 121 <Directory “/var/www/html/cgi”> 122 Options +ExecCGI #允许使用mod_cgi模块执行CGI脚本I AddHandler cgi-script .cgi #允许用户目录中所有以“.cgi”结尾的文件作为CGI脚本执行 123测试:
http://172.25.254.139/cgi/index.cgi 每刷新一次网页时间就会变化apache的ssl
加密套接字协议层:一种加密的通讯协定,用在使用者与网络服务器之间,sercurity socket layer)
1、.关于http和https的理论知识 (1)关于https HTTPS(全称:Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为 目标的HTTP通道,即HTTP的安全版。HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细 内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http体系。用于安全的HTTP 数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验 证层(在HTTP与TCP之间)。(2.)http与https的区别
HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全, 为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于 对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。即HTTPS协议是由SSL+HTTP协议构建的可 进行加密传输、身份认证的网络协议,要比http协议安全。HTTPS和HTTP的区别主要如下:
(1)https协议需要到ca申请证书,一般免费证书较少,需要一定费用。 (2)http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。 (3)http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。 (4)http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。2、具体实现
加密认证 没有加密之前,访问https不能访问cd /etc/httpd/conf.d
yum install -y mod_ssl # 用mod_ssl来实现https ls systemctl restart httpd自签名证书
上面的证书是系统自己生成的,可是我想自己制作证书,以下操作是我自己在生成证书删除station证书
yum install -y mod_ssl
yum insatll -y crypto-utils # 此软件提供加密工具genkey www.westos.com # 生成该网页的证书和密钥
然后会开始生成秘钥
vim /etc/httpd/conf.d/ssl.conf # 把生成的证书和密钥写进文件里
101 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt #生成的证书 109 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key #生成的密钥 systemctl restart httpd打开浏览器测试
http://www.westos.com 查看证书转载地址:https://blog.csdn.net/weixin_45426401/article/details/99727256 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!