linux初学者-Apache篇

本文针对Linux初学者介绍了Apache服务器的安装、配置和管理,包括默认发布页的更改、用户权限管理、虚拟主机配置以及HTTPS安全证书的设置。通过实例演示了如何创建目录、编辑HTML文件、添加用户、限制IP访问以及设置虚拟主机,帮助读者掌握Apache的基本操作。
         Apache提供了超文本传输协议http,httpd是Apache超文本传输协议的主服务器。下文将对httpd的安装和配置进行简单的叙述。
        1、安装

        "yum install httpd -y"。安装httpd服务。


        "systemctl start httpd"、"systemctl enable httpd"、"systemctl stop firewalld"。对httpd服务进行配置。
        2、默认发布页

        httpd服务的默认发布页为"/var/www/html/index.html",在刚开始这个文件是不存在的。例如在目录"/var/www/html/"下的"index.html"写入下图所示内容。在浏览器中输入IP就可以看见。


        在文件"/etc/httpd/conf/httpd.conf"中的第164行,可以更改默认发布页,如下图所示,将默认发布页改为"we.html",下图中表示如果"we.html"不存在,就访问"index.html"。完成后重启服务。


         "vim /var/www/html/we.html"。在文件中编辑下图所示内容,在浏览器中输入IP。


        3、默认发布目录
        httpd服务的默认发布目录是"/var/www/html"。如果要更改这个默认发布目录,则需要做如下配置:

        a、"mkdir /xue/html -p"。建立一个目录作为默认发布目录。


        b、"vim /etc/httpd/conf/httpd.conf"。在配置文件中编辑如下内容,如下图第120行至第123行所示:
                         DocumentRoot "/xue/html"
                         <Directory "/xue/html">
                                Require all granted

                         </Directory>


        c、"semanage fcontext -a -t httpd_sys_content_t '/xue(/.*)?'"。修改"/xue"目录的安全上下文,并通过"restorecon -RvvF /xue"刷新。


        d、"vim /xue/html/we.html"。在文件"we.html"中写入下图所示内容。


        配置完成后重启服务,在浏览器当中输入IP,就可以看见d中编辑的文件内容。


        4、通过密码访问
        httpd服务也可以设置通过输入密码才能看到页面的内容。其配置如下所示:
        a、"cd /etc/httpd/conf/"。进入这个目录。

        b、"htpasswd -cm username admin"。添加一个用户admin,输入两次密码。添加完成后会自动生成一个文件"username"。如果继续添加用户,需要把参数"-cm"改为"-m"。如果加了参数"-c"会覆盖原有用户。


        c、"vim /etc/httpd/conf/httpd.conf"。在配置文件中输入以下内容,如下图第121行至第127行所示:
                        <Directory "/xue/html">
                       #  Require all granted
                           AuthUserFile /etc/httpd/conf/username
                           AuthName "please input your username and password"
                           AuthType basic
                           Require valid-user

                       </Directory>


         完成后重启服务,重新从浏览器中访问,则需要输入密码,验证后才可以看到里面的页面。


         上述设置中,也可以将c中的"Require valid-user"改为"Require user 用户"。来使得只有指定的这个用户才可以登陆成功。
       5、访问管理

        通过编辑配置文件"etc/httpd/conf/httpd.conf",可以设置禁止或允许一些用户访问。配置方法如下图第128行至第130行所示。重启服务后生效。"Order Allow,Deny"表示开启允许或者禁止访问功能,且哪个在前哪个先生效,此处"Allow"先生效。"Allow from All"表示允许所有用户访问。"Deny from 172.25.254.102"表示禁止IP为"172.25.254.102"的用户访问。根据上述前后顺序,则IP为"172.25.254.102"的用户不可以访问。


        6、虚拟发布目录
         httpd也可以从多个目录中发布,默认的发布目录为主发布目录,其他的目录为虚拟发布目录。例如网页上不同页面之间的转变就是使用的虚拟发布目录,而不是使用多台服务器。
        虚拟发布目录的配置如下所示:

         a、"mkdir /etc/www/126/game.126.com /etc/www/126/music.126.com -p"。建立两个虚拟的发布目录"game.126.com"和"music.126.com"。

         b、"vim /etc/www/126/game.126.com/index.com"。编辑"game.126.com"的发布页,内容如下图所示。


         c、"vim /etc/www/126/music.126.com/index.com"。编辑"music.126.com"的发布页,内容如下图所示。


         d、"cd /etc/httpd/conf.d"。进入这个目录。
         c、"vim default.conf"。编辑默认发布页,编辑以下内容,如下图所示:
                       <Virtualhost _default_:80>
                             DocumentRoot "/var/www/html"
                             CustomLog "logs/deault.log"  combined

                       </Virtualhost>


          d、"vim game.conf"。编辑"game.126.com"的文件。编辑以下内容,如下图所示:
                      <Virtualhost *:80>
                             Servername game.126.com
                             DocumentRoot /var/www/126/game.126.com
                             CustomLog "logs/game.log"  combined
                      </Virtualhost>
                      <Directory "/var/www/126/game.126.com">
                             Require all granted

                      </Directory>


           e、"vim music.conf"。编辑"music.126.com"的文件。内容与"game.conf"相同,将其中的"game"替换为"music"。


           重启服务后虚拟发布页就配置完成了。测试时,在另一台主机上输入"vim /etc/hosts"配置本地解析,编辑"172.25.254.202 www.126.com game.126.com music.126.com"。


           在测试主机上的浏览器中输入"www.126.com"、"game.126.com"和"music.126.com"可以看到不同的页面。


          7、https
           https是http的安全版,常用于密码登陆等页面,实现客户端和服务端之间的数据的加密传输。https的配置步骤如下所示:
           a、"yum install mod_ssl.x86_64 -y"。下载加密模块ssl。

           b、"netstat -antlpe | grep http"。查看443端口是否开启,443端口为https的端口。


           c、"yum install crypto-utils.x86_64 -y"。安装认证证书和key的生成软件。
           d、"genkey www.126.com"。为"www.126.com"生成证书和key。其生成为图形界面,步骤如下图所示。

           进入界面,提示证书和key的存放位置,点击next。


           进入选择加密长度界面。选定后点击next。


           进入文件检查界面。


           完成后进入key生成界面,需要在服务器上随便输入一些东西,或者晃动数标。


           完成后进入如下界面,点击no,因为yes是需要钱的,是官方认证,如果是企业需要,则点击yes。


           完成后进入如下界面,直接点击next。


           完成后进入如下界面,输入认证证书的信息。完成后点击next。


            e、"vim /etc/httpd/conf.d/ssl.conf"。编辑配置文件,配置内容如下,输入生成的证书和key所在的文件位置。如图第100行和第107行所示:
                        SSLCertificateFile /etc/pki/tls/certs/www.126.com.crt

                        SSLCertificateKeyFile /etc/pki/tls/private/www.126.com.key


            加密页的配置已经完成,重启服务后生效。在浏览器中输入"https://172.25.254.202"需要通过认证才可以看见。


            查看该认证证书,和之前设置证书时输入的一样。


            上述配置完成后在访问网页时需要输入"https",显然这是不合理的,需要在访问域名时直接跳转至https页面。还需要做如下配置:
            a、"mkdir /var/www/126/login.126.com"。建立一个虚拟发布目录。

            b、"vim /var/www/126/login.126.com/index.html"。配置虚拟发布页,内容如下图所示。


            c、"vim /etc/httpd/conf.d/login.conf"。配置虚拟发布页的文件。内容如下,如图所示:
                         <VirtualHost *:443>
                                    Servername login.126.com
                                    DocumentRoot /var/www/126/login.126.com
                                    CustomLog "logs/music.log" combined
                                    SSLEngine on
                                    SSLCertificateFile /etc/pki/tls/certs/www.126.com.crt
                                    SSLCertificateKeyFile /etc/pki/tls/private/www.126.com.key
                         </VirtualHost>
                         <Directory "/var/www/126/login.126.com">
                                     Require all granted
                         </Directory>
                         <VirtualHost *:80>
                                     ServerName login.126.com
                                     RewriteEngine on
                                     RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]

                         </VirtualHost>


         其中"*:443"表示将端口改为443。"SSLEngine on"表示加密开启,在后面输入证书和key的位置。"RewriteEngine on"表示,重写功能开启。"RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]"表示重写规则,"^(/.*)$"是客户端上输入的字符,"%{HTTP_HOST}"表示客户请求主机,"$1"表示在这里代表"^(/.*)$","redirect=301",表示重定向等级是临时重定向,如果是302表示永久重定向。

         测试时,在客户主机的"/etc/hosts"本地解析文件中加入"login.126.com",输入"login.126.com"测试。


         根据下图可以看出,网页自动跳转至"https://login.126.com",获取认证证书后即可看到页面内容。


