วิธีติดตั้ง LAMP บน Raspberry Pi


LAMP = Linux, Apache, MySQL, PHP เป็นกลุ่มซอฟท์แวร์ที่เหมาะสำหรับใช้ในการพัฒนาเวบ ในหัวข้อนี้เราจะติดตั้งกลุ่มซอฟท์แวร์นี้ลงบน Raspberry Pi ซึ่งมีการติดตั้ง Raspbian (หรือ Raspberry pi OS) ไว้เรียบร้อยแล้ว

ขั้นตอนการติดตั้ง LAMP ในที่นี้จะทำผ่านทาง terminal หรือผ่าน SSH เข้าไปที่ตัว Raspberry Pi

1. Update และ Upgrade ตัว Raspberry Pi ก่อน

ใช้คำสั่งดังนี้ ทำการอัพเดท และอัพเกรดตัว Raspberry Pi ก่อนทำการติดตั้งซอฟท์แวร์อะไรใหม่

sudo apt update && sudo apt upgrade -y

2. ติดตั้ง Apache2

ทำการติดตั้ง Apache2 เพื่อไว้ใช้เป็น Web server ซึ่งจะเป็นตัวจัดการการร้องขอการเข้าถึงหน้าเวบต่างๆ โดยใช้คำสั่งดังนี้

sudo apt install apache2 -y

หลังจากนั้น ทำการทดสอบการติดตั้ง Apache2 ดูว่าใช้งานได้หรือไม่ โดยไปที่ไดเรคตอรี่ /var/www/html แล้วลิสต์ไฟล์ที่มีอยู่ขึ้นมา

cd /var/www/html
ls -la

จะพบไฟล์ชื่อ index.html ปรากฎอยู่ ให้เปิดเบราเซอร์เข้าไปที่ ip ของ Raspberry Pi ก็จะปรากฎหน้าเวบ Apache2 Debian Default Page ขึ้นมาตามภาพด้านล่างนี้

ปล. หากไม่ทราบ ip ของตัว Raspberry Pi ให้ใช้คำสั่งด้านล่างนี้เพื่อแสดง ip ออกมา

hostname -I

3. ติดตั้ง PHP

PHP เป็นภาษาสคริปที่ใช้รันบนฝั่งเซิร์ฟเวอร์ นิยมใช้ในการสร้างเวบแอพพลิเคชั่นหรือหน้าเวบที่เปลี่ยนแปลงไปตามเงื่อนไขต่างๆได้ การติดตั้ง PHP ให้ใช้คำสั่งดังต่อไปนี้

sudo apt install php -y

หลังจากติดตั้งแล้ว สามารถทดสอบการติดตั้ง PHP ได้โดยการสร้างไฟล์ index.php ง่ายๆขึ้นมา (อาจจะลบไฟล์ index.html ออกไปก่อน หรือเปลี่ยนชื่อไปเป็นชื่ออื่นก็ได้) ดังนี้

sudo rm index.html
sudo nano index.php

แล้วพิมพ์บรรทัดคำสั่งนี้ลงไป แล้วบันทึกและออกจาก nano editor

<?php echo "Hello PHP world"; ?>

แล้วเริ่มตัว Apache2 service ใหม่ ด้วยคำสั่งต่อไปนี้

sudo service apache2 restart

ถึงตอนนี้ หากเปิดเบราเซอร์เข้าไปที่ ip ของ Raspberry Pi หน้าเวบก็จะเปลี่ยนเป็นตามภาพด้านล่างนี้

4. ติดตั้ง MySQL (MariaDB Server)

ใช้คำสั่งต่อไปนี้ เพื่อติดตั้ง MySQL Server และแพคเกจ PHP-MySQL

sudo apt install mariadb-server php-mysql -y

เมื่อติดตั้ง MySQL Server แล้วก็ต้องเริ่ม Apache2 service ใหม่เพื่อใช้การติดตั้งมีผลกระทบ

sudo service apache2 restart

5. เพิ่มความปลอดภัยให้กับ MySQL

หลังจากติดตั้ง MySQL เสร็จใหม่ๆ ยูสเซอร์ root จะยังคงไม่มีพาสเวิร์ด (พาสเวิร์ดเป็น blank) เพื่อความปลอดภัย จึงควรตั้งพาสเวิร์ดใหม่ให้กับ root โดยใช้คำสั่งดังนี้

sudo mysql_secure_installation

