理論+実践的な操作:apacheの仮想Webホストの構成

[TOC] @
Apacheの共通の特徴は、Webホスティング

A:仮想Webホスト

  • 実際のコンピュータによって占められ、各サイトの独立していない、同じサーバー上で複数のWebサイトを実行します

    1.1 httpdの仮想ホストの種類(3種類)のサポート

  • ドメイン名の種類に基づいて、
  • IPアドレスベースの仮想ホスト
  • 仮想ホスト・ポートに基づいて、
    次のような
    www.kgc.om
    www.accp.com
    IP同じ、同じポート

異なるIP、同一ポート

同じIP、ポートバリア

ここに画像を挿入説明

2:実験的なドメイン名に基づいて仮想ホストを確立

2.1.1インストールパッケージ

[root@localhost ~]# yum install bind httpd -y
Package 32:bind-9.11.4-9.P2.el7.x86_64 already installed and latest version
Package httpd-2.4.6-90.el7.centos.x86_64 already installed and latest version
Nothing to do

2.1.2ファイアウォールサービスの強化をオフにします

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

2.1.3設定のDNS

DNS設定グローバルコンフィギュレーションファイルの/etc/named.conf

[root@localhost ~]# vim /etc/named.conf 
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

DNSゾーンの設定ファイル/etc/named.rfc1912.zonesの設定

[root@localhost ~]# vim /etc/named.rfc1912.zones 
zone "kgc.com" IN {
        type master;
        file "kgc.com.zone";
        allow-update { none; };
};

zone "accp.com" IN {
        type master;
        file "accp.com.zone";
        allow-update { none; };
};      

DNSは、ゾーンデータファイルを変更します

[root@localhost ~]# cd /var/named/
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]# cp -p named.localhost kgc.com.zone
[root@localhost named]# vim kgc.com.zone 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www     IN      A       192.168.247.150
~                                                   
[root@localhost named]# cp -p kgc.com.zone accp.com.zone

変更、DNSサービスを開始

[root@localhost named]# systemctl start named

クライアントは、サービスを有効にするかどうかをテストするには、DNSを構成し

ここに画像を挿入説明

nslookupを正常に解決

ここに画像を挿入説明

2.1.4で/簡略化のために意味など/のhttpd / confに/エクストラ/、仮想ホストの設定ファイル、場所を作成し、ファイル名がセットvhost.confです

[root@localhost httpd]# ls
conf  conf.d  conf.modules.d  logs  modules  run
[root@localhost httpd]# ls -l
total 0
drwxr-xr-x. 2 root root  37 Dec 12 14:45 conf
drwxr-xr-x. 2 root root  82 Dec 12 14:45 conf.d
drwxr-xr-x. 2 root root 146 Dec 12 14:45 conf.modules.d
lrwxrwxrwx. 1 root root  19 Dec 12 14:45 logs -> ../../var/log/httpd
lrwxrwxrwx. 1 root root  29 Dec 12 14:45 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. 1 root root  10 Dec 12 14:45 run -> /run/httpd
[root@localhost httpd]# 
[root@localhost httpd]# cd conf
[root@localhost conf]# ls
httpd.conf  magic
[root@localhost conf]# mkdir extra
[root@localhost conf]# cd extra/
[root@localhost extra]# ls
[root@localhost extra]# 