【源码免费下载链接】:https://renmaiwang.cn/s/gbu02 grep命令是一个强大的文本处理工具,在Linux系统中被广泛使用。它能够有效地搜索文件中的特定模式,并提供灵活的匹配方式以满足不同需求。作为全名是Global Regular Expression Print的软件,grep采用基于posix标准的正则表达式系统,支持基本功能和扩展特性。 在实际操作中,用户可以通过调整选项来控制搜索结果的表现形式。例如,“-c”选项可以仅显示符合条件的结果数量,“-i”则能实现不区分大小写的匹配效果。“-n”帮助展示包含目标模式的具体行号,“-s”则用于隐藏错误信息,而“-v”则与之相反,只呈现不符合条件的行。 正则表达式的核心在于元字符的应用。这些特殊符号赋予了grep强大的搜索能力,从简单的字符匹配到复杂的模式构建都能胜任。例如,“^”和“$”分别标识文本的起始和结束位置;方括号内部的字符可以进行范围匹配;转义操作允许用户解除默认含义的影响。 实践过程中,用户会发现部分正则表达式功能仅限于grep的基本版本,而更复杂的扩展需要借助egrep或pcre库的支持。此外,结合perl语言风格的正则表达式接口也能进一步提升搜索效率。 值得注意的是,在使用这些工具时,开发者需特别留意特殊字符的转义规则以及括号内的范围限定。通过深入理解和灵活运用这些机制,用户可以充分发挥grep的强大功能,完成各种复杂的文本处理任务。 综上所述,熟练掌握grep命令及其背后的正则表达式知识将显著提升文本处理效率和准确性。希望本文能为您提供有价值的参考和指导。
【源码免费下载链接】:https://renmaiwang.cn/s/uc6y9 在现代生活中,路由器扮演着不可或缺的角色,整合了多项服务器功能以极大地方便了网络管理与维护。然而,这种集成也可能引入网络安全性和稳定性的潜在风险。当路由器无法正确分配IP地址时,可能导致网络故障并影响局域网的正常运作。本文将深入探讨如何解决此类问题。遇到多数客户端无法获取IP地址或登录速度缓慢的情况,建议首先运行该系统的`ipconfig`命令检查配置设置。如果发现客户端无法从路由器获得IP地址,并排除了基本故障后,应关注路由器的状态。若交换机指示灯正常且无拥堵或死机现象,则可能与路由器的 DHCP(动态主机配置协议)服务出现故障有关。 DHCP 作为局域网中自动分配IP地址的关键组件,确保网络设备正确连接上因特网至关重要。当客户端首次接入网络时,会向 DHCP服务器发送一个 DHCP discover广播包以获取IP地址。在Windows系统中,默认情况下,若1秒内未收到响应,客户端将在几秒后尝试(共4次)。如果始终无法获得响应,将显示错误信息并提示用户等待5分钟后重新连接。当DHCP服务器无响应或未被客户端接受时,也会导致IP分配失败。深入分析 DHCP工作流程可发现潜在问题可能源于服务器未能做出适当回应或丢失了部分响应包。在确认网络硬件配置无误(如网线连通)后,问题很可能与 DHCP 服务器相关。大量客户端请求可能导致服务器资源耗尽,从而降低响应速度并引发网络拥塞现象。为提升整体服务质量,理想做法是增强服务器性能或增加服务器数量,通过专设不同功能的服务器来优化负载分配。对于预算有限的机构(如学校),购买额外设备可能不切实际,在这种情况下需要对现有架构进行优化以避免过载问题。潜在解决方案包括限制客户端连接数、调整 DHCP 租约时间或升级路由器硬件和软件性能,同时建议定期维护服务器以确保其
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值