วิธีการติดตั้ง Wordpress ด้วย Nginx บน Ubuntu 20.04 LTS

ติดตั้ง WordPress ด้วย LEMP stack บน Ubuntu 20.04 LTS

ไม่ต้องสงสัยเลยว่า WordPress เป็นซอฟต์แวร์จัดการเนื้อหาที่ได้รับความนิยมมากที่สุดในโลกในขณะนี้ คาดว่ามีการสร้างเว็บไซต์สดมากกว่า 27 ล้านเว็บไซต์บนอินเทอร์เน็ตโดยใช้ WordPress แม้แต่ Allthings.how ก็ถูกสร้างขึ้นโดยใช้ WordPress!

อย่างที่คุณอาจทราบแล้วว่า WordPress ต้องการการตั้งค่าเว็บเซิร์ฟเวอร์พร้อมกับระบบจัดการฐานข้อมูล และแน่นอนว่าต้องมีเอ็นจิ้น PHP ในคอมพิวเตอร์ที่จะทำการติดตั้ง ซอฟต์แวร์การจัดการเนื้อหามักต้องการชุดซอฟต์แวร์ดังกล่าว และมักใช้ตัวย่อว่า LAMP (Linux, Apache, MySQL, PHP/Perl/Python) หรือ WAMP (Windows, Apache, MySQL, PHP/Perl/Python) ในบทความนี้ เราจะมาดูวิธีการติดตั้ง WordPress โดยใช้ LEMP (Linux, Nginx, MySQL, PHP) stack บนระบบ Ubuntu

การติดตั้ง LEMP Stack และ WordPress

ในการติดตั้งสแต็กให้รัน:

อัปเดต sudo apt sudo apt ติดตั้ง nginx mysql-server mysql-client php php-fpm php-mysql

บันทึก: สำหรับ Ubuntu เวอร์ชันเก่า (เวอร์ชัน 14.04 และต่ำกว่า) คุณต้องใช้ apt-get แทน ฉลาด.

แพ็คเกจ php-fpm เป็นทางเลือก แต่ขอแนะนำอย่างยิ่ง มันติดตั้ง PHP Fast CGI Process Manager ซึ่งใช้เพื่อเพิ่มประสิทธิภาพการทำงานของแบ็กเอนด์ ผู้ใช้ยังสามารถเลือกโอเพ่นซอร์สแทนที่ MariaDB ที่เป็นที่นิยมแทน MySQL ซึ่งต้องการการกำหนดค่าเดียวกันกับ MySQL

ในการติดตั้ง WordPressเราเพียงแค่ต้องดาวน์โหลดและเปิดเครื่องรูด เราแตกไฟล์ในโฟลเดอร์ /var/www/htmlซึ่งเป็นโฟลเดอร์รูทเริ่มต้นสำหรับเว็บเซิร์ฟเวอร์ใน Linux

cd /var/www/html sudo wget //wordpress.org/latest.zip sudo unzip ล่าสุด.zip cd wordpress

กำหนดค่า Nginx สำหรับ WordPress

ตอนนี้ เพื่อความง่าย เราต้องการชี้โดเมน 127.0.0.1 (localhost) เพื่อติดตั้ง WordPress ของเรา สำหรับการติดตั้งที่ใช้งานจริง ผู้ใช้ต้องใช้ชื่อโฮสต์หรือที่อยู่ IP ของระบบในการกำหนดค่า Nginx

อันดับแรก, สร้างไฟล์ใหม่/etc/nginx/sites-available/localhost ใช้ vim หรือโปรแกรมแก้ไขที่คุณเลือก:

sudo vim /etc/nginx/sites-available/localhost

ถัดไป ป้อนการกำหนดค่า Nginx ต่อไปนี้ในไฟล์:

เซิร์ฟเวอร์ { ฟัง 80; ฟัง [::]:80; รูท /var/www/html/wordpress; ดัชนี index.php; server_name 127.0.0.1; ตำแหน่ง / { try_files $uri $uri/ =404; } ตำแหน่ง ~ \.php$ { fastcgi_pass unix:/run/php/php7.3-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; รวม fastcgi_params; } }

สิ่งที่คุณต้องแก้ไข ในไฟล์กำหนดค่าด้านบน:

  • ชื่อเซิร์ฟเวอร์: เปลี่ยนเป็นชื่อโดเมนของคุณ
  • เวอร์ชัน PHP FPM: เส้น fastcgi_pass unix:/run/php/php7.0-fpm.sock ควรเปลี่ยนตามเวอร์ชัน PHP FPM (เช่น เวอร์ชัน PHP เนื่องจากที่เก็บ Ubuntu อัปเดต PHP และ PHP FPM เป็นเวอร์ชันเดียวกัน) เมื่อต้องการทำเช่นนี้ ให้เรียกใช้ php -v, เพื่อดูเวอร์ชัน ตัวอย่างเช่น หากเวอร์ชัน 7.4 ให้เปลี่ยนบรรทัดด้านบนเป็น fastcgi_pass unix:/run/php/php7.4-fpm.sock

