วิธีติดตั้ง LAMP บน Ubuntu 20.04

LAMP คือกลุ่มของซอร์ฟแวร์ open source  ที่ต้องติดตั้งด้วยกันเพื่อที่จะได้สามารถใช้งานกับเว็บไซต์ที่มีความซับซ้อนและเว็บแอป (Web app) ซึ่งก็คือแอปที่ถูกเขียนขึ้นมาให้สามารถใช้กับ Web browser ได้โดยตรงและถูกเขียนด้วย PHP โดยรูปแบบดังกล่าว แสดงถึงระบบปฏิบัติการ Linux โดยมีเว็บเซิร์ฟเวอร์คือ Apache ข้อมูลไซต์ถูกจัดเก็บไว้ในฐานข้อมูล MySQL และเนื้อหาแบบไดนามิก (dynamic ) จะได้รับการประมวลผลโดย PHP โดยคู่มือนี้จะเป็นการแนะนำการติดตั้ง LAMP stack บน Ubuntu 20.04 ขั้นตอนที่ 1 – ติดตั้ง Apache web server บน Ubuntu 20.04 ขั้นตอนที่ 2 – ติดตั้ง MySQL บน Ubuntu 20.04 ขั้นตอนที่ 3 […]

วิธีการติดตั้ง Java ด้วย Apt บน Ubuntu 20.04

Java และ JVM (เครื่อง virtual ของ Java) จำเป็นสำหรับซอฟต์แวร์หลายประเภท ได้แก่ Tomcat, Jetty, Glassfish, Cassandra และ Jenkins ในคู่มือนี้ จะเป็นการติดตั้ง Java Runtime Environment (JRE) และ Java Developer Kit (JDK) เวอร์ชันต่างๆ โดยใช้ apt จาก Oracle การติดตั้ง JRE/JDK เริ่มต้น ตัวเลือกที่ง่ายที่สุดในการติดตั้ง Java คือการใช้เวอร์ชันที่มาพร้อมกับ Ubuntu ตามค่าเริ่มต้น Ubuntu 20.04 จะมี Open JDK 11 ซึ่งเป็นเวอร์ชัน open-source ของ JRE และ […]

การทดสอบการเชื่อมต่อฐานข้อมูลจาก PHP

หากต้องการทดสอบว่า PHP สามารถเชื่อมต่อกับ MariaDB และดำเนินการ queryฐานข้อมูลได้หรือไม่ สามารถสร้างตารางทดสอบที่มีข้อมูลจำลองและ queryเนื้อหาจากสคริปต์ PHP  ขั้นแรก ให้เชื่อมต่อกับ MariaDB console  กับผู้ใช้ฐานข้อมูลที่คุณสร้างในคู่มือนี้ (ฐานข้อมูลที่เราใช้งานชื่อว่า example_user ) สร้างตารางชื่อ todo_list จาก MariaDB console ให้รันคำสั่งต่อไปนี้ ตอนนี้ ให้แทรกเนื้อหาสองสามแถวลงในตารางทดสอบ อาจต้องการทำซ้ำคำสั่งถัดไปสองสามครั้งโดยใช้ค่าที่แตกต่างกัน ดังตัวอย่างต่อไปนี้ เพื่อยืนยันว่าบันทึกข้อมูลลงในตารางสำเร็จแล้ว ให้รันคำสั่ง จะเห็นผลลัพธ์ดังนี้ หลังจากยืนยันว่ามีข้อมูลที่ถูกต้องในตารางทดสอบแล้ว สามารถออกจากคอนโซล MariaDB ได้ โดยพิมพ์คำสั่ง ตอนนี้สามารถสร้างสคริปต์ PHP ที่จะเชื่อมต่อกับ MariaDB และค้นหาเนื้อหาของคุณได้ สร้างไฟล์ PHP ใหม่ในไดเร็กทอรี root ของเว็บที่กำหนดเองโดยใช้โปรแกรมแก้ไขที่ต้องการ ทางเราจะใช้นาโนในคู่มือนี้ เพิ่มเนื้อหาต่อไปนี้ลงในสคริปต์ PHP ของคุณ (อย่าลืมแก้ไขชื่อผู้ใช้และรหัสผ่านให้ตรงกับที่คุณสร้างขึ้น) […]

วิธีทดสอบ PHP ด้วย Nginx

