Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีสร้าง LAMP Web Server ด้วย Ubuntu

สิ่งที่ควรรู้

  • ในเทอร์มินัล ใช้คำสั่ง sudo apt-get install tasksel && sudo tasksel install lamp-server
  • รักษาความปลอดภัย MySQL ใหม่: sudo mysql_secure_installation แล้วตั้งรหัสผ่าน Admin (root)
  • ทดสอบ Apache: เปิด Firefox ใส่ https://localhost หากเห็น It Works และโลโก้ Ubuntu แสดงว่าติดตั้งสำเร็จ

คู่มือนี้แสดงวิธีง่ายที่สุดในการติดตั้ง LAMP Web Server บน Ubuntu Desktop (รองรับถึง 20.04 LTS) LAMP ย่อมาจาก Linux, Apache, MySQL, PHP

วิธีติดตั้ง LAMP Web Server ด้วย Tasksel

ติดตั้ง LAMP Stack ทั้งหมดง่ายมาก ใช้เพียง 2 คำสั่ง

บทความอื่นอาจสอนติดตั้งแต่ละส่วนแยกกัน แต่สามารถติดตั้งทั้งหมดพร้อมกันได้

  1. เปิดเทอร์มินัล กด Ctrl + Alt + T พร้อมกัน

  2. ในเทอร์มินัล พิมพ์คำสั่ง:

    sudo apt-get install tasksel
    sudo tasksel install lamp-server
    วิธีสร้าง LAMP Web Server ด้วย Ubuntu

    คำสั่งด้านบนติดตั้งเครื่องมือ tasksel แล้วใช้ tasksel ติดตั้ง Meta-package ชื่อ lamp-server

ตั้งค่ารหัสผ่าน MySQL

หลังรันคำสั่งข้างต้น แพ็กเกจ Apache, MySQL, PHP จะถูกดาวน์โหลดและติดตั้ง ตอนนี้ต้องรักษาความปลอดภัย MySQL ใหม่และเพิ่มรหัสผ่าน Admin เพื่อจัดการ

  1. เปิดเทอร์มินัล รันคำสั่งเพื่อเริ่มสคริปต์ความปลอดภัยของ MySQL:

    sudo mysql_secure_installation
  2. สคริปต์จะขอตั้งค่า Password Validation กด N มิฉะนั้น Plugin จะรบกวนเครื่องมืออย่าง PHPMyAdmin ภายหลัง

    วิธีสร้าง LAMP Web Server ด้วย Ubuntu
  3. จะถูกขอรหัสผ่าน Admin (root) รหัสนี้ไม่ใช่รหัสล็อกอิน ตั้งค่าอะไรก็ได้ ควรตั้งให้ปลอดภัยที่สุด เพราะผู้ครองรหัสนี้สามารถจัดการ Database Server ทั้งหมด สร้าง/ลบ User, Permission, Schema, Table ฯลฯ

  4. หลังใส่รหัสผ่าน จะมีคำถามเพิ่มเติมสำหรับรักษาความปลอดภัย ตอบ Y ทุกข้อ

  5. จะกลับสู่ Command Prompt ทดสอบ Server ว่าทำงานสำเร็จหรือไม่

    วิธีสร้าง LAMP Web Server ด้วย Ubuntu

Tasksel คืออะไร?

Tasksel ให้ติดตั้งกลุ่มแพ็กเกจพร้อมกัน ดังที่กล่าว LAMP = Linux, Apache, MySQL, PHP มักติดตั้งร่วมกัน

วิธีสร้าง LAMP Web Server ด้วย Ubuntu

รัน taskcel เพียงอย่างเดียว:

sudo tasksel

จะแสดงหน้าต่างรายการแพ็กเกจ/กลุ่มแพ็กเกจ ที่ติดตั้งได้ เช่น KDE Desktop, Lubuntu Desktop, Mail Server, OpenSSH Server

ติดตั้งด้วย tasksel ไม่ใช่ติดตั้งแพ็กเกจเดียว แต่กลุ่มแพ็กเกจที่เกี่ยวข้องรวมกันเป็นระบบใหญ่ ในกรณีนี้คือ LAMP Server

ข้อควรทราบเกี่ยว Apache Server

