วิธีติดตั้ง 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