Ana içeriğe geç

Mastodon

Bu makalede

Bilgi

Mastodon - merkezi olmayan ve açık kaynaklı ücretsiz sosyal platform. Ticari platformların aksine, Mastodon herhangi bir tek kuruluş tarafından kontrol edilmiyor.

Mastodon. Ana Özellikler

  • Mastodon kullanıcılarına herhangi bir bağlantılı sunucudan diğer kullanıcılara abone olmalarını ve iletişim kurmalarını sağlar;
  • Platform, kullanıcıların ilginç içerik keşfetmelerine yardımcı olmak için herkese açık gönderi feed'leri sunar. Yerel feed, sunucunuzdaki gönderileri gösterirken, federasyonlu feed, sunucunuzdan bilinen ve sizin sunucunuzun tanıdığı tüm abone kullanıcılarınızın tüm halka açık gönderilerini görüntüler;
  • Kullanıcılar, doğrudan feed'de veya gelişmiş gönderi görünümünde yorum yaparak, paylaşarak, favorilere ekleyerek, favoriye ekleyerek veya ek bir menü kullanarak gönderilerle etkileşime geçebilir;
  • Mastodon, profiliniz ve gönderilerinizle ilgili çeşitli etkileşim olayları için bildirimler gönderir. Bu bildirimler türlere göre filtrelenebilir;
  • Bir kullanıcıya abone olmak için sadece profillerindeki Takip Et düğmesine tıklamanız yeterlidir. Ayrıca abonneliğinizden gelen yeni gönderiler için bildirim etkinleştirebilirsiniz; Arama fonksiyonu, kullanıcıları, hashtag'leri ve gönderileri bir bağlantı aracılığıyla bulmanıza olanak sağlar. Tam metin arama kurulu olduğunda, kendi gönderilerinizi ve favori listenizi aramalısınız;
  • Mastodon'da özel gönderiler yalnızca abone kişilere görünür. Bunlar ayrı bir diyalog sütununda gösterilir;
  • Abonelik listeleri kullanılarak yalnızca gönderi feed'ini görüntüleyebilirsiniz.

Çalıştırma Özellikleri

ID Uyumlu OS VM BM VGPU GPU Min CPU (Çekirdekler) Min RAM (GB) Min HDD/SSD (GB) Aktif
59 Ubuntu 22.04 + + + + 2 2 - Evet
  • Kurulu yazılım

    Yazılım Lisans
    Mastodon AGPLv3
    Nginx Özel
    Postgres Postgres SQL
    Certbot Apache 2
    Redis BSD-3-Clause
  • Önerilen sistem gereksinimleri:

    • 4 çekirdekli 64-bit işlemci;
    • 8 GB RAM;
    • 80 GB SSD depolama alanının kullanılması.

Web arayüzüne erişmek için bağlantı: https://mastodon{Server_ID_from_Invapi}.hostkey.in

Mastodon'u çalıştırma sonrası başlangıç yapma

Sunucunuzun hazır olduğunda, kayıt sırasında belirtilen e-posta adresine bir bildirim gönderilir. Bu, VPS'nin IP adresi ve bağlantı için kullanıcı adı ve şifreyi içerir. Şirketimiz müşterileri sunucuda donanım yönetir ve API kontrol paneli - Invapi.

Yetkilendirme verilerini, sunucu kontrol panelindeki Info >> Tags sekmesinden veya e-postada bulabilirsiniz.

  • Mastodon paneli web arayüzüne erişim bağlantısı: :fontawesome-solid-tags*webpanel* etiketinde;
  • Kullanıcı adı ve Şifre için sunucuya bağlanmak: Sunucu yazılım dağıtımından sonra hazırlandığında, e-posta adresinize gönderilir;
  • Mastodon web arayüzünde kimlik doğrulama yapmak için kullanılan Kullanıcı adı ve Şifre, yönetici konsolu üzerinden hesap oluşturma sırasında manuel olarak ayarlanır.

Yapılandırmayı Değiştir

