Después de la actualización de la distribución de Linux, Moin bajo WSGI lanza 500 errores


0

tengo un MoinMoin instancia instalada en /opt/mydebianwiki; el wiki se ejecuta bajo [wsgi] / [apache2]. Recientemente actualicé de Debian Linux 6 (squeeze) a Debian 7 (wheezy); antes de la actualización, mi MoinMoin La instancia funcionó bien.

Sin embargo, después de actualizar a wheezy, comencé a recibir errores de http 500 cuando intentaba acceder al sitio.

Google me lleva a esto hilo de usuarios moin , que decía que solo podía correr su -c "moin --config-dir=/opt/mydebianwiki maint cleancache" www-data para solucionar el problema; sin embargo, eso tampoco tuvo éxito (ver errores al final de la pregunta).

¿Como puedo resolver este problema?


root@tsunami:/opt/mydebianwiki# su -c "moin --config-dir=/opt/mydebianwiki maint cleancache" www-data
2014-03-01 04:14:46,749 WARNING MoinMoin.log:139 using logging configuration read from built-in fallback in MoinMoin.log module!
2014-03-01 04:14:46,887 INFO MoinMoin.config.multiconfig:93 using farm config: /etc/moin/farmconfig.pyc
Traceback (most recent call last):
  File "/usr/bin/moin", line 5, in <module>
    run()
  File "/usr/lib/python2.7/dist-packages/MoinMoin/script/moin.py", line 15, in run
    MoinScript().run(showtime=0)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/script/__init__.py", line 138, in run
    self.mainloop()
  File "/usr/lib/python2.7/dist-packages/MoinMoin/script/__init__.py", line 261, in mainloop
    plugin_class(args[2:], self.options).run() # all starts again there
  File "/usr/lib/python2.7/dist-packages/MoinMoin/script/__init__.py", line 138, in run
    self.mainloop()
  File "/usr/lib/python2.7/dist-packages/MoinMoin/script/maint/cleancache.py", line 39, in mainloop
    self.init_request()
  File "/usr/lib/python2.7/dist-packages/MoinMoin/script/__init__.py", line 185, in init_request
    self.request = ScriptContext(url, self.options.page)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/web/contexts.py", line 439, in __init__
    wsgiapp.init(self)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 51, in init
    context.lang = setup_i18n_preauth(context)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 233, in setup_i18n_preauth
    i18n.i18n_init(context)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/i18n/__init__.py", line 72, in i18n_init
    meta_cache = caching.CacheEntry(request, 'i18n', 'meta', scope='wiki', use_pickle=True)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/caching.py", line 71, in __init__
    self.arena_dir = get_arena_dir(request, arena, scope)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/caching.py", line 32, in get_arena_dir
    return os.path.join(request.cfg.cache_dir, request.cfg.siteid, arena)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/web/contexts.py", line 56, in get
    res = obj.environ.setdefault(self.name, factory(obj))
  File "/usr/lib/python2.7/dist-packages/MoinMoin/web/contexts.py", line 128, in cfg
    cfg = multiconfig.getConfig(self.request.url)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/config/multiconfig.py", line 193, in getConfig
    cfg = _makeConfig(cfgName)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/config/multiconfig.py", line 125, in _makeConfig
    cfg = configClass(name)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/config/multiconfig.py", line 277, in __init__
    self._check_directories()
  File "/usr/lib/python2.7/dist-packages/MoinMoin/config/multiconfig.py", line 604, in _check_directories
    raise error.ConfigurationError(msg)
MoinMoin.error.ConfigurationError:
data_dir "/org/mywiki/data" does not exist, or has incorrect ownership or
permissions.

Make sure the directory and the subdirectory "pages" are owned by the web
server and are readable, writable and executable by the web server user
and group.

It is recommended to use absolute paths and not relative paths. Check
also the spelling of the directory name.

root@tsunami:/opt/mydebianwiki#

Respuestas:


1

El problema es que mi configuración moin local en /opt/mydebianwiki/wikiconfig.py no se encontró, aunque especifiqué ese directorio en mi moin ... maint cleancache mando. Parece que el directorio por defecto de Debian ( /etc/moin ) estaba tomando prioridad cuando corrí su -c "moin --config-dir=/opt/mydebianwiki maint cleancache" www-data.

Mi solución, fue renombrar temporalmente /etc/moin y ejecute el comando. Esto solucionó el problema:

root@tsunami:/opt/mydebianwiki# mv /etc/moin/ /etc/antimoin

root@tsunami:/opt/mydebianwiki# su -c "moin --config-dir=/opt/mydebianwiki maint 
 cleancache" www-data
2014-03-01 04:17:11,922 WARNING MoinMoin.log:139 using logging configuration read 
from built-in fallback in MoinMoin.log module!
2014-03-01 04:17:12,067 INFO MoinMoin.config.multiconfig:127 using wiki config: 
/opt/mydebianwiki/wikiconfig.pyc

root@tsunami:/opt/mydebianwiki# apachectl restart
root@tsunami:/opt/mydebianwiki# mv /etc/antimoin/ /etc/moin
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.