Discurso: un foro moderno para la discusión comunitaria


Discourse es un software de foro orientado a la comunidad, gratuito, de código abierto, moderno, rico en funciones y extraordinario. Es una plataforma poderosa, confiable y flexible que viene con una amplia gama de herramientas para los debates de la comunidad.

Está diseñado para construir plataformas de discusión comunitaria, listas de correo o sala de chat para su equipo, clientes, fanáticos, patrocinadores, audiencia, usuarios, defensores, partidarios o amigos y, lo más importante, se integra a la perfección con el resto de sus plataformas en línea establecidas.

  • Es fácil de usar, simple y plano.
  • Viene con un diseño móvil integrado; tiene aplicaciones para Android e iOS.
  • Viene con todas las herramientas de foro modernas y es altamente extensible a través de complementos.
  • Admite conversaciones tanto públicas como privadas.
  • Admite discusiones en las que se pueden realizar búsquedas.
  • Personalice su apariencia con temas HTML y CSS.
  • Admite notificaciones y respuestas por correo electrónico.
  • Admite varios métodos de autenticación, como redes sociales, inicio de sesión único u oAuth 2.0.
  • Admite emojis e insignias.
  • Se puede integrar con WordPress, Google Analytics, Zendesk, Patreon, Slack, Matomo y más.
  • Ofrece webhooks y API completas basadas en JSON simples para una mayor integración.
  • Permite a los usuarios marcar las soluciones como la respuesta oficial.
  • Permite a los usuarios votar sus ideas favoritas.
  • También permite a los usuarios editar de forma colaborativa con el historial de revisión completo.
  • Admite la asignación de temas a usted mismo oa otros.
  • Admite una actualización con un solo clic y viene con soporte rápido y preciso, y muchas otras funciones.

Utilizamos Discourse desde los últimos dos años para brindar soporte a nuestros lectores de Linux. Puede consultar la demostración en vivo en la siguiente URL antes de instalarlo en un sistema Linux.

Live Demo URL: http://linuxsay.com/

  1. Un VPS dedicado con un nombre de dominio registrado
  2. Un servidor CentOS 7 con instalación mínima
  3. Un servidor Ubuntu 16.04 o un servidor Ubuntu 18.04 con instalación mínima

Discourse es un proyecto de código abierto que se puede implementar en un servidor VPS de su elección.

En este artículo explicaremos cómo instalar y configurar Discourse Forum a través de un método oficialmente admitido, es decir, utilizando la imagen de Docker en un servidor CentOS 7 VPS o Ubuntu VPS.

Paso 1: instale la última versión de Git y Docker

1. Hay un script preparado para instalar las últimas versiones de Docker y Git en su servidor, descárguelo y ejecútelo como se muestra.

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

Si el script falla en su sistema por una razón u otra, ejecute los siguientes comandos para instalar las últimas versiones de Git y Docker (desde el repositorio oficial):

$ 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
# yum install -y git yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum install docker-ce

2. Una vez que haya instalado la ventana acoplable, en Ubuntu/Debian, se activa para que se inicie automáticamente en Systemd, puede verificar su estado de servicio con el siguiente comando.

$ sudo systemctl status docker

En CentOS/RHEL, inicie y habilite Docker y vea su estado.

# systemctl start docker
# systemctl enable docker
# systemctl status docker

Paso 2: Instale Discourse en el servidor Linux

3. A continuación, cree un directorio /var/speech y clone la imagen oficial de Docker de Discourse en él usando los siguientes comandos.

----------- On Debian/Ubuntu ----------- 
$ sudo mkdir /var/discourse
$ sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse
$ cd /var/discourse

----------- On CentOS/RHEL -----------
# mkdir /var/discourse
# git clone https://github.com/discourse/discourse_docker.git /var/discourse
# cd /var/discourse

4. Ahora ejecute el script de configuración de Discourse usando el siguiente comando.

$ sudo ./discourse-setup 
OR
# ./discourse-setup 

Una vez que se ejecuta el comando anterior, el script intentará validar su sistema para los requisitos. Luego, se le pedirá que responda las siguientes preguntas, proporcione los valores correctos y los ajuste más tarde para generar automáticamente un archivo de configuración app.yml .

Hostname for your Discourse? [discourse.example.com]: forum.tecmint.lan 
Email address for admin account(s)? [[email protected]]: admin.tecmint.lan
SMTP server address? [smtp.example.com]: smtp.tecmint.lan
SMTP port? [587]: 587
SMTP user name? [[email protected]]: [email protected]
SMTP password? []: password-here
Let's Encrypt account email? (ENTER to skip) [[email protected]]: 

