Apache笔记

WEB网站(1)
一.apache作用和特点
1.作用
给用户提供网站服务
2.特点
开源成本低
稳定性强
支持动态网站和静态网站
安全性强
跨平台
模块化设计
二.常见的的网站服务端软件
1.IIS
windows平台使用
不支持跨平台
支持FTP和网站功能
图形化配置
模块化设计
2.apache
开源,免费
支持跨平台windows linux unix
安全性强,模块化设计
3.nginx
开源网站平台
支持网站.代理.缓存功能
支持静态网站
4.tomcat
开源java项目平台
发布用java语言编写的项目
三.apache版本
1.apache1.0
向下兼容
不支持数据加密
安全性差
2.apache2.0
功能多
安全性强
支持https协议进行数据证书加密
四.apache服务安装方式
1.rpm安装httpd服务
安装简单
功能不能定制
灵活性差
2.源代码安装
安装功能定制
灵活性强
可以移植到其他linux
五.安装和配置apache
依赖程序
yum -y install apr-* pcre-* lynx

yum -y install apr-1.4.8-5.el7.x86_64
yum -y install apr-devel-1.4.8-5.el7.x86_64
yum -y install cyrus-sasl-devel-2.1.26-23.el7.x86_64
yum -y install expat-devel-2.1.0-10.el7_3.x86_64
yum -y install libdb-devel-5.3.21-25.el7.x86_64
yum -y install openldap-devel-2.4.44-21.el7_6.x86_64
yum -y install apr-util-devel.x86_64 0:1.5.2-6.el7
yum -y install apr-util.x86_64 0:1.5.2-6.el7
yum -y install pcre-devel-8.32-17.el7.x86_64
yum -y install pcre-8.32-17.el7.x86_64
安装apache
1).检查系统是否安装了此程序
rpm -qa | grep httpd
2).挂载光盘
mount /dev/cdrom /mnt
3).解压缩到指定目录
tar zxvf /mnt/httpd-2.2.17.tar.gz -C /usr/src
4).进入到apache目录
cd /usr/src/httpd-2.2.17/
5)../configure 定制环境
./configure --prefix=/usr/local/httpd --enable-so --enable-charset-lite --enable-rewrite --enable-cgi
定制环境              安装位置        开启so动态模块   开启支持更多的字符  开启地址重写    开启支持脚步功能
6).编译安装apache
make && make install
2.配置apache服务
1).优化apache服务(将控制命令符号连接到/usr/local/bin/下)
ln -s /usr/local/httpd/bin/* /usr/local/bin/
2).生成系统服务(添加执行权限)
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
chmod +x /etc/init.d/httpd
3).修改apache服务控制文件
vim /etc/init.d/httpd
添加
#!/bin/sh
#  chkconfig:35 80 21 //服务控制位管理apache 3 5 开机第80个开启的服务 关机第21个关闭的服务
4).将服务添加到系统服务(使systemctl能管理这个服务)
chkconfig --add httpd
5).设置httpd服务在系统运行级别3和5开机自动启动
chkconfig --level 35 httpd on
6).启动apache服务
systemctl start httpd
7).检测apache服务是否启动 
netstat -anptu | grep 80
8).备份apache主配置文件
[root@centos01 ~]# cd /usr/local/httpd/conf/
[root@centos01 conf]# cp httpd.conf httpd.conf.bak
3.apache服务常见的目录和文件
1).apache的主配置文件
/usr/local/httpd/
      bin         cgi-bin    conf       error        htdocs      include    lib    logs   man             modules
   执行程序         脚本    主配置文件  错误信息    网站根目录    函数      库     日志   帮助          加载apache模块
/usr/local/httpd/bin/               管理apache服务的程序
/usr/local/httpd/conf/httpd.conf    apache的主配置文件
/usr/local/httpd/logs/              apache的访问日志文件
/usr/local/httpd/htdocs/            apache网站服务根目录
/usr/local/httpd/cgi-bin/           apache支持脚本功能
/usr/local/httpd/logs/access_log    apache成功日志
/usr/local/httpd/logs/error_log     apache错误日志
2).apache主配置文件常见的内容
vim /usr/local/httpd/conf/httpd.conf
29  ServerRoot              apache服务安装的位置
40  Listen                  apache服务监听的ip地址和端口 默认80
65  User daemon             管理apache服务的用户
66  Group daemon            管理apache服务的组
88  ServerAdmin             apache错误发送的邮件地址
97  ServerName              apache服务监听的域名和端口
104 DocumentRoot            网站服务的根目录
114           区域配置文件
165 DirectoryIndex           网站主页的默认文件类型 默认index.html
186 ErrorLog                错误日志位置
215 CustomLog               正确日志位置
388 Include conf/extra/httpd-vhosts.conf    虚拟主机配置文件位置
区域配置项
               定义/目录区域的开始
    Options FollowSymLinks   控制选项,允许使用符合链接
    AllowOverride nono       不允许暗含控制文件中的覆盖配置
    Require all denied       禁止任何人访问此区域
                定义/目录区域的结束  

隐藏版本号
配置文件最后一行
ServerSignature off
httpd -t    apachectl -t    检查主配置文件的错误

修改网站根目录和首页
mkdir /web
echo "www.httpd.com" > /web/123.html
vim /usr/local/httpd/conf/httpd.conf

#DocumentRoot "/usr/local/httpd/htdocs"         网站服务的根目录
DocumentRoot "/web"

#         用户访问的区域


    DirectoryIndex index.html 123.html           网站的默认主页

修改监听端口.域名
vim /usr/local/httpd/conf/httpd.cof
#Listen 12.34.56.78:80
Listen 8081

#ServerName www.example.com:80
ServerName www.bdqn.com:8081
访问必须带端口
[root@centos01 ~]# lynx www.bdqn.com:8081
[root@centos01 ~]# lynx 192.168.100.10:8081

WEB网站(2)

  一.apache的访问控制
1.apache的访问控制作用和特点
    1).apache访问控制的作用
        增强服务器的安全性
    2).特点
        支持网站访问限制
        可以控制用户或主机访问网站
        提升网站安全性
2.apache访问控制的类型
    1).客户端访问限制
        通过访问控制列表限制
    2).配置身份验证
        通过配置基本验证增强网站安全性
        对访问网站用户进行身份验证
3.客户端限制的类型
    1).Require限制
        Require可以添加在....
        Require all granted 允许所有人访问
        Require all denied  拒绝所有人访问
        Require local       仅允许本地主机访问
        Require [not] host  允许或拒绝主机访问
        Require [not] ip    允许或拒绝ip访问
    2).deny和allow访问限制

    Order allow,deny          应用顺序先允许后拒绝
    allow from all             允许所有
    allow from hosts 192.168.100.100         允许主机192.168.100.100访问
    deny from hosts 192.168.100.100      拒绝主机192.168.100.100访问
    deny from all                  拒绝所有
  
    ststemctl restart httpd
4.配置身份验证访问apache网站
    1).创建用户认证数据文件
        htpasswd -c /usr/local/httpd/conf/.password hmx
    2).添加用户授权配置
        vim /usr/local/httpd/conf/httpd.conf 
        添加

    Order allow,deny
    allow from all 
    AuthName "benet.com"                       //受保护的领域名称
    AuthType Basic                             //基本验证,开启身份验证(摘要验证Digest)
    AuthUserFile /usr/local/httpd/conf/.passwd //身份验证数据库
    Require valid-user                         //要求只有认证文件中的合法用户才能访问

htpasswd -c /usr/local/httpd/conf/.passwd admin
    ststemctl restart httpd
二.虚拟主机
1.虚拟主机的类型
    1).基于ip地址的虚拟主机
    通过ip地址区分不同的虚拟主机
    2).基于端口的虚拟主机
    相同ip不同端口号
    3).基于主机头(域名)的虚拟主机
    相同ip相同端口号不同主机头区分不同的网站,主机头也被称为域名
    
2.配置虚拟主机
    1).创建虚拟主机网站根目录
        mkdir -p /var/www/benet.com/
        mkdir -p /var/www/accp.com/
        mkdir -p /var/www/bdqn.com/
    2).创建虚拟主机网站主页文件
        echo "www.benet.com" > /var/www/benet.com/index.html
        echo "www.accp.com" > /var/www/accp.com/index.html
        echo "www.bdqn.com" > /var/www/bdqn.com/index.html
    3).在主配置文件中启用虚拟主机
        vim /usr/local/httpd/conf/httpd.conf
        40  Listen *:80
        97  #ServerName *:80
        387 #Virtual hosts
        388 Inclue conf/extra/httpd-vhosts.conf
        注释默认网站目录和配置
    4).配置虚拟主机文件
    vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
    添加
NameVirtualHost *:80


    Options Indexes FollowSymLinks
    AllowOverride None
    Order deny,allow
    allow from all

    systemctl restart httpd
3. 配置基于ip地址的虚拟主机
    1).创建虚拟网卡模拟多个不同ip网段,生成网卡
        cd /etc/sysconfig/network-scripts/
        cp ifcfg-ens33 ifcfg-ens33:1
        cp ifcfg-ens33 ifcfg-ens33:2
    2)更改新网卡配置
    vim /etc/sysconfig/network-scripts/ifcfg-ens33:1
    NAME=ens33:1
    DEVICE=    ens33:1
    ONBOOT=yes
    IPADD=192.168.100.110
    NETMASK=255.255.255.0
    vim /etc/sysconfig/network-scripts/ifcfg-ens33:1
    NAME=ens33:2
    DEVICE=    ens33:2
    ONBOOT=yes
    IPADD=192.168.100.120
    NETMASK=255.255.255.0
    3)重启网卡
    systemctl restart network.service
    2).配置虚拟主机文件
    vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
                                    配置虚拟主机监听ip地址和端口号
   #ServerAdmin [email protected]                                        故障邮件发给谁
    DocumentRoot "/var/www/benet.com"                                第一个虚拟主机的网站根目录
   #ServerName www.benet.com                                         虚拟主机的域名                                   
    ErrorLog "logs/www.benet.com-error_log"                            错误日志
    CustomLog "logs/www.benet.com-access_log" common                   正确日志
          

                               
   #ServerAdmin [email protected] 
    DocumentRoot "/var/www/accp.com"    
   #ServerName www.accp.com
    ErrorLog "logs/www.accp.com-error_log"
    CustomLog "logs/www.accp.com-access_log" common

    重启服务
    systemctl restart httpd
4. 配置基于端口的虚拟主机
    1).配置虚拟主机文件
    vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

    #ServerAdmin [email protected]
    DocumentRoot "/var/www/benet.com"
    #ServerName www.benet.com
    ErrorLog "logs/www.benet.com-error_log"
    CustomLog "logs/www.benet.com-access_log" common

                               
   #ServerAdmin [email protected] 
    DocumentRoot "/var/www/accp.com"    
   #ServerName www.accp.com
    ErrorLog "logs/www.accp.com-error_log"
    CustomLog "logs/www.accp.com-access_log" common

    2)修改主配置文件,添加端口
    vim /etc/local/httpd/conf/httpd.cof
    Listen 80
    Listen 8080
    Listen 8181
    重启服务
    systemctl restart httpd
5. 配置基于域名的虚拟主机(添加DNS解析记录)
    配置dns
    1,挂载光盘
    [root@centos01 ~]# mount /dev/cdrom /mnt/
2,安装dns服务
    [root@centos01 ~]# yum -y install bind bind-chroot bind-utils
3,备份并清空主配置文件
    [root@centos01 ~]# cp /etc/named.conf /etc/named.conf.bak
    [root@centos01 ~]# echo "" > /etc/named.conf
4,修改主配置文件
    [root@centos01 ~]# vim /etc/named.conf
options    {
    listen-on port 53 { any; };
    directory "/var/named/";
};
zone    "benet.com"  IN  {
    type master;
    file "benet.com.zone";
};
zone    "bdqn.com"  IN  {
    type master;
    file "bdqn.com.zone";
};
zone    "accp.com"  IN  {
    type master;
    file "accp.com.zone";
};
5,写区域配置文件
    [root@centos01 ~]# vim /var/named/benet.com.zone
$TTL  86400       
@        SOA     benet.com.      root.benet.com. (
         2020060501
         1H
         1M
         1D
         1W
)
@            IN      NS       centos01.benet.com.
centos01     IN      A        192.168.100.10
www          IN      A        192.168.100.10

    [root@centos01 ~]# vim /var/named/bdqn.com.zone
$TTL  86400       
@        SOA     bdqn.com.      root.bdqn.com. (
         2020060501
         1H
         1M
         1D
         1W
)
@            IN      NS       centos01.bdqn.com.
centos01     IN      A        192.168.100.10
www          IN      A        192.168.100.10
    [root@centos01 ~]# vim /var/named/accp.com.zone
$TTL  86400       
@        SOA     accp.com.      root.accp.com. (
         2020060501
         1H
         1M
         1D
         1W
)
@            IN      NS       centos01.accp.com.
centos01     IN      A        192.168.100.10
www          IN      A        192.168.100.10

    1).配置虚拟主机文件
    vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
NameVirtualHost 192.168.100.10:80


  #ServerAdmin [email protected]
    DocumentRoot "/var/www/benet.com"
    ServerName www.benet.com
  #ServerAlias www.dummy-host.example.com
    ErrorLog "logs/www.benet.com-error_log"
    CustomLog "logs/www.benet.com-access_log" common


  #ServerAdmin [email protected]
    DocumentRoot "/var/www/bdqn.com"
    ServerName www.bdqn.com
  #ServerAlias www.dummy-host.example.com
    ErrorLog "logs/www.bdqn.com-error_log"
    CustomLog "logs/www.bdqn.com-access_log" common


  #ServerAdmin [email protected]
    DocumentRoot "/var/www/accp.com"
    ServerName www.accp.com
  #ServerAlias www.dummy-host.example.com
    ErrorLog "logs/www.accp.com-error_log"
    CustomLog "logs/www.accp.com-access_log" common

    2)修改主配置文件
    vim /usr/local/httpd/conf/httpd.conf
    ServerName 192.168.100.10:80
    Listen 192.168.100.10:80
    重启服务
    systemctl restart httpd

你可能感兴趣的:(Linux高级管理笔记,apache)