Thaiadmin

ตอนที่ 1.3 DNS กับ Virtaul Host ต้องค่าอย่างไรให้สำพันธ์กันครับ

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ NokTualek

  • *****
  • 2,522
  • 3
  • เพศ: ชาย
ต้องการทำเว็บอินทราเน็ตใช้งานภายในโดยเรียกใช้ เป็นชื่อแทนไอพี
- มี 2 เว็บบน host เดียวกัน เช่น
 a it1.xxx
 b it2.xxx
โดยที่ทั้ง 2 เว็บอยู่บนเครื่องเดียวกัน

/var/named/chroot/var/named/xxx.zone
อ้างถึง
$TTL    86400
@       IN    SOA     mynar1.xxx. root.xxx. (
                                  2010060601   ; serial (d. adams)
                                  3H            ; refresh
                                  15M           ; retry
                                  1W            ; expiry
                                  1D )          ; minimum

@      IN    NS      mynar1.xxx.
        IN    MX 10    mail.xxx.
mynar1   IN     A       192.168.0.15
[bgcolor=#00ff1d]it1      IN  CNAME    mynar1.xxx
it2      IN  CNAME    mynar1.xxx[/bgcolor]



/etc/httpd/conf/httpd.conf
อ้างถึง
<VirtualHost *:80>
    ServerAdmin         it1xxxt@gmail.com
    DocumentRoot        /var/www/html/it1/web1
    ServerName          it1.xxx
    ErrorLog            logs/dummy-it1.xxx-error_log
    CustomLog           logs/dummy-it1.xxx.com-access_log common
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin         it2xxxt@gmail.com
    DocumentRoot        /var/www/html/it2/web2
    ServerName          it2.xxx
    ErrorLog            logs/dummy-it2.xxx-error_log
    CustomLog           logs/dummy-it2xxx-access_log common
</VirtualHost>

ไม่ทราบว่ารูปบบนี้ถูกหรือเปล่าครับ
ขอบคุณครับ

เมื่อ:  7 มิถุนายน 2010, 17:25:22
เพิ่มเติม
# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: [Mon Jun 07 17:27:36 2010] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
                                                           [  OK  ]

แบบนี้ถือว่าผิดปกติป่าวครับ

ตอนที่ 1.1
http://www.thaiadmin.org/board/index.php?topic=125750.0
ตอนที่ 1.2
http://www.thaiadmin.org/board/index.php?topic=125810.0
ตอนที่ 1.3
http://www.thaiadmin.org/board/index.php?topic=125870.0
ตอนที่ 1.4
http://www.thaiadmin.org/board/index.php?topic=126803.0
« แก้ไขครั้งสุดท้าย: 25 มิถุนายน 2010, 14:23:59 โดย NokTualek »
ไม่มีเป้าหมาย บางทีเราก็ไม่เริ่มต้น ^_^
"ชีวิตดีขึ้นได้ ด้วย วิธีคิดและวิธีพูดที่ดี"
Copy สมัครฟรี ได้พื้นที่ 15 GB ทำงานเหมือน Dropbox
https://copy.com?r=86hR4G

ออฟไลน์ daddydog

  • ****
  • 225
  • 7
  • เพศ: ชาย
  • My Dream is Master Karate
ลองเปลี่ยน httpd.conf เป็นแบบด้านล่างดูครับ

การทำ Virtual Host แบบอ้างอิงด้วยชื่อ (Name-based Virtual Hosts) เป็นการอ้างอิงตาม Client ที่เรียกเข้ามา เพื่อบอกให้โฮสต์รู้ว่า Client ต้องการเรียกดูเอกสารจาก Virtual Host ตัวไหน ด้วยเทคนิคนี้ ท่านสามารถมีหลาย ๆ Host โดยใช้ IP ร่วมกันเพียง IP เดียวครับ

การทำ Virtual Host แบบอ้างอิงด้วยชื่อ (Name-based Virtual Hosts) เริ่มด้วยการตั้งค่าที่ตัว DNS server เพื่อแมพ ชื่อโฮส กับ หมายเลข IP จากนั้นตั้งค่าที่ Apache ทำ Virtual Host แบบอ้างอิงด้วยชื่อ การทำ Virtual Host ค่อนข้างจะง่าย คือไม่ต้องซื้อการ์ดแลนด์เพื่อม เหมือนการทำ การทำ Virtual Host แบบอ้างอิงด้วย IP Address แต่ก็มีข้อจำกัดอยู่สักเล็กน้อยคือ

    * Web Browser รุ่นเก่าไม่สามารถทำงานได้อย่างถูกต้อง
    * ไม่สามารถใช้เทคโนโลยี SSL (Secure Socket Layer Protocol) ได้
    * มีปัญหากับบางระบบปฏิบัติการและ อุปกรณ์เน็ตเวิร์คที่ใช้เทคนิค Bandwidth Management

การตั้งค่าใน Apache

สมมุติว่าผมต้องการตั้งค่า 2 Virtual Hosts คือ www.myweb1.com และ www.myweb2.com

1. เปิด ไฟล์ httpd.conf เพื่อทำการแก้ไข ส่วนใหญ่จะอยู่ที่ /etc/httpd/conf/httpd.conf
2. เพิ่มค่า config ดังต่อไปนี้
อ้างถึง
NameVirtualHost *

<VirtualHost *>
ServerName www.myweb1.com
DocumentRoot /www/myweb1.com
</VirtualHost>

<VirtualHost *>
ServerName www.myweb2.com
DocumentRoot /www/myweb2.com
</VirtualHost>

ออฟไลน์ NokTualek

  • *****
  • 2,522
  • 3
  • เพศ: ชาย
ตอนนี้ผมเข้า ได้แล้ว
it1.xxx


แต่ยังไม่ได้
it2.xxx


ไม่ทราบว่าต้องทดสอบยังไงบ้างครับ
เมื่อ:  7 มิถุนายน 2010, 23:17:22
ขอเสริมอีกนิดนะครับ

เว็บ intranet ที่ทำ ไม่ได้จดทะเบียน .com หรือ .net นะครับ

เรียกผ่านชื่อเลย เช่น
it1.test
it2.test


ขอบคุณครับ
ไม่มีเป้าหมาย บางทีเราก็ไม่เริ่มต้น ^_^
"ชีวิตดีขึ้นได้ ด้วย วิธีคิดและวิธีพูดที่ดี"
Copy สมัครฟรี ได้พื้นที่ 15 GB ทำงานเหมือน Dropbox
https://copy.com?r=86hR4G

ออฟไลน์ daddydog

  • ****
  • 225
  • 7
  • เพศ: ชาย
  • My Dream is Master Karate
nslookup it2.test

แล้วเห็นเป็นไอพีเดียวกับ it1.test ไหมครับ

ออฟไลน์ NokTualek

  • *****
  • 2,522
  • 3
  • เพศ: ชาย
C:\>nslookup it1.test
Server:  mynar1.test
Address:  192.168.0.15
Name:    it1.test
Address:  192.168.0.15


C:\>nslookup it2.test
Server:  mynar1.test
Address:  192.168.0.15
Name:    it2.test
Address:  192.168.0.15

คือผมลองเข้า
it2.test
มันจะวิ่งเข้า it1.test ซะงั้นเลยครับ

เหมือนๆ กับกระทู้นี้เลย แต่ของเขาแก้ไขเป็น port แทน
Virtual Web Server 1 ip รัน 2 web
http://www.thaiadmin.org/board/index.php?topic=124924.0


ผมควรแก้ไขอย่างไรดีครับ

ขอบคูณครับ


เมื่อ:  8 มิถุนายน 2010, 00:43:24
ตอนนี้ผมแก้ไขโดย

Listen 80
Listen 192.168.0.15:81

<VirtualHost it1.xxx:80>
    ServerAdmin      it1xxx@gmail.com
    DocumentRoot  /var/www/html/it1/web1
    ServerName      it1.xxx
    ErrorLog            logs/dummy-it1.xxx-error_log
    CustomLog       logs/dummy-it1.xxx-access_log common
</VirtualHost>
<VirtualHost it2.xxx:81>
    ServerAdmin     it2xxx@gmail.com
    DocumentRoot  /var/www/html/it2/web1
    ServerName      it2.xxx
    ErrorLog            logs/dummy-it2.xxx-error_log
    CustomLog       logs/dummy-it2.xxx-access_log common
</VirtualHost>


จึงเรียกเว็บได้ทั้ง 2 เว็บ

/var/www/html/it1/web1
-it1.xxx
-it2.xxx

/var/www/html/it2/web1
-it1.xxx:81
-it2.xxx:81

มันผิดจุดประสงไปมากเลย ตั้งใจจริงคือ
/var/www/html/it1/web1
-it1.xxx

/var/www/html/it2/web1
-it2.xxx


เว็บเว็บ hosting เขาทำกันอย่างไรครับเห็นมีกันแค่ ip เดียวแต่มีหลายเว็บได้


ขอบคุณครับ
ไม่มีเป้าหมาย บางทีเราก็ไม่เริ่มต้น ^_^
"ชีวิตดีขึ้นได้ ด้วย วิธีคิดและวิธีพูดที่ดี"
Copy สมัครฟรี ได้พื้นที่ 15 GB ทำงานเหมือน Dropbox
https://copy.com?r=86hR4G

ออฟไลน์ leakung

  • *****
  • 160
  • 6
  • เพศ: ชาย
ลองแก้เป็น

Listen 192.168.0.15:80
ServerName it1.xxx:80
NameVirtualHost 192.168.0.15:80

<VirtualHost 192.168.0.15:80>
    ServerAdmin      it1xxx@gmail.com
    DocumentRoot  /var/www/html/it1/web1
    ServerName      it1.xxx
    ErrorLog            logs/dummy-it1.xxx-error_log
    CustomLog       logs/dummy-it1.xxx-access_log common
</VirtualHost>
<VirtualHost 192.168.0.15:80>
    ServerAdmin     it2xxx@gmail.com
    DocumentRoot  /var/www/html/it2/web1
    ServerName      it2.xxx
    ErrorLog            logs/dummy-it2.xxx-error_log
    CustomLog       logs/dummy-it2.xxx-access_log common
</VirtualHost>

แล้ว restart apache ดูครับ
ถ้ามี error หรือ warning post มาให้ดูด้วยนะครับ
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

ออฟไลน์ NokTualek

  • *****
  • 2,522
  • 3
  • เพศ: ชาย
ลองแก้เป็น

Listen 192.168.0.15:80
ServerName it1.xxx:80
NameVirtualHost 192.168.0.15:80

<VirtualHost 192.168.0.15:80>
    ServerAdmin      it1xxx@gmail.com
    DocumentRoot  /var/www/html/it1/web1
    ServerName      it1.xxx
    ErrorLog            logs/dummy-it1.xxx-error_log
    CustomLog       logs/dummy-it1.xxx-access_log common
</VirtualHost>
<VirtualHost 192.168.0.15:80>
    ServerAdmin     it2xxx@gmail.com
    DocumentRoot  /var/www/html/it2/web1
    ServerName      it2.xxx
    ErrorLog            logs/dummy-it2.xxx-error_log
    CustomLog       logs/dummy-it2.xxx-access_log common
</VirtualHost>

แล้ว restart apache ดูครับ
ถ้ามี error หรือ warning post มาให้ดูด้วยนะครับ

พอ restart ได้ผลดังนี้ครับ
# service httpd restart
Stopping httpd:                                            [FAILED]
Starting httpd: Syntax error on line 991 of /etc/httpd/conf/httpd.conf:
Invalid command 'ServerNamed', perhaps misspelled or defined by a module not included in the server configuration
                                                           [FAILED]

990 #</VirtualHost>
991 ServerNamed it1.xxx:80
992 <VirtualHost 192.168.0.15:80>

ขอบคุณครับ

ไม่มีเป้าหมาย บางทีเราก็ไม่เริ่มต้น ^_^
"ชีวิตดีขึ้นได้ ด้วย วิธีคิดและวิธีพูดที่ดี"
Copy สมัครฟรี ได้พื้นที่ 15 GB ทำงานเหมือน Dropbox
https://copy.com?r=86hR4G

ออฟไลน์ NokTualek

  • *****
  • 2,522
  • 3
  • เพศ: ชาย
หากเอาบรรทัด 911 ออก


[root@mynar1 ~]# service httpd restart
Stopping httpd:                                            [FAILED]
Starting httpd: [Tue Jun 08 15:21:41 2010] [warn] VirtualHost 192.168.0.15:80 overlaps with VirtualHost 192.168.0.15:80, the first has precedence, perhaps you need a NameVirtualHost directive
                                                           [  OK  ]

มันระบุ port ซ้ำกันไม่ได้
you need a NameVirtualHost directive  มันคืออะไรเหรอครับ

ขอบคุณครับ
ไม่มีเป้าหมาย บางทีเราก็ไม่เริ่มต้น ^_^
"ชีวิตดีขึ้นได้ ด้วย วิธีคิดและวิธีพูดที่ดี"
Copy สมัครฟรี ได้พื้นที่ 15 GB ทำงานเหมือน Dropbox
https://copy.com?r=86hR4G

ออฟไลน์ leakung

  • *****
  • 160
  • 6
  • เพศ: ชาย
990 #</VirtualHost>
991 ServerNamed it1.xxx:80
992 <VirtualHost 192.168.0.15:80>

ServerName นะครับ ไม่ใช่ ServerNamed
สงสัยจะทำ dns มากไป ติด named เลย

แล้วก็เพิ่ม
NameVirtualHost 192.168.0.15:80
ด้วยนะครับ
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

ออฟไลน์ NokTualek

  • *****
  • 2,522
  • 3
  • เพศ: ชาย
อ้างถึง
ServerName นะครับ ไม่ใช่ ServerNamed
สงสัยจะทำ dns มากไป ติด named เลย
แล้วก็เพิ่ม
NameVirtualHost 192.168.0.15:80
ด้วยนะครับ
[/quote]

Wow !! ทำได้แล้วครับ


Listen 192.168.0.15:81

ServerName it.xxx:80  <-------- เพิ่มตัวนี้เข้าไป
NameVirtualHost 192.168.15:80 <-------- เพิ่มตัวนี้เข้าไป
<VirtualHost 192.168.0.15:80>
    ServerAdmin         it1xxx@gmail.com
    DocumentRoot        /var/www/html/it/web1
    ServerName          it1.xxx
    ErrorLog            logs/dummy-it1.xxx-error_log
    CustomLog           logs/dummy-it1.xxx-access_log common
        <Directory /var/www/html/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

<VirtualHost 192.168.0.15:80>
    ServerAdmin         it2xxx@gmail.com
    DocumentRoot        /var/www/html/it2/web1
    ServerName          it2.xxx
    ErrorLog            logs/dummy-it2.xxx-error_log
    CustomLog           logs/dummy-it2.xxx-access_log common
        <Directory /var/www/html/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>


ไปเห็นตัวอย่างบางคนเขาใส่
<Directory /var/www/html/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>


จริงๆ แล้วจำเป็นป่าวครับ
ไม่มีเป้าหมาย บางทีเราก็ไม่เริ่มต้น ^_^
"ชีวิตดีขึ้นได้ ด้วย วิธีคิดและวิธีพูดที่ดี"
Copy สมัครฟรี ได้พื้นที่ 15 GB ทำงานเหมือน Dropbox
https://copy.com?r=86hR4G

ออฟไลน์ leakung

  • *****
  • 160
  • 6
  • เพศ: ชาย
<Directory /var/www/html/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

ปรกติ จะจำเป็นต้องใช้ ใน freebsd ถ้าใช้ dir นอก /usr/local/www

เอาง่ายๆว่า ถ้ามันใช้ และ ไม่ได้กำหนดสิทธิ์อะไรเพิ่ม ก็ไม่จำเป็นครับ
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

ออฟไลน์ daddydog

  • ****
  • 225
  • 7
  • เพศ: ชาย
  • My Dream is Master Karate
อ้างถึง
990 #</VirtualHost>
991 ServerNamed it1.xxx:80
992 <VirtualHost 192.168.0.15:80>

ServerName นะครับ ไม่ใช่ ServerNamed
สงสัยจะทำ dns มากไป ติด named เลย

แล้วก็เพิ่ม
NameVirtualHost 192.168.0.15:80
ด้วยนะครับ

ตาดีจริงๆ ผมคงแก่แล้วมองไม่เห็นอ่ะ

ออฟไลน์ NokTualek

  • *****
  • 2,522
  • 3
  • เพศ: ชาย
ตาดีจริงๆ ผมคงแก่แล้วมองไม่เห็นอ่ะ

ใช่ครับ  หุหุ ท่านdaddydog ยังไม่เท่าไรครับ ผมจิ พิมพ์ตามเขายังพลาดเลย
ไม่มีเป้าหมาย บางทีเราก็ไม่เริ่มต้น ^_^
"ชีวิตดีขึ้นได้ ด้วย วิธีคิดและวิธีพูดที่ดี"
Copy สมัครฟรี ได้พื้นที่ 15 GB ทำงานเหมือน Dropbox
https://copy.com?r=86hR4G