วันจันทร์ที่ 1 กุมภาพันธ์ พ.ศ. 2553

รู้จัก LDAP คืออะไร?

รู้จัก LDAP คืออะไร?

LDAP (นิยมอ่านว่า "แอล-แด็บ") เป็น Protocol ที่พัฒนามาจาก Protocol X.500 ซึ่งใช้ในการเข้าถึงและ Update ข้อมูลของ Directory ซึ่งDirectory ในทาง Computer ที่จริงก็อาจเรียกได้ว่าเป็น Database แบบพิเศษหรือ Data repository ที่บรรจุรายละเอียดของ Object ต่างๆ เช่น Users, Application, Files, Printer และอื่นๆ รวมทั้ง Security information ของ Object เหล่านี้ด้วย โดยข้อแตกต่างของ Directory กับ Database ปกติ ได้แก่
1. Operation: ใน Directory จะเน้นที่การ Access ข้อมูลหรือ อ่านข้อมูล มากกว่า Update หรือ เขียนข้อมูล ในขณะที่ Database ทั่วไปจะเน้นการ Update มากกว่า
2. Transaction: ใน Database จะรองรับการทำ Transaction หรือการ Update ข้อมูลสองจุดที่ต้องสอดคล้องกัน แบบ All-or-nothing เช่นการโอนเงินจากบัญชีหนึ่ง ไปอีกบัญชีหนึ่ง ที่ต้องการความสมบูรณ์ทั้ง 2 ฝั่ง หรือไม่ก็ไม่ต้องทำเลย ในขณะที่ Directory ที่เน้นการอ่านอย่างเดียว อาจจะไม่ต้องการความสอดคล้องกันของข้อมูลบ้างนัก เช่นเมื่อมีการย้ายที่อยู่ระหว่างคน 2 คน ก็ต้องมีการปรับเปลี่ยนเบอร์ติดต่อของ 2 คนนั้น ซึ่งตรงนี้อาจจะไม่จำเป็นต้องทำทันที อย่างไรก็ตาม Feature นี้อาจจะมีการผนวกเข้ากับ LDAP Product ใหม่ๆ ในอนาคตก็ได้
3. Data Accuracy: Directory อาจจะมีข้อจำกัดในการจัดเก็บข้อมูลที่ไม่สมบูรณ์ เช่นมีแต่ชื่อ ไม่มีที่อยู่ แต่อย่างไรก็ตาม เราสามารถ Configure คุณสมบัติเหล่านี้ได้ในบาง Directory Service
4. Query: Directory ไม่ Support Query String (SQL, Structured Query Language)

อย่างไรก็ตามถึงแม้ Directory จะมีคุณสมบัติด้อยกว่า Database หลายประการ แต่เนื่องจาก Protocol ที่ใช้ในการเข้าถึง Directory เช่น LDAP มีความเร็วในการเข้าถึงข้อมูลสูง และก็ทำให้ Application ที่ทำงานบน Protocol เหล่านี้สามารถเข้าถึงข้อมูลอย่างรวดเร็ว ทำให้ระบบ Directory เป็นที่ยอมรับ และนำมาใช้งานทั่วไป

นอกจากประโยชน์ในการค้นหาข้อมูลได้อย่างรวดเร็วแล้ว Directory ยังเป็นโครงสร้างข้อมูลที่แสดงให้ User เห็นข้อมูลทั้งหมดได้จากมุมมองเดียว (Single Logical View) แม้ว่าแท้จริงแล้ว ข้อมูลเหล่านั้นอาจถูกเก็บแยกกันอยู่อย่างกระจัดกระจายตาม Host ต่างๆ บน Distributed System ซึ่งข้อดีต่างๆ เหล่านี้ ทำให้มีการพัฒนา Application ที่ใช้ Directory Service ออกมามากมาย และ LDAP ก็คือหนึ่งในมาตรฐานที่ใช้จัดการ การรับส่งข้อมูลระหว่าง Application Server ที่เก็บ Directory เหล่านี้ กับ Client Application ที่เป็นฝ่ายเรียกดูข้อมูลจาก Directory

อีกหนึ่งสาเหตุที่จำเป็นต้องมีมาตรฐานในการเข้าถึงข้อมูลใน Directory นั้นก็เพื่อให้การพัฒนา Application ที่ใช้ติดต่อกับ Directory Server นั้นมีความยืดหยุ่นขึ้น โดย Developer สามารถเรียกใช้ API (Application Programming Interface) เพื่อติดต่อกับ Directory Service ได้ โดยไม่ต้องทราบวิธีการเข้าถึงโดยละเอียด เช่นโครงสร้างของ Directory หรือ ชนิดของข้อมูล (Data Type) ภายใน หรือไม่จำเป็นต้องปรับแก้ Application ใหม่หากมีความต้องการ Data Type ใหม่ๆ เป็นต้น

นอกเหนือจากที่กล่าวมาข้างต้นแล้ว การมีมาตรฐานเดียวกัน ทำให้ผู้ผลิต Application และ Network device ที่รองรับการใช้งาน Directory Service มีระเบียบวิธีที่ชัดเจนเป็นกลาง ทำให้การติดต่อระหว่าง Application จากต่างผู้ผลิต หรือ ต่าง Platform นั้นเป็นไปได้อย่างรวดเร็ว ถูกต้อง และปลอดภัย โดยไม่ต้องทราบข้อมูลที่ใช้ในการติดต่อ เช่น Platform ที่ใช้, Host Name หรือ IP address เช่นเดียวกับการที่เราต้องมี TCI/IP, HTTP, FTP, RPC หรือ ORB เป็นมาตรฐานที่ใช้อยู่ทั่วโลก

