Cómo instalar Discourse Forum en Ubuntu 20.04 LTS

Discourse es una plataforma de debate gratuita y de código abierto diseñada para crear foros de debate comunitarios y listas de correo para su equipo. Está escrito en Ember.js y Ruby on Rails, y usa PostgreSQL para el back-end de la base de datos. Es una solución de foro moderna que impulsa las discusiones en miles de sitios para impulsar la participación de los usuarios. Puede crear preguntas e ideas personalizables e integrarlas con servicios populares.
Discourse ofrece un amplio conjunto de características que incluyen bloqueo de spam, notificaciones dinámicas, inicio de sesión social, autenticación de dos factores, API integral, moderación potente, diseño móvil incorporado y muchas más.
En este tutorial, aprenderemos cómo instalar el foro Discourse con Docker en Ubuntu 20.04.
requisitos previos
- Un servidor con Ubuntu 20.04.
- Se apunta un nombre de dominio válido con su servidor.
- Un servidor de correo SMTP. Si no tiene un servidor de correo, puede usar el servidor SMTP de Gmail.
- Una contraseña de root está configurada en su servidor.
Instalar ventana acoplable
Primero, deberá instalar Docker en su sistema. De forma predeterminada, la última versión de Docker está disponible en el repositorio predeterminado de Ubuntu 20.04. Puede instalarlo ejecutando el siguiente comando:
apt-get install docker.io -y
Una vez que Docker esté instalado, inicie el servicio Docker y habilítelo para que se inicie al reiniciar con el siguiente comando:
systemctl start docker systemctl enable docker
Una vez que haya terminado, puede continuar con el siguiente paso.
Descargar Discurso
Antes de comenzar, cree un directorio para Discourse. Puedes crearlo con el siguiente comando:
mkdir /opt/discourse
A continuación, descargue la última versión de Discourse del repositorio de Git Hub con el siguiente comando:
git clone https://github.com/discourse/discourse_docker.git /opt/discourse
A continuación, también instalará el paquete net-tools en su sistema. Puedes instalarlo con el siguiente comando:
apt-get install net-tools -y
Una vez completada la instalación, puede continuar con el siguiente paso.
Instalar y configurar el discurso
Ahora, cambie el directorio a /opt/discourse y ejecute el script de configuración de Discourse usando el siguiente comando:
cd /opt/discourse ./discourse-setup
Se le pedirá que proporcione el nombre de host de su sistema como se muestra a continuación:
Ports 80 and 443 are free for use 'samples/standalone.yml' -> 'containers/app.yml' Found 4GB of memory and 2 physical CPU cores setting db_shared_buffers = 1024MB setting UNICORN_WORKERS = 4 containers/app.yml memory parameters updated. Hostname for your Discourse? [discourse.linuxbuz.com]: discourse.linuxbuz.com
Proporcione su nombre de dominio totalmente calificado válido y pulse Ingresar. Se le pedirá que proporcione una dirección de correo electrónico para la cuenta de administrador, el servidor SMTP, el nombre de usuario SMTP, la contraseña SMTP y la dirección de correo electrónico para Let’s Encrypt como se muestra a continuación:
Checking your domain name . . . Connection to discourse.linuxbuz.com succeeded. Email address for admin account(s)? [[email protected],[email protected]]: [email protected] SMTP server address? [smtp.example.com]: smtp.gmail.com SMTP port? [587]: SMTP user name? [[email protected]]: [email protected] SMTP password? [pa$$word]: [email protected] Optional email address for Let's Encrypt warnings? (ENTER to skip) [[email protected]]: [email protected]
Proporcione todos los detalles y pulse Ingresar. Debería ver el siguiente resultado:
Does this look right? Hostname : discourse.linuxbuz.com Email : [email protected] SMTP address : smtp.gmail.com SMTP port : 587 SMTP username : [email protected] SMTP password : asdfgsd Let's Encrypt : [email protected] ENTER to continue, 'n' to try again, Ctrl+C to exit:
Presiona Enter para iniciar la instalación. Una vez que se haya completado la instalación, debería ver el siguiente resultado:
Enabling Let's Encrypt web.ssl.template.yml enabled letsencrypt.ssl.template.yml enabled Configuration file at updated successfully! Updates successful. Rebuilding in 5 seconds. Building app Ensuring launcher is up to date Fetching origin Launcher is up-to-date + /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_HOSTNAME=discourse.linuxbuz.com -e [email protected] -e DISCOURSE_SMTP_ADDRESS=smtp.gmail.com -e DISCOURSE_SMTP_PORT=587 -e [email protected] -e DISCOURSE_SMTP_PASSWORD=asdfgsd -e [email protected] -h ubuntu2004-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:43:15:82:15:a7 local_discourse/app /sbin/boot 7e303b07344c3643846a03d5c2f758ec67a6aa94b2a6a399bcb2766ccd02b3c2
El script de configuración anterior generará un archivo de configuración llamado app.yml dentro discurso/contenedores directorio. Si desea realizar cambios en la configuración, simplemente edite su /opt/discouse/containers/aplicación.yml archivo y ejecute ./launcher rebuild app para aplicar los cambios.
Acceder a la interfaz web del discurso
Ahora, abra su navegador web y escriba la URL https://discourse.linuxbuz.com. Será redirigido a la página de registro del Discurso:
Haga clic en el Registro botón. Deberías ver la siguiente página:
Anuncio publicitario
Proporcione el nombre de usuario y la contraseña para su cuenta de administrador y haga clic en el Registro botón. Deberías ver la siguiente página:
Deberías recibir un correo electrónico para activar tu cuenta.
Conclusión
¡Felicidades! Ha instalado con éxito el foro Discourse con Docker en el servidor Ubuntu 20.04. Espero que ahora pueda implementar fácilmente su propio foro de discusión en línea con Discourse. No dude en preguntarme si tiene alguna pregunta.