• 搭建http服务器及配置


    web服务器主要是提供上网信息浏览服务。

    Apache HTTPD Server 简称 Apache,是 Apache 软件基金会的一个开源的网页服务器, 可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等解释器编 译到服务器中!Apache HTTP 服务器是一个模块化的服务器,各个功能使用模块化进行插拔! 目前支持 WindowsLinuxUnix 等平台!

    Web 服务器的工作模式和端口

     工作模式是:B/S 模式

    工作端口是:80/http 正常端口443/https SSL 端口

    安装apache服务
    [root@x101 ~]# yum -y install httpd
    
    安装elink字符浏览器
    [root@x101 ~]# yum -y install elinks
    
    
    编辑httpd主配置文件
    [root@x101 ~]# vim /etc/httpd/conf/httpd.conf 
    
    启动httpd服务
    [root@x101 ~]# systemctl start httpd
    
    字符浏览器访问测试
    [root@x101 ~]# elinks 192.168.0.101
    也可以使用windows客户端浏览器访问测试,
    firefox地址栏输入  http://192.168.0.101
    
    httpd服务主配置文件解析
    [root@x101 ~]# vim /etc/httpd/conf/httpd.conf
    ServerRoot "/etc/httpd"               
    
    httpd服务安装目录
    Listen 80                                     
    监听端口
    
    Include conf.modules.d/*.conf      
    包含conf.moudules.d目录下所有的.conf文件
    
    User apache
    运行的用户身份
    
    Group apache
    运行的组身份
    
    ServerAdmin root@localhost
    管理员邮箱
    
    #ServerName www.example.com:80    
    服务器主机名,域名
    
    
    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
    httpd的一个功能模块
    
    DocumentRoot "/var/www/html"
    默认网站服务的主目录
    
    <Directory "/var/www">
        AllowOverride None
        # Allow open access:
        Require all granted
    </Directory>
    对/var/www目录做的权限设置
    
    
    <Directory "/var/www/html">
        Options Indexes FollowSymLinks MultiViews
        indexes表示如何网站主目录中没用默认首页时,会显示网站目录索引列表;FollowSymLinks表示允许在此目录中使用符号链接;MultiViews模糊查询;
    
        Order allow,deny			
        这里默认后者生效,也就是 deny 生效
       
        Allow from all				
        这里说允许所有
        
        AllowOverride None
        Require all granted
    </Directory>
    <Directory "/var/www/html">表示对/var/www/html目录做的权限设置
    
    
    <IfModule dir_module>
        DirectoryIndex index.html
        指定默认首页
    </IfModule>
    
    ErrorLog "logs/error_log"
    定义错误日志存放位置
    
    
    </IfModule>
        CustomLog "logs/access_log" combined   
    定义访问日志存储路径
    </IfModule>
    
    AddDefaultCharset UTF-8
    设置服务器的默认编码为: UTF-8
    
    IncludeOptional conf.d/*.conf
    加载conf.d目录下的所有conf文件,通常用于一台服务器配置多个虚拟主机,每个虚拟主机使用单独的.conf配置文件,存储在conf.d目录下
    

     

    取消网站默认首页,配置文件welcome.conf,注释掉以下4行即可
    [root@x101 html]# vim /etc/httpd/conf.d/welcome.conf 
    #<LocationMatch "^/+$">
    #    Options -Indexes
    #    ErrorDocument 403 /.noindex.html
    #</LocationMatch>
    
    [root@x101 html]# systemctl restart httpd

     访问测试:

    取消网站目录列表显示,编辑httpd.conf,去掉以下选项中的Indexes即可。 

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

    <Directory "/var/www/html">

        Options Indexes FollowSymLinks

        indexes表示如何网站主目录中没用默认首页时,会显示网站目录索引列表;FollowSymLinks表示允许在此目录中使用符号链接

    </Directory>

    修改配置文件,重启httpd服务生效。

    [root@x101 html]# systemctl restart httpd

    测试:

    apache软件版本查看
    [root@x101 html]# yum list httpd
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    Installed Packages
    httpd.x86_64                2.4.6-67.el7.centos                @rhel
    Available Packages
    httpd.x86_64                2.4.6-93.el7.centos                base 
    
    或者使用以下命令
    [root@x101 html]# httpd -v
    Server version: Apache/2.4.6 (CentOS)
    Server built: Aug 4 2017 03:19:10
    

     客户端与服务端查看结果一致:

     

    创建默认首页

    [root@x101 html]# echo "welcome to yuqianwan" > index.html

    测试访问:

    更改网站默认主目录为自定义目录wcg,并更改权限
    [root@x101 html]# vim /etc/httpd/conf
    DocumentRoot "/var/www/html/wcg"
    <Directory "/var/www/html/wcg">
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        allow from 192.168.0.0/24
        deny from 192.168.0.0/24
        Require all granted
    </Directory>
    
    注意权限,Order allow,deny,在Order最后面的权限较高
    [root@x101 html]# mkdir /var/www/html/wcg
    [root@x101 html]# cat /var/www/html/wcg/index.html
    welcome to WCG 
    

     更改Order deny,allow之后,测试访问:

    使用别名,引用网站更目录以外路径
    将/usr/local/share目录通过虚拟目录功能添加到网站根目录。当访问http://192.168.0.101/share时,就可以访问目录/usr/local/share中的内容
    注意;apache的别名也叫做虚拟目录
    修改httpd.conf主配置文件
    [root@x101 html]# vim /etc/httpd/conf/httpd.conf
    Alias /share /usr/local/share
    <Directory "/usr/local/share">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from 192.168.0.0/24
    Require all granted
    </Directory>
    [root@x101 html]# systemctl restart httpd
    [root@x101 ~]# mkdir /usr/local/share
    [root@x101 share]# cp /boot/*    .
    

     访问测试: 

     

    打开软链接功能,直接引用网站根目录以外内容
    
    [root@x101 html]# mkdir /web1
    [root@x101 html]# echo "hello web1" > /web1/a.html
    [root@x101 html]# ln -s /web1  /var/www/html/wcg/web1
    [root@x101 html]# ll  wcg/ 
    total 4
    -rw-r--r-- 1 root root 16 Aug 19 12:38 index.html
    lrwxrwxrwx 1 root root  5 Aug 19 14:55 web1 -> /web1
    
    
    [root@x101 html]# vim /etc/httpd/conf/httpd.conf
    DocumentRoot "/var/www/html/wcg"
    <Directory "/var/www/html/wcg">
        Options  Indexes FollowSymLinks
        AllowOverride None
        Order deny,allow
        allow from all
        deny from 192.168.0.0/24
        Require all granted
    </Directory>
    

     注意:httpd.conf文件中必需要有Options  Indexes FollowSymLinks配置项,才可以使用软链接功能。 

    访问测试:

    通过用户认证的方式,对网站下/usr/local/share目录进行保护。设置/usr/local/share目录,只能通过用户名密码方式访问。
    方法一:[root@x101 html]# vim /etc/httpd/conf/httpd.conf 
    Alias   /share   /usr/local/share
    <Directory "/usr/local/share">
        Options Indexes FollowSymLinks
        AllowOverride AuthConfig	#开启认证方式
        Order deny,allow
        Allow from all
        authtype basic				#基本认证
        authname “weicome to web”   #提示信息
        Authuserfile /etc/httpd/conf/passwd.secret #密码文件路径
        Require valid-user
    </Directory>
    
    方法二: [root@x101 html]# vim /etc/httpd/conf/httpd.conf Alias /share /usr/local/share <Directory "/usr/local/share"> Options Indexes FollowSymLinks AllowOverride AuthConfig #开启认证方式 Order deny,allow Allow from all </Directory>

    在别名目录中新建头文件.htaccess,将auth相关的内容写入其中,重启服务生效。 [root@x101 html]# vim /usr/local/share/.htaccess authtype basic #基本认证 authname “weicome to web” #提示信息 Authuserfile /etc/httpd/conf/passwd.secret #密码文件路径 Require valid-user [root@x101 html]# systemctl restart httpd 生成密码文件 [root@x101 html]# htpasswd -cm /etc/httpd/conf/passwd.secret feng New password: Re-type new password: Adding password for user feng [root@x101 html]#

    参数详解:

    authtype basic#authtype命令:指定认证类型为:basic。

    authname "my web site "    #AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的

    authuserfile /etc/httpd/conf/passwd.secret   #AuthUserFile命令:指定一个包含用户名和密码的文本文件,每行一对。

    require命令        #指定哪些用户或组才能被授权访问。如:

    require user user1 user2(只有用户user1和user2可以访问)

    require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)

    访问测试:

     

      

  • 相关阅读:
    作业5

    Linux系统管理4
    作业
    递归训练1:在两个长度相等的排序数组中找到上中位数
    LeetCode:面试题 08.05. 递归乘法
    LeetCode:面试题 08.06. 汉诺塔问题
    LeetCode:22. 括号生成
    如何仅用递归函数和栈操作逆序一个栈
    LeetCode:面试题 03.02. 栈的最小值
  • 原文地址:https://www.cnblogs.com/xiaofeng666/p/13528107.html
Copyright © 2020-2023  润新知