LDAP เป็นมาตรฐานที่ได้รับการยอมรับอย่างกว้างขวาง และมี Application Vendor อยู่หลายราย อาทิ OpenLDAP, IBM, Oracle, Microsoft ซึ่ง Product ที่ได้รับความนิยมก็ได้แก่ Slapd ของ University of Michigan และ Openldap, Directory Server ของ Netscape, Active Directory (AD) ของ Microsoft, Novell Directory Services (NDS) ของ Novell, Sun Directory Services (SDS) ของ Sun และ Internet Directory Server (IDS) ของ Lucent

LDAP ได้รับการออกแบบมาให้อยู่บน TCP/IP Layer ที่มีเพียง 4 Layer ทำให้มีความต้องการ Resource น้อยกว่า DAP ของมาตรฐาน X.500 อย่างไรก็ตาม หากมีความต้องการติดต่อกันระหว่าง LDAP Client กับ X.500 Server จำเป็นจะต้องมีการติดต่อผ่าน Gateway ที่เรียกว่า LDAP Server ตามภาพ



จากภาพจะเห็นได้ว่า LDAP Server จะต้องมีความเข้าใจทั้ง TCP/IP และ OSI Model ในขณะที่ตัว LDAP Client ไม่จำเป็นต้องทำความเข้าใจกับ OSI Layer และไม่ต้องประมวลผลตาม DAP ที่มีความซับซ้อน และ Overhead สูง

สำหรับระบบที่ไม่มีการใช้ X.500 ก็สามารถมีเพียง LDAP Client กับ LDAP Server ซึ่งเรียกว่า LDAP stand-alone server ตามภาพด้านล่าง



จากตัวอย่างที่ 2 ตัวอย่างข้างต้น ทำให้เราเห็นว่า จากมุมมองของ Client แล้ว ไม่ว่า Directory ที่ access เข้าไปจะอยู่บน LDAP Server หรือ X.500 Server Client จะเรียก Directory เหล่านั้นว่า LDAP Directory และ เรียก Server นั้นว่า LDAP Server

LDAP Directory มีการจัดโครงสร้างแบบลำดับชั้น (Hierarchical) โดยข้อมูลจะถูกบรรจุอยู่ใน Entries ซึ่งแต่ละ Entry จะประกอบด้วย Attribute ในรูปของ = โดย type จะถูกกำหนดไว้ด้วย Object Identifier (OID) ส่วน value ก็จะมี Syntax ที่ระบุไว้ชัดเจน

Entry จะถูกจัดไว้เป็นลำดับชั้นด้วย Distinguished name (DN) โดย Entry ใดๆที่อยู่ใต้ Entry อื่น จะมี DN ของ Entry อื่นเป็น Suffix (ข้อความที่ตามหลัง) Entry นั้น

Schema ของ Directory จะระบุ DN และระบุว่า แต่ละ Entry จะประกอบไปด้วย Attribute ใดบ้าง โดยกำหนด Schema จะกำหนดข้อมูลเหล่านี้ไว้ใน Object class ซึ่งได้แก่ List ของ Mandatory กับ Optional Attribute, วิธีการเปรียบเทียบ Attribute, ชนิดและขนาดของข้อมูลที่อนุญาต ซึ่งทุกๆ Entry จะต้องเชื่อโยงไว้กับ Object Class หนึ่ง Class รายละเอียดเพิ่มเติมของ Schema File มีอยู่ในหัวข้อ LDAP Schema



จาก Hierarchy ของ Directory ด้านบน Entry ที่มีสีแดงจะถูกระบุด้วย DN ดังนี้

dn: uid=bmarshal,ou=People,dc=pisoftware,dc=com


Attribute ส่วนใหญ่จะมีการใช้ตัวอักษรย่อระบุ type ซึ่งได้แก่ uid = User id, cn = Common Name, sn = Surname, l = Location, ou = Organizational Unit, o = Organization, dc = Domain Component, st = State, c = Country, etc. โดยข้อมูลเพิ่มเติมในส่วนนี้สามารถหาได้จาก RFC2256

เริ่มใช้งาน LDAP

โครงสร้างของ LDAP ประกอบด้วย Server และ Client ซึ่งในที่นี้เราเลือกใช้ Product ของ OpenLDAP ซึ่งเป็น LDAP Implementation แบบ Open Source ที่ได้รับความนิยมสูง โดยในชุดที่แจกจ่ายให้ Download นั้นจะประกอบด้วย Stand-alone server daemon, Stand-alone update replication daemon, Library และ ตัวอย่างของ Client รวมทั้ง Tools และ Utilities ต่างๆ ในส่วนของวิธีการติดตั้ง OpenLDAP ผู้ที่สนใจสามารถหาข้อมูลได้จาก Document ของ OpenLDAP ซึ่งมีพร้อมอยู่ใน Download package แล้ว

ในตัวอย่างนี้เราจะใช้ ระบบปฏิบัติการ Redhat Linux 9.0 ซึ่งเมื่อได้ทำการติดตั้งเรียบร้อยแล้ว จะมี OpenLDAP version 2.0.27 มาให้ด้วย โดยในส่วนของ LDAP Server จะเป็น Daemon process ที่ชื่อว่า slapd

1. วิธีการ Start/Stop slapd
slapd เป็น LDAP Server daemon ซึ่งทำหน้าที่รับ Object Query จาก Client และส่งข้อมูลของ Object ที่ Client นั้นต้องการ

1.1 วิธีการ Star slapd
1.1.1 Command line:
/usr/sbin/slapd


เช่น

