anpache

简介:

############anpache的安装########## 
 
yum install httpd -y                        ##安装 httpd 安装包
systemctl start httpd.service              ##开启httpd服务
systemctl enable httpd 
systemctl stop firewalld.service             ##关闭火墙
systemctl disable firewalld 
############anpache的信息##########
1 anpache的默认发布文件
  index.html
2 anpache的配置文件
  (1)/etc/httpd/conf/httpd.conf ##主配置文件

  Apache主配置文件:/etc/httpd/conf/httpd.conf
           ServerRoot"/etc/httpd" 用于指定Apache的运行目录
           Listen 80 监听端口
           User apache 运行apache程序的用户和组
           Group apache
           ServerAdmin root@localhost 管理员邮箱
           DocumentRoot"/var/www/html" 网页文件的存放目录
           <Directory"/var/www/html"> <Directory>语句块自定义目录权限
            Require all granted
           </Directory>
          ErrorLog "logs/error_log" 错误日志存放位置
           AddDefaultCharset UTF-8 默认支持的语言
           IncludeOptional conf.d/*.conf 加载其它配置文件
           DirectoryIndex index.html 默认主页名称
  (2)/etc/httpd/conf/*.conf     ##子配置文件
3 anpache的默认发布目录
  /var/www/html
4 anpache的默认端口
  80

############anpache的基本配置##########
 
一  修改默认发布文件
  (1)vim /etc/httpd/conf/httpd.conf 
 
    164     DirectoryIndex westos.html  ##修改默认发布文件
  (2) systemctl restart httpd

   81 cd /var/www/html  ##进入 /var/www/html  
   82 vim index.html    ##写默认发布文件内容
   83 ls                 
   84 vim westos.html   ##写westoe文件内容
   85  vim /etc/httpd/conf/httpd.conf ###修改默认发布文件
   86 systemctl restart httpd   ###重启httpd服务
   87 ls
   88 ll
   89 rm -fr westos.html    ##删除westos文件内容

wKiom1kcezGQM7YkAAC0ru5Q-4M788.png-wh_50

wKiom1kcevKQly3OAABia4YPxbs971.png-wh_50

wKiom1kcezGQDkG3AABSLuZtKw4218.png-wh_50

wKioL1kcevODTjOOAABgzdpXAQk776.png-wh_50


wKiom1kcevOx3_49AACBZL43tLk359.png-wh_50

二  修改默认发布目录
1   ####当selinux是disabled状态

  (1) vim /etc/httpd/conf/httpd.conf  ###修改默认发布目录
     
     120 DocumentRoot"/westos/www/test"
     121 <Directory"/westos/www/test">
     122         require all granted
     123 </Directory>
   (2) systemctl restart httpd
wKioL1kcevSAfhHwAADsLqBTobM084.png-wh_50
   90 cd
   91 mkdir /westos/www/test -p  ###建立新目录
   92 vim /westos/www/test/westos.html##在新目录下创建新文件 
   93  vim /etc/httpd/conf/httpd.conf ###修改默认发布目录及文件
   94 systemctl restart httpd   ###重启httpd服务
   95 getenforce                ###查看selinux状态

2  ###当selinux是disabled状态

(1) vim  /etc/httpd/conf/httpd.conf  ###修改默认发布目录
     
     120 DocumentRoot"/westos/www/test"
     121 <Directory"/westos/www/test">
     122         require all granted
     123 </Directory>
 (2) systemctl restart httpd
 (3) semanage fcontext -a -thttpd_sys_content_t '/westos(/.*)?'
    ###修改安全上下文
 (4)restorecon -RvvF /westos
    ####更新安全上下文


   12 getenforce   ###查看selinux状态
   13 mkdir /westos/www/test -p
   14 vim /westos/www/test/westos.html
   15 vim /etc/httpd/conf/httpd.conf 
   16 systemctl restart httpd
   17 cd /westos/www/test/
   18 ls -z
   19 ls -Z
   20 semanage fcontext -a -t httpd_sys_content_t '/westos(/.*)?'
   21 restorecon -RvvF /westos
   22 ls -Z
wKiom1kcezLxzgcvAAE6IApL1C0509.png-wh_50

三  anpache的访问控制
1 vim /etc/httpd/conf/httpd.conf 
<Directory "/var/www/html/admin">  ###允许所有人访问sdmin,但拒绝144主机
     Order Allow,deny
     Allow from All
     deny from 172.25.254.144
</Directory>
wKioL1kcfNTSyxFPAADMv6RgJWA100.png-wh_50

wKiom1kcfNWi7Js_AACU34cUZ-4921.png-wh_50

2 vim /etc/httpd/conf/httpd.conf 
<Directory "/var/www/html/admin">  ###只允许144主机访问
     Order deny,Allow
     Allow from 172.25.254.144
     deny from All
</Directory>

wKiom1kcfNaAQ0zKAACGVbW2rt8636.png-wh_50

wKioL1kcfNXRU8qeAABrD-ewR10490.png-wh_50

3 设定用户访问
 htpasswd -cm /etc/httpd/accessuseradmin  ###设定用户访问
 vim /etc/httpd/conf/httpd.conf        
<Directory "/var/www/html/admin">
     AuthUserFile/etc/httpd/accessuser   ##用户认证文件
     AuthName "please input your name andpassword !!"##用户认证提示信息
     AuthType basic  ###用户类型
     Require valid-user ###认证用户,认证文件中所有用户可以访问
    [Require user admin]  ###只允许认证文件中的admin用户访问,
    二写一(最后两行)
</Directory>
wKioL1kcfNew-qsQAACtHplt5Dk082.png-wh_50

   35 cd /etc/httpd
   36 ls
   37 htpasswd -cm /etc/httpd/accessuser admin 
   38 cat  /etc/httpd/accessuser 
   39 htpasswd -cm /etc/httpd/accessuser tom
   40 cat  /etc/httpd/accessuser 
   41 vim /etc/httpd/conf/httpd.conf 
   42 systemctl restart httpd

wKiom1kcfNbw3_SAAADxVB_WpoA245.png-wh_50



wKioL1kcfNbjLcb1AABKxFcqRj4124.png-wh_50




wKiom1kcfNfTvmEkAABhlW34wRU425.png-wh_50

wKioL1kcfNiALO30AAEVn4fcFdA695.png-wh_50


四 anpache语言支持 ---php html cgi
1 html语言 默认支持
2 php语言

   (1)vim index.php    

    <?php
            phpinfo();
    ?>
  (2)yum install php -y
  (3)systemctl restart httpd
 
测试
    访问http://172.25.254.144/index.php
wKioL1kcfjPSduVeAAFi_Z5fPHo692.png-wh_50   

  

    9 cd /var/www/html
   10 vim index.php
   11 cd /etc/httpd/conf.d/
   12 ls
   13 vim php.conf
   14 yum install php -y
   15 history
wKiom1kcfjOw7MZPAACGnbGAMeM604.png-wh_50
3 cgi语言
[root@localhost ~]# mkdir /var/www/html/cgi
[root@localhost ~]# cd /var/www/html/cgi
[root@localhost cgi]# ls
[root@localhost cgi]# vim index.cgi
         #!/usr/bin/perl
        print "content-type: text/html\n\n";
         print "hello,word.";


[root@localhost cgi]# perl index.cgi
content-type: text/html

hello, word.
[root@localhost cgi]# vim index.cgi
[root@localhost cgi]# chmod +x index.cgi
[root@localhost cgi]# ./index.cgi
content-type: text/html

hello, word.

wKioL1kcfjSQnFk7AACVa7cYWLg764.png-wh_50

[root@localhost cgi]# cd
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 
       <Directory"/var/www/html/cgi">
            options +ExecCGI
            AddHandler cgi-script.cgi
       </Directory> 

wKiom1kcfjTBxa8qAACmi9aQYvo693.png-wh_50

[root@localhost ~]# systemctl restart httpd


wKioL1kcfjWwLSxLAAB0nKECPJY581.png-wh_50

 ############# 虚拟主机###############

   虚拟主机允许您从一个httpd服务器同时为多个网站提供服务。在本节中,我们将了解基于名称的虚拟主机其中多个主机名都指向同一个IP地址,但是Web服务器根据用于到达站点的主机名提供具有不同内容的不同网站。


一 建立网页发布目录

    1  cd /var/www

    2  mkdir virtual

    3  ls

    4  mkdir virtual/news.westos.com -p

    5  mkdir virtual/money.westos.com -p

    6  mkdir virtual/money.westos.com/html -p

    7  mkdir virtual/news.westos.com/html -p

    9  echo "news" > virtual/news.westos.com/html/index.html 

   10  echo "money" > virtual/money.westos.com/html/index.html 

   11  history

wKiom1kcgHjAB0ObAAC7PsDzpCM262.png-wh_50


二 创建虚拟主机配置文件

[root@localhost www]# cd /etc/httpd/conf.d/ ###进入配置文件的上级目录

[root@localhost conf.d]# vim default.conf   ###未指定域名的访问都访问default


      <Virtualhost   _default_:80> ##虚拟主机开启的端口

            DocumentRoot "/var/www/html" ##虚拟主机的默认发布目录

            CustomLog "logs/default.log" combined ##虚拟主机日志

      </Virtualhost>   

    (没有默认发布目录的访问授权: 主配置文件已经授权)

wKioL1kcgHjAPaItAAA9ga6OWck476.png-wh_50

[root@localhost conf.d]# vim news.conf ##指定域名news.westos.com的访问到指定默认发布目录


       <Virtualhost  *:80> ##虚拟主机开启的端口

            ServerName "news.westos.com"  ##服务器域名

            DocumentRoot "/var/www/virtual/news.westos.com/html"

               ##虚拟主机的默认发布目录

            CustomLog "logs/news.log" combined ##虚拟主机日志  

       </Virtualhost>

       <Directory "/var/www/virtual/news.westos.com/html">

                   默认发布目录的访问授权

            Require all granted

       </Directory>

wKiom1kcgHjzK-zNAABmOkAvZQE492.png-wh_50

[root@localhost conf.d]# cp news.conf money.conf

[root@localhost conf.d]# vim money.conf

 

   <Virtualhost  *:80>

            ServerName "money.westos.com"

            DocumentRoot "/var/www/virtual/money.westos.com/html"

            CustomLog "logs/money.log" combined

</Virtualhost>

<Directory "/var/www/virtual/money.westos.com/html">

          Require all granted

</Directory>

wKioL1kcgHqwd0sEAABnNvA2Z8o427.png-wh_50

[root@localhost conf.d]# systemctl restart httpd

wKioL1kcgHrBm2QpAACnFpkIJWk753.png-wh_50

三 测试

在浏览器主机中

vim /etc/hosts

172.25.254.144 www.westos.com news.westos.com money.westos.com

访问www/news/money.westos.com

wKioL1kcgHngXzfqAABcLl4EINs104.png-wh_50

wKiom1kcgHmR7t7bAABcmCwkxyE133.png-wh_50


wKioL1kcgHvTRAnhAABau8Jv1iI027.png-wh_50


############配置HTTPS#################

wKiom1kcgjCDtLeGAAEyt_1XPFg349.png-wh_50

一 自定义自签名证书

   如果加密的通信非常重要,而经过验证的身份不重要,管理员可以通过生成self-

signed certificate来避免与认证机构进行交互所带来的复杂性。

   使用genkey实用程序(通过crypto-utils软件包分发),生成自签名证书及其关联的

私钥。为了简化起见,genkey将在“正确”的位置(/etc/pki/tls目录)创建证书及其关联的密钥。相应地,必须以授权用户(root)身份运行该实用程序。

   ####生成自签名证书####

1. 确保已安装crypto-utils软件包。

[root@server0 ~]# yum install crypto-utils mod_ssl

2. 调用genkey,同时为生成的文件指定唯一名称(例如,服务器的主机全名)。

--days可以指定证书有效期

[root@server0 ~]# genkey server0.example.com

      (1)记录生成的证书(server0.example.com.crt)和关联的私钥(server0.example.com.key)的位置

wKiom1kcgjGik7m1AACpFiZQZL4903.png-wh_50


      (2)继续使用对话框,并选择合适的密钥大小。

wKioL1kcgjHRCDmiAACz6YMbr04858.png-wh_50

      (3)在生成随机数时比较慢,敲键盘和移动鼠标可以加速

wKiom1kcgjKAbtq4AABau8Xg1yw793.png-wh_50

wKioL1kcg6CAPhdFAABmAegs19Y787.png-wh_50

      (4)拒绝向认证机构(CA)发送证书请求(CSR)。

wKiom1kcgjKTKi-TAACsmu9dg_U010.png-wh_50

      (5)拒绝加密私钥

wKioL1kcgjLypBiYAACeXYr6B2I908.png-wh_50

      (6)为服务器提供合适的身份。Common Name必须与服务器的主机全名完全匹  配。(注意,任何逗号都应使用前导反斜线[\]进行转义)

wKioL1kcgjTzob70AAClIn3xxrc404.png-wh_50


   1 yum install mod_ssl -y  ## 安装mod_ssl软件包生成自签名证书

wKiom1kcg6CCHGGsAAC36qxriiA175.png-wh_50

   2 yum install crypto-utils -y ##安装crypto-utils软件包

   3 genkey www.westos.com  ##调用

   4 mkdir /var/www/virtual/login.westos.com/html -p ###建立目录

   5 vim /var/www/virtual/login.westos.com/html/index.html

   6 vim /etc/httpd/conf/login.conf

wKiom1kcg6DRGE9PAADLkgxIhMM422.png-wh_50

   7 vim /etc/httpd/conf/ssl.conf

wKioL1kcgjTSiQXNAAE_gIMCdJo886.png-wh_50

   8 systemctl restart httpd


vim /etc/httpd/conf/login.conf

 <Virtualhost *:443>

    ServerName login.westos.com

    DocumentRoot "/var/www/virtual/login.westos.com/html"

    CustomLog "logs/login.log" combined

    SSLEngine on  ###开始https功能

    SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt##证书

    SSLCertificateKeyFile /etc/pki/tls/certs/www.westos.com.key###密钥

</Virtualhost>

<Directory "/var/www/virtual/login.westos.com/html">

        Require all granted

</Directory>

<Virtualhost *:80>  ###网页重写实现自动访问https

            ServerName login.westos.com

            RewriteEngine on

            RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]

</Virtualhost>   

^(/.*)$   ##客户主机在地址栏中的的所有字符

 https:// ##定向成为的访问协议

%{HTTP_HOST} ###客户请求主机

$1          ##^(/.*)$ 的值

[redirect=301] ###临时重定向 302永久重定向

测试:

   在客户主机中添加解析

   vim /etc/hosts

172.25.254.144 login.westos.com

访问:http://login.westos.com

https://login.westos.com


wKioL1kcg5_i1GETAAETZjWS2ng338.png-wh_50


对于Firefox,

请选择“I Understand the Risks” [我了解风险]、

“Add Exception” [ 添加例外]

“Confirm Security Exception”[确认安全例外]











本文转自 如何何如  51CTO博客,原文链接:http://blog.51cto.com/12778805/1926845,如需转载请自行联系原作者
目录
相关文章
|
9月前
|
存储 SQL 关系型数据库
mysql的undo log、redo log、bin log、buffer pool
MySQL的undo log、redo log、bin log和buffer pool是确保数据库高效、安全和可靠运行的关键组件。理解这些组件的工作原理和作用,对于优化数据库性能和保障数据安全具有重要意义。通过适当的配置和优化,可以显著提升MySQL的运行效率和数据可靠性。
230 16
|
8月前
|
SQL IDE 关系型数据库
JetBrains DataGrip 2025.1 发布 - 数据库和 SQL 跨平台 IDE
JetBrains DataGrip 2025.1 (macOS, Linux, Windows) - 数据库和 SQL 跨平台 IDE
520 0
|
Kubernetes Docker Perl
k8s常见故障--yaml文件检查没有问题 pod起不来(一直处于创建中)
k8s常见故障--yaml文件检查没有问题 pod起不来(一直处于创建中)
513 1
|
存储 运维 监控
中间件冗余部署故障转移(Failover)
【7月更文挑战第22天】
406 32
|
SQL 数据库 开发者
全面提速你的数据访问:Entity Framework Core性能优化指南,从预加载到批量操作的最佳实践揭秘,打造高性能数据库交互体验
【8月更文挑战第31天】本文详细介绍如何在Entity Framework Core(EF Core)中优化数据访问性能,涵盖从创建项目到定义领域模型、配置数据库上下文的最佳实践。文章通过具体代码示例讲解了预加载、惰性加载、显式加载、投影及批量操作等技术的应用,并介绍了如何使用SQL查询和调整查询性能来进一步提升效率。通过合理运用这些技术,开发者可以构建出高效且响应迅速的数据访问层,提升应用程序的整体性能和用户体验。
458 1
|
存储 数据采集 缓存
Linux 设备驱动程序(三)(中)
Linux 设备驱动程序(三)
249 1
|
开发框架 前端开发 JavaScript
跨平台应用开发技术的深度探讨
【7月更文挑战第26天】 跨平台应用开发技术已成为当前软件开发领域的重要趋势。通过合理使用跨平台开发框架和工具,开发者可以更加高效地构建适用于多个平台的应用程序,提高开发效率和用户体验。然而,跨平台开发也面临着性能优化、兼容性问题等挑战,需要开发者不断学习和实践,以应对不断变化的市场需求和技术挑战。
|
JSON 弹性计算 运维
深入浅出资源编排ROS:构建云环境下的自动化运维利器引言
**资源编排ROS是阿里云提供的自动化管理工具,通过声明式模板定义云资源生命周期,简化复杂IT架构的运维。它解析JSON或YAML模板,自动创建、更新资源,确保状态与模板一致。ROS用于环境一致性、故障恢复、成本优化,是现代云管理的关键,助力企业提升效率和成本效益。**
369 3
|
Web App开发 人工智能 API
AI插件推荐:文案写作的最佳助手——UseChatGPT.ai
usechatgpt满足了文字工作者最主要的需求,同时多模型支持、和自定义指令词又扩大的使用的场景,不得不说,这是一款非常优化的工具。但我们不得不警惕:极大改善我们生产力的工具,某个程度会阻碍我们发展。写作最主要的意义是与思维共舞,如果把整个大纲、内容甚至文章的立意都交给AI,也许真就让我们退化了。唯我所用,但不唯它不用。
855 0
AI插件推荐:文案写作的最佳助手——UseChatGPT.ai
|
架构师 Java 数据库
阿里架构师花近十年时间整理出来的Java核心知识pdf(Java岗)
由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容! 整理了一份Java核心知识点。覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。

热门文章

最新文章