image By Shmuel Csaba Otto Traian, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=28224098
LAMP เป็นตัวย่อจาก ชุด open source จำนวน 4 อย่าง ที่เอามาประกอบกัน เพื่อใช้สำหรับรันงาน Web Application/Website ในฝั่ง server โดยเวลาติดตั้ง service ทั้งหมดนี้เค้าก็จะเรียกสั้นๆว่าการติดตั้ง LAMP
L มาจาก Linux
เริ่มต้นจากสิ่งพื้นฐานก่อนเลย นั่นคือ OS โดย L คือตัวที่มาจาก Linux ซึ่งจะไม่ได้ระบุเอาไว้ ว่าต้องเป็น Linux ตัวไหน เพราะว่าตัวไหนก็ได้เหมือนกัน แต่ว่าเท่าที่เค้านิยมเอามาทำเป็น Server จำนวนมาก ก็จะเป็น Ubuntu, CentOS, RedHat เป็นต้น
A มาจาก Apache
Apache เป็น service ที่ทำหน้าที่ตอบสนองต่อการ request ในรูปแบบ HTTP protocol เรียกง่ายๆว่า มันรับ connection ที่มาจาก browser ของเรานั่นแหล่ะ และก็ไปทำงานอะไรสักอย่างหนึ่ง เพื่อเอาข้อมูลมาตอบกลับผ่านทาง HTTP Protocol โดยปกติก็จะทำงานที่ port 80 และ ทำงานที่ Port 443 สำหรับ HTTPS
M มาจาก MySQL
MySQL เป็น service ที่ให้บริการ Database แบบ Relational รูปแบบหนึ่ง โดยเราจะนิยมใช้ PHPMyAdmin เข้าไปจัดการฐานข้อมูล แต่ว่าจริงๆแล้วเราอาจจะใช้ MySQL Client ตัวอื่นก็ได้นะ เช่น MySQL Workbench (Free) , SQLYog(Free/Paid), NaviCat(Paid) เป็นต้น
P มาจาก PHP
PHP เป็น Programming Language ภาษาหนึ่ง ที่เรานิยมเอามาเขียนงาน Website กันมากๆ มี Knowledge ใน Internet เยอะมาก มีคนใช้งาน มีคนสอนเยอะมาก และผมเองก็ยอมรับเลยว่า โตมากับ PHP เลยแหล่ะ โดย PHP มีรากฐานของภาษามาจากภาษา C อีกทีหนึ่ง ดังนั้นใครเขียน C มาก่อน เขียน PHP สบายเลย โดย PHP เป็น Interpreter แปลภาษาและทำงานต่างตามที่เราเขียนเอาไว้ ก่อนที่จะตอบกลับไปที่ Apache เมื่อตอนที่ Apache เรียกใช้งานไฟล์นั้นๆนั่นเอง เมื่อทำงานจบก็หยุด
เมื่อรวมกันก็ครบองค์ สำหรับคนทำงานเว็บ
เมื่อรวมสี่ตัวนี้เข้าด้วยกันแล้ว ก็เป็น Pack สำหรับคนทำงานเว็บเลย เพราะเขียนเว็บด้วย PHP แล้วเก็บข้อมูลใน MySQL ที่รันเว็บด้วย Apache บน Linux (โดยส่วนใหญ่ก็จะเป็นงาน server นั่นแหล่ะ)
แล้ว Windows ล่ะมีมั้ย
มีครับ มีหลายตัวด้วย ถ้าเป็นคนรุ่นเก่าเลย เค้าก็จะใช้ Appserv กัน ผมก็เกิดมาจาก Appserv แต่ด้วยความที่ว่ามันเก่ามาก และมีช่วงโหว่ security เยอะ ก็เลยเปลี่ยนมาใช้ Wamp จนมาต่อที่ Xampp ยาวมาจวบจนปัจจุบัน นี่ก็ 5 ปีกว่าได้แล้วมั้งครับ นานมากจริงๆ นอกจากนี้ก็ยังมี Mamp อีกด้วยนะ ทั้งหมดที่กล่าวมาทำงานเหมือนกันแทบทั้งหมด ต่างกันตรงส่วนอื่นๆที่ใส่มาให้ และ หน้าตาเครื่องมือการใช้งาน และรายละเอียดอื่นๆเท่านั้นเอง แต่รวมๆแล้ว ไม่ได้มีอะไรแตกต่างกันเลย
ไม่ใช้งาน LAMP สำหรับงานเว็บได้มั้ย
ได้สิครับ ชีวิตเรา เราเลือกได้ครับ บางคนจะใช้งาน Windows server แล้วรัน Mamp ก็ได้ ไม่ได้ว่ากันครับ แต่ว่าก็อยากให้ดูเรื่อง security กันให้ดีด้วยนะครับ เพราะเจ้า software พวกนี้ มันสร้างขึ้นมาเน้นที่ใช้งานเริ่มต้นได้ง่าย แต่ไม่ได้สนใจเรื่อง security สักเท่าไรเลย ดังนั้น จะมีปัญหาเรื่อง security ตามมา ผมจำได้ว่าหลายเว็บสามารถเรียก ip/PHPMyAdmin ได้ด้วย แล้วใช้ user root ,password ว่างเปล่า ได้อีกต่างหากแหม่ หละหลวมจริงเชียว