/usr/sbin/slapd -f /etc/openldap/slapd.conf -d 255

หมายถึงให้ slapd ใช้ Configuration file ที่ Path /etc/openldap/slapd.conf โดยมี Debug level = 255 โดยข้อมูลเพิ่มเติมของการ execute slapd มีเพิ่มเติมที่ man page โดยใช้คำสั่ง 'man slapd'

1.1.2 Server Service:
ที่ Desktop ของ Linux ให้ไปที่ปุ่ม Main menu > System Settings > Server Settings > Services ที่เมนูด้านซ้ายจะมีรายชื่อของ Services ถ้าต้องการให้ Linux เรียก Service ใดในตอนเริ่ม boot เครื่องก็ให้ Check ถูกหน้าชื่อ Service นั้น หรือจะ Stop และ Restart โดยใช้ปุ่มบน Toolbar ด้านบนก็ได้ โดย slapd จะเป็น Service ที่ชื่อ ldap

1.2 วิธีการ Stop slapd
1.2.1 Command line:
kill -INT

เช่น kill -INT 5154


หรือ


kill -INT `cat /var/run/slapd.pid`


หากมีการเก็บค่า Process ID ไว้ที่ Path /var/run/slapd.pid โดยสามารถแก้ไขเป็น Path อื่นก็ได้โดยแก้ไขที่ File slapd.conf ที่ Path /etc/openldap

1.2.2 Server Service:
ใช้วิธีการเช่นเดียวกับการ Start Service

2. Configuration Files ที่จำเป็นในการ Run slapd
ในคำสั่งสำหรับ Start slapd นั้น เราจำเป็นต้องมีการระบุ Path ของ Configuration file ที่โดยทั่วไปจะตั้งชื่อว่า slapd.conf และสำหรับ Redhat 9.0 จะมี Default path อยู่ที่ /etc/openldap

ด้านล่างเป็นตัวอย่างของ Configuration file

01: include /etc/openldap/schema/core.schema
02: include /etc/openldap/schema/cosine.schema
03: include /etc/openldap/schema/inetorgperson.schema
04: include /etc/openldap/schema/nis.schema
05: include /etc/openldap/schema/redhat/rfc822-MailMember.schema
06: include /etc/openldap/schema/redhat/autofs.schema
07: include /etc/openldap/schema/redhat/kerberosobject.schema
08:
09: access to * by * write
10:
11: database ldbm
12: suffix "dc=cp25,dc=com"
13: rootdn "cn=ldapadm,dc=cp25,dc=com"
14: rootpw cp25
15: readonly off
16: access to * by * write
17: directory /var/lib/ldap
18: index objectClass,uid,uidNumber,gidNumber,memberUid eq
19: index cn,mail,surname,givenname eq,subinitial

Configuration File นี้มีตัวอย่างมาให้แล้วใน Path /etc/openldap/slapd.conf ซึ่งตัวอย่างด้านบนยกมาเฉพาะมีบรรทัดที่ไม่ถูก Comment ด้วย '#'

รายละเอียดของ การแก้ไข Configuration file สามารถอ่านเพิ่มเติมได้จาก OpenLDAP Administrator's Guide (ปัจจุบัน Version 2.2)

ใน Configuration file จะประกอบด้วย Directive ซึ่งหมายถึง Parameter ของ LDAP Server และค่าของ Directive หรือ Parameter เหล่านั้น ซึ่ง Directive มีทั้งหมด 2 ชนิด คือ

1. Global configuration directive : Directive กลางของ Directory ซึ่งจะถูก Apply ไปยังทุก Database (ในที่นี้หมายถึง Directory) แต่ถ้า Database มี Directive นี้อยู่แล้ว ก็จะ Over write Directive กลางนี้
2. Database directive : Directive ที่ Apply เฉพาะ Database นั้นๆ

Database directive สามารถมีได้หลายชุด โดยจะแยกออกจากกันด้วย Directive ชื่อ 'database' ซึ่งมี Database บางชนิดที่มี Directive เฉพาะ เช่น LDBM, Shell หรือ Password

สำหรับรายละเอียดของ Directive ที่ปรากฏในตัวอย่างมีดังนี้

1. Include (01-07) : Configuration file ของ LDAP นั้นสามารถ include file อื่นเข้ามาได้ ซึ่งในที่นี้เป็นการ Include Schema File ที่มีให้อยู่แล้ว โดย Schema File นั้นเป็น File ที่ระบุโครงสร้างของ Directory ว่าจะมี Object ใดบ้าง มี Attribute ใดบ้าง และมี Attribute Type เป็นอย่างไร เช่นเดียวกันกับ Schema ของ Database ที่จะระบุว่ามี Table ใดบ้าง มี Field ใดบ้างและมี Field Type เป็นอย่างไร รายละเอียดของ Schema File มีเพิ่มเติมที่ OpenLDAP Administrator's Guide (ปัจจุบัน Version 2.2) ที่หัวข้อ Schema Specification

2. Access level (09) : ระบุสิทธิ์ในการเข้าถึง Directory ของแต่ละ User ในที่นี้ระบุให้ทุก Directory (*) สามารถถูกแก้ไข (write) ได้โดยทุก User (*)


3. Database type (11) : ระบุชนิดของ Database ซึ่ง Openldap สามารถรองรับ Database ได้หลายชนิด อาทิ bdb, dnssrv, ldap, ldbm, meta, monitor, null, passwd, perl, shell, sql, และ tcl แต่สำหรับใน Linux นั้นเข้าใจว่ารองรับเฉพาะ ldbm, shell, และ passwd โดยในที่นี่ใช้ ชนิด ldbm