Apache เป็นหนึ่งในหลาย Web Server สำหรับ Linux อื่นๆ ได้แก่ Lighttpd และ NGinx

MySQL คือ Database Server ช่วยทำให้หน้าเว็บโต้ตอบได้ โดยเก็บและแสดงข้อมูล

PHP (Hypertext Preprocessor) คือภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ สร้าง Server-side Code และ Web APIs ที่ Client-side (HTML, JavaScript, CSS) เรียกใช้

บทความนี้示範ติดตั้ง LAMP บน Ubuntu Desktop เพื่อให้นักพัฒนาเว็บตั้งค่าสภาพแวดล้อม Development/Test Ubuntu Web Server ยังใช้เป็น Intranet สำหรับหน้าเว็บภายในบ้านได้

แม้จะทำให้ Web Server เข้าถึงได้จากสาธารณะ แต่ไม่เหมาะกับคอมพิวเตอร์บ้าน เพราะ ISP มักเปลี่ยน IP Address ต้องใช้ DynDNS สำหรับ Static IP แบนด์วิดท์ของ ISP อาจไม่เพียงพอสำหรับ Serve หน้าเว็บ

เปิดให้สาธารณะยังหมายความว่าคุณต้องรับผิดชอบรักษาความปลอดภัย Apache ตั้งค่า Firewall และ Patch ซอฟต์แวร์ให้ถูกต้อง

หากต้องการสร้างเว็บไซต์สำหรับสาธารณะ แนะนำเลือก Web Host ที่มี CPanel Hosting ซึ่งลดภาระเหล่านี้

วิธีทดสอบ Apache

วิธีง่ายที่สุดทดสอบ Apache:

  1. เปิด Firefox คลิกไอคอนบน Launcher (ลำดับที่ 3 จากบน)

  2. ใน Address Bar ใส่ https://localhost

  3. ควรเห็นหน้าเว็บ หากเห็นคำว่า "It Works" พร้อมโลโก้ Ubuntu และคำว่า Apache แสดงว่าติดตั้งสำเร็จ

    วิธีสร้าง LAMP Web Server ด้วย Ubuntu

หน้านี้เป็น Placeholder แทนที่ด้วยเว็บเพจของคุณได้ ไฟล์เว็บต้องเก็บในโฟลเดอร์ /var/www/html

หน้านี้ชื่อ index.html เพื่อแก้ไข ต้องมี Permission โฟลเดอร์ /var/www/html วิธีแนะนำ:

  1. เปิดเทอร์มินัล รันคำสั่ง:

    sudo gpasswd -a username www-data
    sudo chown -R www-data:www-data /var/www/html
    sudo chmod -R g+rwx /var/www/html
  2. แทนที่ "username" ในคำสั่งแรกด้วย Username จริง ต้อง Log out และ Login ใหม่ (หรือ Restart) เพื่อให้ Permission 有效

วิธีตรวจสอบว่า PHP ติดตั้งสำเร็จ

ขั้นตอนต่อไป ตรวจสอบ PHP:

  1. เปิดเทอร์มินัล รัน:

    sudo nano /var/www/html/phpinfo.php

    หากชอบ Vim, Emacs, Gedit ใช้แทน Nano ได้

  2. ใน Nano Editor ใส่โค้ด PHP:

    <?php phpinfo(); ?>
  3. บันทึก Ctrl+O ออก Ctrl+X

  4. เปลี่ยน Permission และ Owner ให้ Server เข้าถึงและรันได้:

    sudo chown www-data:www-data /var/www/html/phpinfo.php
    sudo chmod +x /var/www/html/phpinfo.php
  5. เปิด Firefox ใส่ใน Address Bar:

    https://localhost/phpinfo.php
    วิธีสร้าง LAMP Web Server ด้วย Ubuntu

    หาก PHP ติดตั้งถูกต้อง จะเห็นหน้าข้อมูล PHP คล้ายภาพ

    หน้า PHPInfo มีข้อมูลมากมาย รวม PHP Modules ที่ติดตั้ง และ Apache Version ควรเก็บหน้านี้ไว้ขณะพัฒนา เพื่อตรวจสอบ Module ที่โปรเจกต์ต้องการ

