设为首页 收藏本站
查看: 1197|回复: 0

[经验分享] Linux的Apache 服务

[复制链接]
发表于 2018-5-17 10:20:42 | 显示全部楼层 |阅读模式
  一.apache的安装
yum install httpd -y                   安装服务
systemctl start httpd                 启动服务
systemctl stop firewalld           关闭防火墙
systemctl enable httpd            开机自动启动
systemctl disable firewalld     开机不启动防火墙

二.apache相关配置信息

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

2.apache的配置文件
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf

3.apache的默认端口  80

三. apache的基本配置

1.修改默认发布文件

  (1)vim /etc/httpd/conf/httpd.conf
164     DirectoryIndex westos.html index.html
DSC0000.png

  vim westos
  hello ,westos!

  默认优先读取写在前面的发布文件,westos.html文件损坏后,读取index.html文件

DSC0001.png

  重启apache服务systemctl restart httpd,访问主页面为westos.html

DSC0002.png

  (2)删除westos发布页面,index成为默认发布文件
  vim westos
  hello ,world!
DSC0003.png

  端口显示正常

DSC0004.png

  重启apache服务,访问主页面为index.html
DSC0005.png

  2.修改默认发布目录

  (1)当selinux是disable状态
vim /etc/httpd/conf/httpd.conf
120 DocumentRoot "/westos/html"     修改默认发布目录为/westos/html

  <Directory "/westos/html">
        Require all granted                                  所有人能访问
  </Directory>

DSC0006.png

DSC0007.png

  systemctl restart httpd
  

  创建新的发布目录/westos/html

DSC0008.png

  编写westos发布文件

DSC0009.png

  重启服务,访问为新建目录下的文件正常

DSC00010.png

  
(2)当selinux是enforcing状态
vim /etc/httpd/conf/httpd.conf
120 DocumentRoot "/westos/html"      修改默认发布目录为/westos/html
  <Directory "/westos/html">
        Require all granted                                   所有人能访问
</Directory>



  systemctl restart httpd
  

  创建新的发布目录/westos/html


  编写westos发布文件


  

  查看默认发布目录及新建目录的上下文,设置新建目录westos的上下文为httpd_sys_content_t
  修改完成后,更新上下文 restorecon -RvvF /westos
DSC00011.png

  重启服务,访问为新建目录下的文件正常



3.apache的访问控制
(1)设定ip的访问(其中Order 按顺序执行)
vim /etc/httpd/conf/httpd.conf
<Directory "/westos/html">                     允许所有人访问westos目录但是拒绝250主机
        Order Allow,Deny
        Allow from All
        Deny from 172.25.254.250
</Directory>

<Directory "/westos/html">                     只允许250主机访问westos目录
        Order Deny,Allow
        Allow from 172.25.254.250
        Deny from All   
</Directory>

  

  (2)设定用户的访问
htpasswd -m /etc/httpd/accessuser admin     创建访问的用户认证文件      (-c create    -m 指定名称)
  注意:第一个创建的用户需要加c ,以后创建的用户不需要加c,直接指定-m
  

  创建访问用户admin     admin1 指定名称为authfile

DSC00012.png

  

  配置认证配置

  vim /etc/httpd/conf/httpd.conf
<Directory "/westos/html">
        AuthUserFile /etc/httpd/conf/authfile                                    用户认证文件
        AuthName "Please input your name and password !!"     用户认证提示信息
        AuthType basic                                                                       认证类型 基础认证
        Require valid-user                         认证用户,认证文件中所有用户都可以通过
        Require user admin                       只允许认证文件中admin用户访问
</Directory>

DSC00013.png

  

  将认证文件放到/etc/httpd/conf,重启服务
DSC00014.png

  

  再次访问172.25.254.128,需要输入认证帐号和密码

DSC00015.png

  输入帐号密码后进入到访问页面

DSC00016.png
四.apache的虚拟主机

1.定义
可以让我们的一台apache服务器在被访问不同域名的时候显示不同的主页

2.建立测试页

  创建目录测试发布文件并将默认目录改为/var/www/html/

DSC00017.png

  

  创建news.westos.com和sport.westos.com目录

DSC00018.png

  

  创建news下的发布文件

DSC00019.png

  

  创建sports下的发布文件
DSC00020.png

  
3.配置
  cd 到/etc/httpd/conf.d/
  

  (1)新建未指定域名的访问配置文件
  vim /etc/httpd/conf.d/default.conf       未指定域名的访问都访问default
<Virtualhost    _default_:80>              虚拟主机开启的端口
    DocumentRoot "/var/www/html"     虚拟主机的默认发布目录
    CustomLog "logs/default.log" combined     虚拟主机日志
</Virtualhost>

DSC00021.png

  (2)新建news.westos.com域名的访问文件
  vim /etc/httpd/conf.d/news.conf               指定域名news.westos.com的访问到指定默认发布目录中
<Virtualhost *:80>
    ServerName  news.westos.com
    DocumentRoot   /var/www/westos/news.westos.com
    CustomLog "logs/news.log" combined
</Virtualhost>
<Directory "/var/www/westos/news.westos.com">     默认发布目录的访问授权
    Require all granted
</Directory>

DSC00022.png

  (3)新建sports.westos.com域名的访问文件
  vim /etc/httpd/conf.d/sports.conf               指定域名sports.westos.com的访问到指定默认发布目录中
<Virtualhost *:80>
    ServerName  sports.westos.com
    DocumentRoot   /var/www/westos/sports.westos.com
    CustomLog "logs/sports.log" combined