/etc/httpd/conf/extra/vhost.confファイル

  • 80以上のポートを持つすべてのIPアドレスを参照するには、アクセス可能な
    DocumentRootの「Webサイトのディレクトリである」
    サーバー名「サイトのサービスのドメイン名が」
    エラーログ「は、エラー・ログのパスを指定する」
    のCustomLogは、「アクセス・ログのパスを指定し、」共通の拡張可能なツールを追った
    詳細な設定を指定しますディレクトリ名は、Webサイトのディレクトリの親ディレクトリで見つけることができる
    すべてのユーザーが//背後にあるすべてのホストにアクセスできますので、より多くの構成プロパティを拡大します
    
    [root@localhost extra]# vim vhost.conf
    1 <VirtualHost *:80>
    2   DocumentRoot "/var/www/html/kgc"
    3   ServerName www.kgc.com
    4   Errorlog "logs/www.kgc.com.error_log"
    5   Customlog "logs/www.kgc.comaccess_log" common
    6   <Directory "/var/www/html">
    7    Require all granted
    8   </Directory>
    9 </VirtualHost>
    10 
    11 <VirtualHost *:80>
    12   DocumentRoot "/var/www/html/accp"
    13   ServerName www.accp.com
    14   Errorlog "logs/www.accp.com.error_log"
    15   Customlog "logs/www.accp.comaccess_log" common
    16   <Directory "/var/www/html">
    17    Require all granted
    18   </Directory>
    19 </VirtualHost>