4. Suffix (12) : ระบุ Suffix ของ Query string "dc=cp25,dc=com" ว่าถ้ามี Query string ที่มี Suffix เป็นค่าดังกล่าว ก็จะมาใช้ Database ตัวนี้

5. Rootdn (13) : ระบุ User name ที่จะใช้ในการ Access เป็น Root ของ database นี้ โดยการระบุก็จะต้องเป็นไปตามการกำหนด Object ของ LDAP คือใช้ Distinguish name หรือ dn ในการระบุชื่อ Object เช่น "cn=ldapadm,dc=cp25,dc=com" หมายถึง Root มี common name (cn) เป็น ldapadm

6. Rootpw (14) : ระบุ Password ของ Root dn

7. Readonly (15) : ระบุสิทธิ์ Default ในการแก้ไขข้อมูล ซึ่งสิทธิ์ของ root โดย Default แล้วคือ Readonly = off

8. Access right (16) : สิทธิ์ในการเข้าถึงข้อมูล ซึ่งจะเห็นว่า Directive นี้ซ้ำกับ Global directive ซึ่งหาก Directive ของ Database มีค่าไม่เหมือนกันกับ Global directive ก็จะยึด Directive ของ Database เป็นหลัง

9. Directory (17) : Path ที่ใช้เก็บ Database file

หากมี Database อื่นอีกก็สามารถกำหนดเพิ่มได้ โดยเริ่มต้นจาก Directive 'database' นั่นเอง

เราสามารถทดสอบการ LDAP Service ว่า Start ได้สำเร็จหรือไม่โดยใช้ LDAP Browser โดยหาก Connect สำเร็จก็จะมีชื่อ Suffix ปรากฏให้เห็น แต่จะยังไม่สามารถ Browse ดูได้เนื่องจากเรายังไม่ได้สร้าง Directory โดยการ Add Object และ Attribute

LDAP Directory

หลังจากเราสามารถ Run LDAP Service ได้สำเร็จแล้ว ขั้นตอนต่อไปคือการสร้าง Database หรือ Directory ด้วยการ Add Object หรือ Entry และ Attribute ลงไปใน LDAP Database ซึ่งวิธีการสร้าง Database นี้มีอยู่ 2 ประเภทคือแบบ Online กับแบบ Offline

1. การสร้าง Directory แบบ Online

ในขณะที่ LDAP Service กำลังทำงานอยู่นั้น เราสามารถใช้ Command line ในการเพิ่มหรือลบ Object หรือ Entry ที่มีอยู่ได้ รวมไปถึงการเพิ่ม Attribute ใหม่ๆ หรือแก้ไข Attribute เดิม คำสั่งในการเพิ่ม Object หรือ Entry ใหม่รวมทั้ง Attribute ของ Object หรือ Entry นั้น คือ 'ldapadd' ส่วนคำสั่งในการแก้ไข Object และ Attribute ที่มีมาให้กับ OpenLDAP คือ 'ldapmodify'

1.1 ldapadd

1.1.1 Syntax
คำสั่ง ldapadd มี Option จำนวนมาก ข้อมูลเพิ่มเติมสามารถหาได้จาก man page ด้วยคำสั่ง 'man ldapadd' โดยในตัวอย่างนี้จะขอเลือกใช้เฉพาะ Option พื้นฐานที่จำเป็นก่อนดังนี้

ldapadd [-h host] [-p port] [-P version] [-F] [-x] [-D binddn] [-w password] [-f file]

ความหมายของ Option ด้านบนเป็นดังนี้
-h ldap : ระบุ IP ของ LDAP Server
-p port : ระบุ Port ของ LDAP Server (Default คือ 389)
-P version : ระบุ Version ของ Protocol (ปัจจุบัน 3 หรืออาจจะใช้ 2 ก็ได้)
-F : ระบุว่าทุก Command ที่สั่งให้ทำบน Directory จะถูกกระทำทั้งหมดโดยไม่สนใจลักษณะข้อมูลเดิมที่มีอยู่ (Force application)
-x : ระบุว่าใช้วิธีการ Authenticate User แบบปกติ
-D : ระบุ DN ที่ใช้ในการ Login เข้า Directory โดยแนะนำให้ใช้ของ Root ที่กำหนดไว้ใน slapd.conf
-w : ระบุ Password ของ DN ซึ่งหากใช้ rootdn ก็จะเป็น root password ตามที่กำหนดไว้ใน slapd.conf
-f file: ระบุ Path ของ LDIF File ซึ่งเป็น Fie ระบุรายละเอียดของ Object หรือ Entry และ Attribute ที่ต้องการเพิ่มเข้าไปใน Directory

*สำหรับ Option [-h host] [-p port] และ [-P version] นั้นอาจจะไม่จำเป็นต้องระบุก็ได้ ถ้าเราสั่ง ldapadd บน Local Host ที่ไม่มีการแก้ไข LDAP Port และทำ Operation ที่มีอยู่ร่วมกันทั้ง บน Protocol ทั้ง 2 version
1.1.2 LDIF File
LDIF File เป็น File ระบุข้อมูลที่ต้องการเพิ่มลงไปใน Directory โดยข้อมูลดังกล่าวจะต้องสอดคล้องกันกับ Schema ที่กำหนด ตัวอย่างของ LDIF File มีดังนี้

test.ldif

# cp25, com
dn: dc=cp25,dc=com
objectClass: domain
dc: cp25

# Somchai's Entry
dn: cn=Somchai Kamdee,dc=cp25,dc=com
cn: Somchai Kamdee
cn: Chai
objectClass: person
sn: Kamdee

