โปรโตคอล (Protocol)หมาย ถึง ข้อกำหนดหรือข้อตกลงในการสื่อสารระหว่างคอมพิวเตอร์ ซึ่งมีหลายชนิดคล้ายกับภาษามนุษย์ที่มีทั้ง ภาษาไทย ภาษาอังกฤษ และภาษามือ เป็นต้น โดยมนุษย์จะสื่อสารกันให้เกิดความเช้าใจได้ จะต้องใช้ภาษาเดียวกัน ในกรณีที่คอมพิวเตอร์ 2 เครื่อง ต้องการสื่อสารกันแต่ใช้คนละภาษา จะต้องมีตัวกลางในการแปลงโปรโตคอล ที่เรียกว่า Gateway ถ้า เทียบกับภาษามนุษย์ก็คือ ล่าม ซึ่งอาจะเป็นเครื่องเซิฟเวอร์สำหรับทำหน้าที่นี้โดยเฉพาะ หรืออาจะเป็นโปรแกรมเมอร์หรือไดร์ฟเวอร์สำหรับติดตั้งเพิ่มเติมในเครื่อง คอมพิวเตอร์
โปรโตคอลของระบบเครือข่ายมีลักษณะคล้ายคลึงกับโปรโตคอลในการสื่อสารของมนุษย์ แต่อาจตั่งกันที่ลักษณะในการแลกเปลี่ยนข้อความระหว่างกัน โดยการสื่อสารบนเครือข่ายอินเทอร์เน็ตต้องมีการนำโปรโตคอลมาใช้ในการควบคุม การส่งข้อมูลด้วย
ตัวอย่างขั้นตอนการทำงาน เช่น เมื่อพิมพ์ที่อยู่ของเว็บไซต์ที่ต้องการ (เช่น www.google.com) ลงในเว็บบราวเซอร์แล้ว คอมพิวเตอร์จะเริ่มส่งข้อความเพื่อร้องขอการเชื่อมต่อ (Connection Request) ไปยัง Web Server และรอการตอบกลับ (Connection Reply) ว่า Server พร้อมให้บริการหรือไม่ จากนั้นคอมพิวเตอร์จะส่งชื่อของเว็บเพจที่ต้องการไปยัง Web Server ด้วยข้อความ “Get Message” และขั้นตอนสุดท้าย Web Server จะส่งเนื้อหากลับมายังเครื่องคอมพิวเตอร์ของผู้ใช้
ชนิดของโพรโทคอล
1. NetBEUI (NetBIOS Extended User Interface)
เป็นโปรโตคอลที่เหมาะสำหรับระบบ เครือข่ายขนาดเล็กเนื่องจากโปรโตคอลนี้ใช้วิธีกระจายสัญญาณไปทั่วทั้งเครือข่ายไม่สามารถหาเส้นทาง (route) ไปยังคอมพิวเตอร์ที่ร้องขอข้อมูลได้ ข้อดีของโปรโตคอลนี้คือการติดตั้งซอฟต์แวร์เครือข่ายไม่ยุ่งยากซับซ้อน
2. IPX/SPX (Internet Packet Exchange)
เป็นโปรโตคอลที่ถูกพัฒนาขึ้นมาเพื่อนำไปใช้กับระบบเครือข่ายของ Netware โปรโตคอลนี้มีความสามารถในการหาเส้นทางได้ แต่ก็ไม่ดีเท่ากับ TCP/IP ดังนั้นจึงเหมาะสำหรับเครือข่ายขนาดเล็กถึงระดับกลางเท่านั้น ปัจจุบัน Netware ได้พัฒนาความสามารถจนสามารถรองรับเครือข่ายขนาดใหญ่ และมีโปรโตคอลให้เลือกใช้หลากหลายขึ้น
3. TCP/IP (Transfer Control Protocol/ Internet Protocol)
เป็นโปรโตคอลที่ใช้กันอย่างแพร่หลายในเครือข่ายขนาดใหญ่และเครือข่ายอินเทอร์เน็ต เนื่องจากมีความสามารถในการค้นหาเส้นทางไปยังเครื่องคอมพิวเตอร์ที่ร้องขอข้อมูล จึงถูกใช้เป็นโปรโตคอลหลักในเครือข่ายอินเทอร์เน็ตข้อเสียของโพรโตคอลนี้ คือ ต้องมีความรู้พื้นฐานเกี่ยวกับโปรโตคอล TCP/IP การกำหนด IP Addressอีกทั้งจะต้องมีการปรับแต่งค่าต่าง ๆ หลังจากการติดตั้งซอฟต์แวร์เครือข่าย ในที่นี้จะได้กล่าวถึงรายละเอียดและคุณสมบัติของโปรโตคอลที่สำคัญบางโปรโตคอลเท่านั้น คือ
3.1 FTP (File Transfer Protocol) ใช้ในการรับ-ส่ง แฟ้มข้อมูลระหว่างเครื่องลูกข่ายและเครื่องเซิร์ฟเวอร์ โดยที่เครื่องเซิร์ฟเวอร์จะต้องมีโปรแกรมให้บริการ FTP (FTP Server) ติดตั้งและทำงานอยู่ เพื่อให้เครื่องลูกข่ายที่รันโปรแกรม FTP Client สามารถเข้ามาขอใช้บริการได้ นอกจากรับส่งแฟ้มข้อมูลแล้ว FTP ยังมีคำสั่งที่ใช้ในการแสดงชื่อแฟ้มข้อมูลบนเครื่องเซิร์ฟเวอร์ เปลี่ยนชื่อแฟ้มหรือลบแฟ้มข้อมูล
3.2 TELNET เป็นบริการที่ให้เครื่องลูกข่ายสามารถเข้าไปใช้เครื่องเซิร์ฟเวอร์ โดยการจำลองตัวเองให้ทำงานเป็นเทอร์มินัล ผู้ใช้งานจะต้องใส่รหัสผู้ใช้และรหัสผ่านเพื่อแจ้งการเข้าใช้เครื่อง เมื่อเข้าไปได้แล้วการทำงานต่างๆ จะเหมือนกับการเข้าไปทำงานที่หน้าจอของ เครื่องเซิร์ฟเวอร์
3.3 SMTP เป็นการให้บริการเพื่อรับส่งจดหมายอิเลคทรอนิคส์ (E-Mail) โดยที่ SMTPจะมีตู้ไปรษณีย์เพื่อทำหน้าที่รับจดหมายจากผู้อื่นที่ต้องการส่งให้ และเก็บจดหมายของผู้ใช้ที่ต้องการส่งไปยังผู้ใช้อื่น เมื่อถึงกำหนดเวลาที่ตั้งไว้โปรแกรมจะทำการส่งจดหมายออกและรับจดหมายเข้ามา ผู้ใช้ก็สามารถจะเปิดอ่านได้เมื่อต้องการส่วนการรับส่งจดหมายระหว่างเครื่องลูกข่ายกับ SMTP Server ในลักษณะที่เป็น Client/Server จะใช้โปรโตคอลที่ชื่อว่า POP3 (Post Office Protocol)
3.4 HTTP (Hyper Text Transfer Protocol) ใช้ในการติดต่อรับส่งข้อมูลชนิดไฮเปอร์เท็กซ์ (Hypertext)ระหว่างเครื่องลูกข่ายกับ WWW Server (World Wide Web) โดยที่เอกสารนี้จะอยู่ในรูปแบบที่เขียนในภาษา HTML(Hyper Text Markup Language) เอกสารแต่ละชิ้นจะสามารถเชื่อมโยงไปยังเอกสารชิ้นอื่นได้ ซึ่งเอกสารที่ถูกเชื่อมโยงนี้อาจจะอยู่บนเครื่องคอมพิวเตอร์เครื่องเดียวกัน หรือต่างเครื่องกันก็ได้
3.5 DNS ( Domain Name System) ในการเชื่อมโยงเครือข่ายแบบที่ใช้โปรโตคอล TCP/IP นั้นเครื่องเซิร์ฟเวอร์และเครื่องลูกข่ายทุกตัวจะต้องมีหมายเลขที่ใช้ในการ ระบุตัวเองคล้ายกับชื่อ-นามสกุลของคนเรา หมายเลขที่กล่าวมานี้เรียกว่า IP Address โดยเขียนในลักษณะนี้ 203.154.126.134 การจดจำ IP Address เป็นสิ่งที่ทำได้ยากกว่าการจำชื่อของเครื่องคอมพิวเตอร์ ดังนั้นจึงเกิดการสร้างเซิร์ฟเวอร์ที่จะให้บริการการสอบถามชื่อเครื่องและ IP Address ในเครือข่ายอินเตอร์เน็ตขึ้นมาซึ่งเรียกว่า Domain Name Services ในการใช้งานนั้นผู้ใช้เพียงแต่ระบุ IP Address ของเครื่องที่ให้บริการนี้แล้วเมื่อต้องการจะติดต่อกับเครื่องคอมพิวเตอร์เครื่องใดในเครือข่ายอินเตอร์เน็ต DNS จะช่วยค้นหา IP Address ของเครื่องที่ต้องการให้เพื่อให้โปรแกรมสามารถใช้ IP Address ที่ได้ในการติดต่อ
4. โพรโทคอลจัดการระดับตัวอักษร
เป็นแบบที่เก่าแก่ที่สุดที่มีใช้งานบนเครื่องเมนเฟรม ซึ่งกำหนดให้หนึ่งตัวอักษรประกอบด้วยข้อมูลขนาด 8 บิต แบบที่แพร่หลายที่สุดเรียกว่า แบบบีเอสซี (Binary Synchronous Communication; BSC or BISYNC) ข้อมูลจะถูกส่งออกไปเป็นกลุ่มของตัวอักษรแบบ Synchronous ในลักษณะกึ่งสองทิศทาง ได้รับการพัฒนาขึ้นมาโดยบริษัทไอบีเอ็ม ในปี พ.ศ. 2510 และได้กลายเป็นมาตรฐานในการสื่อสารระหว่างเครื่องเมนเฟรมในยุดนั้น แต่ก็ยังมีการใช้งานอยู่มากในปัจจุบัน
5. โพรโทคอลจัดการแบบนับจำนวนไบต์ (Byte-Count-Oriented Protocols)
ปรับปรุงประสิทธิภาพของโพรโทคอลจัดการระดับตัวอักษรที่ใช้ตัวอักษรพิเศษโดยการเพิ่มข้อมูล จำนวนไบต์ของข้อมูลในบล็อก หมายเลขที่อยู่บนเครือข่าย และตัวอักษรควบคุมบล็อกเข้าไปแทน
6. โพรโทคอลจัดการระดับบิต (Bit-Oriented Protocols)
เป็นแนวทางการทำงานที่รวมข้อมูลจริงและข้อมูลควบคุมเข้าด้วยกันเป็นโครงสร้างเรียกว่าเฟรม (Frame) ซึ่งจะต้องกำหนดรายละเอียดไว้อย่างชัดเจนเพื่อให้สามารถดึงข้อมูลแต่ละส่วนออกไปใช้ได้อย่างถูกต้อง บริษัทและองค์กรต่าง ๆ ได้กำหนดโพรโทคอลประเภทนี้ขึ้นมาใช้งานอย่างแพร่หลาย
7. โพรโทคอลเอสเอ็นเอ (System Network Architecture; SNA)
รูปแบบโครงสร้างแบบเอสเอ็นเอเป็นหนึ่งในรูปแบบโครงสร้างระบบเครือข่ายวงกว้างสำหรับการสื่อสารระหว่างเครื่องเมนเฟรมกับเทอร์มินอลที่มีใช้งานมานานแล้ว บริษัทไอบีเอ็มได้พัฒนาระบบเอสเอ็นเอขึ้นมาใช้งานตั้งแต่ พ.ศ. 2517โดยการกำหนดรายละเอียดวิธีการติดต่อสื่อสารระหว่างอุปกรณ์ทั้งหมด เพื่อแก้ปัญหาในความแตกต่างของอุปกรณ์ในยุคนั้นเนื่องจากบริษัทไอบีเอ็มเป็นเจ้าของระบบเอสเอ็นเอ จึงเน้นการแก้ปัญหาที่เกิดขึ้นกับอุปกรณ์ที่ผลิตโดยบริษัทไอบีเอ็มเป็นหลัก
อย่างไรก็ตามมีบริษัทอื่นอีกเป็นจำนวนมากที่ได้นำระบบเครือข่ายนี้ไปใช้อย่างแพร่หลายทำให้ระบบเครือข่ายเหล่านั้นสามารถติดต่อกับระบบเครือข่ายของไอบีเอ็มและของผู้อื่นได้ปัจจุบันระบบเอสเอ็นเอยังคงได้รับการพัฒนาอย่างต่อเนื่องในขณะที่มีระบบเครือข่ายอื่นที่ดีเกิดขึ้นมากมาย
8. โพรโทคอล H.323
การสื่อสารแบบแพ็กเกตสวิท (Packet Switched Network) ใช้ โพรโทคอล H.323 สำหรับการส่งข้อมูลทุกชนิดแบบเรียลไทม์ (Real-Time) การสื่อสารแบบนี้จะส่งข้อมูลจากจุดหนึ่งไปยังอีกจุดหนึ่งโดยแบ่งข้อมูลออกเป็นส่วนเล็ก ๆ เรียกว่าแพ็กเกต เพื่อส่งไปยัง เป้าหมายตามสายสื่อสารที่เร็วที่สุดโพรโทคอลนี้ได้รับการรับรองมาตรฐานโดย ITU เมื่อเดือนตุลาคมพ.ศ. 2539 ช่วยให้สามารถส่งข้อมูลเสียง ภาพ หรือนำมาใช้ในการประชุมทางไกลอิเล็กทรอนิกส์ได้
9. โพรโทคอล X.25
คณะกรรมการ CCITT (Consultative Committee for International Telegraph and Telephone) ได้พัฒนาโพรโทคอลมาตรฐานขึ้นมาเพื่อใช้ในการสื่อสารระหว่างประเทศ ผ่านระบบเครือข่ายที่ใช้แพ็กเกตสวิทชิ่ง เรียกว่า โพรโทคอล X.25ระบบเครือข่ายที่ใช้แพ็กเกตสวิตชิ่ง (Packet-switching Network or Packet Distribution Network) จะแบ่งข้อมูลออกเป็นส่วนเล็กๆ คือ แพ็กเกต เพื่อส่งออกทางสายสื่อสารความเร็วสูงไปยังผู้รับอุปกรณ์ที่ใช้ในระบบเครือข่าย
ที่มา:https://sites.google.com/site/jesadawin/chnid-khxng-pho-r-tho-khxl
การติดตั้ง Yii2
- ติดตั้งโดยใช้ Composer
- ติดตั้งโดยดาวน์โหลดไฟล์มาติดตั้งเอง จาก http://www.yiiframework.com/download/
ติดตั้ง Composer
เป็นวิธีที่แนะนำ เราสามารถดูรายละเอียด Composer เพิ่มเติมได้ที่นี่ getcomposer.org การติดตั้งสำหรับ linux และ Mac OS X ให้คุณพิมพ์คำสั่งcurl -s http://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
Note: บรรทัดแรกเป็นการดาวน์โหลดไฟล์ติดตั้ง "composer.phar" บรรทัดที่สองเป็นการก๊อบปี้ไฟล์ "composer.phar" ไปไว้ที่ /usr/local/bin เพื่อให้สามารถเรียกใช้งานได้โดยไม่ต้องระบบุ pathในส่วนของ Windows คุณสามารถดาวน์โหลดไฟล์ไปติดตั้งได้เลย Composer-Setup.exe และสามารถอ่านรายละเอียดการใช้งานเพิ่มเติมได้ที่นี่ Composer Documentation ไม่ว่าจะเป็นการติดตั้งหรือปัญหาการใช้งานต่างๆ
หลังจากติดตั้ง Composer เสร็จให้คุณรันคำสั่งด้านล่างนี้เพื่อทำการอัพเดทตัว Composer:
composer self-update
ในส่วนของการติดตั้ง Yii มี 2 แบบคือ basic และ advanceแบบ Basic
คุณสามารถติดตั้งแบบ basic โดยใช้คำสั่งนี้:composer global require "fxp/composer-asset-plugin:1.0.0"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
Note:ในตัวอย่างนี้ผมติดตั้งไว้ที่ /Applications/MAMP/htdocs/ ในตัวจำลอง serverหลังจากติดตั้งเสร็จให้ทดสอบเข้าใช้งาน http://localhost/basic/web/index.php
แบบ Advance
คุณสามารถติดตั้งแบบ advance โดยใช้คำสั่งนี้:composer global require "fxp/composer-asset-plugin:1.0.0"
composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application
Note:ในตัวอย่างนี้ผมติดตั้งไว้ที่ /Applications/MAMP/htdocs/ ในตัวจำลอง serverหลังจากสร้างเสร็จจะไม่สามารถใช้งานได้เหมือนแบบ basic จะต้องรันคำสั่ง initialize เพื่อให้สามารถใช้งานได้
1.ให้ cd เข้าไปที่พาทของ application ที่เราได้ทำการสร้างไว้ แล้วรันคำสั่งนี้ :
php /path/to/yii-application/init
จะพบคำสั่งนี้ ให้เราตอบ 0 เลือกโหมดกำลังพัฒนา ``` Yii Application Initialization Tool v1.0
Which environment do you want the application to be initialized in?
[0] Development [1] Production
Your choice [0-1, or "q" to quit] 0 ``` 2.ให้ทำการสร้างดาต้าเบสว่างๆ แล้วคอนฟิกดาต้าเบสที่ไฟล์ common/config/main-local.php
3.หลังจากนั้นให้รันคำสั่ง php yii migrate เพื่อสร้างตารางและระบบจะถาม ``` Yii Migration Tool (based on Yii v2.0.2)
Creating migration history table "migration"...Done. Total 1 new migration to be applied: m130524_201442_init
Apply the above migration? (yes|no) [no]: ``` ให้เราตอบ yes
4.ทดลองเข้าใช้งานที่
frontend : http://localhost/yii-application/frontend/web/index.php
backend : http://localhost/yii-application/backend/web/index.php
ติดตั้งโดยดาวโหลดไฟล์มาติดตั้งเอง
- ดาวน์โหลดไฟล์จาก http://www.yiiframework.com/download/
- แตกซิบไฟล์ออกมาแล้วนำไปวางที่ htdocs ของเรา
- ทำการแก้ไขไฟล์ config/web.php แล้วมองหาบรรทัดที่มีคำว่า cookieValidationKey ให้เราใส่ค่ารหัสลับเข้าไปอะไรก็ได้ เช่น
'cookieValidationKey' => 'enter your secret key here',
- จากนั้นทำการทดสอบเข้าใช้งาน
ปัญหาที่พบบ่อยๆ ในการติดตั้ง
- ไม่ได้สมัคร account github
- ถามหา token github
- php เวอร์ชั่นต่ำกว่า 5.4.0