I am trying to configure datapusher for ckan 2.7 and as a prerequisite i have installed datastore and apache http server.
apache httpd version: Apache/2.4.25 (Unix) mod_wsgi package installed 4.5.15 the permissions for the conf files are as specified in the ckan documentation http://docs.ckan.org/en/latest/maintaining/installing/deployment.html
contents of ckan_default.conf are
WSGIScriptAlias / /etc/ckan/default/apache.wsgi
WSGIPassAuthorization On
WSGIDaemonProcess ckan_default display-name=ckan_default processes=2 threads=15
WSGIProcessGroup ckan_default
ErrorLog /var/log/apache2/ckan_default.error.log
CustomLog /var/log/apache2/ckan_default.custom.log combined
contents of apache.wsgi file:
import os
ckan_home = os.environ.get('CKAN_HOME', '/usr/lib/ckan/default')
activate_this = os.path.join(ckan_home, 'bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
from paste.deploy import loadapp
config_filepath = os.path.join(os.path.dirname(os.path.abspath(__file__)),
'production.ini')
from paste.script.util.logging_config import fileConfig
fileConfig(config_filepath)
application = loadapp('config:%s' % config_filepath)
when i start the apache httpd server I see the following error in logs.
[Tue May 02 17:39:23.953718 2017] [wsgi:error] [pid 24744:tid 140135528146688] mod_wsgi (pid=24744): Target WSGI script '/etc/ckan/default/apache.wsgi' cannot be loaded as Python module.
[Tue May 02 17:39:23.953836 2017] [wsgi:error] [pid 24744:tid 140135528146688] mod_wsgi (pid=24744): Exception occurred processing WSGI script '/etc/ckan/default/apache.wsgi'.
[Tue May 02 17:39:23.953875 2017] [wsgi:error] [pid 24744:tid 140135528146688] Traceback (most recent call last):
[Tue May 02 17:39:23.953912 2017] [wsgi:error] [pid 24744:tid 140135528146688] File "/etc/ckan/default/apache.wsgi", line 10, in <module>
[Tue May 02 17:39:23.954043 2017] [wsgi:error] [pid 24744:tid 140135528146688] application = loadapp('config:%s' % config_filepath)
[Tue May 02 17:39:23.954067 2017] [wsgi:error] [pid 24744:tid 140135528146688] File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
[Tue May 02 17:39:23.955927 2017] [wsgi:error] [pid 24744:tid 140135528146688] DistributionNotFound: The 'ckan' distribution was not found and is required by the application
Could anyone please help me resolve this issue? Thanks in advance
PS : CKAN site loads fine when using paster serve
Thank you Graham Dumpleton.The link helped. The problem was due to different versions of pythons installed and virtual environment paths. I added and set the path of appropriate virtual environment.
step 1) activate the virtual environment
step 2) execute below command to know the path of virtual env
python -c 'import sys; print(sys.prefix)'
step 3) add the below line in ckan_default.conf file (before virtual hosts)
WSGIPythonHome <path you got in step 2>
step 4 ) restart apache