# Somsri's Entry
dn: cn=Somsri Kamdee,dc=cp25,dc=com
cn: Sri Kamdee
cn: Somsri Kamdee
objectClass: person
sn: Kamdee

# Somjit's Entry
dn: cn=Somjit J Kamdee,dc=cp25,dc=com
cn: Jit Kamdee
cn: Jit
objectClass: person
sn: Kamdee



Format ของ LDIF File สามารถหาได้เพิ่มเติมจาก The LDIF text entry format โดยหลังจากเรามี LDIF File แล้วก็สามารถเรียกให้ ldapadd ทำงานได้ดังนี้


ldapadd -F -x -D "cn=ldapadm,dc=cp25,dc=com" -w cp25 -f test.ldif




ซึ่งหากการสร้าง Database ประสบความสำเร็จ เราก็จะสามารถใช้ LDAP Browser เปิดดูข้อมูลได้

วันอังคารที่ 26 มกราคม พ.ศ. 2553

ติดตั้ง Windows SharePoint Services 3.0
• ทำความรู้จักกับ Windows SharePoint Services 3.0
Windows SharePoint คือ Web Application ที่ทำหน้าที่ในการให้บริการการสื่อสาร การจัดการเนื้อหา การอำนวยความสะดวกให้กับทีม โดยการสร้าง website จาก template สำเร็จรูป เพื่อรวบรวมเอกสารต่างๆ เข้าด้วยกันสำหรับการทำงานร่วมกันเป็นทีม ตัวอย่างเช่น Meeting site สำหรับการประชุมผ่านทาง Website ซึ่งมีลักษณะโครงสร้างเหมือนการประชุมจริง โดยจะมีผู้ดำเนินการประชุมและผู้เข้าร่วมประชุม และมีเครื่องมืออำนวยความสะดวกต่างๆ เช่น
1. เครื่องมือสำหรับแจ้งเวียนเชิญและตอบรับการประชุม
2. รายการและวาระการประชุม
3. รายละเอียดเกี่ยวกับสถานที่ เอกสารแผนที่ และวิธรการเดินทางไปประชุมเป็นต้น
4. พื้นที่สำหรับจัดเก็บบันทึกการประชุม

Windows SharePoint นั้นจะประกอบด้วย 2 ผลิตภัณฑ์ คือ Windows SharePoint Services และ Windows SharePoint Portal Server ข้อแตกต่างในการทำงานระหว่าง Windows SharePoint Portal Server และ Windows SharePoint Services คือ WSPS นั้นจะประกอบด้วย Area, Site collection และ Personal site ในขณะที่ WSSS นั้นจะประกอบขึ้นมาจาก Site collection เพียงอย่างเดียว

Windows SharePoint Services Site
Site Collection คือ web site ที่ประกอบขึ้นมาจาก Top-level site , Subsite, และ content ของแต่ละ subsite รวมถึง Document Workspace และ Meeting Workspace

Top-level site คือ Web site ที่ถูกสร้างขึ้นใน WSS ที่ไม่อยู่ภายใต้ site อื่นๆ โดยที่ Top-level site นั้น สามารถมี Subsite อยู่ภายใต้ได้ และ subsite ที่อยู่ภายใต้ Top-level site นั้น สามารถมี subsite ได้

Subsite คือ Web site ที่ถูกสร้างขึ้นภายใต้ Top-level site บางครั้งเรียกว่า workspace โดยที่ subsite นั้นอาจมี element ต่างๆ เหมือนกันกับ Top-level site ได้ แต่อย่างไรก็ตาม subsite นั้น โดยส่วนมากจะใช้งานในการนำเสนอข้อมูลต่างๆ ของส่วนงานย่อยขององค์กร ตัวอย่าง เช่น ฝ่าย Engineering ประกอบด้วยส่วนงาน Electrical Engineering, Computer Engineering, Mechanical Engineering ดังนั้น Top-level site คือ Engineering และ มี 3 Subsite คือ Electrical Engineering site, Computer Engineering site , Mechanical Engineering site

*Metadata คือ ข้อมูลที่อธิบายถึงรายละเอียดของเอกสารหรือเนื้อหา

Site Group
Site Group คือ กลุ่มของผู้ใช้ โดยจะใช้ site group ในการกำหนดสิทธิในการใช้งาน site collection ของผู้ใช้ โดย site group ของ Windows SharePoint Service นั้นมี 5 กลุ่ม คือ

1. Reader = อ่านได้อย่างเดียว
2. Contributor = สามารถเพิ่มเนื้อหา (Content) เข้าใน List และ Document Library ได้
3. Web Designer = สามารถสร้าง Document Library และปรับแต่งหน้า website ได้
4. Administrator = มีสิทธิการใช้งานสูงสุด สามารถจัดการ WSPS ได้ทุกอย่าง
5. Custom Group = มีสิทธิการใช้งานต่างๆ ตามการกำหนดของ Administrator

การใช้งาน Windows SharePoint Services 3.0
ก่อนทำการติดตั้ง Windows SharePoint Services 3.0 นั้น ต้องทำการติดตั้งและคอนฟิก
1. Internet Information Services (IIS)
2. Microsoft .NET Framework 2.0 and Microsoft .NET Framework 3.0

การคอนฟิกวินโดวส์เซิร์ฟเวอร์ 2003 ให้เป็นเว็บเซิร์ฟเวอร์
ในวินโดวส์เซิร์ฟเวอร์ 2003 นั้น Internet Information Services (IIS) จะไม่ถูกติดตั้งโดยอัตโนมัติพร้อมกับระบบปฏิบัติการ ดังนั้นหากต้องการให้เซิร์ฟเวอร์เป็นเว็บเซิร์ฟเวอร์ ต้องทำการติดตั้งด้วยตนเอง

