Skip to content

Configuración del servidor web

bauerpy edited this page Dec 15, 2014 · 4 revisions

Para el servidor web se utilizará el servidor web apache en conjunto con el servidor web nginx implementado un servicio de caché y de esta manera optimizar el desempeño del ckan. Para más información consultar la documentación oficial

Instalar apache, modwsgi y modrpaf

sudo apt-get install apache2 libapache2-mod-wsgi libapache2-mod-rpaf

Instalar nginx

sudo apt-get install nginx

Instalar un servidor de email

sudo apt-get install postfix

Crear el archivo con el script para wsgi

Crear un script WSGI script en el archivo /etc/ckan/default/apache.wsgi con las siguientes lineas:

import os activate_this = os.path.join('/usr/lib/ckan/default/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)

Crear el archivo de configuración para apache

Crear un archivo de configuración apache en /etc/apache2/sites-available/ckan_default.conf, con el siguiente contenido:

<VirtualHost 127.0.0.1:8080>

	ServerName datos.org.py
	ServerAlias www.datos.org.py
	WSGIScriptAlias / /etc/ckan/default/apache.wsgi

	# Pass authorization info on (needed for rest api).
	WSGIPassAuthorization On

	# Deploy as a daemon (avoids conflicts between CKAN instances).
	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


	<Directory /etc/ckan/default/>
		#Order deny,allow
		#Allow from all
		Options All
		AllowOverride All
		Require all granted
	</Directory>

	<IfModule mod_rpaf.c>
		RPAFenable On
		RPAFsethostname On
		RPAFproxy_ips 127.0.0.1
	</IfModule>
</VirtualHost>

Modificar el archivo ports.conf del apache

Abrir /etc/apache2/ports.conf: Listen 80

Cambiar el puerto 80 por el 8080: Listen 8080

Crear el archivo de configuración para nginx

Crear el archivo de configuracion nginx en /etc/nginx/sites-available/ckan_default, con las siguientes lineas:

`proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache:30m max_size=250m; proxy_temp_path /tmp/nginx_proxy 1 2;

server { client_max_body_size 100M; location / { proxy_pass http://127.0.0.1:8080/; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_cache cache; proxy_cache_bypass $cookie_auth_tkt; proxy_no_cache $cookie_auth_tkt; proxy_cache_valid 30m; proxy_cache_key $host$scheme$proxy_host$request_uri; # In emergency comment out line to force caching # proxy_ignore_headers X-Accel-Expires Expires Cache-Control; } }`

Activar el sitio ckan

sudo a2ensite ckan_default.conf sudo ln -s /etc/nginx/sites-available/ckan_default /etc/nginx/sites-enabled/ckan_default sudo service apache2 reload sudo service nginx reload