จากนั้นให้ตอบคำถามดังต่อไปนี้

  • Enter current password for root: ให้ตอบ Enter (เริ่มต้นไม่มีพาสเวิร์ด)
  • กด Y และ Enter เพื่อเซ็ท root password ใหม่
  • ป้อนพาสเวิร์ดใหม่สำหรับ root (ป้อน 2 ครั้ง)
  • ตอบ Y เพื่อลบ anonymous users
  • ตอบ Y เพื่อห้าม root login remotely
  • ตอบ Y เพื่อลบ test database
  • ตอบ Y เพื่อ reload privilege tables now

ถึงตอนนี้ Database และ MySQL ก็ไม่สามารถเข้าถึงได้โดยไม่มีการป้องกันแล้ว

6. สร้าง User และ Password ไว้สำหรับใช้กับ phpMyAdmin

เมื่อติดตั้ง phpMyAdmin อาจจะมีปัญหาในการเข้าล็อกอิน phpMyAdmin จึงควรสร้างยูสเซอร์และพาสเวิร์ดไว้สำหรับใช้กับ phpMyAdmin โดยใช้คำสั่งต่อไปนี้

sudo mysql --user=root --password

แล้วป้อนพาสเวิร์ดของ root ตามที่ตั้งในข้อ 5 แล้วใช้คำสั่งต่อไปนี้สร้างยูสเซอร์ใหม่

> CREATE USER admin@localhost IDENTIFIED BY 'your_password';
> GRANT ALL PRIVILEGES ON *.* TO admin@localhost;
> FLUSH PRIVILEGES;
> exit;

7. ติดตั้ง phpMyAdmin

ใช้คำสั่งต่อไปนี้ติดตั้ง phpMyAdmin

sudo apt install phpmyadmin -y

หลังจากนั้น ตอบคำถามตามนี้

  • เลือก Apache2 (เคาะ space bar) แล้วกด Enter หรือคลิก OK
  • Configure database for phpmyadmin with dbconfig-common? ตอบ Yes
  • ป้อนพาสเวิร์ด (ตามที่ตั้งในข้อ 6) แล้วกด OK และคอนเฟิร์มพาสเวิร์ดอีกครั้ง

8. Enable PHP MySQLi extension

หลังจากติดตั้ง phpMyAdmin แล้ว ให้ Enable PHP MySQLi extension แล้วเริ่ม Apache2 service ใหม่

sudo phpenmod mysqli
sudo service apache2 restart

9. เพิ่ม Link ให้กับ phpMyAdmin

ทดสอบการเปิด phpMyAdmin โดยเข้าเบราเซอร์ด้วย ip ของ Raspberry Pi ตามด้วย /phpmyadmin หากขึ้นหน้าเวบว่า Not Found ให้ย้ายไดเร็คตอรี่ phpmyadmin ไปไว้ที่ /var/www/html แล้วใช้คำสั่งเพิ่ม link ตามนี้

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

แต่ถ้าเปิดเข้า phpMyAdmin ได้แล้ว ก็ไม่ต้องย้ายไดเรคตอรี่ แต่ให้เพิ่มบรรทัดลงไปในไฟล์ apache2.conf ตามนี้

sudo nano /etc/apache2/apache2.conf

เพิ่มบรรทัดนี้ลงไปด้านล่างสุดของไฟล์ แล้ว save และออกจาก Editor (กด Ctrl+x แล้วตอบ Yes แล้วกด Enter)

Include /etc/phpmyadmin/apache.conf

จากนั้นเพิ่ม link ตามนี้

sudo ln -s /usr/share/phpmyadmin /var/www/html

10. ขั้นตอนเพิ่มเติม (Optional but recommended)

ควรเปลี่ยนการอนุญาตการเข้าไปที่ไดเร็คตอรี่ /var/www/html ใหม่ตามนี้

ls -lh /var/www/
sudo chown -R pi:www-data /var/www/html/
sudo chmod -R 770 /var/www/html/
ls -lh /var/www/

Share this

Setting Up Connection Profile To Deploy Delphi App to CentOS Server


ในการพัฒนาแอพพลิเคชั่นบน Delphi เพื่อส่งไปทำงานในฝั่ง Server (โดยมากก็มักจะเป็นแอพพลิเคชั่นประเภท web server, web service) ที่เป็น Linux based ซึ่งในที่นี้คือ CentOS 7 64bit นั้น จำเป็นจะต้องติดตั้ง SDK ลงบนเครื่องที่ใช้พัฒนาโปรแกรม Delphi ก่อน และสร้าง Connection profile ไว้ให้ Delphi รู้จัก