แนะนำ MySQL Workbench

MySQL ตัวเดียวยากต่อการจัดการจากบรรทัดคำสั่ง แนะนำติดตั้งอีก 2 เครื่องมือ:

  • MySQL Workbench
  • PHPMyAdmin
  1. ทดสอบ MySQL ด้วยคำสั่งง่ายในเทอร์มินัล:

    sudo mysqladmin -u root -p status

    เมื่อขอรหัสผ่าน ใส่รหัส Root ของ MySQL (ไม่ใช่รหัส Ubuntu)

    วิธีสร้าง LAMP Web Server ด้วย Ubuntu
  2. หาก MySQL ทำงาน จะเห็นข้อความ:

    Uptime: 6269 Threads: 3 Questions: 33 Slow queries: 0 Opens: 112 Flush tables: 1 Open tables: 31 Queries per second avg: 0.005
  3. ติดตั้ง MySQL Workbench:

    sudo apt install mysql-workbench

    หาก Ubuntu ยังไม่แพ็กเกจ Workbench สำหรับรุ่นล่าสุด ตรวจสอบหน้าดาวน์โหลดทางการ บางครั้งติดตั้งแพ็กเกจรุ่นก่อนหน้าก็ได้

    cd ~/Downloads
    sudo apt install ./mysql-workbench-community_X.X.XX-ubuntuXX.XX_amd64.deb
  4. ก่อนเปิด Workbench ต้องมี User จัดการ เพื่อความปลอดภัย ไม่สามารถล็อกอินเป็น Root ต้องสร้าง User ใหม่สำหรับแต่ละ Database ที่ต้องการจัดการ เช่น ตั้งค่า WordPress:

    sudo mysql -u root -p
    CREATE DATABASE wordpress;
    CREATE USER `wpadmin`@`localhost` IDENTIFIED BY 'userpassword';
    GRANT ALL ON wordpress.* TO `wpadmin`@`localhost`;
    FLUSH PRIVILEGES;
    \q

    สร้าง Database WordPress และ User MySQL ชื่อ "wpadmin" รหัส "userpassword" เพื่อจัดการ

  5. ติดตั้งเสร็จ กดไอคอน Applications บน Launcher พิมพ์ "MySQL" ในกล่องค้นหา

  6. ไอคอนโลมา (Dolphin) แทน MySQL Workbench เลือก Dolphin Icon เมื่อปรากฏ

    วิธีสร้าง LAMP Web Server ด้วย Ubuntu
  7. Workbench เปิดครั้งแรก จะเห็น Connection Box ทั่วไปด้านล่าง เลือกมัน แล้วกดไอคอน Wrench (Edit) ด้านบน ข้าง MySQL Connections

    วิธีสร้าง LAMP Web Server ด้วย Ubuntu
  8. หน้าต่างใหม่ ปรับ Connection Info เปลี่ยน Username จาก root เป็นที่คุณเลือก

    วิธีสร้าง LAMP Web Server ด้วย Ubuntu
  9. หากไม่ต้องการพิมพ์รหัสทุกครั้ง เลือก Store in Keychain ข้าง Password ใส่รหัส Database User ปิดหน้าต่าง

  10. เลือก Connection อีกครั้งเพื่อเชื่อมต่อ Database

    วิธีสร้าง LAMP Web Server ด้วย Ubuntu

MySQL Workbench ทรงพลัง แต่ค่อนข้างช้า

แถบด้านซ้ายเลือกด้านต่างๆ ของ MySQL Server:

  • Server Status
  • Client Connections
  • Administer Users and Privileges
  • Manage System Variables
  • Export Data
  • Import Data

Server Status แสดงสถานะ Server Uptime, Load, Connections ฯลฯ

Client Connections แสดงการเชื่อมต่อปัจจุบัน

ใน Users and Privileges เพิ่ม User เปลี่ยนรหัสผ่าน กำหนดสิทธิ์ต่อ Schema ต่างๆ

มุมซ้ายล่าง แสดง Database Schemas เพิ่ม Schema ใหม่ได้ด้วยคลิกขวา Create Schema

ขยาย Schema เพื่อดู Objects: Tables, Views, Stored Procedures, Functions

