หลังจากติดตั้งเสร็จ อัพเดท&อัพเกรดเวอร์ชันให้เป็นปัจจุบัน
sudo apt update && sudo apt upgrade -y# คำสั่ง config Timezone(ไทย) แบบถาวรรีสตาร์ทเครื่องค่าไม่หาย(permanent)
sudo timedatectl set-timezone Asia/Bangkok
# คำสั่งดู timeZone
timedatectl
### โปรดระวังหากใช้คำสั่ง tzselect ใช้ง่ายแต่จะเป็นการเปลี่ยน timezone แบบชั่วคราวเท่านั้นเคสนี้เราจะไม่ใช้APACHE
2. ติดตั้ง Apache Webservice (apache2) on Ubuntu Server 22.04
#ติดตั้งเซอร์วิส Apache
sudo apt install apache2 -y
#คำสั่งเช็คเวอร์ชั่น
apache2 -v
#คำสั่งเช็คเช็ค service เปิดให้บริการหรือไม่ต้องขึ้นเป็น "Active" สีเขียว
service apache2 status
#ทดสอบเรียกหน้าเว็บโดยใช้คำสั่ง CURL หากมีแท็ก html แสดงขึ้นมาเป็นอันใช้ได้
CURL localhost
MYSQL
3. ติดตั้งฐานข้อมูล MySQL on Ubuntu Server 22.04
ฐานข้อมูลตระกูล MySQL มีหลายเจ้าให้เลือกใช้ต้องศึกษาเพิ่มเติมเอาเอง (ผู้เขียนแนะนำ MariaDB) แต่ในดราฟนี้ใช้จะเป็น MySQL-Server
- หากติดตั้งอยู่แล้วหรือคอนฟิกผิดพลาดให้ลบแพ็คเกจเก่าออกก่อน
#ลบ MySQL
sudo apt-get remove mysql* --purge
sudo apt-get autoremove
sudo apt-get autoclean- คำสั่งติดตั้งฐานข้อมูล MySQL
#ติดตั้ง
sudo apt install mysql-server -y
#เช็คเวอร์ชั่นหากติดตั้งสำเร็จ
sudo mysql -V- เมื่อติดตั้งเสร็จ MySQL 8.0 ฐานข้อมูลจะมีค่าเริ่มต้น (Default Config) ที่ไม่ปลอดภัยจำเป็นต้องตั้งค่าใหม่โดยใช้สคริปที่ชื่อว่า “mysql_secure_installation”
****(ดอกจัน) MySQL 8.0 จะเกิดข้อผิดพลาดของสคริปที่ไม่สามารถเปลี่ยนรหัส Root และติดอยู่ใน loop ออกไปไหนไม่ได้ ดังข้อความต่อไปนี้
Output
… Failed! Error: SET PASSWORD has no significance for user ‘root’@’localhost’ as the authentication method used doesn’t store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.New password:
ดังนั้น ก่อนที่จะใช้ mysql_secure_installation จำเป็นต้องรันคำสั่งแก้ไขสิทธิ์ root ในระบบฐานข้อมูล ให้เปลี่ยนการล็อกอินเป็นแบบเก่า — native_password คือล็อกอินด้วยยูสเซอร์พาสเวิร์ด (Password-based) ก่อน !!
จากเดิม (default) MySQL ล็อกอินด้วยวิธี —auth_socket คือใช้ local user ของระบบปฏิบัติการตระกูลยูนิกซ์ (UNIX) ที่ได้สิทธิ์เป็น Root ถึงจะให้เข้าใช้งานฐานข้อมูลได้แบบไม่ต้องใส่รหัสผ่าน (Passwordless)
เลยเป็นเหตุผลว่าทำไม? เราถึงรันคำสั่ง “sudo mysql” แล้วใส่รหัสยกสิทธิ์รูทของ Ubuntu เฉยๆ ก็เข้าฐานข้อมูลได้เลย — โดยที่ยังไม่ทันได้ใส่ user password ของ mysql เลยด้วยซ้ำ
REF: “In MySQL 8.0,
caching_sha2_passwordis the default authentication plugin rather thanmysql_native_password, which was the default in MySQL 5.7”
- แก้ไขโดยใช้คำสั่งเปลี่ยนการยืนยันตัวตนของยูสเซอร์ root และตั้งรหัสใหม่เป็นคำว่า “password”
# เข้าฐานข้อมูลแบบ Command-line ด้วยคำสั่ง
sudo mysql
# (เพิ่มเติม)หากมีการใช้ user password อื่นๆให้ใช้คำสั่ง
mysql -uชื่อยูสเซอร์ -pALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
#รันคำสั่ง
sudo mysql_secure_installation
#ระบบจะถามหารหัสผ่าน root ซึ่งเราได้เปลี่ยนใหม่เป็นคำว่า "password" หรือตามที่ผู้อ่านตั้งไว้เองข้างต้น
Securing the MySQL server deployment.
Enter password for user root: ใส่รหัสรูท- จากนั้นสคริปจะทำงานเพื่อตั้งค่าความปลอดภัยให้ฐานข้อมูล ตามภาพต่อไป