วิธีการคร่าวๆ จะเป็นดังนี้

  1. ก็อปปี้ไฟล์ PAServer22.0.tar.gz จากโฟลเดอร์ PAServer ที่อยู่ใต้โฟลเดอร์ติดตั้งของตัว Rad-studio ไปไว้ที่ใดที่หนึ่งบน Server (เช่นที่ Document root ของโดเมนหรือซับโดเมนอันใดอันหนึ่ง หรือจะไว้ที่ home directory ของยูสเซอร์ root ก็ได้)
    • ปล. เลข 22 ในชื่อไฟล์ PAServer22.0.tar.gz คือเลขที่เวอร์ชั่นของ Rad-studio ซึ่งอาจจะต่างออกไปจากนี้ก็ได้แล้วแต่ว่าติดตั้งใช้งาน Rad-studio เวอร์ชั่นใด
  2. แตกไฟล์ที่กล่าวในข้อ 1 ด้วยคำสั่ง
    • tar -xvf <ชื่อไฟล์>
  3. ติดตั้ง Build-essential ลงบน Server เพื่อให้ Linux สามารถใช้ในการพัฒนาและรันซอฟท์แวร์ภาษาต่างๆได้ เช่นภาษา C, C++, Python, and Java คำสั่งที่ใช้คือ
    • # yum groupinstall “Development Tools”
  4. ติดตั้ง zlib1g-dev ลงบน Server ด้วยคำสั่ง
    • # yum makecache เพื่ออัพเดท yum database ก่อน
    • # yum -y install zlib-devel เพื่อติดตั้ง header files และ libraries ไว้สำหรับการพัฒนาโปรแกรม
  5. ย้ายไปที่ไดเรคตอรี่ PAServer ที่เกิดจากการแตกไฟล์ในข้อ 2 แล้วสั่งรันไฟล์ paserver ด้วยคำสั่ง
    • # ./paserver
    • ระบบจะถามพาสเวิร์ด ให้คลิก Enter ผ่านไป คือไม่ต้องพาสเวิร์ด
  6. ที่ Delphi IDE ไปที่เมนู Tools>Options… เลือกรายการ Connection Profile Manager
    • คลิกปุ่ม Add
    • ตั้งชื่อ Profile และเลือก Platform เป็น Linux 64-bit คลิกปุ่ม Next
    • แล้วป้อนค่า IP ของ Server ส่วน Port number ปล่อยไว้ตามค่าดีฟอลท์ คือ 64211 พาสเวิร์ด ปล่อยว่างไว้
    • คลิกปุ่ม Test Connection ดู ถ้าไม่มีอะไรผิดพลาด จะรายงานความสำเร็จ
    • คลิกปุ่ม Finish เก็บไว้เป็น Connection Profile
  7. ขณะที่ยังอยู่ที่เมนู Tools>Options… เลือกรายการ SDK Manager
    • คลิกปุ่ม Add
    • เลือก Platform เป็น Linux 64-bit แล้วเลือก Profile to connect ตามที่สร้างในข้อ 6

Share this

DIY ติดตั้งแก๊ส LPG อินโนวา กระทู้ในตำนาน

ครั้งแรกที่ซื้อรถอินโนวามา ก็ไม่คิดถึงว่าจะต้องติดตั้งแก๊ส LPG หรือ NGV เพราะก็ไม่ได้อยากใช้รถให้มันเยอะนัก แต่ใช้รถไปได้ไม่ถึง 1 หมื่นกม.แรก ก็ทนไม่ไหวกับค่าน้ำมันที่แสนแพงมหาโหดในเวลานั้น ลิตรละเกือบ 40 บาท จึงศึกษาข้อดีข้อเสียระหว่าง LPG กับ NGV ดู รวมทั้งเลือกหาอู่ที่จะทำการติดตั้งดีๆด้วย สุดท้ายได้ข้อสรุปเลือก LPG และติดตั้งซะเองเลยดีกว่า

เรื่องราวทั้งหมด เขียนไว้ในกระทู้ของ innovaclub.net ติดตามอ่านได้ที่นี่ครับ

DIY ติดตั้งแก๊ส LPG อินโนวา

รูปถ่ายที่เกี่ยวข้อง เก็บไว้ในอัลบั้มของ fb ที่นี่ครับ

อัลบั้ม ติดแก๊ส LPG อินโนวา fb: teptong

Share this

การเริ่มต้น

