apache

1.apche

企业中常用的web服务,用来提供http://(超文本传输协议)
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。

2.apache的安装部署
yum install httpd -y(配置好yum源进行安装 这里就不再多说了)


yum install httpd-manual


systemctl start httpd
systemctl enable httpd
systemctl stop firewlld
systemctl disable firewalld

测试   http://172.25.254.100
 http://172.25.254.100/manual

#3.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/*

修改默认端口:
vim /etc/httpd/conf/httpd.conf
43 Listen 8080     ##修改默认端口为8080

这时候再用本来默认的80端口访问 发现访问失败了


尝试用8080端口发现访问成功



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


之后我们删除掉/var/www/html/index.html 建立一个test.html 在test.html中写入我是test啊???之后果然可以发现原来的index.html被删除后果然去访问这个test.html了 表明默认的发布文件修改成成功



修改默认发布目录:
120 DocumentRoot "/www/html"
120 DocumentRoot "/www/html"
121 <Directory "/www">
122         Require all granted
123 </Directory>

semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'
storecon -RvvF /www/(这里我们必须修改更改目录的文件上下文与原来默认的发布目录一致)

我们在修改后的默认发布目录/www/html/index.html 中写入了HELLO 我们看一下是否修改成功

4.apache的虚拟主机
vim /etc/httpd/conf.d/adefault.conf(这里加了个a 开头 为了让系统首先读取默认文件 系统看文件的首字母巨鼎读取顺序的)
<VirtualHost _default_:80>
    DocumentRoot"/var/www/html"
    CustomLog"logs/www.westos.com.log" combined
</VirtualHost>

vim /etc/httpd/conf.d/linux.conf
<VirtualHost *:80>
    ServerName linux.westos.com #指定站点名称
    DocumentRoot"/var/www/virtual/linux.westos.com/html/" #站点默认发布目录
    CustomLog"logs/linux.westos.com.logs" combined       #站点日志combined标示四种日志的集合
</VirtualHost>
<Directory "/var/www/virtual/linux.westos.com/html/">
    Require all granted
</Directory>

vim /etc/httpd/conf.d/c.conf
<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.254.100 c.westos.com linux.westos.com

 整体如下所示

分别访问www.westos,com c.westos.com linux.westos.com (写入的index.html的内容可参考上图)

5.apache内部的访问控制
1.针对与主机的访问控制
  5 <Directory"/var/www/html/test">
  6         Order deny,allow       ##列表读取顺序,后读取的列表会覆盖限度去内容的重复部分
  7         Allow from 172.25.254.44
  8         Deny from all
  9 </Directory>

这里我们禁止了172.25.254.100主机的访问

我们用172.25.254.82访问

但是用172.25.254.100访问 发现果然被禁止了

2.用户方式的访问控制

htpasswd -cm    /etc/httpd/userpass annie(创建用户并且加密给上密码 )
htpasswd -m     /etc/httpd/userpass  riven(这里不能用-cm否则原来创建的用户会被覆盖的)

vim adefault.conf
 10 <Directory"/var/www/html/admin">
 11         AuthUserFile /etc/httpd/userpass
 12        AuthName "Please inputyour name and password"
 13         AuthType basic
 14         #Require        user admin
 15         Require valid-user
 16 </Directory>

之后我们就可以登陆172.25.254.100/admin查看了 可以看到我们被告知必须用用户登陆


登陆之后才可以看到文件的 内容

6.apache支持的语言

1.html
2.php
vim /var/www/html/index.php
<?php
    phpinfo();
?>

yum install php -y


systemctl restart httpd (之后还是需要重启服务再进行测试)

测试
172.25.254.100/index.php

3.cgi
mkdir -p /var/www/html/cgi
semanager fcontent -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 #执行下脚本确保脚本运行正常(查看时间)

vim adefatul.conf
 17 <Directory"/var/www/html/cgi">
 18         Options +ExecCGI
 19         AddHandler cgi-script .cgi
 20 </Directory>


systemctl restart httpd 


之后我们就可以进行测试啦


刷新可以看到时间变化

7.https

yum install crypto-utils -y

yum install mod_ssl -y

genkey www.annie.com

接下来这里我们选择1024字节的加密


加密开始这时候我们在键盘上乱打 加密进度就会前进 直至百分之100完成

之后我们选择不把证书发给CA进行认证


接下来我们进行证书相关内容的书写


安全证书创建成功后会出现这些信息 我们可以看看到 .crt 和 .key


vim /etc/httpd/conf.d/ssl.conf (之后在这里我们把证书的内容*.crt *.key写进ssl.conf这个配置文件中)

101 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
109 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key

之后这里我们就可以用https://172.25.254.100查看这个安全证书了

安全证书的内容如下所示


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

