Apache服务器

Apache服务器

1.Apache概述
企业中常用来用的web服务,用来提供http://(超文本传输协议)

支持最新的HTTP通信协议
支持通用网关接口
支持基于ip和基于域名的虚拟主机
支持安全Socket层(SSL)

2.Apache的安装
yum install httpd -y            ###安装主程序包
yum install httpd-manual   ###安装参考手册
systemctl start httpd        ###开启
systemctl enable httpd     ##使工作
systemctl stop firewalld   
systemctl disable firewalld     ###关闭防火墙
测试


3基础信息
主配置目录   /etc/httpd/conf
主配置文件   /etc/htppd/conf/httpd.conf
子配置目录   /etc/httpd/conf.d
子配置文件    /etc/httpd/conf.d/*.conf
默认发布目录  /var/www/html
默认发布文件   /var/www/html/index.html
默认端口      80
默认上下安全文  httpd_sys_content_t
程序开启默认用户  apache
日志     /etc/htppd/logs/*

4.服务器配置--主配置文件

##修改默认端口###
vim /etc/httpd/conf/httpd.conf ##主配置文件
  Listen 80             ###默认端口80
systemctl restart httpd  
##更改后重启服务

【42行端口显示为80】


##修改默认发布文件####
就是访问apache时没有指定文件名称时默认访问的文件
这个文件可以指定多个,有访问顺序。

//默认发布目录  /var/www/html
//默认发布文件   /var/www/html/index.html

vim /etc/httpd/conf/httpd.conf  ##主配置文件
 DirectoryIndex index.html   test.html    ##当index.html文件不存在时访问test.html文件
systemctl restart httpd   ##更改后重启服务

【编写test.html文件内容】

【更改主配置文件】

【测试】

#####Apache的虚拟主机配置###

设置虚拟主机,可以允许请求被送往不同的ip主机名,并被同一个apache服务器处理。
用户可以通过设置虚拟主机以在一个主机上保存多个域名或主机名。


mkdir /var/www/virtual/linux.westos.com/html -p             ##新建访问目录
mkdir /var/www/virtual/c.westos.com/html -p          ##新建访问目录
vim /var/www/virtual/linux.westos.com/html/index.html      #####linux默认发布文件
vim /var/www/virtual/c.westos.com/html/index.html          #####c默认发布文件
vim /etc/httpd/conf.d/adefault.conf         ###配置常规配置目录
############
<VirtualHost _default_:80>                                                                     
     DocumentRoot "/var/www/html"                                                
     CustomLog "logs/www.westos.com.log" combined   
</VirtualHost>                                      
############
vim /etc/httpd/conf.d/linux.conf            ###配置linux.westos.com的配置目录
#############
<VirtualHost *:80>                                            
     ServerName linux.westos.com                              
     DocumentRoot "/var/www/virtual/linux.westos.com/html/"   
     CustomLog "logs/linux.westos.com.logs" combined          
</VirtualHost>                                                
<VirtualHost>                                                 
<Directory “/var/www/virtual/linux.westos.com/html/">         
    Require all granted                                       
</Directory>                                                  
###########
vim /etc/httpd/conf.d/c.conf                                  ###配置c.westos.com的配置目录
#############
<VirtualHost *:80>                                                
     ServerName c.westos.com                                      
     DocumentRoot "/var/www/virtual/c.westos.com/html/"           
     CustomLog "logs/c.westos.com.logs" combined                  
</VirtualHost>                                                    
<Directory “/var/www/virtual/c.westos.com/html/">                 
    Require all granted                                           
</Directory>                                                      
##################
测试
在测试主机做好本地解析
vim /etc/hosts
172.25.87.11 c.westos.com linux.westos.com 
【示例】


【 /var/www/virtual/linux.westos.com/html/index.html】内容


/var/www/virtual/c.westos.com/html/index.html】编写内容




【vim /etc/httpd/conf.d/adefault.conf】内容


【/etc/httpd/conf.d/linux.conf】内容

 【/etc/httpd/conf.d/c.conf】内容

【测试时本地解析】

【测试结果符合】


5.Apache内部的访问控制

1)针对与主机的访问控制
mkdir /var/www/html/test        ###建立一个访问目录
vim /etc/httpd/conf.d/adefault.conf   ##编写常规的子配置文件
<Directory "/var/www/html/test">     
  Order allow,deny     ####列表读取顺序,后读取的会覆盖前重复内容
  Allow from all
  Deny from 172.25.87.250    ####测试端ip为172.25.87.250
</Directory>
systemctl restart httpd   ##更改后重启服务

【/etc/httpd/conf.d/adefault.conf】内容

【测试端显示此目录无权访问】


2)用户方式的访问控制
[root@localhost ~]# mkdir /var/www/html/admin       ##建立一个访问目录
[root@localhost conf.d]# htpasswd -cm /etc/httpd/userpass admin
New password:                                                         ###建立一个访问用户,第一次加参数c
Re-type new password: 
Adding password for user admin
[root@localhost conf.d]# htpasswd -m /etc/httpd/userpass admin1
New password:                                                         ##再建立一个用户,非首次不加参数c
Re-type new password: 
Adding password for user admin1
10 <Directory "/var/www/html/admin">    ###编写目录的访问设置
 11   AuthUserFile /etc/httpd/userpass
 12   AuthName "please input your name and passwd"
 13   AuthType basic
 14   Require user admin     ###只允许admin用户访问  
 15 #Require valid-user       ###允许所有用户访问
 16 </Directory>
【vim /etc/httpd/conf.d/adefault.conf】访问常规目录编写内容

测试时需要被允许的用户及密码


6.apache支持的语言


1)html

2)php

[root@localhost conf.d]# yum install php -y    ###安装php软件
[root@localhost conf.d]# vim /var/www/html/index.php   ###编写一个php脚本
<?php                                                                
    phpinfo();
?>
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf    ###更改访问文件的顺序
 DirectoryIndex index.php index.html test.html

[root@localhost ~]# systemctl restart httpd     ##重启服务

【脚本内容】

【更改配置文件中文件访问顺序】



测试



3)cgi

[root@localhost conf.d]# mkdir -p /var/www/html/cgi    ###建立一个发布目录
[root@localhost conf.d]# semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?'
                                                                                                ###添加安全上下文 
[root@localhost conf.d]# restorecon -RvvF /var/www/html/cgi/ ###刷新安全上下文
[root@localhost conf.d]# vim /var/www/html/cgi/index.cgi     ##cgi脚本
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print `date`;
[root@localhost conf.d]# chmod +x /var/www/html/cgi/index.cgi  ##脚本添加权限 
[root@localhost conf.d]# /var/www/html/cgi/index.cgi      ###确保脚本正确
[root@localhost conf.d]# vim adefault.conf 
 17 <Directory "/var/www/html/cgi">
 18     Options +ExecCGI
 19     AddHandler cgi-script .cgi
 20 </Directory>
[root@localhost conf.d]# systemctl restart httpd
【示例】





7.https

虽然lnternrt上面的WWW提供的资料是可以任意浏览的,但像是一些交易网站和邮件网站上有用户的重要机密数据就不能这样传送。在这种情况下,就要使用https://的方式,这种方式调用了SSL加密机制对数据传输

yum install crypto-utils -y      ##安装创建网络安全证书的软件
yum install mod_ssl               ###安装SSL加密层
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
【示例】创建证书时信息

更改证书内容


测试时需要下载证书


8.设定https虚拟主机定向网页重写

   mkdir /var/www/html/virtual/login.westos.com/html/   -p     #发布目录
vim /var/www/html/virtual/login.westos.com/html/ index.html   
vim /etc/httpd/conf.d/login.conf
********************
<virtualHost *:443>
 ServerName login.westos.com
 DocumentRoot /var/www/html/virtual/login.westos.com/html
 CustomLog "logs/login.logs" combined
 SSLEngine on
 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</VirtualHost>
<virtualHost *:80>
    ServerName login.westos.com
    RewriteEngine on
    RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>
********************
 ^(/.*)$      #客户在浏览器输入的所有字符
https://     #强制客户加密访问
//%{HTTP_HOST}  #客户所请求主机
$1                    #^(/.*)$ 的值
[redirect=301]   #加密为临时重写


w

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值