Komut satırından Mastodon yapılandırmasını değiştirmek için tootctl ve rails araçlarını kullanın: - Hesap ayarları, oluşturma, düzenleme, izin atama vb.; - SMTP sunucusu ayarları; - Kullanıcı kayıt ayarları.

Bilgi

Araçların nasıl kullanılacağı hakkında daha fazla bilgi için geliştirici dokümanına bakın.

Örnek Kullanım

  1. SSH ile sunucuya bağlan:
    ssh root@<server_ip>
    
  2. Mastodon web uygulaması konteynerine giriş yap. mastodon_web_1 konteynerini bulun ve bağlanın:

    docker exec -it mastodon_web_1 bash
    

  3. Yeni bir kullanıcı oluşturmak için tootctl accounts create komutunu kullanın. Kullanıcı adı, e-posta ve hesabın onaylanması için --confirmed bayrağını belirtin.

    RAILS_ENV=production bin/tootctl accounts create new_username --email [email protected] --confirmed
    
    new_username yerine istediğiniz kullanıcı adıyla ve [email protected] yerine gerçek e-posta adresiyle değiştirin. Bu komutu çalıştırdıktan sonra kullanıcı oluşturulacaktır. Ekran üzerinde gösterilen şifreyi not edin:

Yönetici Yetkilerini Verme ve Kullanıcıyı Onaylama

Kullanıcı oluşturduktan sonra, izinlerini ve durumunu veritabanında bulup değiştirmeniz gerekir. 1. Rails konsolunu başlatın:

RAILS_ENV=production bin/rails console
2. E-posta veya kullanıcı adı ile kullanıcıyı bulun:
user = User.find_by(email: '[email protected]')  # or: User.find_by(username: 'new_username')
3. Durumlarını güncelleyin:
user.update(approved: true)
Bu işlem, yönetici panelinden Your application is pending review by our staff... bildirimini kaldıracaktır.

  1. Ona yönetici rolü atayın:
    user.update(role: UserRole.find_by(name: 'Admin'))
    
  2. Doğrulayın:
    user.reload
    
    user.role           # => "Admin"
    
    user.approved       # => true
    
  3. Konsoldan çıkış yapın:
    exit
    

Mail Sunucusu Yapılandırması

Mail sunucusunu yapılandırmak veya değiştirmek istiyorsanız, aşağıdaki adımları izleyin:

  1. Konfigürasyon dosyasını açın:

    nano /opt/mastodon/.env.production
    
    2. SMTP parametrelerini yapılandırın (örneğin, MailHog için):

    # Sending mail
    # ------------
    SMTP_SERVER=mailhog
    SMTP_PORT=1025
    SMTP_LOGIN=
    SMTP_PASSWORD=
    SMTP_FROM_ADDRESS=notifications@your_domain
    SMTP_AUTH_METHOD=none
    SMTP_OPENSSL_VERIFY_MODE=none
    SMTP_ENABLE_STARTTLS=false
    
    3. Mastodon konteynerlerini yeniden başlatın: Yeni ayarları uygulamak için, aşağıdaki komutu çalıştırarak Mastodon konteynerlerini yeniden başlatın:

    cd /opt/mastodon
    
    docker-compose restart
    
    4. E-posta işlevselliğini kontrol edin - MailHog için: http://your_server:8025 adresinden web arayüzünü açın. - Logları kontrol edin:
    docker-compose -f /opt/mastodon/docker-compose.yml logs sidekiq | grep -i mail
    
    - Deneyin: yeni bir kullanıcı kaydettirip e-posta alıp almama durumunu kontrol edin.

Notlar

Docker Konteynerlerini Kontrol Etme: Çalışan konteynere dair emin değilseniz, aşağıdaki komutu çalıştırın:

 docker ps
mastodon_web_1, mastodon_db_1 vb. Mastodon konteynerlerinin çalıştığından emin olun.

Bilgi

Yapılandırma ayarları hakkında daha fazla bilgi için Geliştirici Dokümanına bakın.

Bilgi

setup.sh ile çalışmak hakkında daha fazla bilgi için Geliştirici Dokümanına bakın.

