目录

一.Web服务的概述

二.安装,启动和停止Apache服务

1.安装Apache相关软件

2.让防火墙放行或者关闭防火墙,并设置SElinux为允许

3.测试httpd服务是否安装成功

三.认识Apache服务器的配置文件

四.常规设置Apache服务器的示例

1.如果我想把保存网站的根目录修改为/home/www,并将首页文件修改为myweb.html,怎么操作呢?

2.用户个人主页示例

3.配置虚拟主机

4,基于TLS加密的虚拟主机(用https访问网站)

5.创建一个PHP的动态页面

五.其他的常规设置


一.Web服务的概述

      Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、 Nginx 、IIS。、

      Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。

     Web服务通常可以分为两种:静态Web(HTML+CSS)和动态Web服务。(PHP)

二.安装,启动和停止Apache服务

1.安装Apache相关软件

linux基础第4节 ----配置与管理Apache服务器_apache

 这里显示没有仓库可用,说明我这台虚拟机还没有配置yum仓库

这里就浅浅配置一下

linux基础第4节 ----配置与管理Apache服务器_服务器_02

 (要是还不会配置yum仓库,可以看这篇文章)liunx操作系统中yum仓库的配置_m0_60981735的博客

linux基础第4节 ----配置与管理Apache服务器_linux_03

安装httpd服务

linux基础第4节 ----配置与管理Apache服务器_配置文件_04

 [root@localhost~]#rpm  -q httpd    //查看系统中是否安装了httpd

 [root@localhost~]#mount /dev/sr0 /mnt //挂载磁盘

 [root@localhost~]#cd /etc/yum.repos.d/

 [root@localhost~]#ls 

 [root@localhost~]#vim redhat.repo   //配置yum仓库

 [root@localhost~]#yum clean all      //清除缓存

 [root@localhost~]#yum repolist       //刷新仓库

 [root@localhost~]#yum -y install httpd   //安装httpd

 [root@localhost~]#rpm -qa httpd   //检查组件是否安装成功

2.让防火墙放行或者关闭防火墙,并设置SElinux为允许

linux基础第4节 ----配置与管理Apache服务器_服务器_05

  [root@localhost~]#firewall-cmd --list-all <查看防火墙放行的服务>

 [root@localhost~]#firewall-cmd --permanent --add-service=http  <添加服务http放行>

 [root@localhost~]#firewall-cmd --reload      <重新加载防火墙策略>

  [root@localhost~]#firewall-cmd --list-all <查看防火墙放行的服务>

以上是让防火墙放行http,还可以直接关闭防火墙<在实际服务器上不推荐>

[root@localhost ~]# systemctl stop firewalld.service 

编辑selinux配置文件,设置selinux为允许

[root@localhost ~]# vim /etc/selinux/config 

linux基础第4节 ----配置与管理Apache服务器_Apache_06

把enforcing改为disabled 

3.测试httpd服务是否安装成功

linux基础第4节 ----配置与管理Apache服务器_Apache_07

linux基础第4节 ----配置与管理Apache服务器_Apache_08

[root@localhost ~]# systemctl restart httpd.service      //开启apache服务

[root@localhost ~]# systemctl enable httpd.service     //设置apache服务为自启动
[root@localhost ~]# firefox http://192.168.80.128        //用火狐浏览器访问192.168.80.128

三.认识Apache服务器的配置文件

        在Linux系统中配置服务,其实就是修改服务的配置文件。httpd服务程序的主要配置文件及存放位置如图表

linux系统中的配置文件及存放位置

配置文件的名称                 存放位置 服务目录 /etc/httpd 主配置文件 /etc/httpd/conf/httpd.conf 网络数据目录 /var/www/html 访问日志 /var/log/httpd/access_log 错误日志 /var/log/httpd/error_log

  #注意:/etc/httpd/conf/httpd.conf为主配置文件
                   /etc/httpd/conf.d为子配置文件

      在httpd服务程序的主配置文件中,存在3种类型的的信息:注释行信息,全局配置,区域配置。、在httpd服务程序主配置文件中,最常用的有:

配置httpd服务程序时最常用的参数及其用途描述

                参数                         用途 ServerRoot         服务目录 ServerAdmin 管理员邮箱 User 运行服务的用户 Group 运行服务的用户组 ServerName 网站服务器的域名 DocumentRoot 文档根目录(网站数据目录)(默认是/var/www) Directory 网络数据目录的权限 Listen 监听的IP地址与端口号(默认是80) DirectoryIndex 默认的索引页页面(默认是index.html) ErrorLog 错误日志文件 CustomLog 访问日志文件 Timeout