บน CentOS 8 หลังจากการติดตั้ง php-fpm จะมีการสร้างไฟล์ที่ถูกกำหนดค่าโดยอัตโนมัติซึ่งจะทำให้เว็บเซิร์ฟเวอร์ Nginx สามารถจัดการไฟล์ .php ใน root เอกสารเริ่มต้นซึ่งอยู่ที่ตำแหน่ง /usr/share/nginx/html โดยที่เราไม่จำเป็นต้องทำการเปลี่ยนแปลงการกำหนดค่าของ Nginx เพื่อให้ PHP ทำงานได้อย่างถูกต้องภายในเว็บเซิร์ฟเวอร์ การปรับเปลี่ยนเพียงอย่างเดียวที่เราจะทำคือเปลี่ยนการตั้งค่าการอนุญาตในโฟลเดอร์ root ของเอกสาร ด้วยวิธีนี้จะสามารถสร้างและแก้ไขไฟล์ในไดเร็กทอรีนั้นกับผู้ใช้ระบบปกติ โดยไม่จำเป็นต้องขึ้นต้นแต่ละคำสั่งด้วย sudo คำสั่งต่อไปนี้จะเปลี่ยนสิทธิ์ความเป็นเจ้าของ root ของเอกสาร โดยในที่นี่ชื่อผู้ใช้และกลุ่มจะถูกเรียกว่า john ดังนั้นอย่าลืมเปลี่ยนชื่อผู้ใช้และกลุ่มในคำสั่งนี้เพื่อให้เป็นชื่อผู้ใช้และกลุ่มของระบบของคุณ ตอนนี้เราจะสร้างหน้าทดสอบ PHP เพื่อให้แน่ใจว่าเว็บเซิร์ฟเวอร์ทำงานตามที่คาดไว้ โดยการสร้างไฟล์ PHP ใหม่ชื่อ info.php ที่ไดเร็กทอรี /usr/share/nginx/html โค้ด PHP ต่อไปนี้จะแสดงข้อมูลเกี่ยวกับ PHP ปัจจุบันที่ทำงานบนเซิร์ฟเวอร์ เมื่อเสร็จแล้ว ให้บันทึกและปิดไฟล์ ตอนนี้เราสามารถทดสอบได้ว่าเว็บเซิร์ฟเวอร์ของเราสามารถแสดงเนื้อหาที่สร้างโดยสคริปต์ PHP ได้อย่างถูกต้องหรือไม่ ให้ไปที่เบราว์เซอร์ของคุณและเข้าถึงด้วยชื่อโฮสต์เซิร์ฟเวอร์หรือที่อยู่ […]

วิธีติดตั้ง PHP บน CentOS 8

หลังจากที่ได้มีการติดตั้ง Nginx เพื่อรองรับเนื้อหา และติดตั้ง MariaDB เพื่อจัดเก็บและจัดการข้อมูล ตอนนี้สามารถติดตั้ง PHP เพื่อประมวลผลโค้ดและสร้างเนื้อหาแบบไดนามิกสำหรับเว็บเซิร์ฟเวอร์ได้ แม้ว่า Apache จะถูกฝังไว้ใน PHP ในแต่ละคำขอ แต่ Nginx ต้องการโปรแกรมภายนอกเพื่อจัดการการประมวลผล PHP และทำหน้าที่เป็นสะพานเชื่อมระหว่าง PHP กับเว็บเซิร์ฟเวอร์ ซึ่งช่วยให้เว็บไซต์ที่ใช้ PHP ส่วนใหญ่มีประสิทธิภาพโดยรวมดีขึ้น แต่ต้องมีการกำหนดค่าเพิ่มเติมโดนจะต้องติดตั้ง php-fpm ซึ่งย่อมาจาก “PHP fastCGI process manager” เพื่อเป็นการบอกให้ Nginx ส่งคำขอ PHP ไปยังซอฟต์แวร์นี้เพื่อประมวลผล นอกจากนี้ จะต้องมี php-mysqlnd ซึ่งเป็นโมดูล PHP ที่ช่วยให้ PHP สามารถสื่อสารกับฐานข้อมูลที่ใช้ MySQL ได้ แพ็คเกจ Core PHP จะถูกติดตั้งโดยอัตโนมัติ […]

การติดตั้ง Nginx บน CentOS8

