Estou tentando executar o mozilla-firefox-sync-server com apache 2.4.17-3 no meu servidor Arch Linux, seguindo este guia . Aqui está uma parte do meu arquivo /etc/httpd/conf/extra/httpd-vhosts.conf
.
<Directory /opt/mozilla-firefox-sync-server>
Require all granted
</Directory>
<VirtualHost *:80>
ServerName ffsync.example.com
DocumentRoot /opt/mozilla-firefox-sync-server/
WSGIProcessGroup ffsyncs
WSGIDaemonProcess ffsyncs user=ffsync group=ffsync processes=2 threads=25 python-path=/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/
WSGIPassAuthorization On
WSGIScriptAlias / /opt/mozilla-firefox-sync-server/syncserver.wsgi
CustomLog /var/log/httpd/ffsync_custom combined
ErrorLog /var/log/httpd/ffsync_error
</VirtualHost>
Quando eu curl ffsync.example.com
, recebo um erro 500. No log, parece que está sendo executado com o Python 3.5 ( ImportError: No module named 'ConfigParser'
).
De fato, se eu substituir syncserver.wsgi
pelo seguinte código de exemplo da página do ArchWiki em mod_wsgi :
#-*- coding: utf-8 -*-
def wsgi_app(environ, start_response):
import sys
output = sys.version.encode('utf8')
status = '200 OK'
headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, headers)
yield output
application = wsgi_app
Eu recebo um código de status 200 com 3.5.0 (default, Sep 20 2015, 11:28:25) [GCC 5.2.0]
.
Quando eu uso o pacote mod_wsgi2
, tudo funciona corretamente, mas eu preciso usar mod_wsgi
porque há também um aplicativo WSGI do Python 3 sendo executado com o Apache que não pode ser executado com mod_wsgi2
. A página do ArchWiki no mod_wsgi afirma que mod_wsgi
deve funcionar com o Python 2 e 3.
O que torna o argumento python-path
na diretiva WSGIDaemonProcess
ignorado?
Atualização: Tendo uma versão recente de mod_wsgi
(4.4.21-1), eu também tentei usar python-home
, assim:
WSGIDaemonProcess ffsyncs user=ffsync group=ffsync processes=2 threads=25 python-home=/opt/mozilla-firefox-sync-server/local/
Desta vez, recebo um erro 504 e esta mensagem no registro de erros (original ou modificado syncserver.wsgi
)
Timeout when reading response headers from daemon process 'ffsyncs': /opt/mozilla-firefox-sync-server/syncserver.wsgi