วิธีใช้ SFTP เพื่อจัดการไฟล์บน WordPress

เผยแพร่แล้ว: 2020-09-18

หากคุณเป็นนักพัฒนาซอฟต์แวร์ คุณจะคุ้นเคยกับการใช้ SFTP เป็นอย่างดี สำหรับพวกเราที่เหลือที่จัดการเว็บไซต์ WordPress ในบางครั้ง การกล่าวถึงการใช้ SFTP เพื่อทำการเปลี่ยนแปลงเว็บไซต์ WordPress ของเราอาจเพียงพอแล้วที่จะทำให้คุณรู้สึกกังวลใจ! อย่ากลัวเลย ในบทความนี้ เราจะมาดูวิธีใช้ SFTP เพื่อจัดการไฟล์บนเว็บไซต์ WordPress ของคุณและให้ตัวอย่างว่าเมื่อใดที่อาจมีประโยชน์โดยเฉพาะเมื่อต้องแก้ไขปัญหา เช่น ข้อความแสดงข้อผิดพลาด และแม้แต่ปัญหาร้ายแรงที่หมายความว่าคุณได้ ถูกปฏิเสธการเข้าถึงผู้ดูแลระบบ WordPress ของคุณ

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

อย่างไรก็ตาม มีงานบางอย่างที่คุณต้องแก้ไขไฟล์ที่เกี่ยวข้องโดยตรงเพื่อสร้างเว็บไซต์ WordPress ของคุณ (ซึ่งโดยทั่วไปแล้วจะมีหลายพันไฟล์) สามารถทำได้ผ่านผู้ดูแลระบบ WordPress ในแนวทางที่จำกัด แต่โดยส่วนใหญ่ คุณจะต้องเข้าถึงไฟล์ที่เก็บไว้บนเซิร์ฟเวอร์โฮสต์เว็บของคุณ ทำได้โดยใช้เครื่องมือเช่น FileZilla หรือ WinSCP ซึ่งเรียกว่าไคลเอ็นต์ SFTP เนื่องจากพวกเขาใช้โปรโตคอลที่เรียกว่า SFTP เพื่อสื่อสารกับเว็บเซิร์ฟเวอร์ของคุณ และในการทำเช่นนั้นทำให้คุณสามารถถ่ายโอนหรืออัปเดตไฟล์บนเซิร์ฟเวอร์นี้ได้อย่างปลอดภัย

มาดูรายละเอียดกันดีกว่าว่า SFTP คืออะไร เหตุใดคุณจึงจำเป็นต้องใช้ และวิธีจัดการไฟล์บนเว็บไซต์ WordPress ของคุณด้วย SFTP

SFTP คืออะไร?

เพื่อให้เข้าใจว่า SFTP คืออะไร เราต้องดูที่สารตั้งต้น…FTP

FTP (หรือ File Transfer Protocol) เป็นโปรโตคอลเครือข่ายมาตรฐานที่สร้างขึ้นบนสถาปัตยกรรมไคลเอนต์-เซิร์ฟเวอร์ และใช้ในการถ่ายโอนไฟล์ระหว่างโฮสต์ FTP หรือเซิร์ฟเวอร์และไคลเอนต์ FTP (คอมพิวเตอร์/ผู้ใช้) บนอินเทอร์เน็ต

โปรโตคอลการถ่ายโอนไฟล์

FTP ได้รับการพัฒนาขึ้นครั้งแรกในปี 1971 และยังคงใช้อยู่ในปัจจุบันในบางสถานการณ์ อนุญาตให้ถ่ายโอนไฟล์โดยตรงระหว่างคอมพิวเตอร์และเซิร์ฟเวอร์ ที่สำคัญ ข้อมูลทั้งหมดที่ถ่ายโอนโดยใช้ FTP มักจะไม่มีการเข้ารหัส ซึ่งหมายความว่าทุกคนสามารถสกัดกั้นการถ่ายโอนนี้ซึ่งเป็นความเสี่ยงด้านความปลอดภัยที่สำคัญ

