Preguntas frecuentes para administradores de pods

De Wiki Diaspora*
Saltar a: navegación, buscar

Instalación

¿Existe una guía detallada para la instalación de Diaspora?

Sí. Puedes encontrarla aquí. También existen algunas guías basadas en sistemas o servicios específicos.

¿Qué puerto necesita Diaspora que esté abierto para la comunicación?

Tu servidor web debe estar en el puerto 433 para HTTPS. Debes redireccionar este al puerto 3000, o configurar Apache o Nginx para que sirvan como un proxy reverso. De lo contrario, las solicitudes de tus amigos podrían causar bloqueos en otros servidores.

¿Puedo utilizar Apache para ejecutar Diaspora?

Sí, pero debido a que es una práctica poco común, probablemente no haya muchas personas que puedan ayudarte, en caso de que lo necesites. Ve la instalación en Apache Ubuntu, o la guía no oficial de Diaspora con Apache2.

¿Cuáles son los comandos para iniciar thin (el servidor HTTP de Diaspora)?

Existen un par de comandos útiles, para establecer la dirección y el puerto para thin:

bundle exec thin -a <address> -p <port> start

Utiliza -D para iniciar el modo de depuración de errores. Ejecuta thin -h para ver la lista completa.

¿Cómo varía la instalación en diferentes distribuciones GNU/Linux o Mac?

Revisa las guías de instalación para obtener un resumen de las distribuciones y sistemas operativos soportados, y qué hacer en cada caso. También hay un paquete AUR para Arch Linux, y algunas guías para la instalación manual:

Tengo este error: SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol!

Cierra el puerto, haz que deniegue conexiones, sin timeout. En Ubuntu:

sudo ufw enable, sudo ufw reject 433
Instalé Diaspora en mi computadora, visité http://localhost:3000 y creé una cuenta, pero mis amigos no pueden añadirme

Te registrarte con «localhost»; es decir, una dirección externa no válida. Primero necesitas una dirección a la que se pueda acceder externamente: ya sea un nombre de dominio o una dirección IP. Una vez esto funcione, necesitas limpiar tu base de datos, y registrarte nuevamente accediendo por medio de la URL externa.

bundle install >>> command not found
sudo ln -s /var/lib/gems/1.8/bin/bundle /usr/local/bin/bundle 

Aunque la mejor solución es:

./ubuntu-setup.bash
¿Cómo pasar de la página de inicio de sesión para crear una nueva cuenta?

Para crear una nueva cuenta, visita http://nombredetupod.com/users/sign_up (reemplaza nombredetupod.com con el nombre del servidor de tu instalación).

Instalé Diaspora en mi computadora, pero cuando el sitio carga no hay imágenes, y todo se ve horrible

Si tus imágenes no se muestran en el entorno de producción, cambia serve_static_assets en </code>config/environments/production.rb</code> a «true», y reinicia Diaspora. O configura un proxy reverso para que sirva las imágenes directamente en /public.

No hay imágenes en mi pod

Lo más probable es que estés en modo de producción y/o tu apache/nginx no está sirviendo contenido estático. Si deseas ejecutar tu servidor directamente desde thin, en el puerto 3000, puedes configurar Ruby para que sirve contenido estático, cambiando serve_static_assets a «true» en tu archivo config/application.yml. Por favor observa que es más rápido si apache/nginx está configurado para servir los archivos desde el directorio /public, ya para esto está creado: servir archivos por medio de http.

Cuando estés implementando en Heroku: Asegúrate de revisar que serve_static_assets esté configurado a «true», en el bloque de producción de tu archivo config/application.yml.

   production:
     <<: *defaults
     serve_static_assets: true
Al parecer Webfinger no funciona

¿El worker de Resque se está ejecutando? ¿Puedes ver el error en Resque web? ¿Haz verificado tu certificado SSL? (prueba revisarlo con esta herramienta). No se soportan certificados autofirmados, pero puedes obtener uno gratuito en distintos servicios.

Recibo publicaciones de otros usuarios, pero nadie ve las mías

Revisa tu certificado SSL.

Obtengo la advertencia «… in production without Resque workers»

Utilizamos Resque pra procesar tareas en segundo plano. Normalmente, Resque se genera como un proceso separado, pero en este caso, haz configurado a Diaspora para ejecutar las tareas en el mismo proceso que la aplicación. Esto normalmente se utiliza para propósitos de desarrollo o pruebas, pero si se utiliza en modo de producción puede causar serias penalizaciones de rendimiento. Por tanto, deberías siempre ejectuar Resque en su propio proceso, estableciendo single_process_mode a «true», en tu archivo config/application.yml, e iniciar el proceso de Resque con:

RAILS_ENV=production DB=mysql QUEUE=* bundle exec rake resque:work  # o 
RAILS_ENV=production DB=postgres QUEUE=* bundle exec rake resque:work

(En caso de utilizar script/server para iniciar Diaspora entonces no necesitarás inicial manualmente los workers. Esto lo hace el script).

Actualización

¿Debo hacer algo antes de actualizar mi instalación?

Contamos con un servicio (Travis), que hace un build de todo nuestro código, para cada combinación de versión/base de datos de Ruby. Antes de actualizar tu instalación de Diaspora, deberías asegurarte que tu combinación sea verde: http://travis-ci.org/diaspora/diaspora. Si no es verde, espera para actualizar. (Nota: Travis actualmente tiene algunos problemas con su certificado SSL, así que podrías recibir una advertencia, pero es seguro continuar).

¿Cómo regreso a una versión anterior, si la actualización causa fallos?

Simplemente ejecuta git checkout [ref]. Donde [ref] es el identificador del commit al cual deseas volver. Es una línea de caracteres y números, parecidos a un GUID. Puedes obtener el ref haciendo un log de git, mirando las fechas de los commits, y averiguando dónde estabas antes de hacer el pull. Por supuesto es mejor si mantienes un registro del ref antes de actualizar.

General

¿Un pod recibirá publicaciones federadas más adelante si no las recibe por estar fuera de línea?

No actualmente, no hay reintentos, aunque nos gustaría añadir esto en un futuro.

¿Qué hago con todos estos PGErrors, como desconexiones y problemas con SSL?

Si ejecutas Diaspora con PostgreSQL, ten en cuenta que tener la configuración ssl activada en la configuración de PostgreSQL ha causado problemas para algunas personas. Recomendamos apagarlo, a menos que sepas lo que haces.

Tengo mi pod funcionando, ¿cómo deshabilito los registros de nuevos usuarios?

Cambia registrations_closed en config/application.yml, de «false» a «true», y reinicia el servidor.

¿Cómo hago una copia de seguridad de la base de datos?

En la línea de comandos escribe:

mysqldump -u -p diaspora_development > backup.sql 

Ingresa tu contraseña de MySQL cuando se requiera. Reemplaza _development con _production si estás utilizando un entorno de producción.

¿Qué sucede con assets/jammit/js-runtime?

La reciente actualización de Rails 3.1 hizo posible para nosotros utilizar el mecanismo de compilación de assets incluido, y por tanto abandonar el requerimiento de jammit y un entorno Java. No obstante, el nuevo método requiere que un runtime de Javascript, como Node.js o TheRubyRacer esté instalado. Ve las guías para distribuciones específicas, para saber cómo instalarlos. Una vez se haya instalado, puedes compilar los assets ejecutando:

bundle exec rake assets:precompile

Revisa la guía de instalación para obtener instrucciones más detalladas.

Utilizo PPC (por ejemplo, iMac) y quiero utilzarlo para servir Diaspora, pero no hay ExecJS compatible con JS runtime

Algo que puedes hacer es, asumiendo que tengas otra PC que ejecute Node, es precompilar tus assets en esa máquina (utilizando bundle exec rake assets:precompile), y luego añadirlos a git antes de implementar en PPC. Javascript runtime solo se necesita para precompilar assets, y no se debería cargar en absoluto en el entorno de producción. Tal vez necesite utilizar git add public/assets -f para forzar a git a añadirlos, pues probablemente este directorio esté en .gitignore.

¿Qué son los roles, y cómo los uso?

Cambiamos de cuentas de usuarios «especiales» configuradas estáticamente en el archivo config a un sistema de roles, lo que nos permite cambiar asignaciones de rol sin tener que reiniciar el servidor.

Para convertir tu archivo de configuración actual a los nuevos roles puedes importarlos utilizando la consola de Rails, en el ambiente de producción, ejecutando el siguiente comando en tu directorio de Diaspora:

$ RAILS_ENV=production rails c

Ahí puedes ejecutar las funciones que convertirán los valores de config a entradas de base de datos:

> Role.load_admins
> Role.load_spotlight

En caso de que quieras asignar roles a otros usuarios, puedes hacerlo usando estos comandos:

> u = User.find_by_email("[email protected]")
> Role.add_admin(u.person)      # para añadirlo como administrador, o
> Role.add_beta(u.person)       # para añadirlo como usuario «beta», o
> Role.add_spotlight(u.person)  # para añadirlo como «lo más destacado de la comunidad»

Cuando termines, puedes salir de la consola con:

> quit