Mastodon Sunucu Alan Adını Değiştirme

Bilgi

Bu kılavuz, skaz.online alan adı örneği kullanmaktadır. İlk olarak, Mastodon'un bir mastodon<server_ID>.hostkey.in gibi alan adıyla yapılandırıldığını varsayarız. Tüm yapılandırma örneklerinde skaz.online yerine kendi gerçek alan adınızı kullanın.

Ana Dosyalar ve Dizinler

Dosya/Dizin Değişenler
/opt/mastodon/.env.production Ortam değişkenleri, domainler
/data/nginx/user_conf.d/*.conf Yeni alan adı için Nginx yapılandırması
/etc/letsencrypt/live/ Certbot kullanılıyorsa SSL sertifikaları
Docker Compose dosyaları docker-compose.yml veya değişkenlerdeki domain

Alan adını değiştirmek için aşağıdaki adımları izleyin:

  1. Kendi alan adınızı kaydedin, örn. mastodon.mydomain.com.
  2. Bu alan adı için DNS kayıtlarını yapılandırın:

    • Mastodon sunucusuna IP adresini gösteren bir A-record ayarlayın;
    • E-posta sunucusuna yönlendiren MX kaydını ayarlayın.
  3. Invapi üzerindeki IP adresi ayarlarında bir PTR kaydı oluşturun;

    Bilgi

    Invapi üzerinde PTR kaydı kurma hakkında daha fazla bilgi için buraya bakın.

  4. Mastodon Ortam Değişkenlerini Güncelle /opt/mastodon/.env.production dosyasını açın ve mevcut değeri (örneğin, mastodon<server_ID>.hostkey.in) yeni alan adıyla değiştirin:

    # Önceki:
    # LOCAL_DOMAIN=mastodon<server_ID>.hostkey.in
    
    # Güncellenmiş:
    LOCAL_DOMAIN=skaz.online
    WEB_DOMAIN=skaz.online
    
    5. Nginx'i HTTPS Desteği ile Kurun

    5.1 Nginx Yapılandırması Oluştur Önemli: Eski yapılandırmayı değiştirmek yerine yeni bir dosya oluşturun. Eski yapılandırmalar farklı proxy_pass direktifleri içerebilir, bu da hatalara yol açabilir. /data/nginx/user_conf.d/skaz.online.conf adında aşağıdaki içerikle bir Nginx yapılandırma dosyası oluşturun:

    server {
        listen 80;
        server_name skaz.online;
        return 301 https://$host$request_uri;
    }
    server {
        listen 443 ssl;
        listen [::]:443 ssl;
        server_name skaz.online;
        # SSL sertifikaları
        ssl_certificate         /etc/letsencrypt/live/skaz.online/fullchain.pem;
        ssl_certificate_key     /etc/letsencrypt/live/skaz.online/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/skaz.online/chain.pem;
        ssl_dhparam /etc/letsencrypt/dhparams/dhparam.pem;
        # Ana Mastodon uygulaması (port 3000)
        location / {
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-Ssl on;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:3000;
            real_ip_header X-Forwarded-For;
            # WebSocket desteği
            proxy_http_version 1.1;
            proxy_set_header X-Scheme $scheme;
            proxy_buffering off;
        }
        # Mastodon Streaming API (port 4000)
        location ^~ /api/v1/streaming {
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-Ssl on;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:4000;
            real_ip_header X-Forwarded-For;
            # WebSocket desteği
            proxy_http_version 1.1;
            proxy_set_header X-Scheme $scheme;
            proxy_buffering off;
        }
    }
    
    5.2 SSL Sertifikası Alın Sertifikanın mevcut olup olmadığını kontrol edin:
    docker exec -it mastodon-nginx-1 ls /etc/letsencrypt/live/
    
    Eğer sertifika yoksa, aşağıdaki komutları çalıştırarak alın:
    docker compose stop nginx
    
    docker compose run --rm nginx certbot certonly --standalone -d skaz.online
    
    docker compose start nginx
    
    6. Çatışan Yapılandırmaları Temizleyin Önemli! Eski Nginx yapılandırmalarını silin, çünkü birden fazla .conf dosyası çakışmalara neden olabilir: Örneğin, mastodon<server_ID>.hostkey.in için eski yapılandırmayı (örneğin) silin
    rm /data/nginx/user_conf.d/mastodon<server_ID>*.conf
    
    veya yedekleme olarak yeniden adlandırın:
    mv /data/nginx/user_conf.d/mastodon<server_ID>.hostkey.in.conf /data/nginx/user_conf.d/mastodon<server_ID>.hostkey.in.conf.backup
    
    Çakışma nedenleri: - listen 443 ssl direktiflerinin çoğaltılması hatalara (duplicate listen options) yol açar; - Eski yapılandırmalar, farklı proxy_pass adresleri veya portları içerebilir; - Nginx, birden fazla sunucu bloğunu yanlış yorumlayabilir. 7. Hizmetleri Yeniden Başlatın docker-compose.yml dosyasını içeren dizinde aşağıdaki komutları çalıştırın:
    docker compose down
    
    docker compose up -d
    
    8. İşlevselliği Doğrulayın Komut satırından test etme
    curl -Ik https://skaz.online
    
    Beklenen yanıt: HTTP/1.1 200 OK Tarayıcıda kontrol edin Tarayıcınızdan alan adını açın — Mastodon ana sayfası yüklenmelidir.

Yöneticinin paneli ilk ayarları

Yönetici paneline erişmek için, webpanel etiketi altındaki bağlantıdan Log In düğmesine tıklayın ve daha önce belirlenen kimlik bilgilerini girin:

Sunucu kurallarını yönetme

Mastodon'da her sunucunun merkezi olmayan yapısı gereği, bu sosyal ağı yönetenler kendi kurallarını belirler. Kuralları yönetmek için Administration >> Server Rules 'na gidin.

Temel kurallar oluştururken uygulanması gereken prensipler:

  • Kurallar makul olmalı ve genel ahlak standartlarını karşılamalıdır, böylece kullanıcıların bu alanda kendilerini güvende hissederek aktif kalmaları teşvik edilir;
  • Yasak içerik türleri (şiddet, pornografi, haksız faaliyetler vb.) açıkça belirtilmeli ve NSFW içerik seviyeleri kabul edilebilir sınırlar içerisinde olmalıdır;
  • Kurallar ihlali durumlarında kullanıcıların uyarılması, engellenmesi veya süreli kısıtlamalar uygulanması gibi disiplin cezası prosedürleri tanımlanmalı ve bu süreçler açıkça belirtilmelidir;
  • Sunucu kuralları, herkes tarafından kolayca erişilebilir olmalı ve kaydı sırasında kamuya açık bir şekilde görüntülenmeli;
  • Sunucular büyüdükçe kuralların düzenli olarak gözden geçirilmesi ve toplumun önerilerine göre güncellenmesi önemlidir.

Kullanıcı davet etme

Mastodon'da feed'te çeşitli dillerde kullanıcıları yönetme ve yeni kullanıcı davet etme özelliği bulunmaktadır:

  • Follows and Followers - Bu sekmede, mevcut kullanıcı tarafından abone olunmuş hesaplar listelenir ve bu hesaplardan gelen gönderileri görüntüleyebilirsiniz. Ayrıca, sizinle bağlantılı olan kullanıcıların sayısı da burada gösterilir.
  • Invite people - Bu özelliği kullanarak arkadaşlarınızla ve tanıdıklarınızla sosyal ağınıza katılmaları için özel bağlantılar oluşturabilirsiniz.

Not

Mastodon'un temel ayarları hakkında daha fazla bilgi için geliştirici belgelerine bakın.

API kullanarak sunucu sipariş etme

Bu yazılımı API kullanarak kurmak için bu talimatlara bakın


Bu sayfanın bazı içerikleri ya da yazıları AI tarafından oluşturulmuş veya çevrilmiş olabilir.