การติดตั้งเว็บเซิร์ฟเวอร์(IIS 6.0) และคอนฟิกโหมดการทำงาน
ขั้นตอนการติดตั้ง IIS 6.0 และคอนฟิกให้ทำงานในโหมดไอโซเลต (Process Isolation Mode) มีดังนี้
1. คลิก Start คลิก All Programs คลิก Administrative Tools จากนั้นคลิก Manage Your Server
2. บนหน้าต่าง Manage Your Server คลิก Add or remove a role
3. ในไดอะล็อก Preliminary Steps คลิก Next
4. ในไดอะล็อก Server Role คลิก Application server (IIS ASP.NET) จากนั้นคลิก Next.
5. ในไดอะล็อก Web Application Server Options ให้เลือก Enable ASP.Net จากนั้นคลิก Next.
6. ในไดอะล็อก Summary of Selections คลิก Next
7. ในไดอะล็อก This Server is Now an Application Server คลิก Finish.
8. คลิก Start คลิก All Programs คลิก Administrative Tools จากนั้นคลิก Internet Information Services (IIS) Manager
9. ในหน้าต่าง Internet Information Services Manager คลิกที่เครื่องหมายบวก (+) ที่อยู่หน้าชื่อเซิร์ฟเวอร์ จากนั้นคลิกขวาที่โฟลเดอร์ Web Sites แล้วเลือก Properties จากชอร์ตคัทเมนู
10. ในไดอะล็อก Properties คลิกที่แท็ป Service
11. ในส่วน Isolation mode ให้เลือกเช็คบ็อกซ์หน้า Run WWW service in IIS 5.0 isolation mode จากนั้นคลิก OK

หมายเหตุ:
เช็คบ็อกซ์หน้า Run WWW service in IIS 5.0 isolation mode จะถูกเลือก () เฉพาะกรณีทำการอัพเกรดจาก IIS 5.0 บนวินโดวส์เซิร์ฟเวอร์ 2000 ไปเป็น IIS 6.0 บนวินโดวส์เซิร์ฟเวอร์ 2003 เท่านั้น ถ้าเป็นการติดตั้ง IIS 6.0 ใหม่นั้น IIS 6.0 จะทำงานในแบบไอโซเลต (Process Isolation Mode) โดยอัตโนมัติ

ติดตั้งไมโครซอฟต์ .NET Framework 2.0
Windows SharePoint Services ต้องการดอทเน็ตเฟรมเวิร์กเวอร์ชัน 2.0 (.NET Framework 2.0)ในการทำงาน ขั้นตอนการติดตั้งดอทเน็ตเฟรมเวิร์กเวอร์ชัน 2.0 ดังนี้ (หากยังไม่มีตัวติดตั้งด็อทเน็ตเฟรมเวิร์กเวอร์ชัน 2.0 ให้ทำการดาวน์โหลดจากศูนย์ดาวน์โหลดของไมโครซอฟต์ Microsoft Download Center Web site แล้วเลือก Microsoft .NET Framework Version 2.0 Redistributable Package (x86) แล้วคลิก Download)
1.ในโฟลเดอร์ที่เก็บไฟล์ดอทเน็ตเฟรมเวิร์กเวอร์ชัน 2.0 ให้ดับเบิลคลิก dotnetfx.exe จากนั้นคลิก Run เพื่อทำการติดตั้ง
2. ในหน้า Welcome to Microsoft .NET Framework Version 2.0 Setup คลิก Next
3. ในหน้า End-User License Agreement เลือกเช็คบ็อกซ์หน้า I accept the terms of the License Agreement จากนั้นคลิก Install
4. ในหน้า Setup Complete คลิก Finish

การคอนฟิก IIS ให้รองรับ ASP.NET 2.0
ถ้าหากเป็น Internet Information Services (IIS) มีการติดตั้งใช้งานอยู่ก่อนแล้ว ในการรัน Windows SharePoint Services จะต้องทำการเปิดใช้งาน ASP.NET v2.0 ก่อน ดังนี้
1. คลิก Start คลิก All Programs คลิก Administrative Tools จากนั้นคลิก Internet Information Services (IIS) Manager
2. ในหน้าต่าง IIS Manager ให้เลือกเว็บไซท์ที่ต้องการคอนฟิกให้ใช้งานงาน ASP.NET v2.0
ให้คลิกขวาที่เว็บไซท์ที่ต้องการจากนั้นคลิก Properties จากชอร์ตคัทเมนู
3. บนแท็ป ASP.NET ในช่อง ASP.NET version ให้เลือก 2.0.50727
4. คลิก Apply จากนั้นคลิก OK

การรีสตาร์ท IIS
1. คลิก Start จากนั้นคลิก Run
2. ในช่อง Open พิมพ์ cmd.exe จากนั้นคลิก OK
3. ที่คอมมานด์พรอมท์ให้พิมพ์ iisreset.exe จากนั้นกด ENTER
4. พิมพ์ exit จากนั้นกด ENTER เพื่อออกจากคอมมานต์พรอมท์