เริ่มเข้าหน้าฝนแล้ว ความชุ่มฉ่ำเริ่มมาเยือน พืชพรรณไม้หลากหลายชนิดที่ยังเป็นเมล็ดก็เริ่มจะเติบโตงอกงาม โผล่พ้นผิวดินที่กลบมันไว้ในฤดูที่ผ่านมา เป็นจุดเริ่มต้นของชีวิตน้อยๆเพื่อดำรงเผ่าพันธุ์มันต่อไป

คนเราเองเกิดมาแล้ว ผ่านพ้นจุดเริ่มต้นชีวิตมาแล้ว แต่ก็ยังมีจุดเริ่มต้นอีกหลายหนหลายที เริ่มหัดเดิน เริ่มเข้าโรงเรียน เริ่มคบเพื่อนใหม่ เริ่ม(หัด)เป็นผู้ใหญ่ เริ่มทำงาน เริ่มก่อร่างสร้างตัว เริ่มธุรกิจ เริ่มปล่อยวาง ฯลฯ

การเริ่มต้นนั้นยาก บางคนอาจยากไม่มาก ต้องรอความพร้อมระดับหนึ่งจึงเริ่มได้ เหมือนเมล็ดพันธุ์พืชที่ต้องรอความชุ่มชื้นจากฝน แต่สำหรับบางคนนั้นยากยิ่งนัก ต้องมีความพร้อมระดับยิ่งยวด คือยังไงก็ไม่พร้อมซักที สรุปก็ไม่เคยเริ่มอะไรได้ซักอย่าง แต่เมื่อเริ่มต้นแล้ว ก้าวเดินต่อไป พัฒนาสิ่งที่เริ่มให้เติบโต นั้นยากกว่า และถึงจุดสุดท้ายคือรักษาไว้ จะยากยิ่งกว่า

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

Share this

เรื่องของสารให้ความหวาน

     หลายคนคิดว่าอยากจะลดน้ำตาล เพื่อลดอ้วน ทางเลือกนึงก็คือ หันไปใช้สารให้ความหวานแทนน้ำตาล แต่รู้มั๊ยว่า สารให้ความหวาน มีกี่ชนิด วันนี้เราจะมารู้จักกันว่ามันมีกี่ชนิดบ้าง

1. แอสปาเทม

ให้ความหวานประมาณ 200-300 เท่าของน้ำตาลทรายในปริมาณเดียวกัน และมีรสชาติใกล้เคียงน้ำตาลทรายมากที่สุด จึงเป็นที่นิยมใช้ในปัจจุบันนี้

2. ไซลิทอล

เป็นสารให้ความหวานแทนน้ำตาล พบได้ในพืช ผัก ผลไม้หลายชนิด อาทิ สตรอเบอร์รี่ ต้นเบิร์ช

3. ซัยคาเมต

มีความหวานประมาณ 30 เท่าของน้ำตาลซูโครส ซึ่งปัจจุบันได้ห้ามใช้แล้ว ตามประกาศกระทรวงสาธารณสุข ฉบับที่ 3 (พ.ศ. 2522) เนื่องจากพบว่าสามารถทำให้เกิดมะเร็งในสัตว์ทดลอง

4. ซัคคาริน

เป็นสารเคมีที่ใช้กันแพร่หลายมีความหวานเป็น 300 – 400 เท่าของน้ำตาลซูโครส  ถ้าหากรับประทานซัคคารินในขนาด 5 – 25 กรัมต่อวันเป็นเวลาหลาย ๆ วัน หรือรับประทานครั้งเดียว 100 กรัม จะทำให้มีอาการคลื่นไส้ อาเจียน ท้องเดิน ปวดท้อง ซึมและชักได้

5. สตีวิโอไซด์

มีลักษณะเป็นผลึกสีขาว ดูดความชื้นได้ดี มีความหวานประมาณ 280 – 300 เท่าของน้ำตาลทราย ไม่มีคุณค่าทางโภชนาการให้พลังงานต่ำ ประมาณร้อยละ 0 – 3 แคลอรี จึงเหมาะที่จะใช้เป็นสารให้ความหวานกับอาหารสำหรับคนเป็นโรคเบาหวาน โรคอ้วน และโรคหัวใจ

Share this

การแก้ปัญหา เมื่อใช้ AppStart command ใน RSView32 แล้วไม่ยอมแสดงเป็น Foreground ใน Win7

หน้าจอ HMI

