一.各大公司使用的服务

主流的一般是apache nginx 公司的网站,其它一些是在上述基础上进行的二次开发。
apache:企业中常用的web服务,用来提供http://(超文本传输协议)
http:超文本传送协议(HyperText Transfer Protocol)是一种通信协议,它允许将超文本标记语言文档从web服务器传送到wel浏览器。

二.Apache的基本配置

1.apache服务环境的搭建
安装apache软件包:

yum install -y httpd httpd-manual  ##Apache服务器手册独立,需单独安装

启动apache服务:

systemctl start httpd ; systemctl enable httpd

查看监听端口:

ss -antlp   |  grep   httpd   ##此时是无显示端口

查看配置文件:

设置初始环境,火墙:

测试:


2apache的基础信息:

主配置目录: /etc/httpd/conf
主配置文件:/etc/httpd/conf/httpd.conf
子配置目录:/etc/httpd/conf.d/
子配置文件:/etc/httpd/conf.d/ *.conf
默认发布目录:/var/www/html/
默认发布文件:index.html
默认端口:80
默认安全上下文:http_sys_content_t
程序开启默认用户apache
apache日志:/etc/httpd/logs/*
 查看apache版本:


apachectl 命令:

apachectl命令是Apache的Web服务器前端控制工具,用以启动、关闭和重新启动Web服务器进程。
语法apachectl(参数)参数configtest:检查设置文件中的语法是否正确;fullstatus:显示服务器完整的状态信息;graceful:重新启动Apache服务器,但不会中断原有的连接;help:显示帮助信息;restart:重新启动Apache服务器;start:启动Apache服务器;status:显示服务器摘要的状态信息;stop:停止Apache服务器。

1 修改默认端口:

 vim /etc/httpd/conf/httpd.conf 42 Listen 8080     ##将默认端口改为8080,以后访问时要注意在URL后加8080!

2 修改默认发布文件:
默认发布文件就是访问apache时没有指定文件名称时默认访问的文件。这个文件可以指定多个,有顺序。
当我们修改主页为test时,注意观察:
先修改配置文件:
将index改为test,并重启服务:

访问:

3修改默认发布目录:
先建立一个发布目录:

在目录下写一个主页html:

修改主配置文件:


重启服务,访问发现没有权限,

此时想到selinux,所以要修改安全上下文:restorecon是写入内核!!!

查看安全上下文,restorecon是写入内核!!!,不写入内核,不会生效,


再次查看,成功:

4 虚拟主机的设定(重要!):
什么是虚拟主机?
让你的一台服务器上面,有好多个“主网页存在“,硬件实际上只有一台,但是由网址来说,则似乎有很多主机存在的样子。
首先,每个主机名都必须对应到某个主网页目录中,先建主网页目录:


分别在对应的目录下写入首页html;
修改配置文件,先是默认目录:


其次时两个虚拟主机,c.conf与linux.conf
c.cong如下:

linux.conf如下:


最后测试,而且一定要在浏览器主机上做好本地解析:

查看测试效果,试验成功:


2018.3.24 在此实验并改进:

[root@python conf.d]# ls
adefault.conf  autoindex.conf  README  userdir.conf  welcome.conf
 1 NameVirtualHost *:802 <virtualhost _default_:80>3     DocumentRoot "/var/www/html"4     CustomLog "logs/www.westos.com" combined5 </virtualhost>6 7 8 <virtualhost *:80>9     servername c.westos.com10     DocumentRoot "/var/www/virtual/c.westos.com/"11     CustomLog "logs/c.westos.com" combined12 </virtualhost>13 14 15 <virtualhost *:80>16     servername linux.westos.com17     DocumentRoot "/var/www/virtual/linux.westos.com/"18     CustomLog "logs/linux.westos.com" combined19 </virtualhost>20 21 <Directory "/var/www/virtual/c.westos.com/">22     Require all granted23 24 </Directory>25 26 27 <Directory "/var/www/virtual/linux.westos.com/">28     Require all granted
30 </Directory>

5 apache的内部访问控制:
1) 针对与主机的访问控制:
比如:只允许44主机访问,其他人都不允许:

vim adefault.conf
<Directory "/var/www/html/test">Order deny,allow  ##列表读取顺序,后读取的会覆盖前面读取的Allow from 172.25.254.44Deny from all
</Directory>

如果想用某个网络或IP无法访问的话,最好用火墙比较妥当,若只是某些重要目录不想让人家来查阅的话,那么可以用allow,deny与Order的设置数据就可以了。
2)用户方式的访问控制:
先设置用户及密码:

修改配置文件:

重启服务,查看:


6 apache支持的语言:
1 html
2 php
先用php写好页面:

安装php

它会自动生成php.conf:

在主配置文件中加入目录首页文件index.php:

重启服务,查看,:

3 cgi

[root@apacheserver html]# mkdir cgi
[root@apacheserver html]# cd cgi/
[root@apacheserver cgi]# ls
[root@apacheserver cgi]# vim index.cgi
[root@apacheserver cgi]# semanage fcontent -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?'
[root@apacheserver cgi]# restorecon -RvvF /var/www/cgi/
[root@apacheserver cgi]# vim /var/www/html/cgi/index.cgi

chmod +x /var/www/html/cgi/index.cgi
/var/www/htnl/cgi/index.cgi ##执行脚本确保脚本运行正常
vim adefault.conf<Directory "/var/www/html/cgi">Option +ExecCGIAddHandler cgi-script  .cgi</Directory>
systemctl restart httpd

观察:

7 https
1)https:HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。
2)SSL:SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。SSL (Secure Socket Layer)为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。
3)客户端通过https方式访问服务器全过程描述:
1.客户机通过https访问web服务器,web服务器向客户机出示自己的证书
2. 客户机验证证书的有效性,包括发证时间,发证机关,执行者标识。
3.如果客户机验证证书通过,客户机随机产生128位的key,再利用证书文件传递的public key对该随即key机进行加密。
4.加密后传送至服务器端,服务器再利用自己的public key 对加密的key进行解密,得到客户机的随机key值。
5.这时两端的key值相同,利用该key进行加密通讯。
实验步骤:
1)安装加密软件:

2)生成证书,此实验为www.westos.com:

此时发现没有安装ssl模块软件:

安装:

生成证书,一步一步来:


证书生成后,修改ssl配置文件,将新生成的证书文化与钥匙加入:


建立发布目录与发布目录文件:


重启服务,并在浏览器中输入https://login.westos.com:

但是此时有一个问题,在访问这个网站时必须将https手动加入,那我们可不可以将次网站设定为https重写呢?
8 设定https虚拟主机并设定网页重写:
修改配置文件:

其中,^(/.*)$       ##表示客户端浏览器上输入的所有字符https://     ##强制客户加密访问%{HTTP_HOST} ##客户请求主机$1           ##标示^(/.*)$的值[redirect=301]  ##临时重写 302 永久转换

此后观察,自动强制加密访问:

8 个人用户主页功能
虚拟主机虽然好,但是用户多时会耗费root太多时间,httpd的个人用户主页可以让用户在自己的家目录中管理个人网站。
1
2
3
4 重启httpd
5切换到niubiao用户

6 建立public html目录:

7 往此目录中写入网页

8最重要的一点,把家目录的权限改为755,保证其他人可以有权限读取里面的内容》


9 修改selinux 环境


10 访问niubiao的个人网站:

  1. 基于端口号的虚拟主机功能:
    基于端口号的虚拟主机设定最复杂,
    考虑:
1httpd服务程序配置
2 selinux服务对于新开设端口的监控。我们不仅要考虑目录上的selinux安全上下文的限制,还须考虑selinux域对http服务程序的管控。

1 创建虚拟主机用户数据发布目录与网页:

mkdir -p /var/www/virtual/6111
mkdir -p /var/www/virtual/6222
echo '6111' > /var/www/virtual/6111/index.html
echo '6222' > /var/www/virtual/6222/index.html

2 httpd配置文件

[root@iscsi-server 6222]# vim /etc/httpd/conf/httpd.conf 41 #Listen 12.34.56.78:8042 Listen 8043 Listen 611144 Listen 6222

3 虚拟主机区域配置:

[root@iscsi-server conf.d]# vim adefault.conf <Virtualhost 172.25.254.136:6111>2         Documentroot '/var/www/virtual/6111'3         servername linux.westos.com4         <Directory '/var/www/virtual/6111' >5                 require all granted6        </Directory>7 </Virtualhost>8 9 10 <Virtualhost 172.25.254.136:6222>11         Documentroot '/var/www/virtual/6222'12         servername c.westos.com13         <Directory '/var/www/virtual/6222' >14                 require all granted15         </Directory>16 17 </Virtualhost>
14                 require all granted15         </Directory>16 17 </Virtualhost>

4 修改数据发布目录与文件的安全上下文

5 此时重启服务,回报错,因为selinux会拒绝使用apache 使用这两个端口,我们用semanage查询过滤与http协议有关且selinux允许的端口列表:

[root@iscsi-server conf.d]# semanage port -l | grep http[root@iscsi-server virtual]# semanage port -a -t http_port_t -p tcp 6111
[root@iscsi-server virtual]# semanage port -a -t http_port_t -p tcp 6222

该操作会立即生效
此时浏览页面可以看到内荣,这时注意虽然防火墙允许了http服务,但是要更改port(非443,80,8080),还要特别的在防火墙上放行!

firewall-cmd --permanent --add-port=6111/tcp
firewall-cmd --permanent --add-port=6222/tcp
firewall-cmd --reload 

这时就可以访问了:

Apache服务(www服务器)相关推荐

  1. 阿里云服务器下安装LAMP环境(CentOS Linux 6.3) 安装与配置 Apache 服务

    想让我们的阿里云服务器成为一台 Web 服务器,我们需要安装一个 Web 服务器软件,比如 Apache ,或者 Nginx 等等.下面我们就一起来安装一个 Apache 服务. 我们可以使用 yum ...

  2. apache服务Forbidden 403问题精彩总结

    部署apache服务Forbidden 403问题小结 ######################################################### #<老男孩linux就 ...

  3. Apache服务基础调优参数详解

    一.准备工作:准备一台服务器(Centos6.5系统)IP:192.168.2.101 1.安装服务器端:httpd [root@http ~]# yum -y install httpd 2.安装浏 ...

  4. APACHE多个服务器的配置

    APACHE 多个服务器的配置? 网站目录:d:www  下设两个站点:1.D:wwwszbw  2.D:wwwweb 注意前面,要开启 Vhost 及 vhos 相关 so  <Virtual ...

  5. apache服务出现Forbidden 403问题的解决方法总结

    这篇文章主要介绍了apache服务出现Forbidden 403问题的解决方法总结,需要的朋友可以参考下 在配置Linux的 Apache服务时,经常会遇到http403错误,我今天配置测试时也出现了 ...

  6. ubunut 下关闭apache服务自动启动

    ubuntu 下关闭apache服务自动启动 最近在自己的ubuntu安装了apache服务器,每次开机的时候通过:   ps  -A    命令发现apache服务总是自动启动,如下: 本来自己的电 ...

  7. 用Apache构建WEB服务器

    用Apache构建WEB服务器 作者:level Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一.Apache取自"a patchy serv ...

  8. 【SMTP 补录 Apache服务】

    [补录,续] 1.[配置空壳邮件接受][mta] [前置:在/etc/named.rfc1912.zones 添加一个可以接受邮件的域hxl.org(与你数据库中写的向对应),这个域的所在ip就是你机 ...

  9. CentOS 7 Apache服务的安装与配置(转)

    https://blog.51cto.com/13525470/2070375 一.Apache简介 Apache 是一个知名的开源Web服务器. 早期的Apache服务器由Apache Group来 ...

最新文章

  1. Intent四个重要属性
  2. 典型微型计算机控制系统的实例,微型计算机控制系统概述.ppt
  3. 网络编程模型综述 之 多线程模型
  4. CentOS7虚拟机断电,出现:“Entering emergency mode. Exit the shell to continue.”
  5. kcf算法中cos_window是什么意思_知网/维普查重系统算法介绍(史上最详细)
  6. javascript获取元素样式值
  7. 【python】正则表达式re模块
  8. python实现洗牌算法_【Python】洗牌算法及 random 中 shuffle 方法和 sample 方法浅析...
  9. Leetcode Problem108
  10. 计算机键盘电容传感器,电容式触摸感应按键的实现之硬件篇
  11. MapAbc使用体验
  12. Linux查看系统运行时间
  13. sd卡计算机无法读取数据,电脑突然无法读取sd的起因分析sd卡无法读取怎么修复...
  14. Vue输入框快速调出数字键盘
  15. 大数据——DBT:dbt集成数据质量监控插件elementary(生产环境篇)
  16. Image Super-Resolution via Iterative Refinement 论文解读和感想
  17. 基于DCMTK的医学影像工作站设计
  18. 爬取了知乎2.2亿阅读量 有漂亮女朋友是什么体验,结果发现...
  19. STM32-F407入门学习专题(九) STM32外设之ADC
  20. 【ClickHouse内核】MergeTree表引擎语法结构

热门文章

  1. 无聊创意12306改变
  2. 互联网玄学的“造神”奇迹还能持续多久?
  3. ESP8266EX 串口WIFI无线模块
  4. Window10磁盘分区
  5. Lockup latch的用法,看这个就够了
  6. 智慧城市八大应用,助力城市更加智慧
  7. 关于SLAM的系列很有价值的网文_拔剑-浆糊的传说_新浪博客
  8. 光学实验-偏振光的研究(matploylib)
  9. Linux 执行命令不挂断
  10. php ncr转utf8