ตั้งค่า WordPress บนเซิร์ฟเวอร์ Linux - เปิดเว็บไซต์หรือบล็อกของคุณเอง
ผลิตภัณฑ์ที่เหมาะสำหรับคู่มือนี้
เริ่มต้นทันที — สั่งซื้อผลิตภัณฑ์ที่เหมาะสมและทำตามคู่มือนี้ทีละขั้นตอน
แนะนำ
WordPress คือระบบจัดการเนื้อหาเว็บยอดนิยมที่ใช้สำหรับจัดการและเผยแพร่เว็บไซต์ ปัจจุบัน WordPress ได้พัฒนาไปสู่หลากหลายด้าน เช่น เมล ฟอรัม ร้านค้า และอื่นๆ อีกมากมาย ซึ่งได้รับการสนับสนุนจากชุมชนที่แข็งแกร่งที่สร้างระบบปลั๊กอินและเทมเพลตที่ช่วยให้ผู้ใช้ทั่วไปสามารถตั้งค่าได้ง่าย ในคู่มือนี้ เราจะครอบคลุมขั้นตอนการติดตั้ง WordPress CMS บนเซิร์ฟเวอร์ Linux
ติดตั้ง WordPress ด้วย One Click Apps Installer
คุณสามารถติดตั้ง WordPress ได้โดยตรงผ่าน One Click Apps Installer ในเว็บอินเทอร์เฟซของ VPS หลังจากตั้งค่าแอปเริ่มต้นเสร็จแล้ว ให้เปิดแคตตาล็อกแอป ค้นหา WordPress และเริ่มการติดตั้งพร้อมตั้งค่าโปรเจกต์ สภาพแวดล้อม และโดเมนที่คุณต้องการ วิธีนี้ช่วยให้คุณติดตั้งและจัดการ WordPress ได้อย่างรวดเร็วและง่ายดายโดยไม่ต้องตั้งค่าด้วยคำสั่งในเทอร์มินัลเอง พร้อมทั้งยังได้ประโยชน์จากการจัดการผ่านเว็บ การรองรับโดเมนที่กำหนดเอง และการจัดเตรียม SSL เมื่อมีให้ใช้งาน
การเตรียมตัว
เริ่มต้นด้วยการเชื่อมต่อกับเซิร์ฟเวอร์ของคุณผ่าน SSH หากคุณไม่รู้วิธีทำ โปรดดูที่ คู่มือการเข้าถึงเบื้องต้น (SSH)
ในคู่มือนี้ เราจะใช้ดิสโทร Ubuntu ร่วมกับ Apache เป็นเว็บเซิร์ฟเวอร์, MySQL สำหรับฐานข้อมูล และ PHP เป็นตัวหลัก ซึ่งเรียกกันว่า LAMP stack: Linux, Apache, MySQL และ PHP
เมื่อเข้าสู่ระบบแล้ว ให้เริ่มด้วยการรันคำสั่งอัปเดต
sudo apt update
จากนั้นคุณสามารถติดตั้ง dependencies ที่จำเป็นทั้งหมดได้เลย คัดลอกคำสั่งด้านล่างทั้งหมดแล้ววางเพื่อทำการติดตั้งพร้อมกันทั้งหมด รอสักครู่เพราะอาจใช้เวลาติดตั้ง
sudo apt install apache2 \
ghostscript \
libapache2-mod-php \
mysql-server \
php \
php-bcmath \
php-curl \
php-imagick \
php-intl \
php-json \
php-mbstring \
php-mysql \
php-xml \
php-zip
เมื่อ dependencies ติดตั้งเสร็จแล้ว มีขั้นตอนแนะนำเล็กน้อยที่ควรทำเพื่อให้แน่ใจว่า LAMP stack ทำงานได้ครบถ้วน
Apache & ไฟร์วอลล์
เริ่มต้นด้วยการตั้งค่าไฟร์วอลล์เพื่อให้ Apache เว็บเซิร์ฟเวอร์สามารถสื่อสารกับอินเทอร์เน็ตได้และทำงานได้อย่างถูกต้อง จำเป็นต้องสร้างกฎไฟร์วอลล์ที่เหมาะสมเพื่อให้เว็บเซิร์ฟเวอร์เข้าถึงได้จากอินเทอร์เน็ต
ในตัวอย่างนี้ เราจะใช้ UFW Firewall เพราะ Apache มีแอปพลิเคชันที่ลงทะเบียนไว้สำหรับนี้ หากคุณใช้ไฟร์วอลล์อื่น ให้แน่ใจว่าอนุญาตพอร์ต 80 (HTTP) ผ่านไฟร์วอลล์ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับไฟร์วอลล์ใน Linux ได้จาก คู่มือจัดการไฟร์วอลล์
ตรวจสอบว่าเปิดใช้งาน UFW firewall แล้ว และสร้างกฎสำหรับ SSH ด้วย
# สร้างกฎอนุญาต SSH
sudo ufw allow OpenSSH
# เปิดใช้งาน UFW Firewall
sudo ufw enable
อย่าลืมสร้างกฎสำหรับ SSH หากใช้ UFW Firewall! หากไม่ทำ คุณจะ ไม่สามารถ SSH เข้าเซิร์ฟเวอร์ได้อีกหากการเชื่อมต่อปัจจุบันหลุด!
ตอนนี้สร้างกฎอนุญาต Apache และตรวจสอบว่ากฎถูกสร้างแล้ว
# สร้างกฎอนุญาต Apache
sudo ufw allow in "Apache Full"
# ตรวจสอบกฎไฟร์วอลล์ UFW
sudo ufw status
คุณสามารถดูโปรไฟล์ที่มีได้โดยรันคำสั่ง ufw app list ในตัวอย่างนี้ การใช้ Apache Full หมายความว่าจะสร้างกฎทั้ง HTTP (พอร์ต 80) และ HTTPS (พอร์ต 443)
คุณควรเห็นกฎ Apache และ Apache (v6) พร้อมสถานะ ALLOW ซึ่งยืนยันว่าไฟร์วอลล์พร้อมใช้งานแล้ว รวมถึงกฎอื่นๆ ที่คุณตั้งไว้ก่อนหน้านี้ เช่น กฎ SSH
เมื่อไฟร์วอลล์เปิดให้ Apache แล้ว ให้ตรวจสอบว่า Apache ทำงานได้โดยลองเข้าถึงที่อยู่ IP ของคุณผ่านเบราว์เซอร์ เช่น http://[your_ipaddress]
ถ้าทำงานได้ คุณจะเห็นหน้าเว็บต้อนรับเริ่มต้น หากไม่เห็น ให้ตรวจสอบสถานะบริการด้วยคำสั่ง: systemctl status apache2
การตั้งค่า MySQL
ขั้นตอนต่อไปคือการตั้งค่า MySQL ครั้งแรก แนะนำให้รันสคริปต์ติดตั้งแบบปลอดภัยเพื่อให้เซิร์ฟเวอร์ MySQL ของคุณปลอดภัยมากขึ้น เป็นขั้นตอนเสริมแต่แนะนำอย่างยิ่ง รันคำสั่ง sudo mysql_secure_installation
ระบบจะพาคุณผ่านการตั้งค่าแบบโต้ตอบ เริ่มต้นจะถามเกี่ยวกับการตรวจสอบรหัสผ่าน แนะนำให้เลือก Y เพื่ออนุญาตเฉพาะรหัสผ่านที่ปลอดภัย จากนั้นเลือกระดับ MEDIUM โดยกด 1 หรือ STRONG โดยกด 2
ถัดไปจะถามเกี่ยวกับการลบผู้ใช้ anonymous และปิดการล็อกอิน root จากระยะไกล แนะนำให้ตอบ Y ทั้งสองข้อเพื่อความปลอดภัย ซึ่งจะลบผู้ใช้ทดสอบและจำกัด root ให้ล็อกอินได้เฉพาะผ่าน SSH บนเครื่องเท่านั้น ลดความเสี่ยง
สุดท้ายจะถามเกี่ยวกับการลบฐานข้อมูล test และโหลดตารางสิทธิ์ใหม่ อีกครั้งแนะนำให้ตอบ Y เพราะฐานข้อมูลทดสอบไม่จำเป็น และต้องโหลดตารางสิทธิ์ใหม่เพื่อให้การตั้งค่ามีผล
ตรวจสอบว่า MySQL ทำงานโดยลองล็อกอินด้วยคำสั่ง: sudo mysql -u root หากสำเร็จจะเห็นข้อความต้อนรับ สามารถออกได้ด้วยคำสั่ง quit
ทดสอบ PHP
สุดท้ายให้ตรวจสอบว่า PHP ทำงานได้ตามคาด โดยสร้างไฟล์ info.php ในไดเรกทอรี Apache /var/www/html/ ที่มีคำสั่ง phpinfo()
# เปิด nano editor ที่ไฟล์ใหม่
nano /var/www/html/info.php
# วางโค้ดนี้ลงไป
<?php
phpinfo();
?>
บันทึกไฟล์โดยกด CTRL+X ตามด้วย Y และกด Enter เพื่อยืนยันการเปลี่ยนแปลง
จากนั้นเข้าถึง URL นี้ในเบราว์เซอร์ หาก PHP ทำงานถูกต้องจะเห็นหน้าแสดงข้อมูล PHP
http://[your_ipaddress]/info.php
เมื่อทดสอบ dependencies หลักของ LAMP แล้วเรียบร้อย คุณก็พร้อมสำหรับการติดตั้ง WordPress ตัวจริง
การติดตั้ง
การติดตั้ง WordPress แบ่งออกเป็นสามส่วน เริ่มจากเตรียมฐานข้อมูล MySQL ตามด้วยติดตั้ง WordPress และสุดท้ายตั้งค่าผ่านตัวช่วยตั้งค่า WordPress
ฐานข้อมูล MySQL
เริ่มต้นด้วยการสร้างฐานข้อมูล MySQL ใหม่ จำเป็นต้องจำข้อมูลนี้ไว้ใช้ในตัวช่วยตั้งค่า WordPress ต่อไป เราแนะนำให้ใช้ตัวอย่างของเรา
คัดลอกคำสั่งด้านล่างเพื่อสร้างฐานข้อมูล ตาราง และผู้ใช้ที่จำเป็น
# เข้าสู่ระบบ MySQL
sudo mysql -u root
# สร้างฐานข้อมูล
CREATE DATABASE wordpress;
# สร้างผู้ใช้ wordpress เฉพาะ
# แทนที่ [your_password] ด้วยรหัสผ่านของคุณเอง
CREATE USER wordpress@localhost IDENTIFIED BY '[your_password]';
# กำหนดสิทธิ์ให้ผู้ใช้ (คัดลอกทั้งหมดเป็นคำสั่งเดียว)
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
ON wordpress.*
TO wordpress@localhost;
# โหลดตารางสิทธิ์ใหม่
FLUSH PRIVILEGES;
เมื่อสร้างฐานข้อมูลและผู้ใช้เสร็จแล้ว ออกจาก MySQL ด้วยคำสั่ง quit ตอนนี้คุณพร้อมติดตั้ง WordPress แล้ว
การติดตั้ง WordPress
สำหรับการติดตั้ง WordPress หลัก เราแนะนำให้ใช้ไฟล์ release จาก wordpress.org โดยตรงแทนการใช้แพ็กเกจ APT เพราะ WordPress แนะนำวิธีนี้เพื่อหลีกเลี่ยงปัญหาที่อาจเกิดขึ้น
ดาวน์โหลดไฟล์ล่าสุดด้วยคำสั่งนี้ ซึ่งจะดาวน์โหลดไฟล์ release ล่าสุดไปยังไดเรกทอรีชั่วคราว
cd /tmp && wget https://wordpress.org/latest.tar.gz
แตกไฟล์ archive ซึ่งจะได้โฟลเดอร์ wordpress ที่มีไฟล์ทั้งหมดที่จำเป็น
tar -xvf latest.tar.gz
หลังจากแตกไฟล์แล้ว ให้คัดลอกโฟลเดอร์ไปยังไดเรกทอรี Apache /var/www/html/ เพื่อให้เข้าถึงผ่านเว็บได้ รันคำสั่งด้านล่างเพื่อคัดลอก สร้างไดเรกทอรี uploads และปรับสิทธิ์ให้กลุ่ม www-data ของเว็บเซิร์ฟเวอร์เข้าถึงได้
# คัดลอกโฟลเดอร์ wordpress และปรับเจ้าของไฟล์
cp -R wordpress /var/www/html/
chown -R www-data:www-data /var/www/html/wordpress/
# สร้างไดเรกทอรี uploads
mkdir /var/www/html/wordpress/wp-content/uploads
# ปรับสิทธิ์ไฟล์
chmod -R 755 /var/www/html/wordpress/
chown -R www-data:www-data /var/www/html/wordpress/wp-content/uploads/
เมื่อเสร็จแล้ว WordPress ควรติดตั้งเรียบร้อย เข้าถึงตัวช่วยตั้งค่า WordPress ได้ที่: http://[your_ipaddress]/wordpress
ตัวช่วยตั้งค่า
ผ่านตัวช่วยตั้งค่า คุณสามารถกำหนดค่า WordPress ซึ่งเป็นขั้นตอนสุดท้ายของการติดตั้ง เริ่มต้นจะให้เลือกภาษา
จากนั้นจะต้องตั้งค่าฐานข้อมูล คุณได้เตรียมไว้แล้วในส่วน MySQL ของการติดตั้ง ดังนั้นให้ใช้ข้อมูลเดียวกัน หากทำตามตัวอย่าง ให้กรอกข้อมูลดังนี้ โดยแทนที่ [your_password] ด้วยรหัสผ่านที่ตั้งไว้ก่อนหน้า
เมื่อกรอกเสร็จ คุณจะถูกถามให้เริ่มติดตั้ง นี่คือขั้นตอนสุดท้ายของการตั้งค่า
ในหน้าถัดไป คุณจะต้องกรอกข้อมูลต่างๆ เช่น ชื่อเว็บไซต์ อีเมล ชื่อผู้ใช้ และรหัสผ่านสำหรับบัญชี root ของ WordPress เพื่อเข้าแดชบอร์ด คุณยังสามารถเลือกว่าจะให้เว็บไซต์ถูกค้นหาโดยเสิร์ชเอนจินหรือไม่
อย่าลืมเลือกใช้รหัสผ่านที่แข็งแรงและเก็บข้อมูลล็อกอินไว้ให้ดี เพื่อไม่ให้เสียการเข้าถึงแดชบอร์ด WordPress!
เมื่อพร้อมแล้ว กดปุ่ม Install WordPress เพื่อจบขั้นตอนการติดตั้ง
คุณจะถูกพาไปยังหน้าสำเร็จที่เปลี่ยนเส้นทางไปยังหน้า Log In กดเข้าไปแล้วใช้ข้อมูลล็อกอินเพื่อเข้าสู่แดชบอร์ด WordPress ครั้งแรกได้เลย!
และแค่นี้ เมื่อเข้าสู่ระบบสำเร็จ คุณก็จะอยู่ในแดชบอร์ด WordPress ของคุณ พร้อมติดตั้งเสร็จสมบูรณ์
สรุป
ยินดีด้วย คุณติดตั้งและตั้งค่า WordPress สำเร็จแล้ว! ขั้นตอนต่อไป เรา แนะนำอย่างยิ่ง ให้ตั้งค่าโดเมนและ ใบรับรอง SSL เพื่อให้ข้อมูลถูกส่งอย่างปลอดภัยและทำให้แดชบอร์ด WordPress เข้าถึงง่ายขึ้น โปรดดู คู่มือ Certbot โดยเน้นที่ Apache Plugin และทำตามขั้นตอนแบบโต้ตอบเพื่อสร้างใบรับรองสำหรับโดเมนที่คุณเลือกได้อย่างรวดเร็วและง่ายดาย
สำหรับการอ่านเพิ่มเติมและตั้งค่าเพิ่มเติม เราแนะนำให้ดูคู่มือ ปลั๊กอิน WordPress และ WordPress Elementor ซึ่งอธิบายการติดตั้งปลั๊กอินและการใช้ตัวสร้างหน้าเว็บยอดนิยมที่ใช้งานง่ายอย่าง Elementor
หากมีคำถามหรือต้องการความช่วยเหลือ อย่าลังเลที่จะติดต่อทีมซัพพอร์ตของเรา ซึ่งพร้อมให้บริการทุกวันเพื่อช่วยเหลือคุณ! 🙂