SFTP เสนอตัวสืบทอดเชิงตรรกะให้กับ FTP ย่อมาจาก Secure File Transfer Protocol และเอาชนะจุดอ่อนหลักประการหนึ่งของ FTP (คือ การขาดการเข้ารหัส) เป็นส่วนขยายของโปรโตคอล SSH และให้ความสามารถแก่ผู้ใช้ในการเชื่อมต่ออย่างปลอดภัยกับเซิร์ฟเวอร์ระยะไกลโดยใช้พอร์ต SSH ปกติ มีข้อดีหลายประการ:

  • ปลอดภัย : ข้อมูลที่ถ่ายโอนผ่านการเชื่อมต่อ SFTP จะถูกเข้ารหัส ซึ่งหมายความว่าข้อมูลใดๆ ที่ถูกดักจับโดยบุคคลที่สามจะไม่สามารถอ่านได้
  • การถ่ายโอนข้อมูลที่เพิ่มขึ้น : สามารถให้ข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ที่ถ่ายโอนผ่าน SFTP ตัวอย่างเช่น ผู้ใช้สามารถเข้าถึงข้อมูลเมตา เช่น วันที่ เวลา ขนาด การอนุญาต และข้อมูลอื่นๆ ได้อย่างแม่นยำ ในขณะที่เซิร์ฟเวอร์ FTP บางตัว โดยเฉพาะเซิร์ฟเวอร์ที่เก่ากว่า อาจมีปัญหาในการอ่านข้อมูลนี้อย่างถูกต้อง (ซึ่งอาจส่งผลให้ข้อมูลมีความผิดปกติ เช่น ข้อมูลเมตาของไฟล์ในเครื่อง ไม่ตรงกับบนเซิร์ฟเวอร์)
  • เป็นมิตรกับไฟร์วอลล์ : SFTP เป็นมิตรกับไฟร์วอลล์เนื่องจากแลกเปลี่ยนข้อมูลผ่านการเชื่อมต่อเดียว ไม่ใช้ช่องทางแยกเช่น FTP จึงไม่บังคับให้ผู้ดูแลระบบเซิร์ฟเวอร์เปิดพอร์ตต่าง ๆ เช่นในกรณีของการเชื่อมต่อ FTP
โปรโตคอลการถ่ายโอนไฟล์ที่ปลอดภัย

ฉันจะเข้าถึงไซต์ WordPress ของฉันผ่าน SFTP ได้อย่างไร

ในการเชื่อมต่อกับเว็บไซต์ WordPress ของคุณผ่านโปรโตคอล SFTP คุณจะต้อง:

  • ไคลเอ็นต์ SFTP ที่เข้ากันได้กับระบบปฏิบัติการของคุณที่อนุญาตให้ผู้ใช้ (ไคลเอนต์) เชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลได้อย่างปลอดภัย
  • ข้อมูลประจำตัว SFTP สำหรับเซิร์ฟเวอร์ที่คุณต้องการเชื่อมต่อ ซึ่งจะรวมถึงชื่อโฮสต์ ชื่อผู้ใช้ รหัสผ่าน และพอร์ต

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

ฉันควรใช้ไคลเอ็นต์ SFTP ใด

มีไคลเอนต์ SFTP ที่ยอดเยี่ยมหลายตัวให้คุณเลือก เป็นโบนัส หลายคนมีอิสระที่จะใช้! หนึ่งในรายการโปรดสำหรับผู้ใช้ Windows คือ WinSCP นอกจากการรองรับ SFTP (อย่างที่คุณคาดไว้!) มันยังรองรับโปรโตคอลอื่นๆ อีกจำนวนหนึ่ง เช่นเดียวกับฟีเจอร์ที่เป็นมิตรต่อผู้ใช้ เช่น การกลับมาทำงานการถ่ายโอนทั้งหมดรวมอยู่ในอินเทอร์เฟซที่ใช้งานง่าย