</Virtualhost>
<Directory "/var/www/westos/sports.westos.com">     默认发布目录的访问授权
    Require all granted
</Directory>
DSC00023.png

DSC00024.png

  
  4.测试
在172.25.254.28上进行测试

  在浏览器所在主机中配置本地解析文件 vim /etc/hosts
172.25.254.128    www.westos.com news.westos.com sports.westos.com
DSC00025.png

  

  在浏览器打开www.westos.com,访问到默认文件上
DSC00026.png

  在浏览器打开news.westos.com,访问到news文件上
DSC00027.png

  在浏览器打开sports.westos.com,访问到sports文件上
DSC00028.png

  五.html语言默认支持
  1.php语言
yum install php -y              安装php功能模块

DSC00029.png

  vim index.php

DSC00030.png

  编辑配置文件,index.php优先

DSC00031.png

  systemctl restart httpd  重启apache服务

  

  在浏览器输入172.25.254.128/index.php访问php成功

DSC00032.png

  

  
2.cgi语言

  编写cgi发布文件
DSC00033.png

  修改 /etc/httpd/conf.d/default.conf 默认文件,给index.cgi加上可执行权限

DSC00034.png

  

DSC00035.png

  在SElinux开启的情况下修改/var/www/html/cgi的上下文

DSC00036.png

DSC00037.png

  

  systemctl restart httpd 重启apache服务

  

  在浏览器输入172.25.254.128/cgi/index.cgi访问cgi成功,
DSC00038.png

  
  六.网页加密访问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之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
  

  2.签名证书

   DSC00039.png

  
3.配置
  yum install mod_ssl -y   安装ssl模块

DSC00040.png

  yum install crypto-utils -y 安装加密工具
DSC00041.png

  安装完成后进入到浏览器输入https://172.25.254.128

DSC00042.png

  点击  I Undeerstand the Risks ,点击Get Certificate

DSC00043.png

  点击View Certificate

DSC00044.png

  

  上图显示的证书是一个默认的认证
  下面我们来介绍以下做一个自己的认证证书的步骤
  

  cd /etc/httpd/conf.d

  genkey www.westos.com 生成证书,Next

DSC00045.png

  密钥字节大小,选择加密1024,速度快的

DSC00046.png

  等待
DSC00047.png

  生成密码(敲键盘或移动鼠标生成)
DSC00048.png

  选择不向CA发送请求
DSC00049.png

  不加密密钥
DSC00050.png

  设置证书
DSC00051.png

  

  完成后输出一个westos的证书和一个westos的密钥

  

DSC00052.png

  

  编辑vim /etc/httpd/conf/httpd.conf配置文件,将自己生成的证书和密钥添加到配置文件当中

DSC00053.png

  

  添加完整后重启服务
DSC00054.png

  检查https使用端口443,确定防火墙可以通过443端口

DSC00055.png

  

  4.测试
  再次进入浏览器测试时,检查证书为自己设定的www.westos.com

DSC00056.png

  

  

  七.网页重写实现自动访问https
  1.创建新的发布文件内容为login page
DSC00057.png

DSC00058.png

  2.编辑 /etc/httpd/conf.d/default.conf默认配置文件

DSC00059.png

  

  配置解释

  SSLEngine on     开始https功能
        SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt    证书
        SSLCertificateKeyFile /etc/pki/tls/private/westos.com.key  密钥

  

  <Virtualhost *:80>   网页重写实现自动访问https访,问80端口转向443端口
  ^(/.*)   客户主机在地址栏中写入的所有字符,不包含换行符
  https://    定向成为的访问协议
  %{HTTP_HOST}    客户请求主机
  $1        $1的值就表示^(/.*)$的值
  [redirect=301]    临时重定向 302永久重定向

  

  systemctl restart httpd 重启服务

  

  3.测试
(1)在真机里中添加解析实验
vim /etc/hosts
172.25.254.128     login.westos.com

访问http://login.westos.com 会自动跳转到https://login.westos.com 实现网页数据加密传输
DSC00060.png

  ,

DSC00061.png

  (2)在本机server 172.25.254.128里中添加解析实验
vim /etc/hosts
172.25.254.128     login.westos.com

访问http://login.westos.com 会自动跳转到https://login.westos.com 实现网页数据加密传输
DSC00062.png

DSC00063.png

  

  八.利用Linux+mysq+php+apache搭建简单论坛
  1.安装环境

  安装mariadb数据库
  安装php功能插件
  安装apache服务
  安装php-mysql功能插件

  
  2.架设过程  

  解压Discuz_x3.2_SC_UTF8.zip论坛模版

DSC00064.png

  

  解压论坛模版,查看里面的readme.txt文档

DSC00065.png

  

  安装readme.txt文档要求修改/upload/data/及/upload/config/目录下的所有文件权限为777
DSC00066.png

  

  将SElinux调整为警告模式,修改/upload/uc_*及目录下的所有文件权限为777
DSC00067.png

  

  重启服务 systemctl restart httpd

DSC00068.png

  

  3.安装向导

  配置好服务,在浏览器输入172.25.254.128/upload/install进入安装向导

  

DSC00069.png

DSC00070.png

DSC00071.png

DSC00072.png

  

  

DSC00073.png

DSC00074.png

DSC00075.png

  论坛架设完成,可以用root帐号登陆论坛进行建设。

  


  

  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-461236-1-1.html 上篇帖子: linux命令——ls 下篇帖子: Linux 的安装(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表