เพื่อแสดงหน้าเว็บแก่ผู้เข้าชมเว็บไซต์ เราจะใช้ Nginx ซึ่งเป็นเว็บเซิร์ฟเวอร์ประสิทธิภาพสูง โดยใช้ตัวจัดการแพ็คเกจ dnf ซึ่งเป็นตัวจัดการแพ็คเกจเริ่มต้นใหม่บน CentOS 8 วิธีดำเนินการสามารถเริ่มจากการเปิดหน้าต่าง terminal ของโปรแกรมขึ้นมา ในที่นี้ทางเราใช้ผ่านโปรแกรม Putty ติดตั้งแพ็คเกจ nginx ด้วยคำสั่ง เมื่อได้รับข้อความแจ้ง ให้พิมพ์ y เพื่อยืนยันว่าคุณต้องการติดตั้ง nginx หลังจากการติดตั้งเสร็จสิ้น ให้รันคำสั่งต่อไปนี้เพื่อเปิดใช้งานและเริ่มต้นเซิร์ฟเวอร์ ในกรณีที่ได้เปิดใช้งานไฟร์วอลล์ไฟร์วอลล์ตามคู่มือการตั้งค่าเซิร์ฟเวอร์เริ่มต้น จะต้องทำการอนุญาตการเชื่อมต่อกับ Nginx คำสั่งต่อไปนี้จะเปิดใช้งานการเชื่อมต่อ HTTP อย่างถาวร ซึ่งทำงานบน port 80 ตามค่าเริ่มต้น เพื่อตรวจสอบว่ามีการเปลี่ยนแปลงแล้ว สามารถเรียกใช้คำสั่ง จะเห็นผลลัพธ์ดังนี้ จากนั้นเราจะต้องใช้คำสั่ง reload การกำหนดค่าไฟร์วอลล์อีกครั้งเพื่อให้การเปลี่ยนแปลงมีผล เพียงเท่านี้ถือว่าติดตั้ง Nginx เรียบร้อยแล้ว ขั้นตอนถัดไปสามารถดำเนินการติดตั้งฐานข้อมูลต่อได้เลย

วิธีการติดตั้ง MariaDB บน CentOS8

เมื่อมีการติดตั้งเว็บเซิร์ฟเวอร์และระบบได้เริ่มทำงานแล้ว ต้องติดตั้งระบบฐานข้อมูลเพื่อให้สามารถจัดเก็บและจัดการข้อมูลสำหรับไซต์  เราจะติดตั้ง MariaDB ซึ่งเป็นทางเลือกที่พัฒนาโดยโดย Oracle หากต้องการติดตั้งระบบฐานข้อมูลนี้ ให้เข้าใช้งานด้วยผู้ใช้ใหม่ที่สร้างขึ้น จากนั้นรันคำสั่ง เมื่อการติดตั้งเสร็จสิ้น สามารถเปิดใช้งานและเริ่มต้นเซิร์ฟเวอร์ MariaDB ด้วย เพื่อรองรับความปลอดภัยของเซิร์ฟเวอร์ฐานข้อมูล ขอแนะนำให้เรียกใช้สคริปต์ความปลอดภัยที่มาพร้อมกับ MariaDB ที่ติดตั้งไว้ล่วงหน้า สคริปต์นี้จะลบการตั้งค่าเริ่มต้นที่ไม่ปลอดภัยบางส่วนและล็อคการเข้าถึงระบบฐานข้อมูล หากต้องการดำเนินการ สามารถใช้คำสั่งดังต่อไปนี้ หลังจากรันสคริปต์นี้จะเห็นว่าจะมีข้อความขอให้ป้อนรหัสผ่าน root ฐานข้อมูลปัจจุบัน ซึ่งจะคนละส่วนกับ รหัสผ่าน root  ของระบบ ผู้ใช้ root ฐานข้อมูลคือผู้ใช้ที่เป็นผู้ดูแลระบบที่มีสิทธิ์ทุกอย่างของระบบฐานข้อมูล เนื่องจากเพิ่งติดตั้ง MariaDB และยังไม่ได้ทำการเปลี่ยนแปลงการกำหนดค่าใดๆ รหัสผ่านนี้จะว่างเปล่า ดังนั้นเพียงกด ENTER  ข้อความถัดไปจะถามว่า ต้องการตั้งค่ารหัสผ่าน root ฐานข้อมูลหรือไม่ เนื่องจาก MariaDB ใช้วิธีการรับรองความถูกต้องแบบพิเศษสำหรับผู้ใช้ root ซึ่งโดยทั่วไปจะปลอดภัยกว่าการใช้รหัสผ่าน จึงไม่จำเป็นต้องตั้งค่านี้ในตอนนี้ พิมพ์ N แล้วกด ENTER  […]

Load Average ใน Linux คืออะไร