ติดตั้งไมโครซอฟท์ .NET Framework 3.0
หากยังไม่มีตัวติดตั้งด็อทเน็ตเฟรมเวิร์กเวอร์ชัน 3.0 ให้ทำการดาวน์โหลดจากศูนย์ดาวน์โหลดของไมโครซอฟต์ Microsoft Download Center Web site แล้วเลือก Microsoft .NET Framework Version 3.0 Redistributable Package (x86) แล้วคลิก Download
1. ในโฟลเดอร์ที่เก็บไฟล์ดอทเน็ตเฟรมเวิร์กเวอร์ชัน 3.0 ให้ดับเบิลคลิก dotnetfx3setup.exe จากนั้นคลิก Run เพื่อทำการติดตั้ง
2. ในหน้า Welcome to Microsoft .NET Framework Version 3.0 Setup เลือกปุ่มเรดิโอ I have read and ACCEPT the terms of the License Agreement จากนั้นคลิก Install
3. คลิกบอลลูน Microsoft .NET Framework 3.0 Setup
4. ในหน้า Setup Complete คลิก Exit

ติดตั้ง Windows SharePoint Services 3.0 และ SQL Server 2005 Express
ในการติดตั้ง Windows SharePoint Services 3.0 แบบเซิร์ฟเวอร์เดี่ยว (Single stand-alone server) นั้นสามารถทำการติดตั้งโดยเลือกอ็อปชันการติดตั้งเดฟฟอลต์แบบ Basic ซึ่งการติดตั้งนั้นจะรวมการติดตั้ง SQL Server 2005 Express ด้วย ตามขั้นตอนดังนี้

1. หากยังไม่มีตัวติดตั้ง Windows SharePoint Services 3.0 ให้ทำการดาวน์โหลดจากศูนย์ดาวน์โหลดของไมโครซอฟต์ จากนั้นให้ท่องไปยังโฟลเดอร์ที่เก็บไฟล์ที่ดาวน์โหลดมาแล้วให้รันไฟล์ SharePoint.exe
2. คลิก I accept the terms of this agreement จากนั้นคลิก Continue
3. คลิก Basic เพื่อทำการติดตั้งแบบแบบเซิร์ฟเวอร์เดี่ยว (Single stand-alone server)
4. เมื่อการติดตั้งแล้วเสร็จให้คลิก Close
5. ในหน้า SharePoint Products and Technologies Configuration Wizard คลิก Next
6. ในไดอะล็อก SharePoint Products and Technologies Configuration Wizard คลิก Yes
7. รอจนการทำงานของวิซาร์ดแล้วเสร็จ ซึ่งจะได้หน้า Configuration Successful ให้คลิก Finish.

จากนั้นให้ทดลองเปิดหน้าโฮมเพจของ SharePointโดยใช้ Internet Explorer เปิดหน้า http://servername ซึ่งอาจจะต้องใส่ชื่อผู้ใช้ (Username) และรหัสผ่าน (Password) สำหรับเครื่องคอมพิวเตอร์ที่ใช้งานอินเตอร์เน็ตผ่านพร็อกซี่เซิร์ฟเวอร์นั้น จะต้องทำการบายพาสเว็บไซต์ SharePoint ก่อนจึงจะสามารถเปิดโฮมเพจของ SharePoint ได้

