linux系统之apache基本配置及语言支持及虚拟主机 访问控制

一.apache的安装

 
  

yum install httpd -y

systemctl start httpd

systemctl stop firewalld

systemctl enable httpd

systemctl disable firewalld

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第1张图片

二.apache的基础信息

主配置目录:/etc/httpd/conf 主配置文件:/etc/httpd/conf/http.conf 子配置目录:/etc/httpd/conf.d/ 子配置文件:/etc/httpd/conf.d/*.conf 默认发布目录:/var/www/html/ 默认发布文件:index.html 默认端口:80 默认安全上下文:httpd_sys_content_t 程序开启默认用户:apache apache日志:/etc/http/logs/* <1>.修改默认端口: vim /etc/httpd/conf/httpd.conf 43 Listen 8080           ###修改默认端口为8080

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第2张图片

<2>.修改默认发布文件: 默认发布文件就是访问apache时没有指定文件名称时默认访问的文件 这个文件可以指定多个,有访问先后顺序! vim /etc/httpd/conf/httpd.conf 164     DirectoryIndex index.html test.html                ##当index.html不存在时访问test.html

<3>.修改默认发布目录 vim /etc/httpd/conf/httpd.conf 120 DocumentRoot "/www/html" 121 122   Require all granted 123

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第3张图片

semanage fcontext -a -t httpd_sys_content '/www(/.*)?'

              ###修改安全上下文 storecon -RvvF /www/

               ###激活刚才修改的安全上下文

三.apache的虚拟主机

 
  

 vim /var/www/html/index.html

   恭喜你闯关成功!!! 

mkdir /var/www/virtual/linux.bb.com/html -p mkdir /var/www/virtual/java.bb.com/html -p

vim /var/www/virtual/linux.bb.com/html/linux.html

Welcome to linux.bb.com !

 
  

vim /var/www/virtual/java.bb.com/html/java.html

Welcome to java.bb.com !

vim /etc/httpd/conf/httpd.conf

164     DirectoryIndex   index.html linux.html java.html  ###修改默认发布文件

356
357   DocumentRoot  "/var/www/html"
358   CustomLog    "logs/www.bb.com.log" combined
359

360
361   ServerName   linux.bb.com
362   DocumentRoot "/var/www/virtual/linux.bb.com/html"
363   CustomLog   "logs/linux.bb.com.log" combined
364

365
366   require all granted
367

368
369   ServerName   java.bb.com
370   DocumentRoot "/var/www/virtual/java.bb.com/html"
371   CustomLog   "logs/java.bb.com.log" combined
372

373
374   require all granted
375

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第4张图片

systemctl restart httpd

测试:
浏览器所在主机(测试主机)做好本地解析
vim /etc/hosts
172.25.254.117 网址1 网址2  网址3

测试结果:


linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第5张图片


四.apache内部的访问控制

 
  

<1>针对主机的访问控制 vim /etc/httpd/conf/httpd.conf   order deny,allow             ###列表读取顺序,后读取的列表会覆盖限制内容的重复部分      Allow from 172.25.254.17     ###只允许此ip能访问   Deny from all

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第6张图片

<2>用户方式的访问控制    vim /etc/httpd/conf/httpd.conf   order deny,allow                Allow from 172.25.254.17     ###只允许此ip能访问   Deny from all   AuthUserFile /etc/httpd/userpass   AuthName "please input your username and passwd!" ###对话框弹出提示   AuthType basic                ###最基本的认证方式   #Require user admin           ###允许admin用户   Require valid-user            ###允许有效的admin用户     htpasswd -cm /etc/httpd/userpass admin  ###首次建立用户加-cm     htpasswd -m /etc/httpd/userpass admin2  ###后续建立不加c     cat /etc/httpd/userpass                 ###查看建立的用户信息     mkdir /var/www/html/admin            vim /var/www/html/admin/index.html     systemctl restart httpd.service

测试结果:

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第7张图片

测试结果:

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第8张图片

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第9张图片

 linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第10张图片

五.apache默认支持的语言

 
  

<1>html:超文本标记语言 <2>php:超文本预处理器

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。

语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。

PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。

它可以比CGI或者Perl更快速地执行动态网页。

用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,

执行效率比完全生成HTML标记的CGI要高许多;

PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

[root@apache conf.d]# vim /var/www/html/index.php

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第11张图片

[root@apache conf.d]# yum install php -y    ###安装php

vim /etc/httpd/conf/httpd.conf

systemctl restart httpd.service

测试: 172.25.254.117/index.php    ###可以看见phpinfo()的结果

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第12张图片

<3>cgi:公共网关接口

CGI是外部应用程序(CGI程序)与WEB服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。

 mkdir /var/www/html/cgi semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?'    ###修改安全上下文 restorecon -RvvF /var/www/html/cgi/ vim /var/www/html/cgi/index.cgi #!/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  ###执行脚本看是否运行正常

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第13张图片

vim /etc/httpd/conf/httpd.conf


   Options +ExecCGI
   AddHandler cgi-script .cgi



    DirectoryIndex index.html text.html index.php index.cgi



systemctl restart httpd.service

测试结果:


六.设定https虚拟主机并设定网页重写

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


linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第14张图片


linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第15张图片

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第16张图片

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第17张图片


linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第18张图片

linux系统之apache基本配置及语言支持及虚拟主机 访问控制_第19张图片



你可能感兴趣的:(linux必学命令,apache)