ทางเลือกยอดนิยมสำหรับ WinSCP คือ Filezilla ซึ่งเข้ากันได้กับ Windows, Linux และ Mac OSX ใช้งานง่าย มีหลายภาษาและรองรับประวัติย่อและการถ่ายโอนไฟล์ขนาดใหญ่

เหตุใดฉันจึงต้องใช้ SFTP เมื่อจัดการเว็บไซต์ WordPress ของฉัน

มีเหตุผลมากมายที่คุณจะใช้ SFTP เพื่อจัดการเว็บไซต์ WordPress เราจะแสดงรายการด้านล่าง

การแก้ไขปัญหา

การเข้าถึงไซต์ WordPress ของคุณผ่าน SFTP อาจมีความสำคัญอย่างยิ่งเมื่อคุณพยายามแก้ไขปัญหา

เปลี่ยนสิทธิ์ของไฟล์

สิทธิ์ของไฟล์จะกำหนดประเภทของการเข้าถึงที่ผู้ใช้อนุญาต สิ่งสำคัญคือต้องตั้งค่าการอนุญาตที่ถูกต้องทันทีหลังจากการติดตั้ง WordPress ไม่เช่นนั้น คุณอาจพบข้อผิดพลาดร้ายแรงหรือพบหน้าจอสีขาวว่างเปล่า หรือแม้แต่ทำให้เว็บไซต์ของคุณมีกิจกรรมที่เป็นอันตราย

สิทธิ์ของไฟล์สามารถ 'ทำลาย' ได้ อย่างไรก็ตาม (บางครั้งโดยไม่มีเหตุผลชัดเจน) และเมื่อสิ่งนี้เกิดขึ้น คุณจะต้องใช้ SFTP เพื่อรีเซ็ตสิทธิ์บนเซิร์ฟเวอร์ของคุณ สัญญาณที่พบบ่อยที่สุดที่เกิดขึ้นคือเมื่อคุณได้รับ "ข้อผิดพลาดต้องห้าม 403" เมื่อพยายามเยี่ยมชม URL ในเว็บไซต์ของคุณหรือถูกปฏิเสธไม่ให้อัปโหลดไฟล์ไปยังไลบรารีสื่อของคุณ

ปัญหาเช่นนี้อาจเกิดขึ้นได้จากหลายสาเหตุ ผู้ร้ายทั่วไปมักเป็นปลั๊กอินที่เปลี่ยนแปลงสิทธิ์ของไฟล์ที่เข้าถึง ดังนั้นการปิดใช้ปลั๊กอินที่เพิ่งติดตั้ง (หรืออัปเดต) ล่าสุดจึงเป็นจุดเริ่มต้นที่ดี

หากคุณกำลังใช้ WinSCP เป็นไคลเอนต์ SFTP ของคุณ คุณสามารถเปลี่ยนสิทธิ์ของไฟล์ของไฟล์หรือโฟลเดอร์โดยคลิกขวาที่ไฟล์นั้นแล้วไปที่เมนู 'คุณสมบัติ'

คุณจะเห็นรายการสิทธิ์ของไฟล์ที่ถูกทำเครื่องหมาย (หรือไม่ถูกทำเครื่องหมาย) และสามารถอัปเดตได้ตามนั้น

แก้ไขการอนุญาตไฟล์ผ่านSFTP

แก้ไข “ใช้งานไม่ได้ในเวลาสั้นๆ สำหรับการบำรุงรักษาตามกำหนดเวลา โปรดกลับมาตรวจสอบอีกครั้งในอีกสักครู่” ข้อความ

ใครก็ตามที่อัปเดตธีมหรือปลั๊กอินบนเว็บไซต์ WordPress ของตนและพยายามดูไซต์ในขณะที่การอัปเดตนี้เกิดขึ้นจะเห็นว่า "ไม่สามารถให้บริการได้ในเวลาสั้น ๆ สำหรับการบำรุงรักษาตามกำหนดเวลา โปรดกลับมาตรวจสอบอีกครั้งในอีกสักครู่” จะแสดงข้อความ