### 2.1.5 创建两个web站点的首页,首页文件index.html在/var/www/html下面的站点目录中
```bash
[root@localhost extra]# cd /var/
[root@localhost var]# ls
account  cache  db     games   kerberos  local  log   named  opt       run    target  www
adm      crash  empty  gopher  lib       lock   mail  nis    preserve  spool  tmp     yp
[root@localhost var]# cd www
[root@localhost www]# ls
cgi-bin  html
[root@localhost www]# cd html
[root@localhost html]# ls
[root@localhost html]# mkdir kgc accp
[root@localhost html]# ls
accp  kgc
[root@localhost html]# echo "this is accp web" > accp/index.html
[root@localhost html]# echo "this is kgc web" > kgc/index.html
[root@localhost html]# tree accp kgc
accp
└── index.html
kgc
└── index.html

0 directories, 2 files
[root@localhost html]# 

あなたが識別するために開始することができ、余分なマスター設定ファイルに追加した経路への必要性、:上の2.1.7焦点

[root@localhost html]# vim /etc/httpd/conf/httpd.conf 
354 Include conf/extra/vhost.conf

2.1.8サービスポートを表示するサービスを開きます

[root@localhost html]# systemctl start httpd
[root@localhost html]# netstat -natp | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      79262/httpd         

クライアントを検証2.1.9

ここに画像を挿入説明
ここに画像を挿入説明

3:ウェブの構築は、実験ポートに基づい----ホスティング

より実験的、ポートは感覚バーチャルホストの設定をしません

3.1.1カバーされていない、サイトを区別するために、あなたは区別するために、サイトのファイル名を変更する必要があり、仮想Webホストのプロファイルを変更、パラメータに8080ポートを増やします

[root@localhost html]# vim /etc/httpd/conf/extra/vhost.conf 
//复制修改增加
 11 <VirtualHost *:8080>
 12   DocumentRoot "/var/www/html/kgc02"
 13   ServerName www.kgc02.com
 14   Errorlog "logs/www.kgc02.com.error_log"
 15   Customlog "logs/www.kgc02.comaccess_log" common
 16   <Directory "/var/www/html">
 17    Require all granted
 18   </Directory>
 19 </VirtualHost>
[root@localhost html]# ls
accp  kgc
[root@localhost html]# cp -p kgc kgc02
cp: omitting directory ‘kgc’
[root@localhost html]# mkdir kgc02
[root@localhost html]# echo "this is web kgc02" >kgc02/index.html
[root@localhost html]# 

3.1.2は、メインの設定ファイルにアドレスの変更を聞き、あなたもリスンアドレスを増加させ、ポートを追加するの/ etc / httpdの/ confに/のhttpd / confの中で

[root@localhost html]# vim /etc/httpd/conf/httpd.conf
 41 Listen 192.168.247.150:80
 42 Listen 192.168.247.150:8080
 43 #Listen 80

3.1.3は、サービスを再起動し、インタフェースが開いていることを確認します

[root@localhost html]# systemctl restart httpd
[root@localhost html]# netstat -napt | grep httpd
tcp        0      0 192.168.247.150:8080    0.0.0.0:*               LISTEN      91814/httpd         
tcp        0      0 192.168.247.150:80      0.0.0.0:*               LISTEN      91814/httpd   

3.1.4チェック検証、同じIPアドレス、ポートが同じではありません

ここに画像を挿入説明

4:ビルドIPベースのバーチャルホスト----異なる実験

仮想Webホストの複数の異なるIPアドレスは、カードの数を増やす必要が作成し、カードの追加4.1.1

[root@localhost html]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.247.150  netmask 255.255.255.0  broadcast 192.168.247.255

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.247.158  netmask 255.255.255.0  broadcast 192.168.247.255

ことを確認したネットワークネットワーキング

ここに画像を挿入説明

4.1.2仮想Webホストのプロファイルを変更

注:別のIP、IPアドレスの/ etc / httpdの/ confに/エクストラ/ vhost.confファイルを使用して仮想Webホストサーバは固定IPアドレスにコンクリートを必要とする場合は、ワイルドカード*は、混乱を避けることができません
[root@localhost html]# vim /etc/httpd/conf/extra/vhost.conf 
<VirtualHost 192.168.247.158:80>
  DocumentRoot "/var/www/html/accpaccp"
  ServerName www.accpaccp.com
  Errorlog "logs/www.accpaccp.com.error_log"
  Customlog "logs/www.accpaccp.comaccess_log" common
  <Directory "/var/www/html">
   Require all granted
  </Directory>
</VirtualHost>

4.1.3新しい仮想Webサイトのディレクトリを作成します。

[root@localhost html]# ls
accp  accp02  kgc  kgc02
[root@localhost html]# mkdir accpaccp
[root@localhost html]# echo "this is 192.168.247.158" > accpaccp/index.html

4.1.4リスンアドレスを増やし、メインの設定ファイルを変更します

[root@localhost html]# vim /etc/httpd/conf/httpd.conf 
Listen 192.168.247.158:80

サービスhttpdの再起動4.1.5

[root@localhost html]# systemctl restart httpd
[root@localhost html]# netstat -natp | grep httpd
tcp        0      0 192.168.247.150:8080    0.0.0.0:*               LISTEN      123662/httpd        
tcp        0      0 192.168.247.158:80      0.0.0.0:*               LISTEN      123662/httpd        
tcp        0      0 192.168.247.150:80      0.0.0.0:*               LISTEN      123662/httpd   

4.1.6クライアント認証

#####何も設定のDNS解決がないので、あなたは、ドメイン名解決のIPアドレスを増やし、サイトを入力してIPアドレスを入力する必要があります
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明

4.1.7変更の設定ファイルのDNS

/etc/named.rfc1912.zonesファイル
[root@localhost html]# vim /etc/named.rfc1912.zones
zone "accpaccp.com" IN {
        type master;
        file "accpaccp.com.zone";
        allow-update { none; };
};
/ var / named /ディレクトリ、データファイルに対応する領域を作成します
[root@localhost html]# cd /var/named
[root@localhost named]# ls
accp.com.zone  data  dynamic  kgc.com.zone  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]# cp -p accp.com.zone accpaccp.com.zone
[root@localhost named]# vim accpaccp.com.zone 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www     IN      A       192.168.247.158

4.1.8は、DNSサービスを再起動します

[root@localhost named]# systemctl restart named

ここに画像を挿入説明

ファイブ:サイト内のハイパーリンクを作成します。

5.1の変更ホーム

[root@localhost named]# vim /var/www/html/accpaccp/index.html 
<html>
<head>
 <title>hello world</title>
</head>
<body>
   <h1><a href="http://www.accp.com/index.html">hello world</a></h1>
</body>
</html>

5.2クライアントのテストは、もちろん、HTTPDサービスを再起動する必要があります

[root@localhost named]# systemctl restart httpd

ここに画像を挿入説明
ここに画像を挿入説明

おすすめ

転載: blog.51cto.com/14558445/2458217