Load Average  ใน Linux เป็นตัวชี้วัดที่ผู้ใช้งาน Linux ใช้เพื่อติดตามทรัพยากรระบบว่าใช้ไปกับอะไรบ้าง เพื่อไม่ให้ระบบทำงานหนักมากเกินไป ผู้ใช้งานจำเป็นต้องเข้าใจว่าว่า Load Average ใน Linux คืออะไร พื้นฐานของ Load Average ใน  Linux เพื่อให้เข้าใจถึง Load Average ใน Linux เราจำเป็นต้องรู้ว่าอะไรคือสิ่งที่เรียกว่าโหลด (Load ) ในระบบ Linux โหลด คือ การวัดการใช้งาน CPU ในช่วงเวลาใดก็ตาม (กระบวนการที่ CPU ดำเนินการอยู่ในปัจจุบันหรือกำลังรอการดำเนินการ) ปกติแล้ว ระบบที่ไม่ได้ใช้งานมีโหลดเป็น 0 แต่หากมี กระบวนการที่กำลังดำเนินการหรืออยู่ในรายการรอ โหลดจะเพิ่มขึ้น 1 การโหลดไม่ได้ให้ข้อมูลที่เป็นประโยชน์ใดๆ แก่ผู้ใช้ เพราะโหลดสามารถเปลี่ยนแปลงได้ในเสี้ยววินาที เนื่องจากจำนวนกระบวนการที่ใช้หรือการรอเวลา CPU ที่ไม่คงที่ […]

วิธีติดตั้ง Apache บน CentOS 8

เซิร์ฟเวอร์ Apache HTTP เป็นเว็บเซิร์ฟเวอร์ที่ใช้กันอย่างแพร่หลายมากที่สุดในโลก มีคุณสมบัติมากมาย รวมถึงโมดูลที่สามารถโหลดได้แบบไดนามิก และมีการบูรณาการกับซอฟต์แวร์ยอดนิยมอื่น ๆ อีกมากมาย ก่อนที่จะเริ่มดำเนินการติดตั้ง แนะนำให้ ตั้งค่า server เบื้องต้นด้วย CentOS 8 ก่อน ขั้นตอนที่ 1 — ติดตั้ง Apache Apache มีอยู่ในซอฟต์แวร์เริ่มต้นของ CentOS ซึ่งหมายความว่าเราสามารถติดตั้งด้วยตัวจัดการแพ็คเกจ dnf เนื่องจากผู้ใช้ที่ไม่ใช่ root กำหนดค่าไว้ใน ตั้งค่า server เบื้องต้นด้วย CentOS 8  ให้ติดตั้งแพ็คเกจ Apache ด้วยคำสั่งต่อไปนี้ หลังจากยืนยันการติดตั้งแล้วคำสั่ง dnf จะติดตั้ง Apache และการขึ้นต่อกันที่จำเป็นทั้งหมด หากวางแผนที่จะกำหนดค่า Apache เพื่อแสดงเนื้อหาผ่าน HTTPS อย่าลืมว่าต้องเปิดพอร์ต 443 ด้วยคำสั่งต่อไปนี้ […]

ความแตกต่างของ Rocky Linux และ CentOS

การที่มี open-source software ที่หลากหลาย เปิดโอกาสให้กับผู้คนและองค์กรจำนวนมากได้พัฒนาและปรับแต่งโปรแกรมต่าง ๆ ของตนได้ แม้ว่าทั้ง Rocky Linux และ CentOS จะเป็น Linux แบบ open-source แต่การจะเลือกใช้งานขึ้นอยู่กับหลากหลายปัจจัย อาทิเช่น ความปลอดภัย ความน่าเชื่อถือ การสนับสนุนในการพัฒนาระบบ และทรัพยากรต่าง ๆ โดยที่บทความนี้จะมุ่งเน้นไปที่การเปรียบเทียบ Rocky Linux และ CentOS เท่านั้น CentOS CentOS Linux เป็น open-source ที่ใช้ซอร์สโค้ด RHEL (Red Hat Enterprise Linux) ที่ถูกสร้างขึ้นใหม่โดยไม่มีค่าใช้จ่าย ซึ่งหมายความว่าซอฟต์แวร์ที่คอมไพล์สำหรับ RHEL จะทำงานบน CentOS โดยไม่มีการแก้ไขใดๆ CentOS ได้รับความนิยมอย่างรวดเร็วและได้รับการยอมรับจากธุรกิจและหน่วยงานภาครัฐหลายแห่ง ผู้ใช้ส่วนใหญ่คือผู้ที่กำลังมองหาแพลตฟอร์มที่ปลอดภัยพร้อมทั้งต้องมีชื่อเสียงในด้านการพัฒนาและความเสถียรในระยะยาว Rocky […]