ข้ามไปยังเนื้อหา

หัวข้อพิเศษ

การผสมผสานซอฟต์แวร์ระบบเฉพาะบางอย่างอาจต้องมีการกำหนดค่าเพิ่มเติมบางอย่างจึงจะทำงานได้ ด้วย XOOPS ต่อไปนี้คือรายละเอียดบางส่วนของปัญหาที่ทราบและคำแนะนำในการจัดการกับปัญหาเหล่านั้น

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

ระบบที่เปิดใช้งาน SELinux (เช่น CentOS และ RHEL) มีบริบทด้านความปลอดภัยเพิ่มเติม สามารถจำกัดความสามารถของกระบวนการในการเปลี่ยนแปลงระบบไฟล์ ระบบเหล่านี้อาจต้องการ การเปลี่ยนแปลงบริบทด้านความปลอดภัยสำหรับ XOOPS เพื่อให้ทำงานได้อย่างถูกต้อง

XOOPS คาดว่าจะสามารถเขียนไปยังไดเร็กทอรีบางแห่งได้อย่างอิสระระหว่างการทำงานปกติ นอกจากนี้ ในระหว่างการติดตั้งและอัปเกรด XOOPS ไฟล์บางไฟล์จะต้องสามารถเขียนได้เช่นกัน

ในระหว่างการดำเนินการปกติ XOOPS คาดว่าจะสามารถเขียนไฟล์และสร้างไดเรกทอรีย่อยได้ ในไดเรกทอรีเหล่านี้:

  • uploads ในรูทเว็บหลัก XOOPS
  • xoops_data ย้ายไปที่ใดก็ตามระหว่างการติดตั้ง

ในระหว่างกระบวนการติดตั้งหรืออัปเกรด XOOPS จะต้องเขียนลงในไฟล์นี้:

  • mainfile.php ในรูทเว็บหลัก XOOPS

สำหรับระบบที่ใช้ CentOS Apache ทั่วไป บริบทด้านความปลอดภัยอาจเปลี่ยนแปลงไป สำเร็จด้วยคำสั่งเหล่านี้:

chcon -Rv --type=httpd_sys_rw_content_t /path/to/web/root/uploads/
chcon -Rv --type=httpd_sys_rw_content_t /path/to/xoops_data/

คุณสามารถทำให้ mainfile.php เขียนได้ด้วย:

chcon -v --type=httpd_sys_rw_content_t /path/to/web/root/mainfile.php

หมายเหตุ: เมื่อติดตั้ง คุณสามารถคัดลอก mainfile.php ว่างจากไดเรกทอรี พิเศษ ได้

คุณควรอนุญาตให้ httpd ส่งเมลด้วย:

setsebool -P httpd_can_sendmail=1

การตั้งค่าอื่นๆ ที่คุณอาจต้องใช้ ได้แก่:

อนุญาตให้ httpd ทำการเชื่อมต่อเครือข่าย เช่น ดึงฟีด rss หรือโทร API:

setsebool -P httpd_can_network_connect 1

เปิดใช้งานการเชื่อมต่อเครือข่ายกับฐานข้อมูลด้วย:

setsebool -P httpd_can_network_connect_db=1

สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารประกอบของระบบและ/หรือผู้ดูแลระบบของคุณ

XOOPS¤ 2.7.0 อัปเกรดกลไกการสร้างเทมเพลตจาก Smarty 3 เป็น Smarty 4 Smarty 4 เข้มงวดกว่า เกี่ยวกับไวยากรณ์เทมเพลตมากกว่า Smarty 3 และรูปแบบบางอย่างที่ยอมรับได้ในเทมเพลตรุ่นเก่า ตอนนี้จะทำให้เกิดข้อผิดพลาด หากคุณกำลังติดตั้ง XOOPS 2.7.0 สำเนาใหม่โดยใช้เฉพาะธีม และโมดูลที่จัดส่งพร้อมรีลีส ไม่มีอะไรต้องกังวล — ทุกเทมเพลตที่จัดส่ง ได้รับการอัปเดตเพื่อความเข้ากันได้ของ Smarty 4

ข้อกังวลนี้มีผลเมื่อคุณ:

  • อัปเกรดไซต์ XOOPS 2.5.x ที่มีอยู่ซึ่งมีธีมที่กำหนดเอง หรือ
  • ติดตั้งธีมที่กำหนดเองหรือโมดูลบุคคลที่สามรุ่นเก่าลงใน XOOPS 2.7.0

ก่อนที่จะเปลี่ยนการรับส่งข้อมูลสดไปยังไซต์ที่อัปเกรด ให้เรียกใช้เครื่องสแกน preflight ที่จัดส่งใน ไดเรกทอรี /upgrade/ โดยจะสแกน /themes/ และ /modules/ มองหาความเข้ากันไม่ได้ของ Smarty 4 และสามารถซ่อมแซมได้หลายอย่างโดยอัตโนมัติ ดู ดูรายละเอียดที่หน้า การตรวจสอบก่อนเที่ยวบิน

หากคุณพบข้อผิดพลาดของเทมเพลตหลังการติดตั้งหรืออัปเกรด:

  1. เรียกใช้ /upgrade/preflight.php อีกครั้ง และแก้ไขปัญหาที่มีการรายงาน
  2. ล้างแคชเทมเพลตที่คอมไพล์แล้วโดยลบทุกอย่างยกเว้น index.html จาก xoops_data/caches/smarty_compile/.
  3. เปลี่ยนไปใช้ธีมที่จัดส่งชั่วคราว เช่น xbootstrap5 หรือ default เพื่อยืนยันปัญหา เป็นธีมเฉพาะมากกว่าทั้งไซต์
  4. ตรวจสอบการเปลี่ยนแปลงธีมหรือเทมเพลตโมดูลที่กำหนดเองก่อนที่จะส่งไซต์กลับไปสู่การใช้งานจริง