linux初学者-Apache篇

linux初学者-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://www.cnblogs.com/davidshen/p/8145994.html

时间: 2024-11-09 07:36:05

linux初学者-Apache篇的相关文章

linux初学者-ftp篇(一)

linux初学者-ftp篇(一) FTP是文件传输协议,是用于Internet上的控制文件的双向传输.用户可以通过客户机程序从远程主机上下载或者向远程主机上传文件. linux系统中,如果不了解SELINUX,需要将SELINUX下的enforing改为disabled,否则在进行上传或者下载时会有影响. 1.vsftpd服务的安装 在有yum源的前提下,输入"yum install vsftpd.x86_64 lftp.x86_64 -y"安装vsftpd服务,"vsftp

linux初学者-iscsi篇

linux初学者-iscsi篇 之前介绍过网络文件共享系统NFS和CIFS.在系统中,设备也是可以共享的,这就是iSCSI,它可以用来建立和管理IP存储设备.主机和客户机等之间的相互连接.下文将简要介绍这种网络设备共享系统.       1.安装 因为iSCSI是设备共享系统,所以在进行操作之间,需要先有一个硬盘设备.本文中是使用"fdisk /dev/vdb"来新建一个分区设备"/dev/vdb1"来作为共享设备. "yum install target

linux初学者-磁盘阵列篇

linux初学者-磁盘阵列篇 在磁盘的使用中,有时候需要提高磁盘的读写数据速度,就要用到磁盘组--raid,也就是磁盘阵列. 磁盘阵列是由最少两块以上的磁盘组成的,raid有许多模式,在这里将介绍其中常用的模式raid0.raid1和raid5. raid0:raid0是用来提高读取数据速度的,其用两块以上的磁盘组成,是将数据同时记录在这几个磁盘中,在使用时,几块磁盘各读取一部分数据.这种磁盘组因为需要存入的数据完全相同,所以容量和一块磁盘的容量大小相同,但是读取速度会变快. raid1:rai

linux初学者-iptables篇

linux初学者-iptables篇 iptables是防火墙的一种,是用来设置.维护和检查linux内核的IP过滤规则的,可以完成封包过滤.封包重定向和网络地址转换(NAT)等功能. iptables包含3张表和5条链.3张表分别是:filter.mangle.nat.5条链分别是:INPUT.FORWARD.OUTPUT.PREROUTING.POSTROUTING. 3张表分别代表: filter:  一般的过滤功能 mangle:  用于对特定数据包的修改 nat   :  用于nat功

linux初学者-mail篇

linux初学者-mail篇 邮件是在生活中比较常用的一个工具,在linux系统中的邮件也是.在linux中,邮件的发送所用的服务时postfix,邮件的接收所用的服务是pop(110端口).imap(143端口),所用软件为dovecot.下文将对两台主机进行配置,实现邮件的首发,并对邮件进行管理. 为了演示方便,将这两台主机的主机名分别设为"mailqq.qq.com"."mail163.163.com". 1.域名配置 在"mailqq.qq.com

linux初学者-squid代理篇

linux初学者-squid代理篇 Squid代理服务器是一种缓存服务器,一般分为正向代理和反向代理. 1.正向代理 客户端因为网络或者其他的问题,不能访问到一台Apache服务器,如果要访问到,则需要通过一台中间的代理服务器,这就是Squid的正向代理. Squid代理服务器可以访问到这个Apache服务器,并且缓存访问到的内容,再将缓存的内容给客户端看. 为了演示需要,本文中主机"double"有两个网卡,一个IP为"172.25.254.202",一个IP为&

linux初学者-CIFS网络文件系统篇

linux初学者-CIFS网络文件系统篇 CIFS是一种通用网络文件系统,主要用于网络设备之间的文件共享.CIFS可以在linux系统和windows系统之间共享文件,因此这种文件系统主要用于客户端是windows系统. 提供CIFS的服务是SAMBA,下文将介绍SAMBA服务的一些配置以及用法. 1.SAMBA的安装和配置 "yum install samba samba-common samba-client -y".安装SAMBA服务. "systemctl start

linux初学者-DNS配置篇

linux初学者-DNS配置篇 DNS在之前的网络管理篇已经做过介绍,下文将叙述DNS在学习工作中的一些配置以及应用. 1.高速缓存DNS 一台主机通过DNS服务器询问域名解析IP是需要一定的时间的,如果再次询问这个域名,同样需要之前的时间,这无疑延长了解析时间以及增加了服务器的负担,如果DNS服务器能够记住并且分享询问过的域名,那么其他主机在询问这个域名时就会快很多.这就是高速缓存DNS. 配置高速缓存,需要在DNS服务器上做如下配置: a."yum install bind -y"

linux初学者-网络桥接篇

linux初学者-网络桥接篇 在网络的使用中,有时需要搭建网络桥来实现网络桥接.例如在一台主机上制作一台虚拟机,虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机的内核来处理这些问题,这无疑增加了主机内核的负担,也延长了虚拟机的反应速度,如果搭建网络桥,使得虚拟机的内核可以在一定程度上使用主机的物理网卡,就可以解决这个问题. 搭建网络桥可以通过编辑配置文件和命令管理来实现. 1.编辑配置文件 如下图所示,主机的物理网卡为"enp0s25",IP为&q