GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Mattermost con PostgreSQL y Nginx en Ubuntu 16.04

Mattermost es un sistema de mensajería de código abierto escrito en los lenguajes de programación Golang y React. Es una alternativa de slack, podemos crear nuestro propio servicio de mensajería como slack o hipchat con él. Mattermost lleva la comunicación de su equipo a un solo lugar y la hace accesible desde cualquier lugar. Puede acceder desde su escritorio, dispositivo Android y iPhone.

En este tutorial, lo guiaré para que cree su propio servidor Mattermost que use PostgreSQL como sistema de base de datos y Nginx como proxy inverso para Mattermost. Usaré ubuntu 16.04 como sistema operativo.

Requisito previo

  • Ubuntu 16.04 - 64 bits
  • Privilegios de raíz

Paso 1:instalar y configurar la base de datos PostgreSQL

Mattermost admite bases de datos MySQL y PostgreSQL. Usaremos PostgreSQL como base de datos principal para este tutorial. Conéctese a su servidor y actualice el repositorio.

Conéctese a su servidor por SSH o inicie sesión en la terminal y actualice el repositorio de Ubuntu.

ssh [email protected]
sudo apt-get update

Como usuario raíz, instale PostgreSQL con este comando apt.

sudo apt-get install postgresql postgresql-contrib

Cuando finalice la instalación, inicie sesión en el usuario de postgres y escriba el comando 'psql ' para iniciar sesión en el shell de postgresql.

su - postgres
psql

Cambie la contraseña de usuario de postgres con el siguiente comando:

\password postgres
Ingrese la nueva contraseña:

A continuación, tenemos que configurar una nueva base de datos y un nuevo usuario para la instalación de Mattermost. Crearé una nueva base de datos llamada 'mattermostdb ' y el usuario 'asuntousuario ' con contraseña 'importantecontraseña '. Elija una contraseña segura para su instalación.

Cree la nueva base de datos y el usuario con la consulta de PostgreSQL a continuación:

CREAR BASE DE DATOS materiamostdb;
CREAR USUARIO materiausuario CON CONTRASEÑA 'materiacontraseña';

Otorgar 'asuntousuario ' privilegios a la base de datos 'mattermostdb ' y salir.

CONCEDER TODOS LOS PRIVILEGIOS EN LA BASE DE DATOS mattermostdb A matteruser;
\q

Paso 2:instalar y configurar Mattermost

Instalaremos y configuraremos Mattermost como usuario normal de Linux, no como usuario raíz. Ejecutaremos Mattermost como usuario 'matter', por lo que debemos crear un nuevo usuario de Linux llamado 'matter' en el servidor.

Crear nuevo 'asunto ' usuario y contraseña.

useradd -m -s /bin/bash asunto
contraseña asunto

Usuario 'asunto' creado, ahora inicie sesión con el usuario y descargue la última versión de Mattermost con wget.

su - materia
wget https://releases.mattermost.com/3.4.0/mattermost-3.4.0-linux-amd64.tar.gz

Extraiga el archivo Mattermost y verá el nuevo directorio 'mattermost', ingrese ese directorio con el comando cd.

tar -xzvf materia más importante-3.4.0-linux-amd64.tar.gz
cd materia más importante/

A continuación, cree un nuevo directorio de 'datos' para almacenar los archivos de usuario, luego edite el archivo de configuración más importante 'config/config.json ' con vim.

datos mkdir/
vim config/config.json

Ejecutaremos Mattermost detrás de un proxy inverso Nginx, por lo que es mejor configurar Mattermost para escuchar en la dirección IP local. En la 'Configuración del servicio ', agregue la dirección IP del host local a la configuración en la línea 4.

"Dirección de escucha":"127.0.0.1:8065",

Ahora ve a 'SqlSettings ' en la línea 48. Cambie el 'DriverName ' y 'Fuente de datos ' configuración para usar la base de datos PostgreSQL con la siguiente configuración:

"DriverName":"postgres",
"DataSource":"postgres://matteruser:[email protected]:5432/mattermostdb?sslmode=disable&connect_timeout=10",

Nota:

usuarioimportante =usuario postgresql.
contraseña importante =la contraseña.
mattermostdb =la base de datos.

Guardar y salir.

Cuando haya terminado, vaya al directorio bin y ejecute lo más importante.

cd bin/
./plataforma

Verá que ahora Mattermost se está ejecutando en la IP localhost con el puerto 8065.

Presione Ctrl + c para salir.

Paso 3:configurar el servicio Mattermost Systemd

Vaya al directorio del sistema systemd y cree un nuevo archivo de servicio de Mattermost.

cd /etc/systemd/system/
vim mattermost.servicio

Pegue la configuración a continuación:

[Unidad]
Description=Mattermost es una alternativa de Slack autohospedada y de código abierto
After=syslog.target network.target

