精华内容
下载资源
问答
  • 使用Apache搭建Web网站服务器 Apache服务 Apache被研发于1995年,是纯开源软件。用于HTTP协议提供web浏览服务,可在Unix、Linux、Windows上运行。 1、配置静态IP vim /etc/sysconfig/network-scripts/ifcfg-ens33 2...

    使用Apache搭建Web网站服务器

    Apache服务
    Apache被研发于1995年,是纯开源软件。用于HTTP协议提供web浏览服务,可在Unix、Linux、Windows上运行。

    1、配置静态IP

    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    

    2、关闭防火墙或者安全模块

    systemctl disable firewalld #永久关闭防火墙
    systemctl stop firewalld  #暂时关闭防火墙,重启虚拟机时防火墙会重新开启
    systemctl status firewalld  #查看防火墙状态
    vim /etc/selinux/config #enforcing改为disabled,永久关闭安全模块
    

    3、Apache安装:
    方法一:
    编译安装:RPM
    方法二:
    配置yum源进行yum安装:
    在这里插入图片描述

    yum -y install httpd  #安装httpd
    rpm -ql httpd | less #查看安装文件的所有
    

    4、httpd软件的配置

    vim /etc/httpd/conf/httpd.conf #无需修改
    :q #浏览完退出编译模式
    

    Apache配置文件:

    ServerRoot "/etc/httpd"		#httpd服务的安装目录
    Listen 80				#默认监听TCP协议80端口
    Include conf.modules.d/*.conf	#定义模板文件
    User apache			#定义服务运行用户
    Group apache			#定义服务运行组
    ServerAdmin root@localhost	#定义服务管理员
    
    <Directory />			#定义服务根目录的访问权限
        AllowOverride none		#网站重写功能
        Require all denied		#定义为拒绝访问
    </Directory>
    
    DocumentRoot "/var/www/html"	#定义网站根目录【文档】根目录
    <Directory "/var/www">		#定义网站根目录的权限
        AllowOverride None		
        Require all granted		#定义允许所有用户访问
    </Directory>
    
    <Directory "/var/www/html">	#定义目录访问权限
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted		#定义允许所有用户访问
    </Directory>
    
    <IfModule dir_module>
        DirectoryIndex index.html
    </IfModule>
    
    <Files ".ht*">
        Require all denied
    </Files>
    
    ErrorLog "logs/error_log"		#访问错误日志的存储路径
    LogLevel warn
    <IfModule log_config_module>
        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
        LogFormat "%h %l %u %t \"%r\" %>s %b" common
        <IfModule logio_module>
          LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
        </IfModule>
        CustomLog "logs/access_log" combined
    </IfModule>
    
    <IfModule alias_module>
        ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
    </IfModule>
    
    <Directory "/var/www/cgi-bin">
        AllowOverride None
        Options None
        Require all granted
    </Directory>
    
    <IfModule mime_module>
        TypesConfig /etc/mime.types
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
    </IfModule>
    
    AddDefaultCharset UTF-8
    <IfModule mime_magic_module>
        MIMEMagicFile conf/magic
    </IfModule>
    
    EnableSendfile on
    IncludeOptional conf.d/*.conf
    

    Apache的日志文件:

    cd /var/log/httpd
    ls
    access_log #浏览到httpd下有成功日志
    error_log  #浏览到httpd下有失败日志
    

    启动httpd服务:

    systemctl start httpd
    

    查看进程

    ps aux | grep httpd
    

    PID文件路径:

    /etc/httpd/run --> /run/httpd/httpd.pid
    

    访问文件目录:

    /var/www/html
    index.html  #默认文件名称
    echo "hello" > index.html
    

    httpd访问方式:
    (1)Windows浏览器直接访问
    (2)Linux:
    1. curl IP或域名进行访问,显示网页源代码,HTML语句
    2. Firefox IP或域名 调用安装的Firefox去访问网站
    3. elinks IP或域名,在终端打开一个简易页面。
    安装elinks命令:yum -y install elinks
    构建web虚拟主机
    1、基于域名:同一IP不同主机域名进行访问不同文件根目录
    配置hosts文件:

    vim /etc/hosts
    
    		192.168.139.140		www.test1.com
    		192.168.139.140		www.test2.com
    

    配置文件:

    vim /usr/share/doc/httpd-*
    vim httpd-vhost.conf #模板
    vim /etc/httpd/conf/httpd.conf  #复制模板到这里面
    
    <VirtualHost *:80>
        DocumentRoot "/var/www/html/test1"
        ServerName www.test1.com
        ErrorLog "/var/log/httpd/test1-error_log"
        CustomLog "/var/log/httpd/test1-access_log" common
    </VirtualHost>
    <VirtualHost *:80>
        DocumentRoot "/var/www/html/test2"
        ServerName www.test2.com
        ErrorLog "/var/log/httpd/test2-error_log"
        CustomLog "/var/log/httpd/test2-access_log" common
    </VirtualHost>
    
    cd /var/www/html  #建立2个访问目录
    

    mkdir test1 → vim index.html → 随意编辑一些内容
    mkdir test2 → vim index.html → 随意编辑一些内容

    firefox 192.168.139.140 #进入火狐浏览器,分别访问以下2个网址
    192.168.139.140/test1
    192.168.139.140/test2

    做完以上操作需要重启httpd

    systemctl restart httpd
    

    2、基于不同IP:不同IP,相同端口,不同域名,访问不同文件根目录
    给虚拟机添加网卡:
    在这里插入图片描述

    ifconfig ens36 up   #启动
    

    配置ens36网卡:

    cd /etc/sysconfig/network-scripts/
    cp ifcfg-ens33 ifcfg-ens36
    vim /etc/sysconfig/network-scripts/ifcfg-ens36#修改网卡配置信息
    

    在这里插入图片描述

    重启网卡:

    systemctl restart network
    

    配置hosts文件:

     vim /etc/hosts
    
    		192.168.139.140:80		www.test1.com
    		192.168.139.135:80		www.test2.com
    

    配置文件:

     vim /usr/share/doc/httpd-*
     vim httpd-vhost.conf #模板
     vim /etc/httpd/conf/httpd.conf  #复制模板到这里面
    
    #修改配置文件Listen 80为:
    			Listen 192.168.139.140:80
    			Listen 192.168.139.135:80
    #在配置文件的最后添加代码:
    <VirtualHost 192.168.139.140:80>
        DocumentRoot "/var/www/html/test1"
        ServerName www.test1.com
        ErrorLog "/var/log/httpd/test1-error_log"
        CustomLog "/var/log/httpd/test1-access_log" common
    </VirtualHost>
    <VirtualHost 192.168.139.135:80>
        DocumentRoot "/var/www/html/test2"
        ServerName www.test2.com
        ErrorLog "/var/log/httpd/test2-error_log"
        CustomLog "/var/log/httpd/test2-access_log" common
    </VirtualHost>
    

    修改配置文件之后需要重启httpd

    systemctl restart httpd
    

    firefox 192.168.139.140 #进入火狐浏览器,分别访问以下2个网址
    192.168.139.140:80/test1
    192.168.139.135:80/test2
    3、基于不同端口:不同端口,不同IP,不同域名访问不同文件根目录
    配置hosts文件:

     vim /etc/hosts
    
    		192.168.139.140:1061		www.test1.com
    		192.168.139.135:1062		www.test2.com
    

    配置文件:

     vim /usr/share/doc/httpd-*
     vim httpd-vhost.conf #模板
     vim /etc/httpd/conf/httpd.conf  #复制模板到这里面
    
    #修改配置文件
    Listen 192.168.139.140:1061
    Listen 192.168.139.135:1062
    
    <VirtualHost 192.168.139.140:1061>
        DocumentRoot "/var/www/html/test1"
        ServerName www.test1.com
        ErrorLog "/var/log/httpd/test1-error_log"
        CustomLog "/var/log/httpd/test1-access_log" common
    </VirtualHost>
    <VirtualHost 192.168.139.135:1062>
        DocumentRoot "/var/www/html/test2"
        ServerName www.test2.com
        ErrorLog "/var/log/httpd/test2-error_log"
        CustomLog "/var/log/httpd/test2-access_log" common
    </VirtualHost>
    
    systemctl restart httpd #修改配置文件之后需要重启httpd
    

    firefox 192.168.139.140 #进入火狐浏览器,分别访问以下2个网址
    192.168.139.140:1061/test1
    192.168.139.135:1062/test2

    4、httpd服务的访问限制:
    客户端地址的限制
    Require all granted : 允许所有用户都能访问
    Require all denied :拒绝所有用户访问
    Require local :只允许本机访问
    Require [not] host <主机名或域名>:允许或者拒绝制定的主机或域访问
    Require [not] ip <IP或IP网段>:允许或者拒绝制定的IP或IP网段访问
    需要使用not拒绝访问时,添加配置:
    < RequireAll >
    Requitre not host 或者Requitre not ip
    < /RequireAll >

    展开全文
  • 使用Apache搭建Web网站服务器

    万次阅读 多人点赞 2019-05-21 01:01:10
    web服务器也简称WWW(world wide web 万维网)服务器,主要功能是提供网上信息浏览服务 2、什么是apache? Apache HTTPD Server 简称 Apache,是 Apache 软件基金会的一个开源的网页服务器, 可以在大多数计算机操作...

    一、Apache服务器概述-安装
    1、web服务器概述
    web服务器也简称WWW(world wide web 万维网)服务器,主要功能是提供网上信息浏览服务

    2、什么是apache?
    Apache HTTPD Server 简称 Apache,是 Apache 软件基金会的一个开源的网页服务器, 可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等解释器编 译到服务器中!Apache HTTP 服务器是一个模块化的服务器,各个功能使用模块化进行插拔! 目前支持 Windows,Linux,Unix 等平台!
    Apache 软件基金会(也就是 Apache Software Foundation,简称为 ASF),是专门为运 作一个开源软件项目的 Apache 的团体提供支持的非盈利性组织,这个开源软件项目就是 Apache 项目!那么我们的 HTTPD 也只是 Apache 的开源项目之一!
    主要的开源项目:HTTP Server,Ant,DB,iBATIS,Jakarta,Logging,Maven,Struts, Tomcat,Tapestry,Hadoop 等等。只是最有名的是 HTTP Server,所以现在所说的 Apache 已 经就是 HTTPD Server 的代号了! 我们还见的比较多的是 Tomcat,Hadoop 等项目
    官方网站:http://www.apache.org/ httpd:http://httpd.apache.org/

    3、什么是mysql?
    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司,他也是最流行的关系型数据库管理系统!特别是在 WEB 应用方面!
    关系型数据库:它通过数据、关系和对数据的约束三者组成的数据模型来存放和管理数

    官方网站:http://www.mysql.com/

    4、什么是PHP?
    PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通 用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,利于学习,使用广泛,主要适 用于 Web 开发领域。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创的语法。它可以 比 CGI 或者 Perl 更快速地执行动态网页。用 PHP 做出的动态页面与其他的编程语言相比, PHP 是将程序嵌入到 HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比 完全生成 HTML 标记的 CGI 要高许多;PHP 还可以执行编译后代码,编译可以达到加密和 优化代码运行,使代码运行更快。
    简单的说,PHP 就是一个脚本解释器! 官方网站:http://php.net/
    PHP 服务器安装好之后,升级切记注意,不要盲目升级!因为它会废弃很多低效的语法!

    5、web服务器的工作模式和端口
    工作模式是:B/S 模式
    工作端口是:
    正常端口:80/http
    SSL 端口:443/https

    6、安装服务器端httpd,并启动httpd,设置为开机自启动
    [root@xuegod130 ~]# yum -y install httpd
    [root@xuegod130 ~]# systemctl start httpd
    [root@xuegod130 ~]# systemctl enable httpd
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
    [root@xuegod130 ~]# ps -ef | grep httpd
    root 3003 1 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache 3004 3003 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache 3005 3003 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache 3006 3003 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache 3007 3003 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache 3008 3003 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
    [root@xuegod130 ~]# ss -antupl | grep 80
    tcp LISTEN 0 128 :::80 ::? users:((“httpd”,pid=3008,fd=4),(“httpd”,pid=3007,fd=4),(“httpd”,pid=3006,fd=4),(“httpd”,pid=3005,fd=4),(“httpd”,pid=3004,fd=4),(“httpd”,pid=3003,fd=4))

    httpd安装包说明:
    [root@xuegod130 ~]# ls /mnt/Packages/httpd-*
    /mnt/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm #apache服务主程序包,服务端必须安装
    /mnt/Packages/httpd-manual-2.4.6-80.el7.centos.noarch.rpm#apache手册文档
    /mnt/Packages/httpd-devel-2.4.6-80.el7.centos.x86_64.rpm#apache开发程序包
    /mnt/Packages/httpd-tools-2.4.6-80.el7.centos.x86_64.rpm#apache相关工具包

    7、在客户端安装字符界面下的浏览器
    [root@xuegod140 ~]# yum -y install elinks

    8、安装完成httpd包之后,启动服务,直接在浏览器打开,如下界面
    在这里插入图片描述
    字符界面浏览器:
    [root@xuegod140 ~]# elinks 192.168.1.130
    在这里插入图片描述

    9、apache配置文件目录
    apache的配置文件:
    [root@xuegod130 ~]# ll /etc/httpd/conf/httpd.conf
    -rw-r–r-- 1 root root 11753 4月 24 21:44 /etc/httpd/conf/httpd.conf
    apache的配置文件目录:
    [root@xuegod130 ~]# ll /etc/httpd/conf/
    总用量 28
    -rw-r–r-- 1 root root 11753 4月 24 21:44 httpd.conf
    -rw-r–r-- 1 root root 13077 4月 24 21:46 magic
    apache的默认工作目录:
    [root@xuegod130 ~]# ll /var/www/
    总用量 0
    drwxr-xr-x 2 root root 6 4月 24 21:46 cgi-bin
    drwxr-xr-x 2 root root 6 4月 24 21:46 html

    10、apache主配置文件介绍
    [root@xuegod130 ~]# vim /etc/httpd/conf/httpd.conf
    ServerRoot “/etc/httpd” #httpd服务的根目录
    Listen 80 #监听端口,默认本地 IP,如果指定 ip 写上 IP:80
    Include conf.modules.d/.conf #当前目录下conf.modules.d 这个目录下所有conf文件都生效
    Options Indexes FollowSymLinks #Options Indexes 目录浏览FollowSymLinks 用连接浏览
    AllowOverride None #设置为 none,忽略.htaccess
    Include conf.d/
    .conf #conf.d 里面的 conf 文件也属有效配置文件
    User apache #运行以哪个身份运行
    Group apache #运行以哪个组的身份运行
    ServerAdmin root@localhost #管理员邮箱
    DocumentRoot “/var/www/html” #默认的主目录,如果改动要改动两处,Directory
    <Directory “/var/www/html”>
    Options Indexes FollowSymLinks AllowOverride None

    LogLevel warn #日志等级
    AddDefaultCharset UTF-8 #支持的语言,默认编码
    #配置文件的最后是虚拟主机的字段,其中你大部分字段做个了解即可,用到的时候去查 即可

    11、yum方式搭建LAMP环境
    LAMP=Linux(存在)+Apache(HTTPD 已安装)+Mysql+PHP
    #centos6
    [root@xuegod100 ~]# yum -y install httpd mysql mysql-server php php-mysql
    #centos7
    [root@xuegod130 ~]# yum -y install httpd mariadb mariadb-server php php-mysql

    1)启动maridb数据库,设置开机启动
    [root@xuegod130 ~]# systemctl start mariadb
    [root@xuegod130 ~]# systemctl enable mariadb
    2)登录数据库测试
    [root@xuegod130 ~]# mysql
    Welcome to the MariaDB monitor. Commands end with ; or \g.
    Your MariaDB connection id is 3
    Server version: 5.5.60-MariaDB MariaDB Server

    Copyright © 2000, 2018, Oracle, MariaDB Corporation Ab and others.

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

    MariaDB [(none)]> show databases;
    ±-------------------+
    | Database |
    ±-------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | test |
    ±-------------------+
    4 rows in set (0.00 sec)

    MariaDB [(none)]> exit
    Bye

    3)测试apache是否支持php
    [root@xuegod130 ~]# vim /var/www/html/index.php
    [root@xuegod130 ~]# cat !$
    cat /var/www/html/index.php

    <?php phpinfo(); ?>

    [root@xuegod130 ~]# systemctl restart httpd
    类似于PHP 探针:

    4)浏览器登录,显示如下界面,说明支持php
    在这里插入图片描述
    扩展:探针:一个PHP编写的文件,可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息,定时刷新一次。以及包括服务器IP地址,Web服务器环境监测,php等信息。

    二、配置web服务器-搭建LAMP环境
    1、搭建一台测试web服务器
    案例:
    部门内部搭建一台WEB服务器,采用的IP地址和端口为192.168.1.63:80,首页采用index.html
    文件。管理员E-mail地址为 cat@xuegod.cn,网页的编码类型采用UTF-8,所有网站资源都存放在/var/www/html目录下,并将Apache的配置文件根目录设置为/etc/httpd目录。
    要求分析:
    设置Apache 的根目录为/etc/httpd #默认
    设置httpd 监听端口80 #默认
    设置管理员E-mail地址为 kill@xuegod.cn #需要修改
    设置WEB 服务器的主机名和监听端口为192.168.1.63:80 #默认80端口
    设置Apache 文档目录为/var/www/html #默认
    设置主页文件为 index.html #增加这个网页文件
    设置服务器的默认编码为UTF-8

    1)修改配置(修改前,备份一份)
    [root@xuegod130 ~]# cd /etc/httpd/conf
    [root@xuegod130 conf]# cp httpd.conf httpd.conf.bak
    [root@xuegod130 conf]# vim httpd.conf
    31 ServerRoot “/etc/httpd” #apache的根目录
    32 Timeout 60 #添加此项,超时时间
    42 Listen 80 #监听端口号
    86 ServerAdmin kill@xuegod.cn #修改管理邮箱地址
    95 ServerName 192.168.1.130:80 #服务器主机名
    119 DocumentRoot “/var/www/html” #网站页面根目录
    144 Options Indexes FollowSymLinks #当一个目录没有默认首页时,允许显示此目录列表,一般安全期间,需要注释此项,避免目录下的其它资料泄露
    164 DirectoryIndex index.html index.php #修改默认首页
    316 AddDefaultCharset UTF-8 #设置服务器的默认编码为:UTF-8

    2)修改完后,保存,重启httpd服务
    [root@xuegod130 conf]# !sys
    systemctl restart httpd

    3)取消apache默认欢迎页(登录初始页面)
    [root@xuegod130 conf]# vim /etc/httpd/conf.d/welcome.conf
    8 #<LocationMatch “^/+$”>
    9 # Options -Indexes
    10 # ErrorDocument 403 /.noindex.html
    11 #
    将8-9行内容全部注释掉
    重启httpd服务:
    [root@xuegod130 conf]# systemctl restart httpd
    4)创建首页:
    [root@xuegod130 conf]# cd /var/www/html/
    [root@xuegod130 html]# echo “welcome to www.xuegod.cn” > index.html
    在这里插入图片描述
    [root@xuegod130 html]# echo “welcome to www.xuegod.cn index.php” > index.php
    在这里插入图片描述
    2、修改web网站根目录-配置别名-虚拟目录
    修改网站默认根目录,并且设置访问权限,只有在允许的范围内可以访问
    1)修改网站默认根目录为/var/www/html/bbs
    119 DocumentRoot “/var/www/html/bbs”

    2)允许所有人访问/var/www/html/bbs目录
    131 <Directory “/var/www/html/bbs”> #子目录会继承这个目录的属性
    144 Options Indexes FollowSymLinks #目录浏览
    151 AllowOverride None #可以用连接
    156 Require all granted #默认表示允许所有人访问,修改设置如下内容(需要注释这行内容)
    156 # Require all granted #需要注释允许所有人访问,下面的才生效
    157
    158 Require ip 192.168.1.104 #允许104访问
    159 Require not ip 192.168.1.140 #不允许140访问
    160

    解释:
    Apache2.4的访问控制:
    Require all granted #允许所有
    Require all denied #拒绝所有
    Require method http-method [http-method] … #允许,特定的HTTP方法
    Require user userid [ userid ] … #允许,特定用户
    Require group group-name [group-name] … #允许,特定用户组
    Require valid-user #允许,有效用户
    Require ip 192.168.1.0/24 #允许网段
    Require ip 192.168.1.1 #允许特定IP
    Require not ip 192.168.1.100 #不允许特定IP
    Require not ip 192.168.1.0/24 #不允许网段

    3)重启httpd服务
    [root@xuegod130 ~]# systemctl restart httpd

    4)创建目录测试首页
    [root@xuegod130 ~]# mkdir /var/www/html/bbs
    [root@xuegod130 ~]# ll /var/www/html/bbs -d
    drwxr-xr-x 2 root root 6 5月 20 23:48 /var/www/html/bbs
    [root@xuegod130 ~]# cp /var/www/html/index.html /var/www/html/bbs/
    [root@xuegod130 ~]# ll !$
    -rw-r–r-- 1 root root 25 5月 20 23:49 index.html

    5)物理机访问(IP地址:192.168.1.104)
    在这里插入图片描述
    6)用Linux虚拟机访问(IP地址:192.168.1.140)
    [root@xuegod140 ~]# elinks 192.168.1.130
    在这里插入图片描述
    使用curl命令访问网站
    [root@xuegod140 ~]# curl 192.168.1.130

    403 Forbidden

    Forbidden

    You don't have permission to access / on this server.

    3、使用别名、引用网站根目录以为的路径
    将/usr/local/phpdata 目录通过虚拟目录功能添加到网站根目录。当访问http://192.168.1.63/ phpdata/ 时,就可以访问目录/usr/local/phpdata中的内容。

    注:Apache的别名也叫虚拟目录
    语法:
    AliasURL路径 PATH物理路径

    1)创建测试数据
    [root@xuegod130 ~]# mkdir /usr/local/phpdata
    [root@xuegod130 ~]# echo “This Alias PHPdata” > /usr/local/phpdata/index.html
    2)修改配置文件
    162 alias /phpdata/ “/usr/local/phpdata/”
    163 <Directory “/usr/local/phpdata/”>
    164 Options Indexes FollowSymLinks #首页不存在,允许访问当前目录下其它内容
    165 AllowOverride None
    166 Require all granted #允许访问所有
    167
    注:Alias /phpdata/ “/usr/local/phpdata/” #/phpdata/ 可以随意起。比如改/phpdata/ 为/php/ 则访问链接: http://192.168.1.63/php/

    3)重启httpd服务
    [root@xuegod130 conf]# !sys
    systemctl restart httpd

    4)测试
    在这里插入图片描述
    字符界面浏览器测试:(配置文件修改为允许1.0网段可以访问,所以140可以访问)

    Require ip 192.168.1.0/24 #允许1.0网段访问
    Require not ip 192.168.2.140 #禁止2.0网段访问

    在这里插入图片描述

    4、实现apache打开软链接功能-禁止显示目录列表-用户认证
    1)当一个目录下没有首页时,访问地址时,会自动打开当前目录下的其它内容
    [root@xuegod130 bbs]# pwd
    /var/www/html/bbs
    [root@xuegod130 bbs]# ls
    index.html
    [root@xuegod130 bbs]# mv index.html index.html.bak #修改默认首页文件
    在这里插入图片描述
    2)修改配置文件,取消首页不存在,默认显示目录下内容的功能
    144 # Options Indexes FollowSymLinks #注释这行内容
    164 # Options Indexes FollowSymLinks #注释(表示全局)

    3)重启httpd服务
    [root@xuegod130 html]# !sys
    systemctl restart httpd

    4)测试
    在这里插入图片描述
    字符界面浏览:
    [root@xuegod140 ~]# curl 192.168.1.130

    403 Forbidden

    Forbidden

    You don't have permission to access / on this server.

    5)通过用户认证-对目录进行保护
    设置/usr/local/phpdata/目录,只能通过用户名和密码访问
    修改配置文件:
    162 alias /phpdata/ “/usr/local/phpdata/”
    163 <Directory “/usr/local/phpdata/”>
    164 Options Indexes FollowSymLinks
    165 AllowOverride None
    166 # Require all granted #注释这一行,不要默认都登录
    167 authtype basic
    168 authname “my web site”
    169 authuserfile /etc/httpd/conf/passwd.secret
    170 require valid-user
    171

    参数说明:
    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指定的文件中任何用户都可以访问)

    6)利用apache附带的程序htpasswd,生成包含用户名和密码的文档
    [root@xuegod130 html]# htpasswd -cm /etc/httpd/conf/passwd.secret tom
    New password: #123456
    Re-type new password: #123456
    Adding password for user tom
    [root@xuegod130 html]# htpasswd -m /etc/httpd/conf/passwd.secret tom2
    New password: #123456
    Re-type new password: #123456
    Adding password for user tom2

    注意:
    #第一个生成用户名和密码,需要创建文件,因此需要加-c参数
    #第二次创建用户,不能用-c,否则会把前面的用户覆盖了

    查看htpasswd参数功能:
    -c Create a new file.
    -m Force MD5 encryption of the password.

    7)查看密码文件
    [root@xuegod130 ~]# cd /etc/httpd/conf/
    [root@xuegod130 conf]# ls
    httpd.conf httpd.conf.bak magic passwd.secret
    [root@xuegod130 conf]# cat passwd.secret #可以看到密码是加密的
    tom:$apr10GmiRuN40GmiRuN4B3c8H4zHjAxMCcJqNtYGi/
    tom2:apr1apr1f9urof13$duzU3ve9AOhF4BLKeVg0I/

    8)重启httpd服务
    [root@xuegod130 conf]# !sys
    systemctl restart httpd

    9)测试
    在这里插入图片描述

    三、apache虚拟主机基于-IP-域名-端口三种搭建方式
    配置Apache虚拟主机,实现在一台服务器上运行多个网站
    Apache虚拟主机实现有三种方法:
    1)通过不同的IP地址
    2)通过不同的域名
    3)通过不同的端口号

    1、通过不同IP地址
    1)因为需要两个IP地址,给网卡增加一个临时的IP地址
    [root@xuegod140 ~]# ifconfig ens33:1 192.168.1.200/24

    2)创建虚拟主机的配置文件
    [root@xuegod130 ~]# cd /etc/httpd/conf.d/
    [root@xuegod130 conf.d]# vim bbs.conf
    <VirtualHost 192.168.1.130:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/
    ServerName dummy-host.example.com
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common

    <VirtualHost 192.168.1.200:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/bbs/
    ServerName dummy-host.example.com
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common

    3)重启httpd服务
    [root@xuegod130 conf.d]# !sys
    systemctl restart httpd

    4)测试
    修改数据,形成不同
    [root@xuegod130 html]# cat index.html
    welcome to www.xuegod.cn
    [root@xuegod130 html]# echo “welcome to www.xuegod.cn bbs” > bbs/index.html
    [root@xuegod130 html]# cat bbs/index.html
    welcome to www.xuegod.cn bbs
    在这里插入图片描述
    在这里插入图片描述

    2、通过不同域名
    这种访问在企业比较常见,其他两种访问可以了解下即可
    在域名管理后台,修改DNS配置,www.xuegod.com与bbs.xuegod.com解析成相同的IP。
    1)修改配置文件
    <VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/
    ServerName www.xuegod.cn
    ErrorLog logs/www.xuegod.cn-error_log
    CustomLog logs/www.xuegod.cn-access_log common

    <VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/bbs/
    ServerName bbs.xuegod.cn
    ErrorLog logs/bbs.xuegod.cn-error_log
    CustomLog logs/bbs.xuegod.cn-access_log common

    2)重启httpd服务
    [root@xuegod130 conf.d]# !sys
    systemctl restart httpd

    3)测试
    因为我们这里做的是测试环境,所以直接在本地的hosts文件增加域名和IP对应记录
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3、基于端口配置虚拟主机
    1)修改apache的主配置文件,添加监听端口
    42 Listen 80
    43 Listen 8088
    2)修改虚拟主机配置文件
    <VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/
    ServerName www.xuegod.cn
    ErrorLog logs/www.xuegod.cn-error_log
    CustomLog logs/www.xuegod.cn-access_log common

    <VirtualHost *:8088>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/bbs/
    ServerName bbs.xuegod.cn
    ErrorLog logs/bbs.xuegod.cn-error_log
    CustomLog logs/bbs.xuegod.cn-access_log common

    3)重启httpd服务
    [root@xuegod130 conf.d]# !sys
    systemctl restart httpd

    4)测试
    在这里插入图片描述
    在这里插入图片描述
    字符浏览器测试:
    [root@xuegod140 conf.d]# curl www.xuegod.cn
    welcome to www.xuegod.cn
    [root@xuegod140 conf.d]# curl bbs.xuegod.cn
    #这里因为实验环境,模式还是一个网卡,所以还是将网址重定向到www.xuegod.cn,正确情况应该是无法打开网页
    welcome to www.xuegod.cn
    [root@xuegod140 conf.d]# curl bbs.xuegod.cn:8088
    welcome to www.xuegod.cn bbs

    展开全文
  • Apache搭建web网站服务器

    万次阅读 2016-12-21 22:05:10
    •修改web网站根目录-配置别名-虚拟目录 •实现apache打开软链接功能-禁止显示目录列表-用户认证 •apache虚拟主机基于-IP-域名-端口三种搭建方式安装yum -y install httpd 主配置文件介绍:vim /etc/httpd/conf/...

    •apache服务器概述-安装
    •配置web服务器-搭建LAMP环境
    •修改web网站根目录-配置别名-虚拟目录
    •实现apache打开软链接功能-禁止显示目录列表-用户认证
    •apache虚拟主机基于-IP-域名-端口三种搭建方式

    安装

    yum -y install httpd   

    主配置文件介绍:

    vim /etc/httpd/conf/httpd.conf
    
    ServerName 192.168.1.235:80     #服务器主机名
    PidFile run/httpd.pid      #apache      #运行进程 ID 存放
    Timeout 60                        #超时时间,多少 s 没有反应就超时
    KeepAlive Off                     #是否允许一个永久的链接,设置为 OFF 的时候,不 能保持连接功能,传输效率比较低,设置为 ON 时,可以提高服务器传输文件的效率,建议开启
    MaxKeepAliveRequests 100       #设置 KeepAlive 为 ON 时,设置客户端每次连接允许 请求相应最大文件数,默认 100 个
    KeepAliveTimeout 15              #超时时间,同一个客户端下一个请求 15s 没收到就 超时
    Listen 80#监听端口,默认本地 IP,如果指定 ip 写上 IP:80
    <IfModule prefork.c>
    StartServers8                       #服务开始起启动 8 个进程
    MinSpareServers5                  #最小空闲 5 个进程
    MaxSpareServers20                 #最多空闲 20 个进程
    ServerLimit256                      #服务器允许配置进程数上线
    MaxClients256                       #最大连接数 256,超过要进入等候队列 
    MaxRequestsPerChild4000         #每个进程生存期内服务最大的请求数量,0 表示用不 结束
    </IfModule>
    <Directory />
    Options FollowSymLinks            #Options Indexes 目录浏览FollowSymLinks 用连接
    浏览
    AllowOverride None                #设置为 none,忽略.htaccess
    </Directory>
    LoadModule auth_basic_module modules/mod_auth_basic.so      #载入的库,模块
    
    Include conf.d/*.conf               #conf.d 里面的 conf 文件也属有效配置文件
    User apache            #运行以哪个身份运行
    Group apache          #运行以哪个组的身份运行
    ServerAdmin root@localhost       #管理员邮箱
    DocumentRoot "/var/www/html"   #默认的主目录,如果改动要改动两处,Directory
    <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None
    Order allow,deny                   #这里默认后者生效,也就是 deny 生效
    Allow from all                       #这里说允许所有
    </Directory>
    LogLevel warn                         #日志等级
    DirectoryIndex index.html index.html.var  #首页 
    AccessFileName .htaccess              #access 文件名,也可以在这里定义伪静态、防盗链等,不建议在这个文件定义
    AddDefaultCharset UTF-8              #支持的语言,默认编码
    #配置文件的最后是虚拟主机的字段

    yum 的方式搭建 LAMP 环境
    LAMP=Linux(存在)+Apache(HTTPD 已安装)+Mysql+PHP

    yum install httpd  mysql mysql-server php php-mysql –y

    测试数据库:

     service mysqld start
    chkconfig mysqld on
     mysql  
    mysql> show databases;
    mysql>exit;

    测试apache是否支持php

    cd /var/www/html/
     vim index.php 
    <?php 
    phpinfo(); 
    ?>

    LAMP环境,几种不同的安全访问机制的实现:
    一、修改网站目录对应参数及权限:
    修改网站默认根目录,并且设置访问权限,只有在我允许的范围之内可以访问
    修改网站默认根目录
    设置文档目录为/var/www/html/bbs

    vim /etc/httpd/conf/httpd.conf
     DocumentRoot "/var/www/html/bbs"

    允许所有人访问/var/www/html/bbs 目录

    #目录与访问控制:
    <Directory "/var/www/html/bbs">      #子目录会继承这个目录的属性
        Options  FollowSymLinks            #Options:Indexes:目录浏览  
        AllowOverride None                 #Followsymlinks:可以用连接
        Order allow,deny
        Allow from 192.168.18.0/24                     #从哪里来的允许  
    Deny from 192.168.16.0/24                      #从哪里来的拒绝
    Allow from  .baidu.com
    #Allow,Deny都会读取,如果有冲突和未说明的时候按照Order选项逗号后面的那个为准。
    谁写到后面,谁的优先级高。
    </Directory>

    二、使用别名,引用网站根目录以外的路径。
    将/usr/local/phpdata 目录通过虚拟目录功能添加到网站根目录。当访问http://192.168.1.63/ phpdata/ 时,就可以访问目录/usr/local/phpdata中的内容。
    注:apache的别名也叫虚拟目录
    语法:
    Alias URL路径 PATH物理路径

    创建测试数据:

    mkdir /usr/local/phpdata
     echo "This Alias PHPdata" > /usr/local/phpdata/index.html
    #修改配置文件:
    vim /etc/httpd/conf/httpd.conf  # 在Alias下添加以下内容
    
    
    Alias /phpdata/ "/usr/local/phpdata/"
    <Directory "/usr/local/phpdata/">
        Options Indexes FollowSymLinks  
        AllowOverride None 
        Order deny,allow
        Allow from all
    </Directory>
    注:Alias /phpdata/ "/usr/local/phpdata/"     #/phpdata/ 可以随意起。比如改/phpdata/ 为/php/  则访问链接: http://192.168.1.63/php/

    测试:

    service httpd restart
    http://192.168.1.63/phpdata/
    

    三、当一个目录下没有默认首页时,访问http://192.168.1.63/phpdata/禁止显示目录列表

    vim /etc/httpd/conf/httpd.conf  # 修改红色标记内容
    
    328 # The Options directive is both complicated and important.  Please see
     329 # http://httpd.apache.org/docs/2.2/mod/core.html#options
     330 # for more information.
     331 #
     332     Options -Indexes FollowSymLinks        ###去除Indexes或者在前面加一个减号
     333  

    四、通过用户认证的方式,对网站下/usr/local/phpdata/目录进行保护。 设置/usr/local/phpdata/目录,只能通过用户名密码方式访问。

     vim /etc/httpd/conf/httpd.conf   #在需要使用用户验证的目录的相关Directory段落添加以下红色标记内容:
    
    Alias /phpdata/ "/usr/local/ phpdata /"
    <Directory "/usr/local/ phpdata /">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order deny,allow
        Allow from all
    
        authtype basic   # authtype命令:指定认证类型为:basic。
        authname "my web site"  #  AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的。
        authuserfile /etc/httpd/conf/passwd.secret   AuthUserFile命令:指定一个包含用户名和密码的文本文件,每行一对。
        #require user tom 
        #require user tom bob
        require valid-user
        # require命令:指定哪些用户或组才能被授权访问。如:
      #require user user1 user2(只有用户user1和user2可以访问)
     # require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)
    </Directory>

    利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文

     # htpasswd -cm 存放用户名和密码的文件名 用户名
     htpasswd -cm /etc/httpd/conf/passwd.secret tom
    New password: 123456
    Re-type new password: 123456
    Adding password for user tom
    #第一个生成用户名和密码,需要创建文件,因此需要加-c参数
    
     htpasswd -h   #查看参数
    -c  Create a new file.
    -m  Force MD5 encryption of the password.
    
     htpasswd -m /etc/httpd/conf/passwd.secret bob
    New password: 123456
    Re-type new password: 123456
    Adding password for user bob
     cat /etc/httpd/conf/passwd.secret   #查看内容
    tom:$apr1$WJicnaIz$ejqYMmcqukEMsAVEjLcKf.
    bob:$apr1$S8pXfxJh$tletPNMKd33WZXqdkSLFy0
    
    测试:
    
    [root@xuegod63 conf]# service httpd restart
    http://192.168.1.63/phpdata/

    六 、配置apache虚拟主机,实现在一台服务器上运行多个网站
    apache虚拟主机实现有三种方法:
    1、通过不同的IP地址
    2、通过不同的域名
    3、通过不同的端口号

    三种都需要把虚拟主机功能打开:
    vim /etc/httpd/conf/httpd.conf

    改:
    #NameVirtualHost *:80
    为:
    NameVirtualHost *:80
    
    方法1:
    通过不同的IP地址,解析不同域名
    给服务器增加IP(另一个域名解析出来的那个IP)。
    
    ifconfig eth0:1 192.168.0.56 netmask 255.255.255.0
     mkdir  /var/www/html/bbs/
     echo "bbs.xuegod.cn"  > /var/www/html/bbs/index.html
    
    修改httpd.conf
    #vim httpd.conf   在文件的最后,添加以下内容
    <VirtualHost 192.168.0.63:80>
        ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /var/www/html/
        ServerName dummy-host.example.com
        ErrorLog logs/dummy-host.example.com-error_log
        CustomLog logs/dummy-host.example.com-access_log common
    </VirtualHost>
    <VirtualHost 192.168.0.56:80>
        ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /var/www/html/bbs/
        ServerName dummy-host.example.com
        ErrorLog logs/dummy-host.example.com-error_log
        CustomLog logs/dummy-host.example.com-access_log common
    </VirtualHost>
    测试:
    [root@xuegod63 conf]# service httpd restart
    http://192.168.1.56/
    http://192.168.1.63/

    方法二:
    通过不同域名:
    在域名管理后台,修改DNS配置,www.xuegod.com与bbs.xuegod.com解析成相同的IP。

    修改httpd.conf

       vim httpd.conf
    <VirtualHost *:80>
        ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /var/www/html/
        ServerName www.xuegod.com
        ErrorLog logs/www.xuegod.com-error_log
        CustomLog logs/www.xuegod.com-access_log common
    </VirtualHost>
    <VirtualHost *:80>
        ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /var/www/html/bbs/
    ServerName  bbs.xuegod.com
    ErrorLog logs/bbs.xuegod.com-error_log
        CustomLog logs/bbs.xuegod.com-access_log common
    </VirtualHost>
    
     vim /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.1.63   xuegod63.cn
    192.168.1.63   www.xuegod.com
    192.168.1.63   bbs.xuegod.com
    192.168.1.64   xuegod64.cn

    测试:

    service httpd restart
    elinks www.xuegod.com 
     elinks bbs.xuegod.com

    方法3:基于端口配置虚拟主机:

    vim /etc/httpd/conf/httpd.conf   
     改: 
    Listen   80  
    为:
    Listen   80  
    Listen   81  
    #  更改为你要添加的多个端口
    
    再建立两个虚拟主机: 
        vim /etc/httpd/conf/httpd.conf   #  在文件的最后添加
    
    <VirtualHost *:80>
        ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /var/www/html/
        ServerName www.example.com
        ErrorLog logs/www.example.com-error_log
        CustomLog logs/www.example.com-access_log common
    </VirtualHost>
    <VirtualHost *:81>
        ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /var/www/html/bbs/
        ServerName bbs.example.com
        ErrorLog logs/bbs.example.com-error_log
        CustomLog logs/bbs.example.com-access_log common
    </VirtualHost>

    测试:

     service httpd restart
    http://192.168.1.63/
    http://192.168.1.63:81/
    
    展开全文
  • Web网站服务(二)

    千次阅读 2020-10-07 09:20:00
    httpd服务的访问控制 httpd服务的访问控制 作用: *控制对网站资源的访问 *为特定的网站目录添加访问授权 常用访问控制方式: *客户机地址限制 *用户授权限制 用户授权限制 Apache提供了认证(Authentication)与...

    httpd服务的访问控制

    httpd服务的访问控制
    作用:
    *控制对网站资源的访问
    *为特定的网站目录添加访问授权

    常用访问控制方式:
    *客户机地址限制
    *用户授权限制

    用户授权限制
    Apache提供了认证(Authentication)与授权(Authorization)机制,当用户访问使用此机制控制的目录时,会提示用户输入用户名和密码,只有输入正确的用户名和密码的主机才可以访问该资源。

    Apache的认证类型分为两种:基本(Basic)认证和摘要认证(Digest)认证两种。摘要认证比基本认证更加安全,然是并非所有浏览器都支持摘要认证,所以本节只针对基本认证进行介绍。基本认证的方式是:当Web浏览器请求经过认证模式保护的URL时,将会出现一个对话框,要求用户输入用户名和口令。用户输入后,传送给服务器,Web服务器验证它的正确性。如果正确,则返回页面;否则出现401错误。

    1.创建用户认证数据库
    [root@www ~]# cd /usr/local/httpd/
    新建密码数据文件.awspwd,其中包含一个名为webadmin用户信息
    [root@www httpd]# bin/htpasswd -c /usr/local/httpd/conf/.awspwd webadmin
    New password:
    Re-type new password:
    Adding password for user webadmin
    确认用户数据库文件
    [root@www httpd]# cat /usr/local/httpd/conf/.awspwd
    webadmin:2tmD3LVFynBAE
    在已有数据文件中添加新用户szt
    [root@www ~]# htpasswd /usr/local/httpd/conf/.awspwd szt
    2.添加用户授权配置
    [root@www ~]# vi /usr/local/httpd/conf/httpd.conf
    226 <Directory “/usr/local/httpd/htdocs”>
    251 #RequireAll
    252 #Require all granted
    253 # Require not ip 192.168.100.0/24 192.168.0.0/24
    254 #/RequireAll
    255
    256 AuthName “xu yao mi ma”
    257 AuthType Basic
    258 AuthUserFile /usr/local/httpd/conf/.awspwd
    259 Require valid-user
    260
    261 /Directory

    注释:
    受保护的领域名称,该内容在浏览器弹出的认证对话框中显示。
    256 AuthName “xu yao mi ma”
    设置认证的类型(basic基本认证)
    257 AuthType Basic
    用户认证账号文件
    258 AuthUserFile /usr/local/httpd/conf/.awspwd
    要求通过认证才能访问
    varlid-user 合法用户,如果单个用户可直接指定
    259 Require valid-user
    [root@www ~]# systemctl restart httpd
    验证用户访问授权
    1.打开win7客户机使用浏览器访问尝试http://192.168.100.101
    查看是否需要用户名和密码来进行访问
    2. linux-2 客户机 192.168.100.102
    [root@ns2 ~]# curl http://192.168.100.101
    访问失败
    扩展:混合模式设置
    注意:主机访问控制 > 用户访问授权
    设置了两种混合模式时。主机访控中允许的主机可以直接访问网站,不需要用户授权;主机访控禁止的主机在需要用户授权才能访问网站
    练习:
    主机访问控制:允许192.168.100.102访问
    用户授权:要求合法用户访问
    [root@www ~]# vi /usr/local/httpd/conf/httpd.conf
    226 <Directory “/usr/local/httpd/htdocs”>
    RequireAll
    Require all granted
    Require ip 192.168.10.2
    /RequireAll
    AuthName “xu yao mi ma”
    AuthType Basic
    AuthUserFile /usr/local/httpd/conf/.awspwd
    Require valid-user
    [root@www ~]# systemctl restart httpd
    验证:
    1.win7客户机 192.168.100.101
    需要用户授权访问
    2. linux-2 192.168.100.102
    直接可以访问

    构建虚拟web主机
    1.虚拟Web主机
    在同一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机
    2.httpd支持的虚拟主机类型
    基于域名的虚拟主机
    基于IP地址的虚拟主机
    基于端口的虚拟主机

    构建虚拟主机——基于域名
    1.应用示例:
    *构建2个虚拟Web站点:
    www.benet.com,IP地址为 192.168.100.101
    www.accp.com,IP地址为 192.168.100.101
    在浏览器中访问这两个域名时,分别显示不同的内容
    1.为虚拟主机提供域名解析(有dns环境)
    [root@dnssvr ~]# vi /var/named/chroot/etc/named.conf
    zone “benet.com” IN {
    type master;
    file “benet.com.zone”;
    };
    zone “accp.com” IN {
    type master;
    file “accp.com.zone”;
    };
    课本有错误(benet.com后面不能有".")
    cd /var/named
    cp -a named.localhost benet.com.zone
    cp -a named.localhost accp.com.zone
    ls -ld benet.com.zone accp.com.zone

    [root@dnssvr ~]# vi /var/named/chroot/var/named/benet.com.zone
    @ IN SOA benet.com. admin.benet.com. (
    @ IN NS dnssvr.benet.com.
    dnssvr IN A 173.17.17.2
    www IN A 192.168.100.101
    [root@dnssvr ~]# vi /var/named/chroot/var/named/accp.com.zone
    @ IN SOA accp.com. admin.accp.com. (
    @ IN NS dnssvr.benet.com.
    www IN A 192.168.100.101

    为虚拟主机准备网页文档
    [root@www ~]# mkdir -p /var/www/html/benetcom
    [root@www ~]# mkdir -p /var/www/html/accpcom
    [root@www ~]# echo “www.benet.com” >/var/www/html/benetcom/index.html
    [root@www ~]# echo “www.accp.com” > /var/www/html/accpcom/index.html

    添加虚拟主机配置
    配置独立的虚拟主机配置文件,然后在主文件里面加载即可,方便配置内容的维护
    [root@www ~]# vim /usr/local/httpd/conf/extra/vhosts.conf
    <VirtualHost *:80>
    ServerName www.benet.com
    DocumentRoot /var/www/html/benetcom
    ErrorLog logs/www.benet.com.error_log
    CustomLog logs/www.benet.com.access_log common
    <Directory “/var/www/html”>
    Require all granted
    /Directory

    /VirtualHost

    <VirtualHost *:80>
    ServerName www.accp.com
    DocumentRoot /var/www/html/accpcom
    ErrorLog logs/www.accp.com.error_log
    CustomLog logs/www.accp.com.access_log common
    <Directory “/var/www/html”>
    Require all granted
    /Directory
    /VirtualHost

    配置选项:
    1.虚拟主机区域VirtualHost
    2.目录权限Directory
    继承其父目录 的授权许可即可
    主文件里面加载
    [root@www ~]# vim /usr/local/httpd/conf/httpd.conf
    485 # Virtual hosts
    486 #Include conf/extra/httpd-vhosts.conf
    添加此选项–加载独立的配置文件
    487 Include conf/extra/vhosts.conf
    [root@www ~]# /usr/local/httpd/bin/apachectl restart
    4.在客户机分别访问虚拟Web主机
    实验环境中没有配置dns,可以的hosts文件中配置主机ip映射
    4.1 win7 客户机
    c:\windows\system32\drivers\etc\hosts
    4.2 linux主机
    /etc/hosts

    构建虚拟主机——基于IP
    应用示例:
    1,构建2个虚拟Web站点:
    www.benet.com,IP地址为 192.168.100.101
    www.accp.com,IP地址为 192.168.100.102
    [root@www ~]# ifconfig ens33:0 192.168.100.102
    [root@www ~]# vim /usr/local/httpd/conf/extra/vhosts.conf
    <VirtualHost 192.168.100.101:80>
    ServerName www.benet.com
    DocumentRoot /var/www/html/benetcom
    ErrorLog logs/www.benet.com.error_log
    CustomLog logs/www.benet.com.access_log common
    <Directory “/var/www/html”>
    Require all granted
    /Directory
    /VirtualHost

    <VirtualHost 192.168.100.102:80>
    ServerName www.accp.com
    DocumentRoot /var/www/html/accpcom
    ErrorLog logs/www.accp.com.error_log
    CustomLog logs/www.accp.com.access_log common
    <Directory “/var/www/html”>
    Require all granted
    /Directory
    /VirtualHost

    [root@www ~]# systemctl restart httpd
    2.在浏览器中访问这两个IP时,分别显示不同的内容
    http://192.168.100.101
    http://192.168.100.102

    展开全文
  • 使用 Apache 搭建Web网站服务器(一)

    千次阅读 2019-06-03 11:03:04
    web 服务概述 Web 服务器也称为 WWW(World Wide Web,万维网)服务器,主要功能是提供网上信息浏览服务。 LAMP = Linux Apache Mysql PHP 中的 Apache ( HTTPD ). Linux+Apache+Mysql/MariaDB+Perl/PHP/Python ...
  •  看了网上很多关于用linux操作系统搭建网站服务器的教程,于是我自己也测试了很多,但今天所测试的 Ubuntu 12.04下搭建Web网站服务器 (MySQL+PHP+Apache环境),感觉这个适合新手。所以这里就跟大家分享下。其实...
  • 前言: 做网站开发需要web服务器,部署好环境是项目开发的基础。现在主流的web服务器是LINUX+PHP/JSP+APACHE/TOMCAT+MYSQL环境,但有些场合不得不用微软那套系统,做非主流的开发,使用WINDOWS+IIS+ASP/.NET+SQL ...
  • Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别,在进行HTML、PHP、JSP、Perl等开发过程中,需要准确掌握其各自特点,选择最佳的服务器配置。 apache是web服务器(静态解析,如HTML),...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,907
精华内容 20,362
关键字:

web网站服务