การเพิ่มไซต์ SharePoint เข้ายังรายการ Intranet Sites
1. ใน Internet Explorer ให้คลิกเมนู Tools แล้วคลิก Internet Options
2. บนแท็ป Security ในช่อง Select a Web zone to view or change security settings คลิก Local intranet จากนั้นคลิก Sites
3. ในไดอะล็อกบ็อกซ์ Local intranet คลิก Advanced
4. ให้ลบเช็คบ็อกซ์ Require server verification (https:) for all sites in this zone ให้เป็น 
5. ในช่อง Add this Website to the zone ให้พิมพ์ URL ของเว็บไซต์ (เช่น http://servername) จากนั้นคลิก Add
6. คลิก OK เพื่อปิดไดอะล็อกบ็อกซ์ Local intranet
7. คลิก OK อีกครั้งเพื่อปิดไดอะล็อกบ็อกซ์ Local intranet
8. คลิก OK เพื่อปิดไดอะล็อกบ็อกซ์ Internet Options
9. ให้คลิก Refresh บนทูลบาร์เมนูของ Internet Explorer เพื่อทำการรีเฟรช Internet Explorer

การบายพาส Proxy Serverสำหรับ Local Addresses
สำหรับเครื่องคอมพิวเตอร์ที่ใช้งานอินเตอร์เน็ตผ่านพร็อกซี่เซิร์ฟเวอร์ให้ทำการบายพาสเว็บไซต์ SharePoint ดังนี้
1. ใน Internet Explorer ให้คลิกเมนู Tools แล้วคลิก Internet Options
2. บนแท็ป Connections ในส่วน Local Area Network (LAN) Settings a คลิก LAN Settings
3. ในส่วน Proxy Server คลิกเช็คบ็อกซ์หน้า Bypass proxy server for local addresses ให้เป็น 
4. คลิก OK เพื่อปิดไดอะล็อกบ็อกซ์ Local Area Network (LAN) Settings
5. คลิก OK อีกครั้งเพื่อปิดไดอะล็อกบ็อกซ์ Internet Options
6. ให้คลิก Refresh บนทูลบาร์เมนูของ Internet Explorer เพื่อทำการรีเฟรช Internet Explorer

ทดลองใช้งาน Windows SharePoint Servic3.0
เมื่อทำการติดตั้ง Windows SharePoint Services 3.0 แล้วเสร็จ จากนั้นก็สามารถทดลองใช้งานโดยทำการเปิดดูหน้าโฮมเพจ เช่น http://servername ด้วย Internet Explorer และยังสามารถทำการเพิ่มเนื้อหาให้กับ SharePoint ไซท์ หรือทำการบริหาร SharePoint ไซท์ได้โดยใช้ Central Administration ตัวอย่างเช่น
1. เพิ่มผู้ใช้เข้ายังไซต์
2. ปรับแต่งโอมเพจและหน้าเว็บเพจต่างภายในไซท์
3. ทำการสร้างลิสต์รายการหรือห้องเก็บเอกสารและเพิ่มเนื้อหา
คุณสามารถใช้ Central Administration เพื่อทำการคอนฟิกเซิร์ฟเวอร์เพิ่มเติม ตัวอย่างเช่น
1. Configure incoming e-mail settings ซึ่งจะช่วยให้ผู้ใช้สามารถส่งเนื้อหาไปยัง SharePoint ผ่านทางอีเมล์ หรือทำการส่งอีเมล์ไปยังสมาชิกทั้งหมดของไซท์ SharePoint
2. Configure e-mail alert settings เมื่อทำการคอนฟิก e-mail alert จะทำให้ผู้ใช้สามารถลงชื่อเพื่อรับอีเมล์แจ้งเตือนเมื่อมีการเปลี่ยนแปลงเนื้อหาภายในไซท์
3. Configure antivirus protection settings ถ้าเซิร์ฟเวอร์ได้ติดตั้งโปรแกรมป้องกันไวรัสซึ่งสามารถใช้งานร่วมกันกับ Windows SharePoint Services ได้ ก็สามารถทำการคอนฟิกให้ทำการสแกนเอกสารต่างๆ เมื่อทำการอัพโหลดขึ้นไปยังหรือดาวน์โหลดจาก SharePoint ได้

.NET Framework Developer Center
โฮมเพจ .NET Framework เว็บไซต์ http://msdn.microsoft.com/en-us/netframework/default.aspx

เว็บไซต์สำหรับดาวน์โหลด .NET Framework
• Microsoft .NET Framework Version 2.0 Redistributable Package (x86)
รายละเอียดการดาวน์โหลด
ชื่อไฟล์: dotnetfx.exe
เวอร์ชัน: 2.0
วันที่ออก: 1/22/2006
ขนาดของไฟล์: 22.4 MB
เวลาในการดาวน์โหลดโดยประมาณ: 55 นาที (Dial-up 56K)
ภาษา: อังกฤษ และอีก 23 ภาษา
ดาวน์โหลดลิงก์: http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en

• Microsoft .NET Framework Version 2.0 Redistributable Package (x64)
รายละเอียดการดาวน์โหลด
ชื่อไฟล์: NetFx64.exe
เวอร์ชัน: 2.0
วันที่ออก: 1/22/2006
ขนาดของไฟล์: 45.2 MB
เวลาในการดาวน์โหลดโดยประมาณ: 1 ชั่วโมง 51 นาที (Dial-up 56K)
ภาษา: อังกฤษ และอีก 23 ภาษา
ดาวน์โหลดลิงก์: http://www.microsoft.com/downloads/details.aspx?familyid=B44A0000-ACF8-4FA1-AFFB-40E78D788B00&displaylang=en

• Microsoft .NET Framework 3.0 Redistributable Package (bootstrapper)
รายละเอียดการดาวน์โหลด
ชื่อไฟล์: dotnetfx3setup.exe
เวอร์ชัน: 3.0
วันที่ออก: 11/21/2006
ขนาดของไฟล์: 2.8 MB
เวลาในการดาวน์โหลดโดยประมาณ: 7 นาที (Dial-up 56K)
ภาษา: อังกฤษ และอีก 23 ภาษา
ดาวน์โหลดลิงก์: http://www.microsoft.com/downloads/details.aspx?familyid=10CC340B-F857-4A14-83F5-25634C3BF043&displaylang=en

• Microsoft .NET Framework 3.0 Service Pack 1
รายละเอียดการดาวน์โหลด
ชื่อไฟล์: dotnetfx30SP1setup.exe
เวอร์ชัน: 3.0 SP1
วันที่ออก: 11/19/2007
ขนาดของไฟล์: 2.4 MB
เวลาในการดาวน์โหลดโดยประมาณ: 6 นาที (Dial-up 56K)
ภาษา: อังกฤษ และอีก 23 ภาษา
ดาวน์โหลดลิงก์: http://www.microsoft.com/downloads/details.aspx?FamilyID=ec2ca85d-b255-4425-9e65-1e88a0bdb72a&displaylang=en

• Microsoft .NET Framework 3.5
รายละเอียดการดาวน์โหลด
ชื่อไฟล์: dotNetFx35setup.exe
เวอร์ชัน: 3.5
วันที่ออก: 11/20/2007
ขนาดของไฟล์: 2.7 MB
เวลาในการดาวน์โหลดโดยประมาณ: 7 นาที (Dial-up 56K)
ภาษา: อังกฤษ และอีก 23 ภาษา
ดาวน์โหลดลิงก์: http://www.microsoft.com/downloads/details.aspx?familyid=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en


SharePoint Services 3.0 Site group Microsoft .NET Framework 2.0 3.0 dotNetFx

วันจันทร์ที่ 25 มกราคม พ.ศ. 2553

Remove or modify the arrow used on shortcuts in Windows X

Click Start, Run and type Regedit.exe
Navigate to the following key


HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Shell Icons

Backup the key by exporting it to a file
In the right-pane, create a new String value named 29
Double-click 29 and set its Value data as:
C:\Windows\System32\shell32.dll,50

(shell32.dll,50 is a empty icon)

Close Registry Editor.
To apply the changes instantly, follow this

Right-click Desktop, choose Properties
Click the Appearance Tab.
Click Advanced button
Choose Icon from the drop-down list
Set it's size to 31 and press OK, OK.