Android

En önemli Ubuntu 18.04'te nasıl dağıtılır

Mattermost Installation Ubuntu 18 04 #mattermost

Mattermost Installation Ubuntu 18 04 #mattermost

İçindekiler:

Anonim

Mattermost kurumsal sınıf, anlık mesajlaşma platformu, açık kaynak kodlu, kendi kendine barındırılan bir Slack alternatifidir. Golang ve React ile yazılmıştır ve MySQL veya PostgreSQL'i veritabanı arka ucu olarak kullanabilir. Mattermost, tüm ekip iletişiminizi tek bir yere taşır ve dosya paylaşımı, bire bir ve grup mesajları, özel emojiler, video görüşmeleri ve daha pek çok özellik sunar.

Bu derste Mattermost'u bir Ubuntu 18.04 sunucusuna kuracağız ve Nginx'i SSL ters proxy olarak yapılandıracağız.

Ön şartlar

Bu eğiticiye devam etmeden önce aşağıdaki önkoşulları karşıladığınızdan emin olun:

  • Sudo ayrıcalıklarına sahip bir kullanıcı olarak oturum açtınız. Sunucu IP adresinizi gösteren bir alan adınız var. example.com kullanacağız. Bu kılavuzu kontrol etmiyorsanız, Nginx'iniz kurulu. Alanınız için bir SSL sertifikanız var. Bu kılavuzu izleyerek ücretsiz Let's Encrypt SSL sertifikası yükleyebilirsiniz.

MySQL Veritabanı Oluştur

MySQL'i Mattermost için bir veritabanı olarak kullanacağız. Sunucunuzda MySQL veya MariaDB yüklü değilse, bu talimatları izleyerek kurabilirsiniz.

MySQL kabuğuna giriş:

mysql -u root

Mattermost kurulumumuz için yeni bir veritabanı ve kullanıcı oluşturun:

CREATE DATABASE mattermost; GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD'; P4ssvv0rD daha güvenli bir şifre kullandığınızdan emin olun.

Yeni sistem kullanıcısı oluştur

Mattermost örneğimizi çalıştıracak yeni bir kullanıcı ve grup oluşturun. Kullanıcıya en mattermost adı mattermost :

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

Mattermost Server'ı Yükle

Bu makaleyi yazarken Mattermost'un en son kararlı sürümü 5.1.0 sürümüdür. Aşağıdaki kıvırma komutuyla arşivi indirin:

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

İndirme işlemi tamamlandıktan sonra arşivi çıkarın ve /opt dizinine taşıyın

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

Dosyalar için depolama dizini oluşturun:

sudo mkdir -p /opt/mattermost/data

Dizin sahipliğini en mattermost kullanıcıya değiştirin:

sudo chown -R mattermost: /opt/mattermost

/opt/mattermost/config/config.json dosyasını açın, veritabanı sürücüsünü mysql ve veritabanı bilgilerini girin:

/opt/mattermost/config/config.json

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

Mattermost örneğimizin beklendiği gibi çalıştığından emin olmak için Mattermost sunucusunu test edeceğiz. /opt/mattermost dizinine /opt/mattermost ve sunucuyu aşağıdaki komutlarla başlatın:

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

Her şey yolunda giderse, sunucu başlatılır ve çıktı aşağıdaki gibi görünür:

{"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"}

Artık Mattermost sunucusunu CTRL+C ile durdurabilir ve sonraki adımlara devam edebiliriz.

Systemd birimi oluşturma

Mattermost örneğimizi bir hizmet olarak çalıştırmak için /etc/systemd/system/ dizininde bir mattermost.service birim dosyası oluşturacağız.

Metin düzenleyicinizi açın ve aşağıdaki dosyayı oluşturun:

/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

Systemd'e yeni bir birim dosyası oluşturduğumuzu bildirin ve Mattermost hizmetini aşağıdaki komutlarla başlatın:

sudo systemctl daemon-reload sudo systemctl start mattermost

Şimdi servis durumunu şu şekilde kontrol edebiliriz:

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

Hata yoksa, Mattermost hizmetini önyükleme zamanında otomatik olarak başlayacak şekilde etkinleştirin:

sudo systemctl enable mattermost

Nginx ile ters proxy ayarlama

Şimdi Mattermost örneği için yeni bir sunucu bloğu oluşturmamız gerekiyor. Metin düzenleyicinizi açın ve aşağıdaki dosyayı oluşturun:

/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; } }

Değişikliklerin etkili olması için Nginx hizmetini yeniden yükleyin:

sudo systemctl reload nginx

Madde Yapılandırması

Tarayıcınızı açın, alan adınızı yazın ve sugnup sayfasına yönlendirileceksiniz.

E-postanızı girin, bir kullanıcı adı ve şifre seçin ve ilk hesabınızı oluşturmak için Create Account düğmesini tıklayın.

SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet ve Postmark gibi popüler işlemsel e-posta hizmetlerini kullanabilir veya bu eğiticiyi izleyerek kendi posta sunucunuzu kurabilirsiniz.

Son olarak değişikliklerin yürürlüğe girmesi için Mattermost hizmetini yeniden başlatmamız gerekiyor:

sudo systemctl restart mattermost

Sonuç

Mattermost'u Ubuntu 18.04 sunucunuza başarıyla yüklediniz ve Nginx'i ters proxy olarak ayarladınız. Artık ekibinizle işbirliği yapmak için Mattermost'u kullanmaya başlayabilirsiniz.

rocketchat nodejs ubuntu