Перейти к содержимому

Специальные темы

Некоторые конкретные комбинации системного программного обеспечения могут требовать дополнительных конфигураций для работы с XOOPS. Вот некоторые детали известных проблем и рекомендации по их решению.

Определенные файлы и каталоги должны быть доступными для записи во время установки, обновления и нормальной работы XOOPS. В традиционной среде Linux это достигается путем обеспечения того, что пользователь системы, под которым запускается веб-сервер, имеет разрешения на каталоги XOOPS, обычно путем установки соответствующей группы для этих каталогов.

Системы с включенным SELinux (такие как CentOS и RHEL) имеют дополнительный контекст безопасности, который может ограничить способность процесса изменять файловую систему. Эти системы могут требовать изменений в контексте безопасности для правильной работы XOOPS.

XOOPS ожидает иметь возможность свободно писать в определенные каталоги во время нормальной работы. Кроме того, во время установки и обновления XOOPS определенные файлы также должны быть доступными для записи.

Во время нормальной работы XOOPS ожидает иметь возможность писать файлы и создавать подкаталоги в этих каталогах:

  • uploads в главном веб-корневой XOOPS
  • xoops_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

Для получения дополнительной информации обратитесь к документации вашей системы и/или администратору систем.

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.

Если вы столкнулись с ошибками шаблонов после установки или обновления:

  1. Переустановите /upgrade/preflight.php и исправьте любые сообщенные проблемы.
  2. Очистите кэш скомпилированного шаблона, удалив все, кроме index.html из xoops_data/caches/smarty_compile/.
  3. Временно переключитесь на поставляемую тему, такую как xbootstrap5 или default, чтобы подтвердить, что проблема зависит от темы, а не от сайта в целом.
  4. Проверьте любые пользовательские изменения шаблонов темы или модуля перед возвращением сайта в производство.