โปรแกรม HMI ซึ่งเขียนด้วย RSView32 เมื่อนำมาใช้บน Win7 มีปัญหาอย่างหนึ่งคือ การสั่งแสดง Presentation (ปุ่มสีเหลือง ซึ่งใช้ AppStart command สั่งเริ่ม Application ภายนอก) ไม่แสดงผลอยู่ด้านหน้าสุด (Foreground) แต่กลับไปแสดงอยู่ด้านหลัง (ฺBackground) แทน

พรีเซนเตชั่นเปิดขึ้นแสดงด้านหลังแทน

ปัญหานี้มีคำอธิบายอยู่ใน technote ของ AB อธิบายไว้ดังนี้

คำอธิบายปัญหาใน technote ของ AB

สรุปวิธีการแก้ไขก็คือ เข้าไปแก้ไขค่า ForegroundLockTimeout ใน Registry ที่ HKCU\Control Panel\Desktop จากค่าดีฟอลท์ 200000 (decimal) ให้เป็น 0

แก้ไขค่าใน รีจิสตรี้ ที่ HKCU

แล้วรีสตาร์ทวินโดวส์ใหม่ ก็จะใช้ได้

Share this

แม่เราเคยคุยกับนกด้วย

ก็เป็นเรื่องปกติที่วันอาทิตย์จะต้องไปอยู่กับพ่อแม่ มีภารกิจดูดฝุ่น ถูพื้น ดูดฝุ่นเตียงและที่นอนห้องพ่อและห้องแม่ และดูดฝุ่นห้องโถงที่สำหรับนั่งดูทีวีของพ่อแม่เป็นประจำทุกๆสัปดาห์ เสร็จสิ้นภารกิจทำความสะอาด ก็ได้เวลาเย็น ก็จะช่วยแม่ทำอาหารเย็นต่อ ราวบ่ายสามโมง แม่ก็จะเตรียมอาหารเย็น เตรียมวัตถุดิบเสร็จแล้วก็ลงมือทำ เราเป็นลูกมือ คอยหั่นบ้าง ล้างบ้าง ลงมือผัด ต้ม แกง บ้าง แม่เป็นคนปรุงและชิม

เมื่อวันอาทิตย์วานนี้ก็เช่นกัน แม่ซื้อหอยจุ๊บจากตลาดนัดมาแต่เช้า 1 กก. จะเอามาแกงคั่ว ก็แช่หอยไว้ในน้ำก่อน พอถึงเวลา แม่ก็เอามาล้างๆขัดๆเอาตะไคร่ที่เปลือกออกไป ระหว่างนั้นแม่ก็เล่าว่า สระที่สวน(สวนที่หลานอยู่)ตอนนี้น้ำเยอะลึก หอยในสระก็มีเยอะ ไม่มีใครลงไปเก็บหอย มีแต่นกกระยาง มันลงไปจิกขึ้นมาแล้วก็ดูดเอาแต่ตัวหอยไปกิน ทิ้งเปลือกไว้ เราเลยบอกแม่ว่า มันกินไม่อร่อยหรอกแม่ มันยังไม่ได้แกงแบบเรา ที่เรากำลังจะทำ แม่ก็บอกว่า นกมันบอกว่า หวาน แบบนี้หวานดี ฮ่าๆๆๆ เราได้แต่ถามว่า แม่ ไปคุยกับนกมันตอนไหนเนี่ย ฮ่าๆๆๆ

Share this

DIY ติดตั้งแก๊ส LPG อินโนวา กระทู้ในตำนาน

ครั้งแรกที่ซื้อรถอินโนวามา ก็ไม่คิดถึงว่าจะต้องติดตั้งแก๊ส LPG หรือ NGV เพราะก็ไม่ได้อยากใช้รถให้มันเยอะนัก แต่ใช้รถไปได้ไม่ถึง 1 หมื่นกม.แรก ก็ทนไม่ไหวกับค่าน้ำมันที่แสนแพงมหาโหดในเวลานั้น ลิตรละเกือบ 40 บาท จึงศึกษาข้อดีข้อเสียระหว่าง LPG กับ NGV ดู รวมทั้งเลือกหาอู่ที่จะทำการติดตั้งดีๆด้วย สุดท้ายได้ข้อสรุปเลือก LPG และติดตั้งซะเองเลยดีกว่า

เรื่องราวทั้งหมด เขียนไว้ในกระทู้ของ innovaclub.net ติดตามอ่านได้ที่นี่ครับ

DIY ติดตั้งแก๊ส LPG อินโนวา

รูปถ่ายที่เกี่ยวข้อง เก็บไว้ในอัลบั้มของ fb ที่นี่ครับ

อัลบั้ม ติดแก๊ส LPG อินโนวา fb: teptong
Share this