vim /etc/httpd/conf.d/login.conf
  1 <VirtualHost *:443>
  2         ServerName login.westos.com
  3         DocumentRoot/var/www/html/virtual/login.riven.com/html
  4         CustomLog "logs/login.logs"combined
  5         SSLEngine on
  6         SSLCertificateFile/etc/pki/tls/certs/www.riven.com.crt
  7         SSLCertificateKeyFile/etc/pki/tls/private/www.riven.com.key
  8 </VirtualHost>
  9 <Directory"/var/www/html/virtual/login.riven.com/html">
 10         Require all granted
 11 </Directory>
 12 <VirtualHost *:80>
 13         ServerName login.riven.com
 14         RewriteEngine On
 15         RewriteRule ^(/.*)$https://%{HTTP_HOST}$1 [redirect=301]
 16 </VirtualHost>

文件的内容

设置好解析


建立好目录


测试结果可以看到

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

Linux-apache阿帕奇相关推荐

  1. Linux+Apache+MySQL+PHP5的安装与配置与phpBB2论坛的架设

    在现在的网络应用中,Linux+Apache+MySQL+PHP已经成为一个重要的组合应用了.在这里我们以PHP5为例谈一下Linux+Apache+MySQL+PHP5的安装与配置.在经过这样的工作 ...

  2. CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境

    转自:http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.html 一.简介 什么是LAMP     LAMP是一种Web网络应用和开发环 ...

  3. linux apache添加多站点配置(Ubuntn和Centos)

     Linux Apache 多站点配置 Centos 配置方式: 找到 /etc/httpd/conf/http.conf 添加监听端口,eg: Listen 89 虚拟机配置,一个端口对应一个 &l ...

  4. linux+apache+mysql+php

    linux+apache+mysql+php 设置mysql l 测试1网站 注意:在安装或者测试的时候出现乱码的话,可以修改浏览器的编码一项将其改为适合的编码 输入站点http://服务器地址/ec ...

  5. WEB平台架构之:LAMP(Linux+Apache+MySQL+PHP)

    WEB平台架构之:LAMP(Linux+Apache+MySQL+PHP)    从业界来看,最主流的web平台架构就当属LAMP了.LAMP架构可以说是一切web平台的基础架构,所有一切的所谓大型架 ...

  6. Linux apache编译安装

    Linux apache编译安装 1.下载httpd-2.2.15.tar.gz wget  http://mirror.bjtu.edu.cn/apache/httpd/httpd-2.2.17.t ...

  7. php表单密码由加密变明文,PHP 安全性漫谈 Linux+Apache+Mysql+PHP

    PHP 安全性漫谈Linux+Apache+Mysql+PHP 本文所讨论的安全性环境是在Linux+Apache+Mysql+PHP.超出此范围的安全性问题不在本文范畴之内 一.apache ser ...

  8. Linux+Apache+Mysql+PHP典型配置

    版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 http://www.5ilinux.com/lamp01.html 关键字:apache+mysql+php ap ...

  9. linux+Apache 2.2 + PHP 5.3 + MySQL 5.1

    Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度 ...

  10. web服务器 linux+apache+tomcat+mysql+jsp+php 整合安装

    2019独角兽企业重金招聘Python工程师标准>>> web服务器 linux+apache+tomcat+mysql+jsp+php 整合安装 自己的安装过程,以前发表在新浪博客 ...

最新文章

  1. 规范的 Commit Message
  2. 论文《一种金融市场预测的深度学习模型: FEPA》(4)----金融市场预测的架构--常见的数据降为方法
  3. 7.1.1 [Enterprise Library]缓存应用程序块场景和目标
  4. C语言整数加法器,【菜鸟解析】C++大数加法器的实现
  5. 曾经废寝忘食学到的技术,现在都没用了......
  6. 《从零开始学Swift》学习笔记(Day 33)——属性观察者
  7. 两种方法判断一个字符串是否为另外一个字符串旋转之后的字符串。(C语言)...
  8. 364 页 PyTorch 版《动手学深度学习》PDF 开源了(全中文,支持 Jupyter 运行)
  9. kubernetes对象之deployment
  10. Mac idea中git igenore设置
  11. 各位 PHPer,Serverless 正当时
  12. 每日站立会议 12.06
  13. Webx MVC分析
  14. MacOS系统离线安装包11.x-12.x
  15. Python-进程与线程理论基础-Day10
  16. 大M(简单形法)线性规划求解
  17. 商城后台学习/笔记/思考
  18. 华为手机自带浏览器无法下载 iis 网站 apk 问题解决方案(和SSL有关)
  19. SQL CASE语句的使用
  20. 分布式数据中心节点多?看托管云如何实现精细运维

热门文章

  1. 商标无效宣告怎么答辩,商标无效的证据有哪些?
  2. linux vfs open函数,VFS文件系统结构分析
  3. Docker安装Jenkins打包Maven项目为Docker镜像并运行【保姆级图文教学】
  4. 解决错误:Optional int parameter ‘pageSize‘ is present but cannot be translated into a null value due to
  5. asp.net在线阅读pdf
  6. Java调用 阿里大鱼 短信接口
  7. 洛克王国html5百度贴吧,洛克王国世界boss打法详解与奖励公布
  8. B\S备忘录01——此吧神兽“焰正马 ”
  9. 三十二、数据库相关3
  10. jquery过滤时采用比较_微软,诺基亚采用jQuery