หัวข้อพิเศษ
การผสมผสานซอฟต์แวร์ระบบเฉพาะบางอย่างอาจต้องมีการกำหนดค่าเพิ่มเติมบางอย่างจึงจะทำงานได้ ด้วย XOOPS ต่อไปนี้คือรายละเอียดบางส่วนของปัญหาที่ทราบและคำแนะนำในการจัดการกับปัญหาเหล่านั้น
สภาพแวดล้อม SELinux
หัวข้อที่มีชื่อว่า “สภาพแวดล้อม SELinux”ไฟล์และไดเร็กทอรีบางรายการจำเป็นต้องเขียนได้ระหว่างการติดตั้ง อัปเกรด และการทำงานปกติ ของ XOOPS. ในสภาพแวดล้อม Linux แบบดั้งเดิม สิ่งนี้สามารถทำได้โดยทำให้แน่ใจว่า ผู้ใช้ระบบที่เว็บเซิร์ฟเวอร์ทำงานภายใต้สิทธิ์ในไดเร็กทอรี XOOPS ซึ่งโดยปกติจะ การตั้งค่ากลุ่มที่เหมาะสมสำหรับไดเร็กทอรีเหล่านั้น
ระบบที่เปิดใช้งาน SELinux (เช่น CentOS และ RHEL) มีบริบทด้านความปลอดภัยเพิ่มเติม สามารถจำกัดความสามารถของกระบวนการในการเปลี่ยนแปลงระบบไฟล์ ระบบเหล่านี้อาจต้องการ การเปลี่ยนแปลงบริบทด้านความปลอดภัยสำหรับ XOOPS เพื่อให้ทำงานได้อย่างถูกต้อง
XOOPS คาดว่าจะสามารถเขียนไปยังไดเร็กทอรีบางแห่งได้อย่างอิสระระหว่างการทำงานปกติ นอกจากนี้ ในระหว่างการติดตั้งและอัปเกรด XOOPS ไฟล์บางไฟล์จะต้องสามารถเขียนได้เช่นกัน
ในระหว่างการดำเนินการปกติ XOOPS คาดว่าจะสามารถเขียนไฟล์และสร้างไดเรกทอรีย่อยได้ ในไดเรกทอรีเหล่านี้:
uploadsในรูทเว็บหลัก XOOPSxoops_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สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารประกอบของระบบและ/หรือผู้ดูแลระบบของคุณ
Smarty 4 และธีมที่กำหนดเอง
หัวข้อที่มีชื่อว่า “Smarty 4 และธีมที่กำหนดเอง”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
และสามารถซ่อมแซมได้หลายอย่างโดยอัตโนมัติ ดู
ดูรายละเอียดที่หน้า การตรวจสอบก่อนเที่ยวบิน
หากคุณพบข้อผิดพลาดของเทมเพลตหลังการติดตั้งหรืออัปเกรด:
- เรียกใช้
/upgrade/preflight.phpอีกครั้ง และแก้ไขปัญหาที่มีการรายงาน - ล้างแคชเทมเพลตที่คอมไพล์แล้วโดยลบทุกอย่างยกเว้น
index.htmlจากxoops_data/caches/smarty_compile/. - เปลี่ยนไปใช้ธีมที่จัดส่งชั่วคราว เช่น
xbootstrap5หรือdefaultเพื่อยืนยันปัญหา เป็นธีมเฉพาะมากกว่าทั้งไซต์ - ตรวจสอบการเปลี่ยนแปลงธีมหรือเทมเพลตโมดูลที่กำหนดเองก่อนที่จะส่งไซต์กลับไปสู่การใช้งานจริง