Esta página se está traducido el 2014-12-08.
Es posible que la versión inglés se actualizaba desde luego.
Buenas prácticas para el servidor de producción
Estas notas sirven como lista de verificación de detalles a tener en cuenta al preparar el despliegue de su servidor de producción basado en Alaveteli.
Opciones de hospedaje
Su servidor de producción debe ser seguro y fiable. Si aún no gestiona sus propios servidores, considere una de las siguientes opciones:
- Servidor en la nube
- Servidor privado virtual
En algunos casos podemos hospedar nuevos proyectos basados en Alaveteli; si necesita ayuda, consúltenos sobre el hospedaje.
Trabajos de tipo cron
No olvide definir los trabajos de tipo cron tal como se expone en las instrucciones de instalación.
Configuración del servidor web
Le recomendamos gestionar su sitio mediante Apache y Passenger o Nginx y Thin.
Si utiliza Passenger, consulte las
instrucciones de instalación
sobre PassengerMaxPoolSize
, con el que debería experimentar
para adaptarse a su memoria RAM disponible. Es muy poco probable que jamás
necesite un pool de mayor tamaño que el predeterminado de
Passenger de 6.
Le recomendamos poner en funcionamiento su servidor con un acelerador HTTP como Varnish. Alaveteli se proporciona con un VCL de varnish de muestra.
Seguridad
Debe modificar todos los ajustes de configuración
relacionados con claves en el archivo general.yml
, incluidos (¡pero existen otros!)
los siguientes:
INCOMING_EMAIL_SECRET
ADMIN_USERNAME
ADMIN_PASSWORD
COOKIE_STORE_SESSION_SECRET
RECAPTCHA_PUBLIC_KEY
RECAPTCHA_PRIVATE_KEY
Debería considerar la posibilidad de gestionar el apartado de administración del sitio a través de HTTPS.
Para ello puede reescribir normas que redirijan direcciones URL que empiecen por /admin
.
Configuración del correo electrónico
Consulte la configuración para exim o postfix para configurar su servidor de correo (MTA). Es posible utilizar otros MTA; si utiliza uno diferente, la documentación debería proporcionarle suficiente información para empezar. Si este tema le interesa, ¡añada documentación!
En un servidor real debería considerar también lo siguiente, para mejorar la capacidad de entrega de su correo electrónico:
- Establezca registros SPF para su dominio.
- Establezca bucles de retroalimentación con los proveedores de correo principales (se recomienda Hotmail y Yahoo!)
- Especialmente si realiza el despliegue a partir de Amazon EC2, utilice un relevo SMTP externo para enviar correo saliente. Consulte el AMI EC2 de Alaveteli para ver más sugerencias.
Copia de seguridad
Muchos de los datos del sitio se almacenan en la base de datos de producción. La excepción
radica en los datos de tipo raw del correo entrante, que se almacenan en el sistema de archivos, tal como se
especifica en el ajuste
RAW_EMAILS_LOCATION
del archivo config/general.yml
.
Consulte la documentación de
Postgres para
ver estrategias de copia de seguridad de bases de datos. El método más habitual consiste en utilizar pg_dump
para crear un volcado SQL de la base de datos y después realizar una copia de seguridad comprimida de dicho volcado.
Las copias de seguridad de los correos de tipo raw se llevarían a cabo mejor mediante una estrategia de incremento progresivo. Rsync es una forma de hacerlo.
Otra estrategia de copia de seguridad para curarse en salud consiste en programar su MTA para que copie todo el correo entrante y saliente en un buzón de correo que funcione como copia de seguridad. Un método para hacerlo mediante exim consiste en incorporar lo siguiente en su configuración de exim:
system_filter = ALAVETELI_HOME/config/exim.filter
system_filter_user = ALAVETELI_USER
Y después crear un filtro en ALAVETELI_HOME/config/exim.filter
similar a:
if error_message then finish endif
if $header_to: contains "midominio.org"
then
unseen deliver "copia@midominiodecopia.org"
endif
if $sender_address: contains "midominio.org"
then
unseen deliver "copia@midominiodecopia.org"
endif