[Servicio]
Tipo=simple
Usuario=materia
Grupo=materia
ExecStart=/home/matter/mattermost/bin/platform
PrivateTmp=yes
WorkingDirectory=/home/ matter/mattermost
Restart=always
RestartSec=30
LimitNOFILE=49152

[Instalar]
WantedBy=multi-user.target

Guardar y salir.

Vuelva a cargar el demonio systemd e inicie el servicio Mattermost que creamos anteriormente.

systemctl daemon-reload
systemctl inicia lo más importante

Asegúrate de que no haya ningún error. Verifique que el servicio Mattermost se esté ejecutando.

netstat -plntu
el estado systemctl es lo más importante

Paso 4:instalar y configurar Nginx

En este paso, instalaremos Nginx y configuraremos Nginx como proxy inverso para Mattermost. Asignaremos el puerto más importante 8056 al puerto HTTP y HTTPS.

Instale Nginx desde el repositorio de Ubuntu con este comando apt.

sudo apt-get install nginx

Ahora vaya al directorio de configuración de Nginx y cree el subdirectorio SSL.

cd /etc/nginx/
mkdir ssl/; cd ssl/

Genere un nuevo archivo de certificado SSL autofirmado con OpenSSL y cambie los permisos de la clave privada.

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/mattermost.crt -keyout /etc/nginx/ssl/mattermost.key
chmod 400 mattermost.key

Cree un nuevo archivo de host virtual para Mattermost en los 'sitios disponibles ' directorio.

cd /etc/nginx/sites-disponible/
vim importa más

Pegue la configuración del host virtual a continuación:

servidor {
   escucha         80;
   nombre_servidor    materiamás.midominio.com;
   retorno         301 https://$nombre_servidor$solicitud_uri;
}

servidor {
   escucha 443 ssl;
   nombre_servidor mattermost.mydomain.com;

   ssl activado;
   ssl_certificate /etc/nginx/ssl/mattermost.crt;
   ssl_certificate_key /etc/nginx/ssl/mattermost.key;
   ssl_session_timeout 5m;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256 +EECDH:AES256+EDH';
   ssl_prefer_server_ciphers activado;
   ssl_session_cache shared:SSL:10m;

   ubicación / {
      gzip desactivado;
      proxy_set_header X -Reenviado-SSL activado;
      client_max_body_size 50M;
      actualización de proxy_set_header $http_upgrade;
      conexión "upgrade" de proxy_set_header;
      host de proxy_set_header $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;
   }
>/pre>

Cambie el nombre de dominio a su propio dominio, guarde y salga.

Active el host virtual creando un enlace simbólico al archivo más importante en 'sitios habilitados ' directorio.

ln -s /etc/nginx/sites-disponible/mattermost /etc/nginx/sites-enabled/

Pruebe la configuración de Nginx y asegúrese de que no haya ningún error, y reinicie nginx.

nginx -t
systemctl reiniciar nginx

Paso 5 - Prueba

Abra su navegador web y visite el nombre de dominio de mattermost, en mi caso:mattermost.mydomain.com.

Será redirigido a la conexión HTTPS automáticamente.

Cree una nueva cuenta primero, haga clic en 'Crear cuenta '.

Luego puede ver el enlace para crear nuevos equipos o para acceder a la consola de administración/sistema.

Haga clic en 'Ir a la consola del sistema ' y verá el panel de la consola del sistema a continuación:

Haga clic en 'Crear nuevo equipo ', escriba el nombre de su equipo y haga clic en 'Siguiente '. Luego configure la URL del equipo y haga clic en 'Finalizar botón '.

Finalmente, verá el panel de control del equipo.

Chat de equipo de Mattermost.

Mattermost con el servidor web PostgreSQL y Nginx en Ubuntu 16.04 se instaló correctamente.


Ubuntu
  1. Cómo instalar y proteger phpMyAdmin con Apache en Ubuntu 18.04

  2. Cómo instalar phpMyAdmin con Nginx en Ubuntu 18.04

  3. Cómo instalar MediaWiki con Nginx en Ubuntu 16.04

  4. Cómo instalar Postgresql y phpPgAdmin en Ubuntu 15.04

  5. Cómo instalar Nginx con PHP5 y MySQL en Ubuntu 11.10

Cómo instalar PostgreSQL y phpPgAdmin en Ubuntu 16.04

Cómo instalar Redmine 3.2 con Nginx en Ubuntu 16.04

Cómo instalar Django con PostgreSQL y Nginx en Ubuntu 16.04

Cómo instalar OSClass con Nginx en Ubuntu 20.04

Cómo Instalar Wordpress con Nginx, MariaDB y HHVM en Ubuntu 15.04

Cómo instalar Nginx con ModSecurity en Ubuntu 15.04