โดยพื้นฐานแล้ว เรากำลังกำหนดค่า Nginx เพื่อส่งคำขอไปยัง 127.0.0.1 ไปยังโฟลเดอร์รูท WordPress ของเรา เราระบุไฟล์ดัชนี (ไฟล์ดัชนี WordPress คือ index.php) และพารามิเตอร์ PHP FPM บางตัว สำหรับคำอธิบายแบบเต็มเกี่ยวกับคำสั่งไฟล์การกำหนดค่า Nginx โปรดดูที่เอกสารประกอบ Nginx

กด หนี เพื่อไปที่โหมดคำสั่ง vim จากนั้นพิมพ์ :wq เพื่อบันทึกและออกจากไฟล์

ต่อไปเราต้อง สร้างลิงค์สัญลักษณ์ สำหรับไฟล์นี้ในโฟลเดอร์ Nginx Sites Enabled:

sudo ln -s /etc/nginx/sites-available/localhost /etc/nginx/sites-enabled

กำหนดค่า MySQL สำหรับ WordPress

เปิด MySQL พร้อมรับคำสั่งโดยใช้:

mysql -u root -p

ค่าเริ่มต้น ราก ผู้ใช้ถูกสร้างขึ้นโดย MySQL ระหว่างการติดตั้ง โดยใช้รหัสผ่านเดียวกับรหัสผ่านรูทของระบบ และมีสิทธิ์ระดับผู้ดูแลระบบ MySQL คุณสามารถใช้ผู้ใช้รายอื่นได้หากคุณได้สร้างผู้ใช้ MySQL อื่นแล้ว อย่างไรก็ตาม ตรวจสอบให้แน่ใจว่าผู้ใช้มีสิทธิ์ในการสร้างฐานข้อมูล

บนพรอมต์ MySQL ให้พิมพ์ SQL to . ต่อไปนี้ สร้างฐานข้อมูลใหม่ สำหรับการติดตั้ง WordPress ของเรา:

mysql> สร้างชื่อฐานข้อมูลฐานข้อมูล;

☝เปลี่ยน ชื่อฐานข้อมูลในคำสั่งด้านบนตามที่คุณต้องการ

จากนั้นสร้างชื่อผู้ใช้และรหัสผ่านในฐานข้อมูลซึ่งเราจะใช้ไฟล์ wp_config ในภายหลังในคำแนะนำ

mysql> ให้สิทธิ์ทั้งหมดในชื่อฐานข้อมูล * เป็น "wordpressusername"@"localhost" -> ระบุด้วย "รหัสผ่าน"; 

☝เปลี่ยน เวิร์ดเพรสชื่อผู้ใช้ และ รหัสผ่านตามที่คุณต้องการและ ชื่อฐานข้อมูล กับสิ่งที่คุณตั้งค่าไว้ในคำสั่งก่อนหน้า

ในที่สุด เรียกใช้ ล้าง สั่งแล้ว ทางออก พรอมต์ MySQL

mysql> ล้างสิทธิ์; 
mysql> EXIT

ตอนนี้ไปที่โฟลเดอร์รูทของ WordPress เราต้องสร้างการเชื่อมต่อ MySQL ในไฟล์กำหนดค่า WordPress:

cd /var/www/html/wordpress

สร้างไฟล์กำหนดค่า WordPress โดยการคัดลอกไฟล์การกำหนดค่าตัวอย่าง:

sudo cp wp-config-sample.php wp-config.php

เปิดไฟล์การกำหนดค่าในกลุ่มหรือโปรแกรมแก้ไขที่คุณเลือก:

sudo vim wp-config.php

เปลี่ยนตัวแปร PHP DB_NAME, DB_USER, DB_PASSWORD ในไฟล์:

กำหนด ('DB_NAME', 'ชื่อฐานข้อมูล' ); /** ชื่อผู้ใช้ฐานข้อมูล MySQL */ กำหนด ( 'DB_USER', 'wordpressusername' ); /** รหัสผ่านฐานข้อมูล MySQL */ กำหนด ( 'DB_PASSWORD', 'รหัสผ่าน' );

กด หนี เพื่อไปที่โหมดบรรทัดคำสั่ง vim พิมพ์ :wq แล้วกด เข้า เพื่อบันทึกและออกจากไฟล์

การติดตั้งขั้นสุดท้าย

แก้ไขการอนุญาตไดเรกทอรีในโฟลเดอร์ wordpress เพื่อเปิดใช้งานการเข้าถึงจากเบราว์เซอร์

sudo chmod -R 755 .

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

ในที่สุด, รีสตาร์ท Nginx เพื่อให้การกำหนดค่าใหม่เกิดขึ้น:

บริการ sudo nginx รีสตาร์ท

เปิดชื่อโดเมนเว็บไซต์ของคุณ (ตามที่กำหนดค่าใน ชื่อเซิร์ฟเวอร์ ในไฟล์กำหนดค่า Nginx ) ในเว็บเบราว์เซอร์เพื่อตรวจสอบว่า WordPress ใช้งานได้หรือไม่ ควรเปลี่ยนเส้นทางคุณไปยังหน้าจอการตั้งค่าเริ่มต้นของ WordPress

ป้อนรายละเอียดและตั้งค่า WordPress ของคุณให้เสร็จสิ้น