ผู้เขียน หัวข้อ: การ Set IP , DNS , และการทำ Virtual Host Apache [Linux CentOS]  (อ่าน 2644 ครั้ง)

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

ออฟไลน์ Admin

  • Administrator
  • *****
  • กระทู้: 1415
  • Level:
    0%
  • Thank : 61
  • เพศ: ชาย
    • ดูรายละเอียด
    • สะกิดข่าว
การ Set IP , DNS , และการทำ Virtual Host Apache [Linux CentOS]
« เมื่อ: กันยายน 18, 2013, 05:15:12 pm »
                       ตามใบงานอาจารย์วิษณุ
 
อย่าลืม Login ด้วย Root ทุกครั้ง

ขั้นแรก เข้าไป Set IP ที่

System > Preferences > Network Connections

เลือก Now ที่มีล่าสุด

Address = 192.168.174.1
Netmask = 255.255.255.0
Gateway = 192.168.174.254

Dns servers = 192.168.174.1 จะเหมือนกับ Address
เสร็จแล้วกด Apply

ต่อไปเข้า Terminal
Applications > System Tools > Terminal

จะได้หน้าต่าง console command มา
ขั้นแรก gedit /etc/named.conf

สิ่งที่ต้องแก้ไข

options {
   listen-on port 53 { 127.0.0.1; 192.168.174.1; };
   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";
   allow-query     { localhost; 192.168.174.0/24; };
   recursion yes;


IP = บรรทัดแรก คือ IP ตามเครื่องเรา ที่เรา Set ไว้ตอนแรก
IP = บรรทัดรองสุดท้ายคือ ใส่ IP เครื่องเรา แต่ . สุดท้ายไม่ได้ต้อง แล้ว /24 คืออะไร กลับไปอ่านบทที่1-4 เรียนมาแล้ว
และอีกอย่างที่ต้องแก้ไขคือ เพิ่ม zone


zone "." IN {
   type hint;
   file "named.ca";
};

โดยเราจะเพิ่ม zone หลังจาก zone นี้

zone "lablinux.com" {
   type master;
   file "lablinux.com.zone";
};

zone "174.168.192.in-addr.arpa" {
   type master;
   file "192.168.174.zone";
};

zone test.com นั้นคือ ชื่อเว็บ หากโจทย์ตั้งให้คุณเป็นชื่อเว็บ xxx.com คุณก็ต้องเปลี่ยน

zone นี้เป็นการกำหนด IP เพื่อให้เข้าได้ทั้ง IP และ ชื่อเว็บ โดยเราจะใส่ IP กลับจากหลังไปหน้าเช่น

IP ของคุณคือ 192.168.174.1

คุณต้องใส่ 174.168.192 โดยเราจะตัด . สุดท้ายออกนั้นก็คือ .1 และ ตามด้วย .in-addr.arpa ซึ่งคือมาตราฐาน

แก้ไขไฟล์ gedit /etc/resolv.conf

โค๊ด: [Select]
# Generated by NetworkManager
search lablinux.com
nameserver 192.168.174.1

แก้ไขชื่อเว็บ แก้ไข IP

ต่อไปเข้า terminal

cd /var/named

แล้วใช้คำสั่ง ls ดูไฟล์ ว่ามีไฟล์เก่าหรือเปล่า หากมี ให้ทำการ copy มาเป็นอีกไฟล์เลย
เช่น คุณมีไฟล์ example.com.zone กับ 192.168.1.zone อยู่

cp example.com.zone lablinux.com.zone
cp 192.168.1.zone 192.168.174.zone

นี่คือ file lablinux.com.zone

โค๊ด: [Select]
$TTL 86400
@ IN SOA lablinux.com root.lablinux.com. (
2013091801 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ) ;Minimum
@ IN NS ns1.lablinux.com.
ns1 IN A 192.168.174.1
www IN A 192.168.174.1
mail IN A 192.168.174.1
data         IN A 192.168.174.200
client02 IN A 192.168.174.201

ซึ่งเราต้องดูโจทย์ว่าให้อะไรเรามา ตามใบงานที่ 5
โค๊ด: [Select]
www.lablinux.com     =ip 192.168.174.1
mail.lablinux.com       =ip 192.168.174.1
data.lablinux.com      =ip 192.168.174.200
client01.lablinux.com =ip 192.168.174.201

สิ่งที่ต้องแก้ หากเปลี่ยนชื่อเว็บเป็น test.com ก็แก้ตรง lablinux.com
อย่าลืมแก้ ip ตามที่โจทย์ให้มา

นี่คือ file 192.168.174.zone

โค๊ด: [Select]
$TTL 86400
@ IN SOA lablinux.com root.lablinux.com. (
2013091801 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ) ;Minimum
IN NS ns1.lablinux.com.
1 PTR ns1.lablinux.com.
1 PTR mail.lablinux.com.
1 PTR www.lablinux.com.
200 PTR data.lablinux.com.
201 PTR client01.test.com.

สิ่งที่ต้องแก้ไฟล์นี้ก็เหมือน file ด้านบน ไม่มีอะไรมาก เสร็จแล้วอย่าลืม save
ปีเตอร์ เช็ค เคยกล่าวไว้ว่า การเซฟที่ถูกวิธีคือการ คลิกขวา Save..As.. ยังจะเล่นมุก !!!

เมื่อเสร็จแล้ว เข้า terminal สั่ง restart named และ network

คำสั่ง
service named restart
service network restart

ถ้า OK หมดละก็ ใช้คำสั่ง nslookup


โค๊ด: [Select]
[root@www ~]# nslookup
> www.lablinux.com
Server: 192.168.174.1
Address: 192.168.174.1#53

Name: www.lablinux.com
Address: 192.168.174.1
>

นี่คือตัวอย่างต้องได้แบบนี้ ถ้าไม่ได้แบบนี้ อย่าเพิ่งไปทำต่อ กลับไปดู 4 file ที่แก้ไขมา คือ

named.conf / resolv.conf / test.com.zone / 192.168.9.zone

ต้องมีไฟล์ไหนผิด !!!
เมื่อได้แล้ว เราจะมาทำ Virtual Host  (หลายชื่อบน IP เดียว)

gedit /etc/httpd/conf/httpd.conf

โดยหาบรรทัดที่ชื่อ NameVirtualHost 192.168.2.111:80
ให้เปลี่ยนเป็น IP เครื่องเรา

<VirtualHost 192.168.174.1:80>
ServerAdmin webmaster@lablinux.com
DocumentRoot /var/www/html/
ServerName lablinux.com
ErrorLog logs/www.lablinux.com-error_log
CustomLog logs/www.lablinux.com-access_log common
</VirtualHost>

- เปลี่ยน IP เรา
- เปลี่ยน email ชื่อเว็บตามโจทย์
- Path ที่เก็บ File index.html หรือ file default
- เปลี่ยนชื่อเว็บตามโจทย์
- เปลี่ยนชื่อเว็บตามโจทย์ ตรงนี้จะเก็บ error log ไว้

<VirtualHost 192.168.174.1:80>
ServerAdmin webmaster@lablinux.com
DocumentRoot /var/www/html/mail
ServerName mail.lablinux.com
ErrorLog logs/mail.lablinux.com-error_log
CustomLog logs/mail.lablinux.com-access_log common
</VirtualHost>

- เปลี่ยน IP เรา
- เปลี่ยน email ชื่อเว็บตามโจทย์
- เพิ่ม Path คือ /mail ที่เก็บ File index.html
- เปลี่ยนชื่อเว็บตามโจทย์ เพิ่ม . หน้าเว็บไซต์มา เช่น data.lablinux.com
- เปลี่ยนชื่อเว็บตามโจทย์ ตรงนี้จะเก็บ error log ไว้  เหมือนกัน !!

ต่อไปใช้คำสั่ง cd /var/www/html
แล้ว ls ดูว่ามี folder ไหนแล้วบ้าง ให้เราสร้าง folder ชื่อ data mail client01 ตามใบงาน
คำสั่งสร้าง folder = mkdir ตามด้วยชื่อ folder เช่น

mkdir data
mkdir client01

เมื่อสร้าง folder เสร็จ เราต้องสร้าง file index.html ไว้เพื่อให้รู้ว่าเราเข้าไปที่ไหน
วิธีสร้างไฟล์เราต้องเข้าไปอยู่ใน folder นั้นก่อน

cd mail
echo "Welcome to my mail" >index.html

cd ../client01
echo "Welcome to my client01" >index.html

เมื่อเราสร้าง index.html ครบทุก folder แล้ว


*ไม่อยู่ในหนังสือ*
ใช้คำสั่ง hostname
ดูว่าเว็บเราชื่ออะไร
www.test.com เราจะเปลี่ยนเป็น www.lablinux.com
ใช้คำสั่ง hostname แล้วตามด้วยชื่อเว็บที่จะเปลี่ยน
hostname www.lablinux.com

และใช้คำสั่ง vi /etc/sysconfig/network

แก้ไขชื่อ ให้เป็นไปตามโจทย์
วิธีใช้ editor vi
กด I = แก้ไข
เมื่อแก้ไขเสร็จแล้วให้ทำการกดปุ่ม esc 1 ที แล้วกด shift : แล้วพิมพ์ wq
w = write
q = quit
เมื่อเราแก้ไขชื่อเว็บเสร็จแล้ว เวลาเรา restart httpd จะได้ไม่ต้องรอนาน เสียเวลาทำมาหากิน


ใช้คำสั่ง service httpd restart

แล้วลอง Run ด้วย Mozilla Firefox ดู

โค๊ด: [Select]
www.lablinux.com
mail.lablinux.com

ถ้ารันได้ก็ OK แล้ว
ต่อไปเราจะมาทำ Virtual Host แบบ IP (1 เครื่อง มีหลาย IP 1 IP ต่อ 1 เว็บไซต์)
เข้าไปที่ cd /etc/sysconfig/network-script
แล้ว copy ไฟล์ ifcfg-eth0 ไปเป็น ifcfg-eth0:1

cp ifcfg-eth0 ifcfg-eth0:1
cp ifcfg-eth0 ifcfg-eth0:2

แล้วใช้ editor vi แก้ไขไฟล์ ซึ้งไฟล์นี้ gedit ไม่สามารถแก้ไขได้

vi ifcfg-eth0:1

DEVICE=eth0:1
BOOTPROTO=none
IPV6INIT=yes
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
UUID="47be0c9a-17d5-4378-87c2-0b9a901abb6c"
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME="System eth0"
NETMASK=255.255.255.0
USERCTL=no
IPADDR=192.168.174.200
PREFIX=24
GATEWAY=192.168.174.254
DNS1=192.168.174.1
HWADDR=00:0C:29:D5:BF:4C
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
LAST_CONNECT=1379476846
"ifcfg-eth0:1" 23L, 431C

คือไฟล์นี้คือการเพิ่ม IP ในเครื่องเราไปอีก ตอนแรกเรา SET IP ไว้เป็น 192.168.174.1
เราจะเพิ่มอีกเป็น 192.168.174.200 และ 192.168.174.201
- เปลี่ยนชื่อ ให้มี :1 ถ้าเราแก้ไฟล์ ifcfg-eth0:2 ก็แก้ให้เป็น :2
- เปลี่ยน IP ให้เป็น IP ของ data.lablinux.com คือ 192.168.174.200
และแก้ไฟล์ ifcfg-eth0:2 เปลี่ยนชื่อ เปลี่ยน IP เป็น 192.168.174.201

เมื่อเพิ่มเสร็จแล้ว วิธีเช็คว่าได้หรือยัง คือ ใช้คำสั่ง ifconfig จะได้ตามรูป



*ปล.จะได้ IP ตามที่เรา SET ไว้และตามที่เราแก้ แต่ในรูป ไม่ตรงนะค้าบบบบ !!

ต่อไป แก้ไขไฟล์ gedit /etc/httpd/conf/httpd.conf

<VirtualHost data.lablinux.com:80>
ServerAdmin webmaster@lablinux.com
DocumentRoot /var/www/html/data
ServerName data.lablinux.com
ErrorLog logs/data.lablinux.com-error_log
CustomLog logs/data.lablinux.com-access_log common
</VirtualHost>

บรรทัดแรก ตอนแรกเราใส่ IP ทีนี้เราจะมาใส่ ชื่อเว็บไปเลย เป็น data.lablinux.com
และเพิ่มอีก 1อันคือ client01 ก็แก้เหมือนเดิม หากอาจารย์ให้เพิ่ม client02 เราก็เพิ่มไป
อย่าลืมไปสร้าง folder และ ไปสร้าง file index.html ก่อนหน้านี้ให้ครบ

เมื่อเสร็จให้ทำการ service httpd restart

แล้วเปิด firefox รันดู เปิด มา 4 tab รัน 4 web นี้เลย

โค๊ด: [Select]
www.lablinux.com
mail.lablinux.com
data.lablinux.com
client01.lablinux.com

ปล2.ตอนส่งอาจารย์อาจจะให้รันเป็น 192.168.174.201 คือ client01.lablinux.com
ซึ่งต้องรันได้ เพราะสามารถรันไปกลับได้เราได้สร้างโซนไว้ในตอนแรกแล้ว จบบบบบบบบบบบบบบบ
ปล3.ถ้า service named restat , service network restart , service httpd restart = Error
ปัญหาคือพิมพ์ผิด SET ผิด หรืออะไรซักอย่างลอง restart linux 1ที ถ้าไม่ได้ไปห้องทะเบียน
ปล4.อยากให้เพื่อนๆทุกคนลองทำหลายๆรอบ ลองเปลี่ยนโจทย์ เป็น test.com IP = 192.168.4.xxx
ปล5.ใครไม่มี file vmware + centos มาเอาที่หอเรา ซอย3สุดซอย บ้านหลังสุดท้ายห้องด้านซ้าย ขอบคุณที่อ่านจบ
ขอให้ A กันทุกคน ทุกวิชา

« แก้ไขครั้งสุดท้าย: กันยายน 18, 2013, 08:05:03 pm โดย Admin »

 
แชร์บทความ...
โค้ดแบบ forum
(BBCode)
โค้ดแบบ site/blog
(HTML)