Discourse es una plataforma gratuita y de código abierto creada para la próxima década de Internet. Es un software de foro moderno que se puede usar como lista de correo, foro de discusión, sala de chat de formato largo y más. Utiliza Ruby on Rails para el backend, Ember.js para el front-end, PostgreSQL como almacén de datos y Redis como servidor de almacenamiento en caché. Es simple, eficiente, compatible con dispositivos móviles, personalizable y hace que la discusión en línea sea fácil y divertida.
En este tutorial, le mostraremos cómo instalar el foro Discourse usando Docker en el servidor CentOS 8.
Requisitos
- Un servidor que ejecuta CentOS 8.
- Un nombre de dominio válido apuntado con la IP de su servidor.
- Se configura una contraseña de root en el servidor.
Instalar Docker
Primero, deberá instalar Docker en su servidor. De forma predeterminada, Docker no está disponible en el repositorio estándar de CentOS 8. Por lo tanto, deberá agregar el repositorio oficial de Docker a su sistema. Puede agregarlo con el siguiente comando:
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Una vez que se crea el repositorio, instale Docker ejecutando el siguiente comando:
dnf install docker-ce --nobest
Después de instalar Docker, inicie el servicio de Docker y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl start docker
systemctl enable docker
Ahora puede verificar la versión de Docker usando el siguiente comando:
docker --version
Debería ver el siguiente resultado:
Docker version 20.10.1, build 831ebea
Instalar Discurso
Primero, cree un directorio para Discourse con el siguiente comando:
mkdir /opt/discourse
A continuación, descargue la última versión de Discourse desde el repositorio de Git usando el siguiente comando:
git clone https://github.com/discourse/discourse_docker.git /opt/discourse
A continuación, cambie el directorio a Discourse e instale Discourse con el siguiente comando:
cd /opt/discourse
./discourse-setup
Se le pedirá que proporcione su FQDN como se muestra a continuación:
which: no docker.io in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) which: no docker.io in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) 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.example.com]: discourse.linuxbuz.com
Proporcione su nombre de dominio válido y presione Entrar. Se le pedirá que proporcione su dirección de correo electrónico y contraseña válidas:
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]: yourpassword Optional email address for Let's Encrypt warnings? (ENTER to skip) [[email protected]]: [email protected] Does this look right?
Proporcione todos los detalles y presione Entrar. Deberá verificar toda la configuración como se muestra a continuación:
Hostname : discourse.linuxbuz.com Email : [email protected] SMTP address : smtp.gmail.com SMTP port : 587 SMTP username : [email protected] SMTP password : yourpassword Let's Encrypt : [email protected] ENTER to continue, 'n' to try again, Ctrl+C to exit:
Si todo está bien, presione Entrar para comenzar la instalación. Una vez que se haya completado la instalación, debería obtener el siguiente resultado:
+ /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=yourpassword -e [email protected] -h centos8-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:e0:37:60:d3:09 local_discourse/app /sbin/boot ab3bdf3c169d47d9ff06052f48ff078d46393f1152b651b9fd3354594cc38714
Ahora puede verificar el contenedor en ejecución de Discourse con el siguiente comando:
docker ps
Debería ver el siguiente resultado:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ab3bdf3c169d local_discourse/app "/sbin/boot" 22 seconds ago Up 21 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
Acceder a la interfaz de usuario web de Discourse
Ahora, abra su navegador web y escriba la URL https://discourse.linuxbuz.com . Será redirigido a la pantalla de configuración de Discourse:
Haga clic en Registrarse botón. Debería ver la página de registro:
Proporcione su correo electrónico, nombre de usuario, contraseña y haga clic en Registrarse botón. Debería recibir un correo electrónico para activar su cuenta.
Conclusión
¡Felicidades! Ha instalado correctamente el software de foro de Discourse en CentOS 8. Ahora puede explorar Discourse para obtener más funciones e implementarlo en el entorno de producción. Siéntase libre de preguntarme si tiene alguna pregunta.