网页超时时间,默认为300秒

我们向/var/www/html目录中写入一个文件,替换掉httpd服务程序的默认页面

linux基础第4节 ----配置与管理Apache服务器_服务器_09

linux基础第4节 ----配置与管理Apache服务器_配置文件_10


四.常规设置Apache服务器的示例

1.如果我想把保存网站的根目录修改为/home/www,并将首页文件修改为myweb.html,怎么操作呢?

linux基础第4节 ----配置与管理Apache服务器_Apache_11

linux基础第4节 ----配置与管理Apache服务器_linux_12

linux基础第4节 ----配置与管理Apache服务器_apache_13

linux基础第4节 ----配置与管理Apache服务器_配置文件_14

 [root@localhost ~]# mkdir /home/www


[root@localhost ~]# echo "The Web's DocumentRoot Test " > /home/www/myweb.html


[root@localhost ~]# vim  /etc/httpd/conf/httpd.conf 

把DocumentRoot "/var/www"改为 "/home/www"

把<Directory "/var/www">改为"<Directory "/home/www">"

把DirectoyIndex index.html 改为 DirectoryIndex myweb.html

更改配置文件之后,一定要重启httpd服务

linux基础第4节 ----配置与管理Apache服务器_linux_15

2.用户个人主页示例

      现在许多网站都允许用户拥有自己的主页空间,而用户可以很容易地管理自己的主页空间。Apache可以实现用户的个人主页。客户端在浏览器中浏览个人主页的URL地址格式为:

http://www.域名。com

linux基础第4节 ----配置与管理Apache服务器_linux_16

linux基础第4节 ----配置与管理Apache服务器_Apache_17

linux基础第4节 ----配置与管理Apache服务器_linux_18

在linux上:做临时解析
[root@localhost~]#vim /etc/hosts  
添加一项
ip地址  www.域名.com
在火狐浏览器中输入
www.域名.com

linux基础第4节 ----配置与管理Apache服务器_linux_19

在windows上
c盘下的Windows目录下的system32目录下的derives 
C:\Windows\System32\drivers\etc
的hosts文件上
打开,添加一项
ip地址 www.域名.com
保存退出
用火狐浏览器,输入完整主机名

3.配置虚拟主机

3.1虚拟主机(虚拟主机的首页文件路径和主配置文件一致)
1.查询虚拟主机样例文件
[root@localhost~]#cd /etc/httpd/conf.d
[root@www conf.d]# rpm -ql httpd | grep vhost     <vhost为虚拟主机>
/usr/lib64/httpd/modules/mod_vhost_alias.so
/usr/share/doc/httpd-2.4.6/httpd-vhosts.conf

2.复制样例文件到子目录
[root@www conf.d]# cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf     /etc/httpd/conf.d/

linux基础第4节 ----配置与管理Apache服务器_服务器_20

 3.编写子文件


[root@www conf.d]# vim /etc/httpd/conf.d/httpd-vhosts.conf 


<VirtualHost *:80>     //注意:端口号和文档根目录跟主配置文件保持一致


    DocumentRoot "/home/www"   <网页根目录,跟配置文件里面一样>


    ServerName www.wx1.com  <虚拟主机>


</VirtualHost>

linux基础第4节 ----配置与管理Apache服务器_linux_21

