GNU/Linux >> Tutoriales Linux >  >> Cent OS

Instale Mattermost con PostgreSQL y Nginx en CentOS 7

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.


Cent OS
  1. Cómo instalar Nginx en CentOS 8

  2. Instale Nginx con ngx_pagespeed en CentOS 7

  3. Cómo instalar y configurar Postgres 13 en Centos 8

  4. Cómo instalar Varnish y phpMyAdmin en un VPS CentOS 7 con Nginx, MariaDB y PHP-FPM

  5. Instale Magento en CentOS 7, con Nginx, PHP-FPM y MariaDB

Cómo instalar Jenkins Automation Server con Nginx en CentOS 7

Instalación y configuración de PhpMyAdmin con Nginx en CentOS 7

Instale Nginx en CentOS 7 / RHEL 7

Cómo instalar Nginx en CentOS

Cómo instalar OwnCloud 8 con Nginx y PHP-FPM en CentOS 6

Cómo instalar Nginx en CentOS 6