Android

En önemli centos 7 nasıl konuşlandırılır

Гайд по установке Mattermost на Linux - STEP 1

Гайд по установке Mattermost на Linux - STEP 1

İçindekiler:

Anonim

Mattermost açık kaynaklı, anlık mesajlaşma platformudur, 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 CentOS 7 sunucusuna nasıl dağıtacağınızı ve Nginx'i SSL ters proxy olarak nasıl yapılandıracağınızı göstereceğiz.

Ö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. linuxize-test.com kullanacağız. Bu kılavuzu kontrol etmiyorsanız, Nginx yüklüdür.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

MariaDB 10.3'ü veritabanı arka ucu olarak kullanacağız. Mattermost, MariaDB sürüm 5.5 ile çalışmaz.

MySQL kabuğuna giriş:

mysql -u root -p

Mattermost kurulumumuz için yeni bir veritabanı ve kullanıcı oluşturmak için aşağıdaki komutları çalıştırın:

create database mattermost; GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';

Yeni sistem kullanıcısı oluştur

Mattermost yüklemesini çalıştıracak mattermost adlı yeni bir kullanıcı ve grup oluşturmak için aşağıdaki komutu çalıştırın:

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

Mattermost Server'ı Yükle

Bu makaleyi yazarken Mattermost'un en son kararlı sürümü 5.4.0'dır. Bir sonraki adıma geçmeden önce, daha yeni bir sürümün mevcut olup olmadığını görmek için Mattermost indirme sayfasını kontrol etmelisiniz.

Aşağıdaki kıvırma komutuyla arşivi indirin:

sudo curl -L https://releases.mattermost.com/5.4.0/mattermost-5.4.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 /opt/mattermost/data

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

sudo chown -R mattermost: /opt/mattermost

En sevdiğiniz metin düzenleyicisiyle config.json dosyasını açın:

sudo nano /opt/mattermost/config/config.json

Veritabanı sürücüsünü mysql ayarlayın, bu öğreticide daha önce oluşturduğumuz veritabanı adını ve veritabanı kullanıcı parolasını girin:

/opt/mattermost/config/config.json

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

Systemd birimi oluşturmadan ve Nginx ile ters proxy ayarlamadan önce her şeyin çalıştığından emin olmak için kurulumumuzu test etmek için Mattermost sunucusunu başlatacağız.

/opt/mattermost dizinine /opt/mattermost ve sunucuyu başlatın:

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

Çıktı, Mattermost sunucusunun 8065 numaralı bağlantı noktasını dinlediğini göstermelidir:

{"level":"info", "ts":1540921243.6797202, "caller":"app/plugin.go:100", "msg":"Starting up plugins"} {"level":"info", "ts":1540921244.3483207, "caller":"app/server.go:88", "msg":"Starting Server…"} {"level":"info", "ts":1540921244.3488805, "caller":"app/server.go:148", "msg":"Server is listening on:8065"} {"level":"info", "ts":1540921244.3620636, "caller":"app/web_hub.go:75", "msg":"Starting 2 websocket hubs"} {"level":"info", "ts":1540921244.451155, "caller":"jobs/workers.go:63", "msg":"Starting workers"} {"level":"info", "ts":1540921244.456804, "caller":"jobs/schedulers.go:68", "msg":"Starting schedulers."}

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

Systemd Birimi Oluşturma

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

/etc/systemd/system/mattermost.service

Description=Mattermost After=network.target nss-lookup.target mariadb.service Type=notify WorkingDirectory=/opt/mattermost User=mattermost SyslogIdentifier=mattermost ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 LimitNOFILE=49152 WantedBy=multi-user.target

Yeni bir birim dosyası oluşturduğumuzu systemd'e bildirin ve şu işlemleri yaparak Mattermost hizmetini başlatın:

sudo systemctl daemon-reload sudo systemctl start mattermost

Şimdi servis durumunu aşağıdaki komutla kontrol edebiliriz:

sudo systemctl status mattermost

● mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2018-10-30 17:44:46 UTC; 3s ago Main PID: 25959 (mattermost) CGroup: /system.slice/mattermost.service └─25959 /opt/mattermost/bin/mattermost

Son olarak, Mattermost hizmetinin önyükleme zamanında otomatik olarak başlatılmasını etkinleştirin:

sudo systemctl enable mattermost

Nginx ile Ters Proxy Ayarlama

/etc/nginx/conf.d/linuxize-test.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 linuxize-test.com www.linuxize-test.com; include snippets/letsencrypt.conf; return 301 https://linuxize-test.com$request_uri; } server { listen 443 ssl http2; server_name www.linuxize-test.com; ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem; include snippets/ssl.conf; return 301 https://linuxize-test.com$request_uri; } server { listen 443 ssl http2; server_name linuxize-test.com; ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem; include snippets/ssl.conf; access_log /var/log/nginx/linuxize-test.com-access.log; error_log /var/log/nginx/linuxize-test.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 ilk hesabınızı oluşturun:

ve SMTP parametrelerinizi girin. SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet ve Postmark gibi popüler işlemsel e-posta hizmetlerini kullanabilir veya kendi posta sunucunuzu kurabilirsiniz.

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

sudo systemctl restart mattermost

Sonuç

Mattermost'u CentOS 7 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.

en önemli nodejs centos