ข้อความนี้ควรเป็นแบบชั่วคราวและจะถูกลบออกโดยอัตโนมัติเมื่อการอัปเดตปลั๊กอินหรือธีมเสร็จสิ้น (ยกเว้นกรณีที่มีการใช้ปลั๊กอินการบำรุงรักษาเพื่อบังคับให้แสดงข้อความนี้) ระหว่างการอัปเดตเช่นนี้ ไฟล์ .maintenance ชั่วคราวจะถูกสร้างขึ้นในโฟลเดอร์รากของเว็บไซต์ของคุณ และเปลี่ยนโหมดสดของเว็บไซต์เป็น "โหมดการบำรุงรักษา" ไฟล์นี้ปกติจะถูกลบหลังจากไม่กี่วินาทีเมื่อการอัปเดตเสร็จสิ้น

อย่างไรก็ตาม ในบางครั้ง ข้อความนี้จะแสดงต่อไปหลังจากการอัปเดตเสร็จสิ้น (ซึ่งแน่นอนว่าค่อนข้างน่ารำคาญ!) ซึ่งอาจเกิดจากการตอบสนองของเซิร์ฟเวอร์ช้า ปัญหาด้านหน่วยความจำ หรือการหมดเวลาของคำขอ ในกรณีเหล่านี้ ไฟล์ .maintenance จะไม่ถูกลบโดยอัตโนมัติตามที่ควรจะเกิดขึ้นภายใต้สถานการณ์ปกติ

ในการแก้ปัญหานี้ คุณสามารถเข้าถึงโฟลเดอร์รูทผ่าน SFTP และลบไฟล์ .maintenance หวังว่านี่จะทำให้เว็บไซต์ของคุณทำงานได้ตามปกติ

หมายเหตุ: เช่นเคย ก่อนดำเนินการใดๆ บนเว็บไซต์ WordPress ของคุณ คุณควร สำรองข้อมูล หากเป็นไปได้

ข้อผิดพลาดที่สำคัญบนเว็บไซต์ของคุณ

การเห็นข้อความ "ข้อผิดพลาดร้ายแรงในเว็บไซต์ของคุณ" ที่แสดงบนไซต์ WordPress ของคุณทำให้ความดันโลหิตของคุณสูงขึ้นโดยเฉพาะอย่างยิ่งเนื่องจากข้อผิดพลาดนี้อาจป้องกันไม่ให้คุณเข้าถึงพื้นที่ผู้ดูแลระบบ (หรือแม้แต่ส่วนหน้าของเว็บไซต์)

