Instalar Discourse en Debian, Ubuntu y derivados

Instalar Discourse en Debian, Ubuntu y derivados.

En el anterior articulo, vimos como instalar el sistema de foros «Discourse» en CentOS y derivados.

En este articulo aprenderemos a instalarlo en un servidor con Debian, Ubuntu y derivados, pero antes ampliamos algunas características:

  • Es fácil de usar.
  • Diseño móvil incorporado, ademas de aplicaciones para Android e iOS.
  • Herramientas modernas para el manejo del foro, ademas cuenta con muchos complementos.
  • Conversaciones públicas publicitarias privadas.
  • Búsqueda de discusiones.
  • Personalizable: HTML y CSS.
  • Notificaciones y respuestas por correo electrónico.
  • Diversos métodos de autenticación, como redes sociales, inicio de sesión único o oAuth 2.0.
  • Emojis y distintivos.
  • Se integra con WordPress, Google Analytics, Zendesk, Patreon, Slack, Matomo y más.
  • Webhooks y API’s integrales basadas en JSON para una mayor integración.
  • Permite votar por tus favoritos.
  • Admite la asignación de temas.
  • Actualización con un clic, con soporte rápido y preciso.
  • etc…

Los requisitos para una correcta instalación, son:

  1. Servidor dedicado o en su defecto un VPS.
  2. Debian, Ubuntu (versión minimal) o cualquiera de sus derivados.
  3. Acceso a consola SSH.

Una cumplidos los requisitos comenzamos con la instalación.

Instalar Discourse en Debian, Ubuntu y derivados 1

 

Instalar Discourse en Debian y Ubuntu

Instalamos Git y Docker.

wget -qO- https://get.docker.com/ | sh

sudo apt install git apt-transport-https ca-certificates curl software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial  stable"

sudo apt update

sudo apt install docker-ce

Ya tenemos instalado el Docker, comprobamos su estado.
sudo systemctl status docker

 

Continuamos con la instalación de Discourse.

sudo mkdir /var/discourse

sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse

cd /var/discourse

Ejecutamos el instalador.
sudo ./discourse-setup

Comenzara a validar el sistema y te hará una serie de preguntas (datos del server, etc…) que deberás responder con datos reales, entonces automáticamente se creara el archivo de configuración «app.yml».

ejemplo…

Hostname for your Discourse? [discourse.example.com]: foro.miweb.com
Email address for admin account(s)? [admin@example.com]: admin@miweb.com
SMTP server address? [smtp.example.com]: smtp.miweb.com
SMTP port? [587]: 587
SMTP user name? [user@example.com]: admin@miweb.com
SMTP password? []: password
Let’s Encrypt account email? (ENTER to skip) [secur@example.com]:

 

Una vez que se genere el archivo de configuración, comenzara la descarga de la imagen de Discourse. Se paciente, dependiendo de la conexión de tu servidor online o local puede tardar más o menos.

No debes tocar nada durante el proceso, una vez concluido… Discourse ya estará en funcionamiento, lo podemos verificar con:

sudo docker container ls -a

Instalar Discourse en Debian, Ubuntu y derivados 2

 

Aunque ya lo tenemos en funcionamiento, deberíamos configurar correctamente el servidor web Nginx y el proxy inverso (el servidor web esta fuera del contenedor), de manera que podamos instalar y ejecutar otros sitios web o aplicaciones en el mismo servidor.

Si no es tu caso puedes obviar las siguientes instrucciones.

Detenemos el contenedor con el siguiente comando.

sudo ./launcher stop app

Modificamos el archivo de configuración «app.yml» para que no escuche el puerto 80.
sudo nano containers/app.yml

Debemos cambiar las templates, copia y pega lo siguiente…
templates:
- "templates/cron.template.yml"
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/sshd.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml"

Comenta los puertos en «expose».

Instalar Discourse en Debian, Ubuntu y derivados 3

 

Guarda el archivo y cierra el editor.

Continuamos…

sudo nano /etc/nginx/conf.d/discourse.conf

Agrega lo siguiente (con tus datos):
server {
listen 80;
server_name  forum.miweb.com;
location / {
proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

Guarda el archivo y cierra el editor.

Verifica su correcto funcionamiento e inicia Nginx de nuevo.

sudo nginx -t

sudo systemctl start nginx

Reconstruimos el contenedor para que se apliquen los cambios y reiniciamos de nuevo Nginx.
sudo ./launcher rebuild app

sudo systemctl restart nginx

 

El tutorial «Como instalar Discourse en CentOS» concluye.

Ya lo tenemos instalado.

Accede con Url que definiste anteriormente desde tu navegador web preferido, y configuras el foro según tus preferencias.

Instalar Discourse en Debian, Ubuntu y derivados 4

 

Agregar comentario