Mattermost es una alternativa de Slack de código abierto y autohospedado. Mattermost es comunicación moderna detrás de su cortafuegos.
Como alternativa a la mensajería SaaS patentada, Mattermost reúne todas las comunicaciones de su equipo en un solo lugar, lo que permite buscarlas y acceder a ellas desde cualquier lugar.
Mattermost es "compatible con Slack, no está limitado por Slack", y admite un superconjunto de integraciones de webhooks entrantes y salientes de Slack, incluida la compatibilidad con las integraciones existentes de Slack. Desde sus equipos de Slack existentes, puede importar usuarios, historial de canales públicos e incluso colores de configuración de temas a Mattermost.
Nombres, variables y cuentas utilizadas en este HowTo
local IP of server : 192.168.2.100
FQDN of server : mattermost.example.com
Name of mattermost database : mattermost
User to access mattermost database : mmuser
Password for mmuser within database: DBAss47slX3
Requisitos
Este Howto explica la instalación de Mattermost en CentOS7 utilizando PostgreSQL como backend de base de datos. A los efectos de esta guía, supondremos que instalamos todo en un solo servidor, pero para los usuarios experimentados, sería fácil desmontar las piezas e instalar cada componente (p. ej., el servidor de la base de datos) en una máquina diferente. La instalación se ha realizado con el usuario root pero podría, por supuesto, usar un usuario habilitado para sudo , también.
También asumimos que el servidor tiene una dirección IP de 192.168.2.100 y ese DNS se resuelve en mattermost.example.com . Entonces, en cualquier parte de este HowTo donde lea 192.168.2.100 o mattermost.example.com reemplácelo con la dirección IP de su servidor.
Antes de que pueda comenzar, necesita una instalación mínima de CentOS7. Después de la instalación, asegúrese de configurar el correo electrónico correctamente (configuración de postfix), para que su sistema pueda enviar correos electrónicos (por ejemplo, a través de un host inteligente o una solución similar).
Realice algunas comprobaciones antes de continuar:
Intente enviar un correo desde una terminal en su servidor:
[[email protected] ~]echo -en "Subject: Testmail\n\nThis is a test\n" | sendmail [email protected]
(reemplace [email protected] con una dirección de correo electrónico a la que su servidor debería poder enviar). ¡Asegúrate de haber recibido un correo electrónico del sistema!
Verificar la resolución de nombres para mattermost.example.com
Desde una computadora diferente (no el servidor que tratamos de configurar) intente hacer ping a mattermost.example.com. Debería obtener un resultado positivo:
C:\>ping mattermost.example.com
Pinging mattermost.witron.com [192.168.2.100] with 32 bytes of data:
Reply from 192.168.2.100: bytes=32 time<1ms TTL=64
Reply from 192.168.2.100: bytes=32 time<1ms TTL=64
Reply from 192.168.2.100: bytes=32 time<1ms TTL=64
Reply from 192.168.2.100: bytes=32 time<1ms TTL=64
Ping statistics for 192.168.2.100:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Verificar la conectividad a Internet
Ahora instalaremos el paquete wget (que necesitaremos más adelante).
[[email protected] ~] yum -y install wget
y usarlo para determinar nuestra ip pública. Para que podamos comprobar nuestra conectividad a Internet.
[[email protected] ~] wget http://ipinfo.io/ip -qO -
46.101.122.124
El resultado debería ser su dirección IP pública.
Verifique el estado del firewall y desactívelo por ahora
Verifique si su instalación de CentOS7 tiene firewalld activado. Puede verificar esto escribiendo
[[email protected] ~] systemctl status firewalld
Si muestra algo como
Activo:activo (en ejecución) desde ...
apáguelo y desactívelo con estos 2 comandos.
[[email protected] ~] systemctl stop firewalld
[[email protected] ~] systemctl disable firewalld
Al final de este tutorial, encontrará instrucciones sobre cómo volver a habilitar firewalld y cómo configurarlo correctamente para que funcione con Mattermost.
Si pasa todas las comprobaciones anteriores o sabe que tiene un sistema utilizable para este tutorial, puede continuar ahora.
Instalar servidor de base de datos PostgreSQL
Usaremos PostgreSQL como base de datos para Mattermost. Instálalo con el siguiente comando:
[[email protected] ~] yum -y install postgresql-server postgresql-contrib
Después de la instalación tenemos que iniciar la base de datos.
[[email protected] ~] postgresql-setup initdb
Initializing database ... OK
Luego inicie PostgreSQL y actívelo para el inicio automático.
[[email protected] ~]# systemctl start postgresql
[[email protected] ~]# systemctl enable postgresql
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql.service to /usr/lib/systemd/system/postgresql.service.
Verifique que PostgreSQL se esté ejecutando ejecutando.
[[email protected] ~]# systemctl status postgresql
Debería informar algo similar a esto (asegúrese de que esté Activo:activo (en ejecución) en algún lugar del texto).
? postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2016-03-04 11:37:50 CET; 44s ago
Main PID: 17660 (postgres)
CGroup: /system.slice/postgresql.service
??17660 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432
??17661 postgres: logger process
??17663 postgres: checkpointer process
??17664 postgres: writer process
??17665 postgres: wal writer process
??17666 postgres: autovacuum launcher process
??17667 postgres: stats collector process
Mar 04 11:37:48 mattermost systemd[1]: Starting PostgreSQL database server...
Mar 04 11:37:50 mattermost systemd[1]: Started PostgreSQL database server.
Mar 04 11:37:59 mattermost systemd[1]: Started PostgreSQL database server.
Crear base de datos y usuario de base de datos
PostgreSQL creó automáticamente un usuario y un grupo con el nombre postgres . Usamos el usuario postgres para conectarse al motor de la base de datos y configurar una base de datos y un usuario que pueda acceder a ella.
Inicie un aviso como el usuario postgres :
[[email protected] ~]# sudo -i -u postgres
Su aviso ahora cambiará a:
-bash-4.2$
Ahora conectémonos al servidor de la base de datos.
-bash-4.2$ psql
psql (9.2.15)
Type "help" for help.
postgres=#
Dentro del indicador de PostgreSQL ahora creamos una base de datos con el nombre 'mattermost'.
postgres=# CREATE DATABASE mattermost;
CREATE DATABASE
Ahora creamos un usuario 'mmuser ' con la contraseña 'DBAss47slX 3'.
postgres=# CREATE USER mmuser WITH PASSWORD 'DBAss47slX3';
CREATE ROLE
Otorgue al usuario acceso a la base de datos de Mattermost escribiendo:
postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
GRANT
postgres=#
Luego podemos salir del mensaje de PostgreSQL escribiendo:
postgres=# \q
-bash-4.2$
Y luego salga del shell que comenzamos como usuario 'postgres ' con.
-bash-4.2$ exit
logout
[[email protected] ~]#
Permitir acceso a la base de datos PostgreSQL desde localhost mediante nombre de usuario/contraseña
Más tarde, a nuestra instancia más importante le gustaría hablar con la base de datos PostgreSQL y autenticarse con nombre de usuario y contraseña. Para permitir esto, necesitamos cambiar ligeramente la configuración de PostgreSQL. Abra el archivo:
vi /var/lib/pgsql/data/pg_hba.conf
con un editor como vi o nano y cambie la línea:
host all all 127.0.0.1/32 ident
a:
host all all 127.0.0.1/32 md5
Guarde el archivo y luego reinicie Postgresql.
[[email protected] ~]# systemctl restart postgresql
Deberíamos verificar que lo hicimos correctamente conectándonos al servidor de la base de datos con nuestro usuario y contraseña creados previamente (use su contraseña si usó una diferente en su servidor):
[[email protected] ~]# psql --host=127.0.0.1 --dbname=mattermost --username=mmuser --password
Password for user mmuser:
psql (9.2.15)
Type "help" for help.
mattermost=> \q
[[email protected] ~]#
¡Nuestro servidor y base de datos PostgreSQL ya están listos para Mattermost!
Descargar y extraer Mattermost
Descarguemos una copia del servidor de Mattermost directamente desde su repositorio de Github (en el momento de la creación de este tutorial, la versión v2.0.0 era la versión actual) usando wget.
[[email protected] ~]# cd
[[email protected] ~]# wget -q "https://github.com/mattermost/platform/releases/download/v2.0.0/mattermost.tar.gz" -O mattermost.tar.gz
Ahora extraigamos el archivo y coloquemos los archivos extraídos en su ubicación de destino (en este caso usamos /opt/mattermost).
[[email protected] ~]# tar -xvzf mattermost.tar.gz
[[email protected] ~]# mv mattermost /opt
Instalando Mattermost
Crear un usuario que ejecute el demonio Mattermost
Más tarde ejecutaremos Mattermost como un demonio. Por lo tanto, configuramos un nuevo usuario en nuestro sistema con el nombre 'mattermost '. Ejecutará la instancia más importante más tarde. Ejecute el siguiente comando para crear un usuario del sistema y un grupo 'mattermost ':
[[email protected] ~]# useradd -r mattermost -U -s /sbin/nologin
Crea una carpeta de almacenamiento de datos para Mattermost
Mattermost quiere almacenar algunos de sus datos, p. archivos cargados, etc. en una carpeta. Así que tenemos que crear esa carpeta. Puede estar en cualquier parte del disco duro, pero debe ser accesible para el usuario 'mattermost '. Elegí usar '/opt/mattermost/data'. Cree la carpeta con el siguiente comando:
[[email protected] ~]# mkdir -p /opt/mattermost/data
Establecer propietario del directorio más importante
Ahora establecemos el grupo y el propietario del directorio de Mattermost en nuestro usuario y grupo creados previamente:
[[email protected] ~]# chown -R mattermost:mattermost /opt/mattermost
[[email protected] ~]# chmod -R g+w /opt/mattermost
Configure la conexión de la base de datos para la mayor parte
Para decirle a Mattermost cómo debe conectarse a nuestra base de datos PostgreSQL, necesitamos editar su archivo de configuración:
/opt/mattermost/config/config.json
Busque la sección 'SqlSettings ' y cambiarlo a nuestras necesidades:
ANTES
"SqlSettings": {
"DriverName": "mysql",
"DataSource": "mmuser:[email protected](dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8",
"DataSourceReplicas": [],
"MaxIdleConns": 10,
"MaxOpenConns": 10,
"Trace": false,
"AtRestEncryptKey": "7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QVg"
},
DESPUÉS
"SqlSettings": {
"DriverName": "postgres",
"DataSource": "postgres://mmuser:[email protected]:5432/mattermost?sslmode=disable&connect_timeout=10",
"DataSourceReplicas": [],
"MaxIdleConns": 10,
"MaxOpenConns": 10,
"Trace": false,
"AtRestEncryptKey": "7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QVg"
},
Puede dejar AtRestEncryptKey tal cual!
Configurar la conectividad de correo electrónico para mattermost
Nuevamente necesitamos editar su archivo de configuración
/opt/mattermost/config/config.json
Busque la sección 'Configuración de correo electrónico' y cámbiela según nuestras necesidades:
ANTES
"EmailSettings": {
"EnableSignUpWithEmail": true,
"EnableSignInWithEmail": true,
"EnableSignInWithUsername": false,
"SendEmailNotifications": false,
"RequireEmailVerification": false,
"FeedbackName": "",
"FeedbackEmail": "",
"SMTPUsername": "",
"SMTPPassword": "",
"SMTPServer": "",
"SMTPPort": "",
"ConnectionSecurity": "",
"InviteSalt": "bjlSR4QqkXFBr7TP4oDzlfZmcNuH9YoS",
"PasswordResetSalt": "vZ4DcKyVVRlKHHJpexcuXzojkE5PZ5eL",
"SendPushNotifications": false,
"PushNotificationServer":
},
DESPUÉS
"EmailSettings": {
"EnableSignUpWithEmail": true,
"EnableSignInWithEmail": true,
"EnableSignInWithUsername": false,
"SendEmailNotifications": false,
"RequireEmailVerification": false,
"FeedbackName": "",
"FeedbackEmail": "",
"SMTPUsername": "",
"SMTPPassword": "",
"SMTPServer": "127.0.0.1",
"SMTPPort": "25",
"ConnectionSecurity": "",
"InviteSalt": "bjlSR4QqkXFBr7TP4oDzlfZmcNuH9YoS",
"PasswordResetSalt": "vZ4DcKyVVRlKHHJpexcuXzojkE5PZ5eL",
"SendPushNotifications": false,
"PushNotificationServer": ""
},
Usamos 127.0.0.1 y puerto 25 porque usamos nuestra instalación postfix local que ya está configurada para poder enviar correo electrónico al exterior. Si su configuración difiere aquí, ¡debe establecer los valores correctos!
Configurar mattermost para escuchar solo en la interfaz interna (127.0.0.1)
De forma predeterminada, la instancia del servidor de Mattermost escuchará en todas las interfaces en el puerto 8065 (:8065). Debido a que queremos colocar un servidor Nginx frente a Mattermost, cambiamos este comportamiento para que solo escuche en localhost (127.0.0.1:8065).
Solo cambia la línea
"ListenAddress": ":8065",
a
"ListenAddress": "127.0.0.1:8065",
en el archivo config.json.
Prueba el servidor Mattermost
Ahora podemos probar si nuestro servidor principal comenzaría ejecutándolo desde la línea de comandos. Por favor, asegúrese de hacer esto como el usuario 'más importante'. Si accidentalmente hiciste esto como 'root', ¡tienes que corregir los permisos para la carpeta más importante nuevamente!
[[email protected] ~]# su - mattermost -s /bin/bash
Last login: Fri Mar 4 12:47:52 CET 2016 on pts/0
su: warning: cannot change directory to /home/mattermost: No such file or directory
-bash-4.2$
Ahora cambie al directorio de instalación más importante:
-bash-4.2$ cd /opt/mattermost/bin/
Y ejecute la mayoría de las cosas desde la línea de comando:
-bash-4.2$ ./platform
El resultado debería ser similar a esto:
[2016/03/04 13:00:10 CET] [INFO] Loaded system translations for 'en' from '/opt/mattermost/i18n/en.json'
[2016/03/04 13:00:10 CET] [INFO] Current version is 2.0.0 (5950/Sat Feb 13 15:42:01 UTC 2016/c71c5cef632c7dc68072167c6fe091a60835fa02)
[2016/03/04 13:00:10 CET] [INFO] Enterprise Enabled: false
[2016/03/04 13:00:10 CET] [INFO] Current working directory is /opt/mattermost/bin
[2016/03/04 13:00:10 CET] [INFO] Loaded config file from /opt/mattermost/config/config.json
[2016/03/04 13:00:10 CET] [INFO] Server is initializing...
[2016/03/04 13:00:10 CET] [INFO] Pinging sql master database
[2016/03/04 13:00:10 CET] [INFO] Pinging sql replica-0 database
[2016/03/04 13:00:10 CET] [DEBG] Deleting any unused pre-release features
[2016/03/04 13:00:10 CET] [INFO] The database schema has been set to version 2.0.0
[2016/03/04 13:00:10 CET] [DEBG] Initializing user api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing team api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing channel api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing post api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing web socket api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing file api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing command api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing admin api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing oauth api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing webhook api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing preference api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing license api routes
[2016/03/04 13:00:10 CET] [DEBG] Parsing server templates at /opt/mattermost/api/templates/
[2016/03/04 13:00:10 CET] [DEBG] Initializing web routes
[2016/03/04 13:00:10 CET] [DEBG] Using static directory at /opt/mattermost/web/static/
[2016/03/04 13:00:10 CET] [DEBG] Parsing templates at /opt/mattermost/web/templates/
[2016/03/04 13:00:10 CET] [INFO] Starting Server...
[2016/03/04 13:00:10 CET] [INFO] Server is listening on 127.0.0.1:8065
[2016/03/04 13:00:10 CET] [INFO] RateLimiter is enabled
[2016/03/04 13:00:10 CET] [DEBG] Checking for security update from Mattermost
[2016/03/04 13:00:10 CET] [EROR] Failed to get security update information from Mattermost.
Detenga el servidor más importante con Ctrl+C
y luego salga del shell que comenzamos como usuario 'mattermost' con:
-bash-4.2$ exit
logout
[[email protected] ~]#
Si su instancia más importante no se inicia, lea el resultado detenidamente. Tuve muchos problemas porque olvidé una coma simple en config.json. También asegúrese de no usar caracteres especiales en la contraseña de su dbuser, especialmente no '@ ' señal. ¡Eso me puso raro al principio!
Si ejecutó accidentalmente el comando anterior como 'root ' y eso también podría funcionar, debe volver a corregir los permisos para la carpeta más importante. Usa este comando si te encuentras con este error:
[[email protected] ~]# chown -R mattermost:mattermost /opt/mattermost
Si todo salió bien, ahora podemos continuar.
Configurar Mattermost como un demonio
Para configurar Mattermost como un demonio, cree un archivo
/etc/systemd/system/mattermost.service
con el siguiente contenido:
[Unit]
Description=Mattermost
After=syslog.target network.target
[Service]
Type=simple
WorkingDirectory=/opt/mattermost/bin
User=mattermost
ExecStart=/opt/mattermost/bin/platform
PIDFile=/var/spool/mattermost/pid/master.pid
[Install]
WantedBy=multi-user.target
A continuación, vuelva a cargar los archivos del daemon con:
[[email protected] ~]# systemctl daemon-reload
Ahora podemos iniciar/detener/habilitar/deshabilitar este servicio como estamos acostumbrados a hacer.
Entonces, comencemos Mattermost, obtengamos su estado y luego habilitémoslo como un servicio (inicio automático).
Iniciar el demonio de Mattermost
[[email protected] ~]# systemctl start mattermost.service
Verificar el estado más importante
[[email protected] ~]# systemctl status mattermost.service
? mattermost.service - Mattermost
Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2016-03-04 14:03:40 CET; 4s ago
Main PID: 18573 (platform)
CGroup: /system.slice/mattermost.service
??18573 /opt/mattermost/bin/platform
...
...
Asegúrate de que esté activo (en ejecución) !
Habilitar daemon para inicio automático
[[email protected] ~]# systemctl enable mattermost.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mattermost.service to /etc/systemd/system/mattermost.service.
Ahora, solo con seguridad, hacemos una prueba si Mattermost está escuchando en 127.0.0.1:8065 ejecutando el siguiente comando:
[[email protected] config]# curl -s "http://127.0.0.1:8065" | grep -b "2015 Mattermost"
Deberíamos obtener una sola línea que contenga '2015 Mattermost'.
11343: <span class="pull-right footer-link copyright">© 2015 Mattermost, Inc.</span>
Si es así, podemos estar seguros de que la instancia del servidor de Mattermost se está ejecutando y podemos continuar.
Solucionar problemas de permisos relacionados con SELinux
En CentOS7, SELinux está habilitado de forma predeterminada. Podríamos desactivarlo por completo, pero es mejor reconfigurarlo y permitir que nuestro servidor Mattermost se ejecute.
Simplemente ingrese los siguientes 2 comandos para corregir los permisos de SELinux:
[[email protected] config]# chcon -Rt httpd_sys_content_t /opt/mattermost/
[[email protected] config]# setsebool -P httpd_can_network_connect 1
Configurar servidor Nginx
Pondremos un servidor Nginx frente a nuestra instancia de servidor Mattermost.
Los principales beneficios son:
- Asignación de puertos:80 a:8065
- Registros de solicitudes estándar
- más opciones al cambiar posteriormente a SSL
Habilitar epel-repository
Nginx no está en los repositorios predeterminados de CentOS. Entonces, primero debemos habilitar el repositorio epel. Esta es una tarea fácil, solo ingresa:
[[email protected] config]# yum -y install epel-release && yum update
Instalar nginx
Después de haber habilitado epel-release, simplemente podemos instalar nginx con el siguiente comando:
[[email protected] config]# yum -y install nginx
Esto instalará nginx y todas sus dependencias.
Configurar nginx
Hay muchas formas de configurar Nginx. Este tutorial solo mostrará cómo crear una configuración muy simple para Nginx que solo aloja nuestro servidor Mattermost en el puerto 80.
Cambiar el archivo de configuración predeterminado de Nginx
Cree una copia de seguridad del nginx.conf actual ejecutando:
[[email protected] config]# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
Luego reemplace /etc/nginx/nginx.conf con este contenido:
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server {
server_name mattermost.example.com;
location / {
client_max_body_size 50M;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_pass http://127.0.0.1:8065;
}
}
}
Asegúrese de utilizar el nombre de host correcto como se indicó anteriormente en este documento.
Para verificar que no tenemos ningún error de sintaxis en nuestros archivos de configuración, ejecute el siguiente comando para verificar la sintaxis:
[[email protected] config]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Iniciar y habilitar Nginx como demonio
Iniciar Nginx
[[email protected] config]# systemctl start nginx
Comprobar estado
[[email protected] config]# systemctl status nginx
Asegúrese de que genere al menos una línea que muestre:
...
Active: active (running)...
...
Habilitar como demonio
[[email protected] config]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
Si todo salió bien, ahora debería tener una instalación de Mattermost funcionando detrás de Nginx. Verifíquelo abriendo la siguiente URL en su navegador:
http://mattermost.example.com
¡Debería aparecer la pantalla de inicio de sesión de Mattermost!
Ahora puede continuar configurando su instalación de Mattermost ingresando su dirección de correo electrónico y creando una cuenta.
Cortafuegos
Anteriormente en este tutorial, deshabilitamos firewalld. Si desea volver a habilitarlo pero desea mantener abierto el puerto 80 (que actualmente usamos para Mattermost a través de Nginx), simplemente haga lo siguiente:
Iniciar y volver a habilitar Firewalld
[[email protected] config]# systemctl start firewalld
[[email protected] config]# systemctl enable firewalld
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/basic.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
Abrir el puerto 80 en el cortafuegos
[[email protected] config]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[[email protected] config]# firewall-cmd --reload
success
Ahora debería poder acceder a su instalación de Mattermost, ¡incluso se está ejecutando Firewalld!
Resumen
Espero que este tutorial te haya resultado útil y te haya funcionado. En un entorno de producción, debe crear/usar certificados para su sitio web de Mattermost y habilitar https a través de Nginx. Esto se puede lograr fácilmente modificando ligeramente este Cómo.