ผู้ร้ายในกรณีเหล่านี้มักจะขัดแย้งกันระหว่างปลั๊กอินหรือธีม/ปลั๊กอินและโค้ดที่กำหนดเอง

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

  1. ลงชื่อเข้าใช้เซิร์ฟเวอร์ไซต์ของคุณผ่าน SFTP และไปที่โฟลเดอร์รูทซึ่งคุณจะเห็นโฟลเดอร์ชื่อ 'logs' หากไม่สามารถเข้าถึงได้ ให้พูดคุยกับผู้ให้บริการโฮสต์ของคุณ ภายในบันทึกเหล่านี้ คุณจะพบเอกสารข้อความที่สามารถให้ข้อมูลว่าองค์ประกอบใดในเว็บไซต์ของคุณที่ทำให้เกิดข้อผิดพลาดร้ายแรง
  2. ตัวอย่างเช่น คุณอาจเห็นข้อความแสดงข้อผิดพลาดในบันทึกเหล่านี้ซึ่งมีลักษณะดังนี้:

    “มีข้อผิดพลาด 'ข้อความ PHP: ข้อผิดพลาดร้ายแรงของ PHP: ข้อผิดพลาดที่ไม่ถูกตรวจจับ: ไม่พบคลาส 'WC_Subscriptions_Admin' ใน /******-www/wp-content/plugins/woocommerce-subscriptions/woocommerce-subscriptions.php:73\nStack ติดตาม:\n#0 “

    สิ่งนี้ชี้ให้เราทราบถึงทิศทางของปลั๊กอินการสมัครสมาชิก WooCommerce
  3. ตอนนี้เราได้ระบุผู้ต้องสงสัยที่เป็นไปได้สำหรับข้อผิดพลาดร้ายแรงที่เราจำเป็นต้องปิดการใช้งานปลั๊กอิน คุณสามารถทำได้โดยเปลี่ยนชื่อโฟลเดอร์ คุณอาจเปลี่ยนเป็นบางอย่างเช่น "woocommerce-subscriptions.disabled"
  4. ตอนนี้ ให้ลองเข้าสู่ระบบผู้ดูแลระบบ WordPress ของคุณ หากคุณสามารถ แสดงว่าคุณได้แก้ไขปัญหาแล้ว (บางส่วน) ตอนนี้สิ่งที่ต้องทำคือแก้ไขปัญหาปลั๊กอินที่มีปัญหา
  5. หากคุณไม่สามารถระบุได้ว่าปลั๊กอินใดอาจทำให้เกิดปัญหาจากบันทึกของ WordPress (หรือคุณไม่มีสิทธิ์เข้าถึง) คุณสามารถลองปิดการใช้งานปลั๊กอินทั้งหมด เมื่อต้องการทำสิ่งนี้ให้เปลี่ยนชื่อโฟลเดอร์ 'plugins' หลักเป็น 'plugins.disabled' หากตอนนี้คุณสามารถเข้าถึง WP Admin ได้ คุณจะรู้ว่าปัญหาอยู่ที่ปลั๊กอิน ณ จุดนี้ คุณจะต้องเปลี่ยนชื่อของโฟลเดอร์ปลั๊กอินกลับไปเป็น 'ปลั๊กอิน' จากนั้นปิดใช้งานแต่ละปลั๊กอินทีละรายการโดยเปลี่ยนชื่อจนกว่าคุณจะพบผู้กระทำความผิด

หากการปิดใช้งานปลั๊กอินของคุณไม่สามารถแก้ไขปัญหา 'ข้อผิดพลาดร้ายแรง' ได้ ก็ควรดูว่าธีมของคุณเป็นตัวการหรือไม่ วิธีการในการทำเช่นนี้โดยทั่วไปจะเหมือนกับปลั๊กอิน

  1. เข้าสู่ระบบเซิร์ฟเวอร์ของคุณผ่าน SFTP และไปที่โฟลเดอร์ชื่อ 'wp-content' ในโฟลเดอร์นี้ คุณจะเห็นโฟลเดอร์ชื่อ 'ธีมส์' เปิดสิ่งนี้แล้วคุณจะเห็นธีมที่โหลดอยู่ในปัจจุบัน
  2. เช่นเดียวกับที่เราทำกับปลั๊กอินของเรา ให้เปลี่ยนชื่อธีมที่ใช้งานอยู่ของคุณเพื่อปิดการใช้งาน ซึ่งอาจหมายถึงการเปลี่ยนจาก 'เด่น' (เช่น) เป็น 'salient.disabled'
  3. WordPress ควรเปลี่ยนเป็นธีมเริ่มต้นโดยอัตโนมัติ และคุณสามารถดูได้ว่าตอนนี้คุณสามารถเข้าถึงแผงการดูแลระบบของคุณหรือไม่ (และคำเตือนที่สำคัญหายไป) ถ้าใช่ ตอนนี้คุณจะรู้ว่าปัญหาอยู่ที่ธีมของคุณและหรือขัดแย้งกับธีมและปลั๊กอินของคุณ

ปัญหาไฟล์การกำหนดค่า

ในบางครั้ง คุณอาจพบปัญหาบางอย่างที่สามารถแก้ไขได้โดยการแก้ไขไฟล์การกำหนดค่า WordPress ของคุณ (หรือ wp-config.php) ปัญหาดังกล่าวเกิดขึ้นเมื่อไซต์ WordPress ของคุณไม่สามารถสร้างการเชื่อมต่อฐานข้อมูลได้ เมื่อสิ่งนี้เกิดขึ้น คุณจะเห็นคำเตือนเช่นนี้:

หากเกิดเหตุการณ์นี้กับคุณ คุณสามารถตรวจสอบว่าชื่อผู้ใช้และรหัสผ่านฐานข้อมูลของคุณได้รับการบันทึกอย่างถูกต้องในไฟล์ wp-config.php เปิดไฟล์นี้โดยใช้ไคลเอนต์ SFTP ของคุณและคุณควรเห็นสิ่งนี้:

คุณจะต้องรู้ว่าชื่อผู้ใช้และรหัสผ่านฐานข้อมูลของคุณคืออะไร เพื่อตรวจสอบ/อัปเดตไฟล์นี้ โฮสต์ WordPress ของคุณควรสามารถช่วยคุณได้

งานพัฒนา

ไคลเอ็นต์ SFTP เป็นเครื่องมือที่นักพัฒนาเว็บไซต์จะใช้งานเป็นจำนวนมาก เนื่องจากช่วยให้เข้าถึงไฟล์ที่เข้าสู่เว็บไซต์ได้โดยตรง (และในการดำเนินการดังกล่าวจะควบคุมการเปลี่ยนแปลงที่จำเป็นทั้งหมด) งานทั่วไปที่ดำเนินการโดยนักพัฒนา ได้แก่:

  • แก้ไขไฟล์ functions.php เพื่อสร้างฟังก์ชันแบบกำหนดเอง เพิ่ม hooks/actions การลงทะเบียนหรือละเว้นสคริปต์บางตัว
  • สร้างเทมเพลตที่กำหนดเองสำหรับ WordPress
  • แทนที่เทมเพลตธีม WordPress ด้วยธีมย่อย
  • ปรับแต่งสไตล์ของเว็บไซต์โดยแก้ไขไฟล์ CSS
  • ทำงานกับปลั๊กอินที่กำหนดเอง

การใช้งานอื่นสำหรับ SFTP

การใช้งาน SFTP ทั่วไปคือการถ่ายโอนไฟล์ขนาดใหญ่ที่คุณไม่ต้องการย้ายผ่านบริการโอนไฟล์ออนไลน์ (เช่น เอกสารสำคัญ/เอกสารส่วนตัว) SFTP ยังเหมาะอย่างยิ่งสำหรับการเพิ่มไฟล์ต่างๆ ลงในเว็บเซิร์ฟเวอร์ของคุณเพื่อใช้งานผ่านเว็บไซต์ของคุณ ซึ่งอาจรวมถึงไฟล์ PDF หรือไฟล์ฟอนต์ที่ใช้สร้างฟอนต์ที่ไม่ได้มาตรฐานสำหรับเว็บไซต์ของคุณ

สรุป

การเรียนรู้วิธีเข้าถึงเว็บไซต์ WordPress ของคุณผ่าน SFTP เพื่อจัดการไฟล์ WordPress โดยตรงนั้นเป็นทักษะที่มีประโยชน์ สำหรับผู้ที่จริงจังกับการดูแลและพัฒนาเว็บไซต์ ลูกค้า SFTP และความเข้าใจอย่างถ่องแท้เกี่ยวกับวิธีการใช้งานเป็นส่วนสำคัญของชุดเครื่องมือของพวกเขา

หากคุณไม่เคยเข้าถึงเว็บไซต์ของคุณผ่าน SFTP มาก่อน การดูจำนวนไฟล์ที่ประกอบขึ้นเป็นเว็บไซต์ WordPress อาจเป็นเรื่องน่ารู้ ความคุ้นเคยกับโครงสร้างพื้นฐานของเว็บไซต์ของคุณสามารถนำไปสู่ช่วงเวลา 'ah ha' ได้หลายครั้งเมื่อเรียกดูฟอรัมบน WordPress