กำหนดสิทธิ์ไฟล์และโฟลเดอร์หลังติดตั้ง WordPress

ปัญหาที่มักจะเกิดขึ้นหลังจากติดตั้ง WordPress บนโฮสติ้งที่ใช้ Control Panel ที่ไม่ใช่ Cpanel เช่น อัพโหลดไฟล์ไม่ได้ ตั้ง Permalinks ไม่ได้ หรือแก้ไขไฟล์ธีมไม่ได้เป็นต้น

วันนี้จะเสนอวิธีแก้ไขง่าย ๆ สำหรับปัญหาดังกล่าว ซึ่งควรที่จะศึกษาไว้ และ/หรือควรทำหลังจากติดตั้ง WordPress เสร็จ นั่นคือ

  1. สร้างโฟลเดอร์ uploads ไว้ในโฟลเดอร์ wp-content แล้วทำการ chmod 777 ให้กับโฟลเดอร์ uploads ด้วย เพื่อทำให้เราสามารถอัพโหลดไฟล์ต่าง ๆ ได้ ไม่มีปัญหา
  2. ทำการ chmod 777 ให้กับไฟล์และโฟลเดอร์ธีมต่าง ๆ ในโฟลเดอร์ wp-content/themes เพื่อเราจะสามารถแก้ไขไฟล์ธีมต่าง ๆ ได้อย่างสะดวกผ่าน Dashboard ของ WordPress
  3. สร้างไฟล์ .htaccess เปล่า ๆ แล้วอัพขึ้นไปไว้ในโฟลเดอร์ที่ติดตั้ง WordPress หรือไว้ตาม Blog URL แล้วทำการ chmod 777 ให้กับไฟล์ .htaccess เพื่อใช้สำหรับในการตั้งค่า Permalinks จะทำให้ WordPress ทำการอัพเดท Permalinks ได้ทันที

ปัญหาเหล่านี้ จะไม่เกิดขึ้นหากใช้งานบนเครื่องคอมพิวเตอร์ส่วนบุคคลติดตั้ง WordPress อ้อ! ลืมไป… ในคอมพิวเตอร์ส่วนบุคคล หากมีปัญหาเรื่อง Permalinks ให้ไปเปิด Mod_Rewrite ใน Apache ก่อนครับ

ป้องกันการเข้าถึงโฟลเดอร์ wp-admin

เป็นที่ทราบกันดีอยู่แล้วว่าโฟลเดอร์ wp-admin นั้นเป็นโฟลเดอร์ที่เข้าถึง Dashboard หรือส่วนควบคุมของ WordPress นั่นเอง ส่วนนี้ จะเข้าถึงได้ก็ต่อเมื่อป้อนชื่อผู้ใช้และรหัสผ่านถูกต้อง แต่ถ้าบล็อกถูก hack จะทำอย่างไรล่ะ ไม่ให้เข้าถึงได้ มันมีทางเป็นไปได้ไหม???

มีทางเป็นไปได้ครับ นั่นก็คือ การกำหนดให้เฉพาะ IP ที่เรากำหนดสามารถเข้าถึงโฟลเดอร์ wp-admin ได้เท่านั้น ซึ่งเมื่อเรากำหนด IP ไปแล้ว หากมีใครเข้าสู่ระบบแล้ว แต่เลข IP ของเครื่องที่เข้าสู่ระบบไม่ตรงกับที่กำหนดเอาไว้ ก็ไม่สามารถเข้าถึงได้ แม้แต่คุณเองก็ตาม ก็อาจหมดสิทธิ์ได้ ถ้า IP ไม่ตรงตามที่กำหนดเอาไว้
Continue reading →

ป้องกันการดูข้อมูลในโฟลเดอร์

ใน WordPress จะมีอยู่ 2 โฟลเดอร์ที่คนชอบเข้าไปดูมากพอสมควร ก็คือโฟลเดอร์ themes กับ plugins ทั้งนี้ก็เพื่อดูว่า บล็อกนี้ใช้ธีมอะไรบ้าง หรือใช้ปลั๊กอินอะไรบ้าง แล้วหากใช้ปลั๊กอินรุ่นเก่า ๆ hacker รู้และอาจจะ hack เข้าบล็อกของคุณได้ ดังนั้นการปิดโฟลเดอร์ไม่ให้แสดงรายชื่อไฟล์และโฟลเดอร์ต่าง ๆ เป็นหนทางแห่งความปลอดภัยเพื่อบล็อกของคุณเอง

โฟลเดอร์ wp-content ของ WordPress รุ่นเ่ก่า ๆ ที่นั้นจะไม่มีไฟล์ index.php ที่เป็นไฟล์เปล่า ๆ เมื่อคนเปิดเข้ามาดู ก็จะเห็นรายชื่อโฟลเดอร์ต่าง ๆ ในโฟลเดอร์นี้เต็ม ๆ เลย แต่เท่าที่สังเกตุ WordPress 2.8.2 (ดูรุ่นเดียว) ตอนนี้โฟลเดอร์ทั้ง wp-content, themes และ plugins มีไฟล์ index.php มาแล้ว ดังนั้น เมื่อใครเปิดดูโฟลเดอร์ดังกล่าว ก็จะแสดงหน้าเพจเปล่า ๆ
Continue reading →

สิทธิ์การเข้าถึงไฟล์

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

ปัญหาที่เกิดขึ้นหากไม่ได้กำหนดสิทธิ์การเข้าถึงไฟล์ เช่น เมื่ออัพโหลดไฟล์แล้ว จะปรากฏข้อความว่า

Unable to create directory /home/user/public_html/wp-content/uploads/2008/11. Is its parent directory writable by the server?

ที่เป็นเช่นนี้เพราะไม่ได้กำหนดสิทธิ์ให้โฟลเดอร์ uploads นั้นเขียนได้นั่นเอง และปัญหาที่เกิดจากการไม่กำหนดสิทธิ์การเข้าถึงไฟล์นี้มีอีกหลายอย่าง เช่น การแก้ไขธีมผ่านทาง Theme Editor และการปรับปรุงรูปแบบของ ลิงก์ถาวร (Permalinks)
Continue reading →

การสร้างไฟล์ .htaccess ใน WordPress

ใน WordPress ไฟล์ .htaccess จะช่วยให้เราสามารถทำ permalinks ได้ ในกรณีที่ host นั้นไม่สนับสนุน mod_rewrite ให้เราสร้างไฟล์ .htaccess แล้วทำการ chmod เป็น 777

เช่น ในกรณีใช้ WordPress ใน 000webhost.com ซึ่งไม่สนับสนุน mod_rewrite ทำให้ไม่สามารถใช้ permalinks ได้ ให้เราสร้างไฟล์ .htaccess

การสร้างไฟล์ .htaccess

เปิด Notepad ขึ้นมา แล้วตอนบันทึกให้พิมพ์ “.htaccess” แล้วคลิกปุ่ม Save อัพโหลดไปไว้ในโฟลเดอร์ที่ติดตั้ง WordPress แล้วทำการ chmod เป็น 777 จากนั้น ให้ทำการอัพเดท permalinks อีกครั้ง