คลิกขวา Object เพื่อสร้าง Object ใหม่ เช่น Table ใหม่

แผงขวาเป็นพื้นที่ทำงานจริง เช่น สร้าง Table เพิ่ม Columns พร้อม Data Types เพิ่ม Procedures Template สำหรับ Stored Procedure

วิธีติดตั้ง PHPMyAdmin

เครื่องมือยอดนิยมจัดการ MySQL คือ PHPMyAdmin ติดตั้งเพื่อยืนยันว่า Apache, PHP, MySQL ทำงานถูกต้อง

  1. เปิดเทอร์มินัล รัน:

    sudo apt install phpmyadmin
    วิธีสร้าง LAMP Web Server ด้วย Ubuntu
  2. หน้าต่างถาม Web Server ที่ติดตั้ง

    วิธีสร้าง LAMP Web Server ด้วย Ubuntu

    ค่าเริ่มต้นคือ Apache กด Tab ไฮไลท์ OK กด Enter

  3. หน้าต่างถามสร้าง Database เริ่มต้นสำหรับ PHPMyAdmin

    วิธีสร้าง LAMP Web Server ด้วย Ubuntu

    กด Tab เลือก Yes กด Enter

  4. PHPMyAdmin ขอ Username จัดการ Database ค่าเริ่มต้น "phpmyadmin" ใช้ได้ หรือเปลี่ยนชื่อที่จดจำง่าย

  5. สุดท้าย กรอกรหัสผ่านสำหรับ Database PHPMyAdmin ใส่รหัสปลอดภัยสำหรับ Login PHPMyAdmin

    วิธีสร้าง LAMP Web Server ด้วย Ubuntu

    ซอฟต์แวร์ติดตั้งเสร็จ กลับสู่ Command Prompt

  6. อาจไม่ต้องขั้นตอนนี้ บน Ubuntu 20.04 LTS ทดสอบไม่จำเป็น ลองใช้ PHPMyAdmin ก่อน หากไม่ทำงาน ค่อยกลับมาทำขั้นตอนนี้

    รันคำสั่งตั้งค่า Apache สำหรับ PHPMyAdmin:

    sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
    sudo a2enconf phpmyadmin.conf
    sudo systemctl reload apache2.service

    คำสั่งสร้าง Symbolic Link apache.conf จาก /etc/phpmyadmin ไป /etc/apache2/conf-available

    บรรทัดที่ 2 เปิดใช้งาน phpmyadmin config ใน Apache บรรทัดสุดท้าย Restart Apache Service

  7. ตอนนี้ควรใช้ PHPMyAdmin จัดการ Database ได้:

    • เปิด Firefox
    • ใส่ https://localhost/phpmyadmin ใน Address Bar
    • ใส่รหัสผ่าน PHPMyAdmin กด Go
    วิธีสร้าง LAMP Web Server ด้วย Ubuntu
  8. จะเข้าสู่หน้าจัดการ PHPMyAdmin จัดการ Database ได้จากที่นี่

    วิธีสร้าง LAMP Web Server ด้วย Ubuntu

PHPMyAdmin เป็นเครื่องมือเว็บจัดการ MySQL Database

แผงซ้ายแสดง Database Schemas คลิก Schema จะขยายแสดง Objects

แถบไอคอนบนสุดจัดการด้านต่างๆ ของ MySQL:

  • Databases
  • SQL Editor
  • Server Status
  • User Accounts
  • Export Data
  • Import Data
  • Settings
  • Replication
  • Variables
  • Character Sets
  • Engines
  • Plugins

เพิ่มเติม

วิธีสร้าง LAMP Web Server ด้วย Ubuntu

ตอนนี้มี Database Server พร้อม สามารถเริ่มพัฒนา Web Application แบบเต็มรูปแบบ

จุดเริ่มต้นเรียน HTML, CSS, ASP, JavaScript, PHP ที่ดีคือ W3Schools

เว็บไซต์มี Tutorials ครบครัน ง่ายต่อการเข้าใจ สำหรับ Client-side และ Server-side Development

แม้จะไม่ได้ความรู้ลึก แต่จะเข้าใจพื้นฐานและแนวคิดพอเริ่มต้นได้