Форум сайта python.su
После прочтения документации по добавлению продуктов в Plone у меня возникли некоторые вопросы.
Для того чтобы установить продукт я должен узнать месторасположение продуктов в Zope чтобы затем новый продукт закинуть туда. Для этого я должен запустить сам Zope(не Plone). Правильно? А чтобы его запустить я должен сначала выполнить команду ./mkzopeinstance а затем ./runzope? Или как то по другому?
Офлайн
Не совсем. mkzopeinstance создает так называемый Zope Instance, то есть отдельный каталог, в котором есть все необходимое для функицонирования zope (файлы zodb, продукты, настройки и скрипты запуска). На одной тачке может быть несколько инстансов.
После создания инстанса запустиать Zope можно с помощью ${ZOPE_INSTANCE}/bin/zopectl start
продукты устанавливаются предельно просто – нужно просто скопировать директорию с продуктом в ${ZOPE_INSTANCE}/Products, и перезапустить зоп. ${ZOPE_INSTANCE}/bin/zopectl restart
Если продукт плоновский, то необходимо его установить еще и в плоновском инсталлере (через веб-интерфейс зайти в Site Setup (ссылка в правом верхнем углу портала), там есть пункт Add/remove products.
Офлайн
После того как я установил Plone у меня автоматом вместе с ним установился и Zope.
У меня сейчас на машине так:
/opt/Plone-2.5.3
/opt/Zope-3.3.0
Причем структура каталогов Zope выглядит так:
build install.py Makefile.in README.txt test.py
configure LICENSES.txt MANIFEST setup.cfg Zope
Dependencies Makefile Modules Support ZopePublicLicense.txt
Так вот вопрос в следующем. Куда мне скидывать продукты если как такового каталога Product не наблюдается?
Офлайн
это не инстанс :(
Во-вторых, для плона 2.5.x нужен зоп 2.9.x (2.10.x – для плона 3.0.x, но он пока еще не вышел).
Когда скачаете исходники зопа, то просто делаете ./configure –with-python=/path/to/python (поддерживает только версия 2.4, 2.5 не работает)
make && make install
потом /usr/local/bin/mkzopeinstance.py (интерактивный скрипт создания инстанса).
потом нужно содержимое архива с плоном скопировать в Products инстанса.
Офлайн
nssСтранно у мен такая ситуация:
После создания инстанса запустиать Zope можно с помощью ${ZOPE_INSTANCE}/bin/zopectl start
Офлайн
Попробуйте посмотреть в log/event.log или запустить ./bin/zopectl stop && ./bin/zopectl debug
Офлайн
Выдает следующее:
# ./zopectl
program: /root/Site/bin/runzope
daemon manager not running
zopectl> stop
daemon manager not running
zopectl> debug
Starting debugger (the name “app” is bound to the top-level Zope object)
2007-06-23 23:12:19 CRITICAL Zope A user was not specified to setuid to; fix this to start as root (change the effective-user directive in zope.conf)
Traceback (most recent call last):
File “<string>”, line 1, in ?
File “/opt/Plone-2.5.3/lib/python/Zope2/Startup/run.py”, line 34, in configure
starter.dropPrivileges()
File “/opt/Plone-2.5.3/lib/python/Zope2/Startup/__init__.py”, line 213, in dropPrivileges
return dropPrivileges(self.cfg)
File “/opt/Plone-2.5.3/lib/python/Zope2/Startup/__init__.py”, line 382, in dropPrivileges
raise ZConfig.ConfigurationError(msg)
ZConfig.ConfigurationError: A user was not specified to setuid to; fix this to start as root (change the effective-user directive in zope.conf)
Причем после этого пытался раскоментировать effective-user в zope.conf и подставить свой логин для входа в linux но все равно не дает результата.
Офлайн
если вы устанавливаете effective user, тоже zope нужно стартовать из-под рута (обычный юзер в линухе не может делать setuid).
Вы mkzopeinstance запускали из-под рута?
Офлайн
nssДа. А нужно было из под обычного пользователя?
Вы mkzopeinstance запускали из-под рута?
Офлайн
alafinДа, так проще. Или внимательно посмотрите чтоб права были правильные, но проще запустить mkzopeinstance из-под юзера.nssДа. А нужно было из под обычного пользователя?
Вы mkzopeinstance запускали из-под рута?
Офлайн