zoukankan      html  css  js  c++  java
  • 2-20-使用apache搭建web网站

    本节所讲内容:
    •      apache服务器常见概念
    •      apache服务器安装及相关配置文件
    •      实战:
    例1:为公司内网搭建一个web服务器
    例2:取消apache默认欢迎页:
    例3:使用rpm搭建lamp 环境
    例3:修改网根目录及对应参数,设置访问权限
    例4, 使用别名,引用网站根目录以外的路径。
    例6: 打开软链接功能。 通过软件链接直接引用网站根目录以外的内容
    例5,当一个目录下没有默认首页时,访问http://192.168.1.63/phpmyadmin/禁止显示目录列表
    例7:通过用户认证的方式,对网站下/usr/local/phpmyadmin/目录进行保护。
     
    学习一个服务的过程:
     
    1、 此服务器的概述:名字,功能,特点,端口号
    2、 安装
    3、 配置文件的位置
    4、 服务启动关闭脚本,查看端口
    5、 此服务的使用方法
    6、 修改配置文件,实战举例
    7、 排错(从下到上,从内到外)
    apache服务端:xuegod63.cn   IP:192.168.1.63
    web服务概述:
    WEB服务器也称为WWW(WORLD WIDE WEB,万维网)服务器,主要功能是提供网上信息浏览服务。
    常风web服务器(web):
    httpd(apache)、nginx
    tomcat
    win: IIS
    客户端:IE、firefox、chrome
      
     
    apache 概述:
    Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
     安装服务器端:httpd


     

    [root@xuegod63 ~]# yum -yinstall httpd
    httpd-2.2.3-11.el5.i386.rpm :Apache 服务的主程序包,服务器端必须安装该软件包
    httpd-devel-2.2.3-11.el5.i386.rpm :Apache 开发程序包
    httpd-manual-2.2.3-11.el5.i386.rpm :Apache 手册文档,包含HTML 格式的Apache 计划的
    Apache User's Guide 说明指南
    注:httpd-devel-2.2.3-11.el5.i386.rpm包要解决以下两个依赖关系:
    apr-devel-1.2.7-11.i386.rpm
    apr-util-devel-1.2.7-6.i386.rpm
     
    安装字符界面的下浏览器客户端:elinks
    [root@xuegod63 ~]# yum -yinstall elinks
    或者使用rpm命令手动安装以下2个软件包
    nss_compat_ossl-0.9.6-1.el6.x86_64
    elinks-0.12-0.21.pre5.el6_3.x86_64
     使用方法:
    [root@xuegod63 ~]# elinkswww.baidu.com
    [root@xuegod63 ~]# elinks192.168.1.63

      

    配置文件
    [root@xuegod63 ~]# ls/etc/httpd/conf/httpd.conf
    /etc/httpd/conf/httpd.conf

     启动服务

    [root@xuegod63 ~]#service httpd restart
    停止 httpd:                                              [确定]
    正在启动httpd:                                           [确定]

      

    查看端口监听状态
    [root@xuegod63 ~]#netstat -antpu | grep 80
    tcp        0     0 192.168.1.63:51905         23.62.109.73:80            ESTABLISHED 2727/clock-applet
    tcp        0     0 :::80                      :::*                        LISTEN      2966/httpd
    udp        0     0 fe80::20c:29ff:fee0:19a9:123 :::*                                    1988/ntpd

      

    修改配置文件,实战举例
    例1: 搭建一台测试web服务器
    案例:
    部门内部搭建一台WEB服务器,采用的IP地址和端口为192.168.1.63:80,首页采用index.html
    文件。管理员E-mail地址为 xuegod@xuegod.cn,网页的编码类型采用UTF-8,所有网站资源都存放在/var/www/html目录下,并将Apache的配置文件根目录设置为/etc/httpd目录。
     安装服务器:
    [root@xuegod63 ~]# yum -yinstall httpd   刚才已安装不在重复安装
     
    [root@xuegod63 ~]#vim/etc/httpd/conf/httpd.conf
    修改配置文件相关参数:
    [root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf   #以下参数需要我们掌握
    57 ServerRoot "/etc/httpd"#apache配置文件的根目录
    70 Timeout 60  #超时时间,接收和发送前超时秒数
    136 Listen 80        #监听的端口
    262 ServerAdmin root@localhost  #设置管理员,e-mail 地址
    277 ServerName 192.168.1.163:80   #服务器主机名.

    293 DocumentRoot "/var/www/html"   #网站页面根目录
     Options Indexes FollowSymLinks #当一个目录没有默认首页时,允许显示此目录列表
    禁止 Apache 显示目录结构列表,只需将 Option 中的 Indexes 去掉即可


     

    403 DirectoryIndex index.html index.html.var#指定默认首页


    编码:

    AddDefaultCharset UTF-8  # 设置服务器的默认编码为:UTF-8
     例2:取消apache默认欢迎页:
    [root@xuegod63 ~]# vim/etc/httpd/conf.d/welcome.conf
    #
    # This configuration fileenables the default "Welcome"
    # page if there is nodefault index page present for
    # the root URL.  To disable the Welcome page, comment
    # out all the linesbelow.
    #
    #<LocationMatch"^/+$">                             #把红色内容进行注释
    #    Options -Indexes
    #    ErrorDocument 403 /error/noindex.html
    #</LocationMatch>
    重启:
    [root@xuegod63 ~]#service httpd restart
     创建首页文件
    [root@xuegod63 ~]# echo'welcome to www.xuegod.cn'  >/var/www/html/index.html注:selinux 关闭 getenforce查看
     
    例3:使用rpm搭建lamp 环境
    LAMP = linux+apache+mysql数据库+php
     
    [root@xuegod63 ~]# yum -yinstall httpd mysql-server php php-mysql

      

    测试数据库
    [root@xuegod63 ~]# servicemysqld start
    [root@xuegod63 ~]#chkconfig mysqld on
    [root@xuegod63 ~]# mysql  
    mysql> show databases;
    mysql>exit;
     
    [root@xuegod63 ~]# cd/var/www/html/
    [root@xuegod63 html]# vimindex.php
    <?php
            phpinfo();
    ?>
     重启apache服务
    [root@xuegod63 html]#service httpd restart


     

    MaxClients       256 #设置客户端最大连接数为 256
     例4:修改网站根目录及对应参数,设置访问权限
    例:
    设置文档目录为/var/www/html/bbs


     

     
    目录与访问控制:
    <Directory "/var/www/html/bbs">  #子目录会继承这个目录的属性
        Options  FollowSymLinks       #Options:Indexes:目录浏览 #Followsymlinks:可以用连接
        AllowOverrideNone                   #不允许任何Override
        Orderallow,deny
         Allow from192.168.1.0/24                     #从哪里来的允许  
    Deny from 192.168.1.0/24                      #从哪里来的拒绝
    Allow from  .baidu.com
    #Allow,Deny都会读取,如果有冲突和未说明的时候按照Order选项逗号后面的那个为准。
    谁写到后面,谁的优先级高。
    </Directory>
    配置完重启apache服务
    如果报错检查目录是否已创建?

      

    测试:
    service httpd restart  #拒绝


     

    例5, 使用别名功能,引用网站根目录以外的路径。
    将/usr/local/phpmyadmin 目录通过虚拟目录功能添加到网站根目录。当访问http://192.168.1.63/phpmyadmin/ 时,就可以访问目录/usr/local/phpmyadmin中的内容。
    注:apache的别名也叫虚拟目录
    语法:
    Alias  URL路径   PATH物理路径
    创建测试目录和数据
    [root@xuegod63 ~]# mkdir/usr/local/phpmyadmin
    [root@xuegod63 ~]# cp -r/boot/grub/ /usr/local/phpmyadmin/
    [root@xuegod63 ~]# echo"test1"  >/usr/local/phpmyadmin/a.html

      

    修改配置文件
    [root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf


     

    Alias /phpmyadmin"/usr/local/phpmyadmin/"
     
    <Directory"/usr/local/phpmyadmin/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    注:Alias/phpmyadmin/ "/usr/local/phpmyadmin/"     #/phpmyadmin/ 可以随意起。比如改/phpmyadmin/ 为/php/  则访问链接: http://192.168.1.63/php/
     
    例5,当一个目录下没有默认首页时,访问http://192.168.1.63/phpmyadmin/禁止显示目录列表
    修改配置文件:
    [root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf  # 修改红色标记内容
    Alias /phpmyadmin/ "/usr/local/phpmyadmin/"
    <Directory "/usr/local/phpmyadmin/">
        Options -Indexes FollowSymLinks   #在Indexes 前加-减号,此目录下没有默认首页时,禁止显示目录
        AllowOverrideNone
        Orderdeny,allow
        Allow from all
    </Directory>

      

    例6: 打开软链接功能。通过软件链接直接引用网站根目录以外的内容
     
    root@xuegod63 ~]# mkdir/web2
    [root@xuegod63 ~]# echotest1 > /web2/a.html
    [root@xuegod63 ~]# ln -s/web2/ /var/www/html/web2
    [root@xuegod63 ~]# rm -rf/var/www/html/index.html
    [root@xuegod63 ~]# rm -rf/var/www/html/index.php
    [root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf


     
     

    例7:通过用户认证的方式,对网站下/usr/local/phpmyadmin/目录进行保护。 设置/usr/local/phpmyadmin/目录,只能通过用户名密码方式访问。
     
    方法一:
    Alias /phpmyadmin/ "/usr/local/phpmyadmin/"
    <Directory "/usr/local/phpmyadmin/">
        Options IndexesFollowSymLinks
        AllowOverrideNone
        Orderdeny,allow
        Allow from all
        authtype basic          #基本认证
       authname "MySQL admin software"   
       authuserfile /etc/httpd/conf/passwd.secret    #密文配置文件路径
        #require usertom
        #require usertom bob
        require valid-user   #有效用户
    </Directory>
    重启apache 访问http://192.168.1.63/phpmyadmin验证

      

    生成认证账号和密码
    [root@xuegod63 ~]#htpasswd -cm /etc/httpd/conf/passwd.secret man
    New password:
    Re-type new password:
    Adding password for user man
    验证:


    方法二:

    [root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf
    <Directory"/usr/local/phpmyadmin/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
        AllowOverride AuthConfig
    </Directory>
    # AllowOverride AuthConfig一行表示允许对/usr/local/phpmyadmin/目录下的文件进行用户认证。
    [root@xuegod63 ~]# vim/usr/local/phpmyadmin/.htaccess
    authtype basic
    authname "MySQL admin software by .htaccess"
    authuserfile /etc/httpd/conf/passwd.secret
    #require user tom
    require valid-user
    例8 ,配置apache虚拟主机,实现在一台服务器上运行多个网站
    apache虚拟主机实现有三种方法:
    1、通过不同的IP地址
    2、通过不同的域名
    3、通过不同的端口号
    [root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf
    改:
    #NameVirtualHost*:80
    为:
    NameVirtualHost*:80
     方法1:通过不同的IP地址,解析不同的域名
    给服务器增加IP(另一个域名解析)
    [root@xuegod63 ~]# ifconfigeth0:1 192.168.1.65
    [root@xuegod63 ~]# mkdir/var/www/html/bbs
    [root@xuegod63 ~]# echo"bbs.xuegod.cn"  >/var/www/html/bbs/index.html
    [root@xuegod63 ~]# echo"www.xuegod.cn" > /var/www/html/index.html

      

    修改httpd.conf
    [root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf
    <VirtualHost192.168.1.63:80>
        ServerAdmin root@xuegod.cn
        DocumentRoot /var/www/html/
        ServerName www.xuegod.cn
        ErrorLog logs/www.xuegod.cn-error_log
        CustomLog logs/www.xuegod.cn-access_logcommon
    </VirtualHost>
    <VirtualHost 192.168.1.65:80>
        ServerAdmin root@xuegod.cn
        DocumentRoot /var/www/html/bbs/
        ServerName bbs.xuegod.cn
        ErrorLog logs/bbs.xuegod.cn-error_log
        CustomLog logs/bbs.xuegod.cn-access_logcommon
    </VirtualHost>
    重启服务
    service httpd restart
    测试:
    http://192.168.1.63
    http://192.168.1.64


     

    方法2:通过不同的域名配置虚拟主机
    #vim httpd.conf
    改:#NameVirtualHost *:80
    NameVirtualHost192.168.1.63

      

    方法2:通过不同的域名配置虚拟主机
    #vim httpd.conf
    改:#NameVirtualHost *:80
    NameVirtualHost192.168.1.63
     
    <VirtualHostwww.xuegod63.cn>
        ServerAdmin root@xuegod.cn
        DocumentRoot /var/www/html/
        ServerName www.xuegod.cn
        ErrorLog logs/www.xuegod.cn-error_log
        CustomLog logs/www.xuegod.cn-access_logcommon
    </VirtualHost>
    <VirtualHostbbs.xuegod63.cn>
        ServerAdmin root@xuegod.cn
        DocumentRoot /var/www/html/bbs/
        ServerName bbs.xuegod.cn
        ErrorLog logs/bbs.xuegod.cn-error_log
        CustomLog logs/bbs.xuegod.cn-access_logcommon
    </VirtualHost>
     重启服务
    service   httpd restart
     
    修改电脑hosts文件C:WindowsSystem32driversetchosts作解析:
    192.168.1.63    www.xuegod63.cn
    192.168.1.63    bbs.xuegod63.cn
    方法3:通过不同的端口配置虚拟主机
    [root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf   
    改:
    Listen   80  
    为:
    Listen 80
    Listen 8080
    #更改为你要添加的端口
    再创建2个虚拟主机
    <VirtualHost *:80>
        ServerAdmin root@xuegod.cn
        DocumentRoot /var/www/html/
        ServerName www.xuegod.cn
        ErrorLog logs/www.xuegod.cn-error_log
        CustomLog logs/www.xuegod.cn-access_logcommon
    </VirtualHost>
    <VirtualHost *:8080>
        ServerAdmin root@xuegod.cn
        DocumentRoot /var/www/html/bbs/
        ServerName bbs.xuegod.cn
        ErrorLog logs/bbs.xuegod.cn-error_log
        CustomLog logs/bbs.xuegod.cn-access_logcommon
    </VirtualHost>

      

    重启服务
    service  httpd restart

    验证:

  • 相关阅读:
    如何做实时监控?—— 参考 Spring Boot 实现
    如何做实时监控?—— 参考 Spring Boot 实现
    spring boot application properties配置详解
    Jrebel 6.2.1破解
    智能社-JS -wiki
    hibernate.properties
    Tomcat 的 socket bind failed的解决方法
    js 排序 SORT 各种方法
    java EE 如何使用Eclipse启动一个项目
    2016-06-06 数组的几个重要方法
  • 原文地址:https://www.cnblogs.com/zhanghe9527/p/6952318.html
Copyright © 2011-2022 走看看