Специальные темы
Некоторые конкретные комбинации системного программного обеспечения могут требовать дополнительных конфигураций для работы с XOOPS. Вот некоторые детали известных проблем и рекомендации по их решению.
Среды SELinux
Заголовок раздела «Среды SELinux»Определенные файлы и каталоги должны быть доступными для записи во время установки, обновления и нормальной работы XOOPS. В традиционной среде Linux это достигается путем обеспечения того, что пользователь системы, под которым запускается веб-сервер, имеет разрешения на каталоги XOOPS, обычно путем установки соответствующей группы для этих каталогов.
Системы с включенным SELinux (такие как CentOS и RHEL) имеют дополнительный контекст безопасности, который может ограничить способность процесса изменять файловую систему. Эти системы могут требовать изменений в контексте безопасности для правильной работы XOOPS.
XOOPS ожидает иметь возможность свободно писать в определенные каталоги во время нормальной работы. Кроме того, во время установки и обновления XOOPS определенные файлы также должны быть доступными для записи.
Во время нормальной работы XOOPS ожидает иметь возможность писать файлы и создавать подкаталоги в этих каталогах:
uploadsв главном веб-корневой XOOPSxoops_dataгде бы он ни был перемещен во время установки
Во время процесса установки или обновления XOOPS должна иметь возможность писать в этот файл:
mainfile.phpв главном веб-корневой XOOPS
Для типичной системы Apache на основе CentOS изменения контекста безопасности могут быть выполнены с помощью этих команд:
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 из каталога extras.
Вы также должны разрешить 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.
Перед переключением живого трафика на обновленный сайт запустите сканер предполета, который поставляется в каталоге /upgrade/. Он сканирует /themes/ и /modules/, ищет несовместимости Smarty 4 и может автоматически исправить многие из них. Подробности см. На странице Preflight Check.
Если вы столкнулись с ошибками шаблонов после установки или обновления:
- Переустановите
/upgrade/preflight.phpи исправьте любые сообщенные проблемы. - Очистите кэш скомпилированного шаблона, удалив все, кроме
index.htmlизxoops_data/caches/smarty_compile/. - Временно переключитесь на поставляемую тему, такую как
xbootstrap5илиdefault, чтобы подтвердить, что проблема зависит от темы, а не от сайта в целом. - Проверьте любые пользовательские изменения шаблонов темы или модуля перед возвращением сайта в производство.