Una vez que se actualice el archivo de configuración, comenzará a descargar la imagen base de Discourse. La configuración completa puede llevar de 10 minutos a media hora, dependiendo de la velocidad de su conexión a Internet; simplemente siéntese y espere a que se complete.

5. Cuando se complete la configuración, el contenedor Discourse debería estar listo y funcionando. Para verificarlo, verifique todos los contenedores Docker en ejecución con el siguiente comando.

$ sudo docker container ls -a
OR
# docker container ls -a

Paso 3: configurar Nginx para Discourse Container

6. En este paso, ahora puede configurar el servidor web Nginx y el proxy inverso (tenga en cuenta que este es el servidor web fuera del contenedor) para que se ejecuten frente a su contenedor Discourse. Esto le permite ejecutar otros sitios web o aplicaciones junto con el contenedor Discourse en el mismo servidor.

Primero detenga el contenedor de discurso en ejecución usando el siguiente comando.

$ sudo ./launcher stop app
OR
# ./launcher stop app

7. A continuación, modifique el archivo de configuración del contenedor de discurso /var/discourse/containers/app.yml para configurarlo para que escuche en un archivo especial, que no sea el puerto 80.

$ sudo vim containers/app.yml
OR
# vim containers/app.yml

Luego, modifique la sección template como se muestra a continuación.

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"

Y comente la sección exponer como se muestra en la captura de pantalla.

8. A continuación, debe configurar un bloque de servidor Nginx para las solicitudes de proxy para Discourse en el archivo /etc/nginx/conf.d/discourse.conf o /etc/nginx/sites-enabled/discourse.conf.

$ sudo vim /etc/nginx/conf.d/discourse.conf
OR
# vim /etc/nginx/conf.d/discourse.conf

Agregue estas configuraciones en él (use su propio nombre de dominio en lugar de forum.tecmint.lan).

server {
        listen 80;
        server_name  forum.tecmint.lan;

        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;
        }
}

Guarde los cambios y salga del archivo. Luego, verifique la configuración del servidor web Nginx para ver si hay algún error de sintaxis, si todo está bien, inicie el servidor web.

$ sudo nginx -t
$ sudo systemctl start nginx
OR
# systemctl start nginx

9. Ahora es el momento de reconstruir el contenedor Discourse para aplicar los cambios realizados recientemente (esto eliminará el contenedor antiguo) y también reiniciar el servicio Nginx para detectar el servidor ascendente.

$ sudo ./launcher rebuild app
$ sudo systemctl restart nginx
OR
# ./launcher rebuild app
# systemctl restart nginx

Paso 4: Acceda a la interfaz de usuario web de Discourse Forum

10. Una vez que todo esté configurado, puede acceder a Discourse desde un navegador web a través del nombre de dominio que estableció anteriormente (para nuestro caso, hemos utilizado un dominio ficticio llamado forum.tecmint.lan).

También hemos utilizado el archivo/etc/hosts para configurar el DNS local en el sistema de prueba (donde 192.168.8.105 es la dirección del servidor en la red local).

Escriba la siguiente URL para acceder a Discourse y haga clic en Registrarse para crear una nueva cuenta de administrador.

http://forum.tecmint.lan

11. A continuación, elija un correo electrónico para usar (en caso de que haya especificado más de uno al configurar el discurso), nombre de usuario y contraseña, luego haga clic en Registrarse para crear la nueva cuenta de administrador.

12. A continuación, se enviará un correo electrónico de confirmación de cuenta a la dirección de correo electrónico que seleccionó (si proporcionó más de una al configurar el discurso) en el paso anterior. En caso de que no reciba el correo electrónico, asegúrese de que su sistema de correo electrónico esté funcionando correctamente (instale el servidor de correo postfix) o revise su carpeta de correo no deseado.

Haga clic en el enlace de confirmación para acceder a la página de "Bienvenida al discurso". Luego active su cuenta, configure las opciones predeterminadas de Discourse, como el idioma a usar, acceda a su cuenta de administrador de Discourse y administre su foro de discusión.

Puede encontrar información adicional en el sitio web de Discourse: https://www.discourse.org/

¡Eso es todo por ahora! Discourse es un software de debate comunitario abierto, moderno y rico en funciones con una amplia gama de herramientas. Utilice el formulario de comentarios a continuación para compartir cualquier consulta relacionada con el proceso de instalación o darnos su opinión sobre este increíble software de foro.

Si está buscando a alguien que instale el software del foro de la comunidad Discourse, considérenos, porque ofrecemos una amplia gama de servicios de Linux a tarifas mínimas justas con asistencia gratuita durante 14 días por correo electrónico. Solicite la instalación ahora.