4.做临时解析
linux:
[root@localhost ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.80.128 www.wx1.com
192.168.80.128 www.example1.com

linux基础第4节 ----配置与管理Apache服务器_apache_22

linux基础第4节 ----配置与管理Apache服务器_Apache_23


在windows操作系统上

c盘下的Windows目录下的system32目录下的derives 


C:\Windows\System32\drivers\etc


的hosts文件上


打开,添加一项


ip地址 www.htmlname.com


保存退出


用火狐浏览器,输入完整主机名

5.重启httpd
[root@localhost ~]# systemctl restart httpd

3.2虚拟主机(虚拟主机的首页文件路径和主配置文件不一致)

1.创建新路径


[root@localhost~]#mkdir /home/www/virtual

linux基础第4节 ----配置与管理Apache服务器_Apache_24


2.编写子文件


[root@www conf.d]# vim /etc/httpd/conf.d/httpd-vhosts.conf 


<VirtualHost *:80>     //注意:端口号和文档根目录跟主配置文件保持一致


    DocumentRoot "/home/www"   <网页根目录,跟配置文件里面一样>


    ServerName www.wx1.com  <虚拟主机>


</VirtualHost>


<VirtualHost *:80>     //注意:端口号和文档根目录跟主配置文件保持一致


    DocumentRoot "/home/www/virtual"   <网页根目录,跟配置文件里面一样>


    ServerName www.wx2.com  <虚拟主机>


</VirtualHost>

linux基础第4节 ----配置与管理Apache服务器_Apache_25


3,做临时解析


linux:


[root@localhost ~]# vim /etc/hosts


127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4


::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


192.168.80.128 www.example2.com


192.168.80.128 www.wx1.com


192.168.80.128 www.example1.com

linux基础第4节 ----配置与管理Apache服务器_服务器_26


linux基础第4节 ----配置与管理Apache服务器_linux_27


在windows操作系统上


c盘下的Windows目录下的system32目录下的derives 


C:\Windows\System32\drivers\etc


的hosts文件上


打开,添加一项


ip地址 www.htmlname.com


保存退出


用火狐浏览器,输入完整主机名


4.启动httpd服务


[root@localhost ~]# systemctl restart httpd

4,基于TLS加密的虚拟主机(用https访问网站)

1查找有关TLS的ssl软件并安装
[root@www ~]# yum search ssl

linux基础第4节 ----配置与管理Apache服务器_配置文件_28


mod_ssl.x86_64 : SSL/TLS module for the Apache HTTP Server  <需要安装这个安装包>


[root@www ~]# yum -y install mod_ssl.x86_64 

linux基础第4节 ----配置与管理Apache服务器_linux_29


[root@www ~]# cd /etc/httpd/


[root@www httpd]# ls


conf  conf.d  conf.modules.d  logs  modules  run  state


[root@www httpd]# cd conf.d/


[root@www conf.d]# ls


autoindex.conf  httpd-vhosts.conf  README  ssl.conf  userdir.conf  welcome.conf

linux基础第4节 ----配置与管理Apache服务器_Apache_30

 2.编写ssl的配置文件


[root@www conf.d]# vim ssl.conf


<VirtualHost *:443>


# General setup for the virtual host, inherited from global configuration


DocumentRoot "/home/www"   <网页根目录>


ServerName www.example1.com    <主机名>

linux基础第4节 ----配置与管理Apache服务器_apache_31


3.启动httpd服务


[root@localhost ~]# systemctl restart httpd


4.验证


[root@localhost ~]# firefox &   <后台运行火狐浏览器>


输入:httpd://www.example1.com


点击高级(Advanced),选择添加安全例外(Add Exception。。),点击确保安全例外(Confirm Security Exception)

linux基础第4节 ----配置与管理Apache服务器_linux_32

linux基础第4节 ----配置与管理Apache服务器_服务器_33

linux基础第4节 ----配置与管理Apache服务器_apache_34

5.创建一个PHP的动态页面

 1查找有关PHP的软件包并安装
[root@www ~]# yum search php
php.x86_64 : PHP scripting language for creating dynamic web sites

linux基础第4节 ----配置与管理Apache服务器_服务器_35


[root@www ~]# yum -y install php 


linux基础第4节 ----配置与管理Apache服务器_apache_36

 2.编写一个PHP动态页面
[root@www ~]#vim /home/www/index.php
<?php
   phpinfo();
?>

linux基础第4节 ----配置与管理Apache服务器_配置文件_37

3.编写/etc/httpd/conf/httpd.conf为主配置文件



把DirectoryIndex myweb.html 更改为 DirectoryIndex index.php


linux基础第4节 ----配置与管理Apache服务器_服务器_38


4.启动httpd服务


[root@localhost ~]# systemctl restart httpd


5.验证

linux基础第4节 ----配置与管理Apache服务器_配置文件_39

五.其他的常规设置

1.根目录设置(ServerRoot)

配置文件中的ServerRoot字段用来设置Apache的配置文件,错误文件和日志文件的存放目录。该目录是整个目录树的根节点,如果下面这个的字段设置中出现相对路径,那么就是相对这个路径的。默认是/etc/httpd

2.超时设置(Timeout)

Timeout字段用于设置接收和发送数据时的超时设置。默认时间单位是秒。如果超时,客户端仍无法连接上服务器,则予以断线处理。

3.客户端连接数限制

客户端连接数限制就是指在某一段时刻内,WWW服务器允许多少客户端同时进行访问。

在配置文件中,MaxClients字段用于设置同一时刻内最大的客户端访问数量。

4.设置管理员邮件地址(ServerAdmin)

当客户端访问服务器发生错误时,服务器通常会把带有错误提示信息的网页反馈给客户端,并且上面包含管理员的E-mail地址。

5.设置主机名(ServerName)

6.目录设置

目录设置就是为服务器上的某个目录设置权限。通常在访问某个网站的时候,真正所访问的仅仅是那台Web服务器里某个目录下的某个网页文件而已。而整个网站也是由这些零零总总的目录和文件组成。作为网站的管理人员,可能经常需要只对某个目录做出设置,而不是对整个网站做设置。例如,拒绝192. 168.0.100的客户端访问某个目录内的文件。这时,可以使用<Drectory> </Directory>容器来设置。这是一对容器语句, 需要成对出现。在每个容器中有0ptions、AllowOveride 、Limit 等指令,它们都是和访问控制相关的。

Apache目录访问控制选项

访问控制选项 描述         Options 设置特定目录中的服务器特性 AllowOveride  设置如何使用访问控制文件.htaccess Order         设置Apache缺省的访问权限及Allow和Deny语句的处理顺序 Allow 设置允许访问Apache服务器的主机,可以是主机可以是IP地址 Deny 设置拒绝访问Apache服务器的主机,可以是主机可以是IP地址

(1)根目录默认设置。
<Directory/>
Options FollowSymLinks
AllowOverride None
< / Directory>
以上代码中带有序号的两行说明如下。
①Options字段用来定义目录使用哪些特性,后面的FollowSymLinks指令表示可以在该目录中使用符号链接。Options 还可以设置很多功能,常见功能请参考表所示。
②AllowOverride用于设置htaccess文件中的指令类型。None表示禁止使用.htaccess

Options选项的取值

可用选项取值                                描述 Indexes 允许目录浏览。当访问的目录中没有DirectoryIndex参数的网页文件时,会列出目录的目录清单 Multiviews 允许内容协商的多重视图 All 支持除Multiviews以外的所有选项,如果没有Options 语句,默认为All ExecCGI 允许在该目录下执行CGI脚本 FollowSysmLinks 可以在该目录中使用符号链接,以访问其他目录 Includes 允许服务器端使用SSI ( Server Side Include,服务器端包含)技术 IncludesNoExec 允许服务器端使用SSI(服务器包含)技术,但禁止执行CGI脚本 SymLinksIfOwnerMatch 目录文件与目录属于同一用户时支持符号链接

2)文档目录默认设置。
<Directory" /var/ www/html">
Options Indexes FollowSymLinks
AllowOverride None     ①
Order allow, deny         ②
Allow from all                ③
</ Directory>
以上代码中带有序号的两行说明如下。
①AllowOverride所使用的指令组此处不使用认证。

②设置默认的访问权限与Allow和Deny字段的处理顺序

③Allow字段用来设置那些客户不可以访问

   Deny字段用来设置那些客户端不能访问

下面举例来说明Allow和Deny字段的用法:

Ⅰ.允许所有的客户端访问(先允许后拒绝)

linux基础第4节 ----配置与管理Apache服务器_Apache_40

 Ⅱ.拒绝IP地址为192.168.80.1和来自.bad.com的客户端访问。其他用户可以正常访问

linux基础第4节 ----配置与管理Apache服务器_Apache_41

 Ⅲ仅允许192.168.0.0/24网段的客户端访问,但其中192.168.0.100不能访问

linux基础第4节 ----配置与管理Apache服务器_服务器_42

Ⅳ.除了www.test.com的主机,允许其他所有人访问Apache服务器

linux基础第4节 ----配置与管理Apache服务器_Apache_43

Ⅴ.只允许10.0.0.0/8网段的主机访问服务器

linux基础第4节 ----配置与管理Apache服务器_服务器_44

如果仅仅相对某个文件做权限设置,则可以使用<Files 文件名></ Files>容器语句,跟<Directory " 目录名">< /Directory>几乎一样

linux基础第4节 ----配置与管理Apache服务器_Apache_45