En este tutorial, le mostraremos cómo instalar y configurar Mattermost en el servidor CentOS 7. Para aquellos de ustedes que no lo sabían, Mattermost es una nube privada de código abierto. Alternativa a Slack. Un sistema de mensajería en el lugar de trabajo para web, PC y teléfonos, lanzado bajo la licencia MIT.
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 limitado por Slack", y admite una superconjunto de integraciones de webhooks entrantes y salientes de Slack, incluida la compatibilidad con integraciones de Slack existentes. Desde sus equipos de Slack existentes, puede importar usuarios, historial de canales públicos e incluso colores de configuración de temas en Mattermost.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Te mostraré la instalación paso a paso de Mattermost en un servidor CentOS 7.
Requisitos previos
- Un servidor que ejecuta uno de los siguientes sistemas operativos:CentOS 7.
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Acceso SSH al servidor (o simplemente abra Terminal si está en una computadora de escritorio).
- Un
non-root sudo user
o acceder alroot user
. Recomendamos actuar como unnon-root sudo user
, sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.
Instalar Mattermost en CentOS 7
Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado.
yum clean all yum -y update
Paso 2. Instalación de la base de datos MySQL.
Instale y configure la base de datos para que la use el servidor de Mattermost. Puede instalar MySQL usando el siguiente comando:
wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm yum localinstall mysql57-community-release-el7-9.noarch.rpm
A continuación, instale MySQL:
sudo yum install mysql-community-server
Inicie el servidor MySQL:
systemctl start mysqld.service chkconfig mysqld on
Configuración de MySQL para SugarCRM.
De forma predeterminada, MySQL no está reforzado. Puede proteger MySQL usando mysql_secure_installation
texto. debe leer y debajo de cada paso cuidadosamente que establecerá una contraseña de root, eliminará usuarios anónimos, no permitirá el inicio de sesión de root remoto y eliminará la base de datos de prueba y accederá a MySQL seguro:
mysql_secure_installation
Configúralo así:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
A continuación, debemos iniciar sesión en la consola de MySQL y crear una base de datos para Mattermost. Ejecute el siguiente comando:
mysql -u root -p
Esto le pedirá una contraseña, así que ingrese su contraseña raíz de MariaDB y presione Enter. Una vez que haya iniciado sesión en su servidor de base de datos, debe crear una base de datos para Instalación más importante:
mysql> CREATE USER 'mmuser'@'localhost' IDENTIFIED BY 'mmuser_strong_password'; mysql> CREATE DATABASE mattermostdb; mysql> GRANT ALL PRIVILEGES ON mattermostdb.* TO 'mmuser'@'localhost'; mysql> FLUSH PRIVILEGES; mysql> EXIT;
Paso 3. Instalación del servidor Mattermost.
Lo primero que debe hacer es ir a la página de descarga de Mattermost y descargar la última versión estable de Mattermost, al momento de escribir este artículo es la versión 3.6.2 :
wget https://releases.mattermost.com/3.6.2/mattermost-3.6.2-linux-amd64.tar.gz
Descomprima el archivo de Mattermost en el directorio raíz del documento en su servidor:
tar xf *.gz mv mattermost /opt/
Cree el directorio de almacenamiento para archivos:
mkdir /opt/mattermost/data
Configure un usuario del sistema y un grupo llamado Mattermost que ejecutará este servicio y establezca la propiedad y los permisos:
useradd --system --user-group mattermost chown -R mattermost:mattermost /opt/mattermost chmod -R g+w /opt/mattermost
Configure el controlador de la base de datos a través de /opt/mattermost/config/config.json
expediente. En él, busque las líneas "DriverName" y "DataSource" y cámbielas de la siguiente manera:
"DriverName": "mysql" "DataSource": "mmuser:@tcp(localhost:3306)/mattermost?charset=utf8"
Guarde, salga y pruebe Mattermost Server con el siguiente comando:
sudo -u mattermost /opt/mattermost/bin/platform
Cuando se inicia el servidor, muestra información de registro y el texto El servidor está escuchando en 8065. Puede detener el servidor presionando CTRL+C en la ventana de la terminal.
Paso 4. Cree un systemd
unidad para Mattermost.
Crear un systemd
archivo para Mattermost, /etc/systemd/system/mattermost.service
y, en él, pegar la siguiente configuración:
[Unit] Description=Mattermost After=syslog.target network.target postgresql-9.4.service [Service] Type=simple WorkingDirectory=/opt/mattermost/bin User=mattermost ExecStart=/opt/mattermost/bin/platform PIDFile=/var/spool/mattermost/pid/master.pid LimitNOFILE=49152 [Install] WantedBy=multi-user.target
Hacer que el servicio sea ejecutable:
chmod 664 /etc/systemd/system/mattermost.service
Y recargar los servicios:
systemctl daemon-reload
Habilitar el servicio Mattermost:
chkconfig mattermost on
Y comience con systemd
:
systemctl start mattermost
Paso 5. Instalación y configuración de NGINX.
En un sistema de producción, use un servidor proxy frente al servidor Mattermost. En este caso, NGINX. Los principales beneficios de hacer esto son:
- Terminación de SSL
- Asignación de puertos:80 a 8065
- Redirección de HTTP a HTTPS
- Registros de solicitudes estándar
Para instalar NGINX en CentOS 7, cree un archivo de repositorio yum, /etc/yum.repos.d/nginx.repo
, con el siguiente contenido:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/rhel/7.1/$basearch/ gpgcheck=0 enabled=1
Instalar Nginx usando yum
comando:
yum install nginx.x86_64
Después de completar la instalación, inicie NGINX:
systemctl start nginx systemctl enable nginx
Configuración Nginx.
Para configurar NGINX como servidor proxy, cree el archivo /etc/nginx/sites-available/mattermost
y pasado:
upstream backend { server localhost:8065; } proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off; server { listen 80; server_name mattermost.mydomain.com; location /api/v3/users/websocket { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; client_max_body_size 50M; 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_buffers 256 16k; proxy_buffer_size 16k; proxy_read_timeout 600s; proxy_pass http://backend; } location / { client_max_body_size 50M; proxy_set_header Connection ""; 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_buffers 256 16k; proxy_buffer_size 16k; proxy_read_timeout 600s; proxy_cache mattermost_cache; proxy_cache_revalidate on; proxy_cache_min_uses 2; proxy_cache_use_stale timeout; proxy_cache_lock on; proxy_pass http://backend; } }
Eliminar el archivo predeterminado existente habilitado para sitios:
rm /etc/nginx/sites-enabled/default
Habilitar la configuración de Mattermost:
ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/mattermost
Finalmente, reinicie el servicio Nginx:
systemctl restart nginx
Paso 7. Acceso a Mattermost.
Mattermost estará disponible en el puerto HTTP 80 de manera predeterminada. Abra su navegador favorito y vaya a http://mattermost.mydomain.com/
y continúe configurando Mattermost ingresando una dirección de correo electrónico y creando una cuenta. Si está utilizando un firewall, abra el puerto 80 para habilitar el acceso al panel de control.
¡Felicitaciones! Ha instalado Mattermost con éxito. Gracias por usar este tutorial para instalar Mattermost en el sistema CentOS 7. Para obtener ayuda adicional o información útil, le recomendamos que visite el sitio web oficial de Mattermost.