androide

Come distribuire il più possibile su Ubuntu 18.04

How to Install Jitsi Meet on your own Linux Server

How to Install Jitsi Meet on your own Linux Server

Sommario:

Anonim

Mattermost è una piattaforma di messaggistica istantanea di livello enterprise, un'alternativa Slack self-hosted open source. È scritto in Golang e React e può usare MySQL o PostgreSQL come back-end del database. Mattermost riunisce tutte le comunicazioni del tuo team in un unico posto e offre varie funzionalità tra cui condivisione di file, messaggistica uno-a-uno e di gruppo, emoji personalizzati, videochiamate e altro ancora.

In questo tutorial, installeremo Mattermost su un server Ubuntu 18.04 e configureremo Nginx come proxy inverso SSL.

Prerequisiti

Assicurati di aver soddisfatto i seguenti prerequisiti prima di continuare con questo tutorial:

  • Hai effettuato l'accesso come utente con privilegi sudo. Hai un nome di dominio che punta all'indirizzo IP del tuo server. useremo example.com . Hai Nginx installato, se non controlla questa guida. Hai un certificato SSL installato per il tuo dominio. Puoi installare un certificato SSL Let's Encrypt gratuito seguendo questa guida.

Crea database MySQL

Useremo MySQL come database per Mattermost. Se non hai MySQL o MariaDB installati sul tuo server, puoi installarlo seguendo queste istruzioni.

Accedi alla shell MySQL:

mysql -u root

Crea un nuovo database e utente per la nostra installazione Mattermost con:

CREATE DATABASE mattermost; GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD'; Assicurati di utilizzare una password più sicura di P4ssvv0rD .

Crea un nuovo utente di sistema

Crea un nuovo utente e gruppo che eseguirà la nostra istanza Mattermost. Daremo il nome dell'utente più mattermost :

sudo useradd -U -M -d /opt/mattermost mattermost

Installa Mattermost Server

Al momento della stesura di questo articolo, l'ultima versione stabile di Mattermost è la versione 5.1.0. Scarica l'archivio con il seguente comando di arricciatura:

sudo curl -L https://releases.mattermost.com/5.1.0/mattermost-5.1.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz

Una volta completato il download, estrarre l'archivio e spostarlo nella directory /opt

sudo tar zxf /tmp/mattermost.tar.gz -C /opt

Creare la directory di archiviazione per i file:

sudo mkdir -p /opt/mattermost/data

Cambia la proprietà della directory per l'utente più importante:

sudo chown -R mattermost: /opt/mattermost

Apri il file /opt/mattermost/config/config.json , imposta il driver del database su mysql e inserisci le informazioni del database:

/opt/mattermost/config/config.json

"SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s",

Per assicurarci che la nostra istanza Mattermost funzioni come previsto testeremo il server Mattermost. Passare alla directory /opt/mattermost e avviare il server con i seguenti comandi:

cd /opt/mattermost sudo -u mattermost bin/mattermost

Se tutto funziona bene, il server verrà avviato e l'output avrà un aspetto simile al seguente:

{"level":"info", "ts":1532546921.941638, "caller":"app/server.go:115", "msg":"Starting Server…"} {"level":"info", "ts":1532546921.9421031, "caller":"app/server.go:154", "msg":"Server is listening on:8065"} {"level":"info", "ts":1532546921.9541554, "caller":"app/web_hub.go:75", "msg":"Starting 2 websocket hubs"}

Ora possiamo arrestare il server Mattermost con CTRL+C e continuare con i passaggi successivi.

Crea un'unità Systemd

Per eseguire la nostra istanza Mattermost come servizio creeremo un file di unità mattermost.service nella directory /etc/systemd/system/ .

Apri il tuo editor di testo e crea il seguente file:

/etc/systemd/system/mattermost.service

Description=Mattermost After=network.target After=mysql.service Requires=mysql.service Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 WantedBy=mysql.service

Notifica a systemd che abbiamo creato un nuovo file di unità e avvia il servizio Mattermost con i seguenti comandi:

sudo systemctl daemon-reload sudo systemctl start mattermost

Ora possiamo controllare lo stato del servizio con:

sudo systemctl status mattermost

● mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; ven Active: active (running) since Wed 2018-07-25 18:39:05 UTC; 41s ago Main PID: 3091 (mattermost) Tasks: 18 (limit: 507) CGroup: /system.slice/mattermost.service ├─3091 /opt/mattermost/bin/mattermost

Se non ci sono errori, abilitare il servizio Mattermost per l'avvio automatico all'avvio:

sudo systemctl enable mattermost

Imposta un proxy inverso con Nginx

Ora dobbiamo impostare un nuovo blocco server per l'istanza Mattermost. Apri il tuo editor di testo e crea il seguente file:

/etc/nginx/conf.d/example.com.conf

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off; upstream mattermost_backend { server 127.0.0.1:8065; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; location ~ /api/v+/(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://mattermost_backend; } location / { proxy_http_version 1.1; 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://mattermost_backend; } }

Ricarica il servizio Nginx per rendere effettive le modifiche:

sudo systemctl reload nginx

Configurazione di Mattermost

Apri il tuo browser, digita il tuo dominio e verrai reindirizzato alla pagina di sugnup.

Inserisci la tua email, scegli un nome utente e una password e fai clic sul pulsante Create Account per creare il tuo primo account.

Puoi utilizzare qualsiasi servizio di posta elettronica transazionale popolare come SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet e Postmark oppure puoi configurare il tuo server di posta seguendo questo tutorial.

Infine, è necessario riavviare il servizio Mattermost per rendere effettive le modifiche:

sudo systemctl restart mattermost

Conclusione

Hai installato con successo Mattermost sul tuo server Ubuntu 18.04 e impostato Nginx come proxy inverso. Ora puoi iniziare a utilizzare Mattermost per collaborare con il tuo team.

rocketchat nodejs ubuntu