format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_rightKendi Chat Sunucunuzu Kurun: Mattermost Rehberi
- arrow_rightMattermost Nedir ve Neden Kullanmalısınız?
- arrow_rightSunucu Gereksinimleri
- arrow_rightAdım 1: Sunucu Hazırlığı ve Temel Kurulum
- arrow_rightAdım 2: Veritabanı Yapılandırması
- arrow_rightAdım 3: Mattermost Kurulumu
- arrow_rightAdım 4: Mattermost Yapılandırma Dosyası
- arrow_rightAdım 5: Systemd Servisi Oluşturma
- arrow_rightAdım 6: Nginx Ters Proxy Kurulumu
- arrow_rightGüvenlik Yapılandırması
- arrow_rightTLS/SSL Yapılandırması
- arrow_rightİki Faktörlü Kimlik Doğrulama (2FA)
- arrow_rightOturum ve Token Güvenliği
- arrow_rightMattermost Eklentileri ve Entegrasyonlar
- arrow_rightAlternatiflerle Karşılaştırma
- arrow_rightBakım ve Güncelleme
- arrow_rightGüncelleme Süreci
- arrow_rightSonuç
Kendi Chat Sunucunuzu Kurun: Mattermost Rehberi
Mattermost, açık kaynak kodlu, kurumsal düzeyde bir iletişim platformudur. Slack'e alternatif olarak geliştirilen bu yazılım, ekiplerin kendi veri merkezlerinde veya bulut sunucularında güvenli bir şekilde iletişim kurmasını sağlar. Bu kapsamlı rehberde, Mattermost sunucusu kurulum sürecini adım adım ele alacağız.
Mattermost Nedir ve Neden Kullanmalısınız?
Mattermost, Go ve React teknolojileriyle geliştirilmiş, team collaboration (ekip işbirliği) için tasarlanmış bir açık kaynak mesajlaşma platformudur. 2014 yılında piyasaya sürülen bu yazılım, sanal sunucu altyapısında çalışarak verilerinizin tam kontrolünü elinizde tutmanızı sağlar.
Kurumsal kullanımda Mattermost tercih edilmesinin başlıca nedenleri şunlardır:
- Veri sovereignty (veri egemenliği): Tüm veriler kendi sunucunuzda saklanır
- Maliyet etkinliği: Açık kaynak versiyonu ücretsizdir
- Özelleştirme: Kendi eklentilerinizi ve temalarınızı geliştirebilirsiniz
- Entegrasyon: CI/CD araçları, proje yönetim sistemleriyle entegre çalışır
- GDPR uyumluluğu: Veri koruma düzenlemelerine kolayca uyum sağlar
Sunucu Gereksinimleri
Mattermost kurulumu için minimum donanım gereksinimleri aşağıdaki şekildedir. Daha büyük ekipler için bu değerlerin üzerinde bir altyapı önerilir.
| Kriter | Minimum | Önerilen |
|---|---|---|
| CPU | 2 çekirdek | 4+ çekirdek |
| RAM | 4 GB | 8 GB+ |
| Disk | 40 GB SSD | 100 GB+ SSD |
| İşletim Sistemi | Ubuntu 20.04+ / CentOS 8+ | Ubuntu 22.04 LTS |
Adım 1: Sunucu Hazırlığı ve Temel Kurulum
Öncelikle sunucunuzu hazırlayarak başlayın. Ubuntu 22.04 LTS üzerinde Mattermost kurulumu için aşağıdaki adımları izleyin:
# Sistem güncellemesi
sudo apt update && sudo apt upgrade -y
# Gerekli paketlerin yüklenmesi
sudo apt install -y wget curl postgresql postgresql-contrib
# PostgreSQL servisinin başlatılması
sudo systemctl start postgresql
sudo systemctl enable postgresql
Veritabanı yapılandırması için PostgreSQL ayarlarınızı yapın. MySQL ve PostgreSQL arasındaki farkları göz önünde bulundurarak tercihinizi yapabilirsiniz.
Adım 2: Veritabanı Yapılandırması
Mattermost için PostgreSQL veritabanı ve kullanıcı oluşturmanız gerekmektedir:
# PostgreSQL shell'e giriş
sudo -u postgres psql
# Kullanıcı ve veritabanı oluşturma
CREATE USER mattermost WITH PASSWORD 'güçlü_şifre';
CREATE DATABASE mattermost OWNER mattermost;
GRANT ALL PRIVILEGES ON DATABASE mattermost TO mattermost;
# Çıkış
\q
Veritabanı güvenliği için karmaşık şifreler kullanmanızı ve yedekleme stratejileri oluşturmanızı öneriyoruz.
Adım 3: Mattermost Kurulumu
Resmi Mattermost indirme sayfasından en güncel sürümü sunucunuza indirin:
# Mattermost indirme
cd /tmp
wget https://releases.mattermost.com/9.10.0/mattermost-9.10.0-linux-amd64.tar.gz
# Sıkıştırılmış dosyayı açma
sudo tar -xzf mattermost-9.10.0-linux-amd64.tar.gz -C /opt
# Klasör yeniden adlandırma
sudo mv /opt/mattermost /opt/mattermost-server
# Kullanıcı ve izinler
sudo useradd -r -s /sbin/nologin mattermost
sudo chown -R mattermost:mattermost /opt/mattermost-server
sudo chmod -R 755 /opt/mattermost-server
Adım 4: Mattermost Yapılandırma Dosyası
config.json dosyasını düzenleyerek veritabanı bağlantısını ayarlayın:
sudo nano /opt/mattermost-server/config/config.json
Aşağıdaki bölümleri güncelleyin:
{
"ServiceSettings": {
"SiteURL": "https://chat.sizindomain.com",
"ListenAddress": ":8065"
},
"DatabaseSettings": {
"DriverName": "postgres",
"DataSource": "postgres://mattermost:güçlü_şifre@localhost:5432/mattermost?sslmode=disable&connect_timeout=10"
}
}
Adım 5: Systemd Servisi Oluşturma
Mattermost'u sistem servisi olarak çalıştırmak için systemd dosyası oluşturun:
sudo nano /etc/systemd/system/mattermost.service
Dosya içeriği:
[Unit]
Description=Mattermost
After=network.target postgresql.service
[Service]
Type=notify
ExecStart=/opt/mattermost-server/bin/mattermost
TimeoutStartSec=300
Restart=always
RestartSec=10
User=mattermost
Group=mattermost
[Install]
WantedBy=multi-user.target
Servisi başlatın ve etkinleştirin:
sudo systemctl daemon-reload
sudo systemctl start mattermost
sudo systemctl enable mattermost
Adım 6: Nginx Ters Proxy Kurulumu
SSL sertifikası ve güvenli erişim için Nginx ters proxy kullanmanızı öneriyoruz. Nginx yapılandırması hakkında detaylı bilgi alabilirsiniz.
# Nginx kurulumu
sudo apt install -y nginx certbot python3-certbot-nginx
# SSL sertifikası alma
sudo certbot --nginx -d chat.sizindomain.com
# Nginx yapılandırması
sudo nano /etc/nginx/sites-available/mattermost
Nginx config:
server {
listen 80;
server_name chat.sizindomain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name chat.sizindomain.com;
ssl_certificate /etc/letsencrypt/live/chat.sizindomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/chat.sizindomain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8065;
proxy_set_header Host $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;
}
}
Güvenlik Yapılandırması
Mattermost sunucunuzun güvenliği için aşağıdaki ayarları yapmanız kritik öneme sahiptir. SLA ve güvenlik politikalarınızı gözden geçirin.
TLS/SSL Yapılandırması
config.json dosyasında güvenlik ayarlarını aktif edin:
"ServiceSettings": {
"TLSMinVer": "1.2",
"InsecureSkipVerify": false,
"XFrameOptions": "DENY",
"XContentTypeOptions": "nosniff",
"StrictTransport": "enabled",
"ContentSecurityPolicy": "enabled"
}
İki Faktörlü Kimlik Doğrulama (2FA)
Yönetim panelinden zorunlu 2FA'yı etkinleştirin:
- System Console → Authentication → Enable Multi-factor Authentication
- "Enforce MFA for all accounts" seçeneğini aktif edin
- Değişiklikleri kaydedin
Oturum ve Token Güvenliği
"SessionSettings": {
"SessionLengthWebInDays": 30,
"SessionLengthMobileInDays": 30,
"SessionCacheInMinutes": 10
}
Mattermost Eklentileri ve Entegrasyonlar
Mattermost'un gücü, entegrasyon kapasitesinden gelmektedir. Popüler eklentiler şunlardır:
| Eklenti | İşlev |
|---|---|
| GitHub | Commit bildirimleri ve PR review |
| Jira | Proje yönetimi bildirimleri |
| Zoom | Toplantı video entegrasyonu |
| GitLab | CI/CD pipeline bildirimleri |
| Confluence | Doküman paylaşımı |
Alternatiflerle Karşılaştırma
Enterprise chat çözümlerini karşılaştırırken maliyet, özellikler ve altyapı gereksinimlerini göz önünde bulundurun. GPU sunucu ihtiyaçlarınız için farklı çözümleri inceleyebilirsiniz.
| Özellik | Mattermost | Slack | Discord |
|---|---|---|---|
| Açık Kaynak | ✓ | ✗ | ✗ |
| Self-hosted | ✓ | ✗ | Sınırlı |
| Ücretsiz Plan | Sınırsız | 10GB | Sınırsız |
| API Desteği | REST + Webhooks | REST + Webhooks | REST |
| Entegrasyonlar | 50+ | 2000+ | 100+ |
Bakım ve Güncelleme
Mattermost sunucunuzun güvenli ve güncel kalması için düzenli bakım şarttır. DNS yapılandırması ve sunucu yönetimi konularında bilgi edinin.
Güncelleme Süreci
# Yedek alma
sudo /opt/mattermost-server/bin/mattermost backup
# Servisi durdurma
sudo systemctl stop mattermost
# Yeni sürümü indirme ve kurma
cd /tmp
wget https://releases.mattermost.com/9.10.1/mattermost-9.10.1-linux-amd64.tar.gz
sudo tar -xzf mattermost-9.10.1-linux-amd64.tar.gz -C /opt/mattermost-server --strip-components=1
# Servisi başlatma
sudo systemctl start mattermost
# Log kontrolü
sudo journalctl -u mattermost -f
Sonuç
Mattermost, kurumsal iletişim ihtiyaçları için güçlü, güvenli ve esnek bir çözüm sunmaktadır. Bu rehberde anlatılan adımları takip ederek kendi chat sunucunuzu kurabilir ve ekip iletişiminizi tamamen kontrol edebilirsiniz.
Başlangıçta basit bir kurulumla başlayıp, ekibinizin ihtiyaçlarına göre özelleştirmeler yapmanızı öneriyoruz. Unutmayın ki başarılı bir sunucu yönetimi için düzenli bakım ve güvenlik güncellemeleri kritik öneme sahiptir.
Herhangi bir sorunla karşılaşırsanız Mattermost resmi dokümantasyonunu veya topluluk forumlarını kullanabilirsiniz. Kurumsal destek için Mattermost Enterprise planlarını değerlendirebilirsiniz.