All done! เสร็จสิ้นการตั้งค่าความปลอดภัยฐานข้อมูล mysql เบื้องต้นแล้ว
PHP
4. ติดตั้งตัวประมวลผล PHP on Ubuntu Server 22.04
เนื่องจาก PHP เป็นตัวประมวลผลที่สามารถเชื่อมต่อกับฐานข้อมูล MySql ได้แต่เมื่ออยู่บน Apache จำเป็นต้องมีการปรับแต่งไลบารี่เพื่อให้สามารถทำงานได้ โดยใช้แพคเกจ libapache2-mod-php ดังนี้
sudo apt install php libapache2-mod-php php-mysql -y
#คำสั่งตรวจสอบเวอร์ชั่นที่ติดตั้ง PHP สำเร็จแล้วได้เป็น Version 8.1.2
php -v#(**ส่วนนี้ยังไม่ต้องคอนฟิก)
# NOTE การตั้งค่าระบบ PHP.ini ที่ใช้บ่อย
ไฟล์คอนฟิกอยู่ที่พาธ /etc/php/8.1/apache2/php.ini
upload_max_filesize = 96M
post_max_size = 64M
memory_limit = 512M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000phpMyAdmin
5. ติดตั้งระบบจัดการฐานข้อมูล phpMyadmin on Ubuntu Server 22.04
เมื่อเรามีฐานข้อมูล MySQLจากข้อ 3 แล้ว การบริหารจัดการข้อมูลด้วยคำสั่งแบบ CLI เป็นเรื่องยุ่งยากพอสมควร เราจึงต้องติดตั้งระบบจัดการแบบ GUI (web-base) เพื่อให้ใช้ง่ายขึ้นฐานข้อมูลง่ายขึ้น
ติดตั้งโปรแกรม phpMyAdmin
#ติดตั้ง phpmyadmin
sudo apt install phpmyadmin
#*** หากไม่ขึ้นหน้าสีชมพู ให้ใช้คำสั่งนี้
sudo apt install phpmyadmin --fix-missing


รหัสผ่าน phpMyAdmin ใช้สำหรับระบบหลังบ้านของ phpMyAdmin ตั้งครั้งเดียวแล้วไม่ต้องจำเพราะจะถูกเก็บไว้ที่ไฟล์ /etc/phpmyadmin/config-db.php
ติดตั้งส่วนขยายของ PHP
## ติดตั้งส่วนขยายของ PHP ที่ต้องใช้รัน phpmyadmin
sudo apt install php-mbstring -y
sudo apt install php-zip #<< คำสั่งนี้อาจติดErrorดาวน์โหลดpackageไม่ได้ ให้ทำคำสั่งต่อไปเลย
sudo apt install php-gd -y
sudo apt install php-json -y
sudo apt install php-curl -y
sudo phpenmod mbstring#สุดท้าย รีสตาร์ทเซอร์วิส apache
sudo service apache2 restart
ไม่มีความคิดเห็น:
แสดงความคิดเห็น