Signal Ulak Sunucu Kurulumu Debian-Pardus-Anadolu Panteri
Bu günlerde Whatsapp sözleşme güncellemesi ile ulak uygulamalarında bir hareketlilik başladı. Bununla birlikte pandemi dolayısıyla bir çok şirket Whatsapp gruplarını kullanmaya başladı. Hindistan’da Whatsapp gruplarının Google tarafından indexlenmesi ve grup konuşmalarının ortalığa yayılması güvenlik endişelerini arttırdı. Hangi şirket maliyet fiyatlarını ve şirkettinin mali durumunu ve müşterilerini, rakiplerinin bilmesini ister ki? Her zaman açık kaynağı savunduğumuz için, sizin bilgileriniz sizde kalmalı, şirket bilgileriniz, şirket içi haberleşme, bilgi akışı şirket içinde kalmalıdır. Ağır bedeller ödemeden açık kaynak alternatifleri kullanın. Açık kaynak kodları rahatlıkla görebileceğiniz siz anlamasanız bile bir uzmandan danışmanlık alarak inceletebileceğiniz, güvene dayalı bir yapıdır. Kodlarını görmediğiniz yapıya güvenmek uçurumdan paraşütle atlamaya benzer, şansınız varsa suya yoksa kayaya çarparsınız. Kapalı kodlu yazılımlarda her zaman dayatmaya mecbur kalabilirsiniz. ABD, Venezuella sürtüşmesinde ERP ve CRM hatta Windows yazılımlarının desteğini kesti. Whatsapp kimseye sormadan sözleşmeyi onayla yoksa 8 Şubat’tan sonra kullanamazsın diye aba altından sopa gösterdi. Grup konuşmalarını Google üzerinde yayınladı. Bunların olmayacağını kim garanti edebilir. Açık Kaynakta bu söz konusu değildir. Buna en güzel örnek Open Office uygulamasıdır. Oracle, Sun Microsystem’i aldığında açık kaynak Open Office kodlarını kapatma ve ücretli bir şekilde satmaya kararı aldı, ancak hemen ardından Open Office kodlarıyla LibreOffice oluşturuldu. Şuan Open Office unutuldu, Libre Office yoluna devam ediyor. Günümüzde bilgi güçtür ve bu sizin bilginizdir, sizde kalmalıdır.
Signal Nedir?
Signal, Google Android, Apple IOS ,Linux için şifrelenmiş bir anlık mesajlaşma ve sesli arama uygulamasıdır. Görüntüleri ve video mesajlarını içerebilen bire bir ve grup mesajları göndermek ve bire bir sesli arama yapmak için İnternet’i kullanır. Signal, diğer Signal kullanıcılarıyla tüm iletişimleri güvence altına almak için tanımlayıcılar ve uçtan uca şifreleme olarak standart telefon numaralarını kullanır.
Signal, arkadaşlarla basit özel iletişim için bir mesajlaşma uygulamasıdır.
Signal, güvenli bir şekilde iletişim kurmak için telefonunuzun veri bağlantısını (WiFi / 3G / 4G) kullanır, isteğe bağlı olarak birleşik bir mesajlaşma aracı olarak işlev görmesi için düz SMS / MMS’i destekler ve ayrıca telefonunuzda depolanan mesajları şifreleyebilir.
Kurulum Adımları
Ana sunucu kaynak kodu burada bulunabilir:
https://github.com/signalapp/Signal-Server
Çalışmaya başlamadan önce kaynak kodunu klonlayalım:
https://github.com/signalapp/Signal-Server.git
Proje klasörü arasında:
cd Signal-server
Ana sunucu sunucu kavanozunu oluşturun
mvn install -DskipTests
Önkoşullar
Programların en son sürümüne sahip olduğunuzdan emin olun.
sudo apt-get update
Java’yı yükleyin
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get install -y oracle-java8-installer
sudo apt-get install -y oracle-java8-unlimited-jce-policy
Redis’i yükleyin
sudo apt-get install -y redis-server
Veritabanını kur
sudo apt-get install postgresql postgresql-contrib -y
Postgres kök kullanıcısı oluşturun:
sudo -i -u postgres
createdb accountdb
createdb messagedb
createuser --interactive
psql
ALTER USER "Signal" WITH PASSWORD 'Signal!!';
## postgresql veritabanına uzaktan erişim 5432 numaralı bağlantı noktasını açmak için /etc/postgresql/9.*/main/postgresql.conf dosyanızı düzenleyin ve değiştirin
listen_addresses='localhost
İçin
listen_addresses='*'
Düzenle
/etc/postgresql/9.*/main/pg_hba.conf
Ve Ekle
host all all * md5
Ve DBMS’yi yeniden başlatın veya yeniden başlatın
invoke-rc.d postgresql restart
Yapılandırma dosyaları
Burada sahte değerlerle dolu çalışan bir sunucu dosyası . Kendi değerlerinizi sağlamalısınız:
twilio: # Twilio gateway configuration
accountId: AC0a435e5bc49AC0a435e5bc49AC0a435v
accountToken: bdc211b8a91990988166a82a65f0aafv
numbers: [+10133273922]
messagingServicesId:
localDomain: akdev.tech
push:
queueSize: # Size of push pending queue
turn: # TURN server configuration
secret: test
uris: ["turn:127.0.0.1:3478"]
cache:
url: http://127.0.0.1:6379
directory:
url: http://127.0.0.1:6379
messageStore: # Postgresql database configuration for message store
driverClass: org.postgresql.Driver
user: Signal
password: Signal!!
url: jdbc:postgresql://akdev.tech:5432/messagedb
attachments: # AWS S3 configuration
accessKey: AKIAIHGXT3LQBZVVMH5A
accessSecret: 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
bucket: Signal
profiles: # AWS S3 configuration
accessKey: AKIQBZVVMH5QAIHGXT3A
accessSecret: TAA2Wy1mGRiHzOCCMlB8TVu7zOiNX2OR/JmzvWSx
bucket: Signal
region: eu-west-1
database: # Postgresql database configuration
driverClass: org.postgresql.Driver
user: Signal
password: Signal!!
url: jdbc:postgresql://akdev.tech:5432/accountdb
apn:
bundleId: com.nevermynd.messenger
pushCertificate: config/certs/Certificates.p12
pushKey: aqnouch
gcm:
senderId: 90077701463
apiKey: AIzaSyAHNIwGE0yKG9QnDZQMcziNAF-0zliXOtH
server:
applicationConnectors:
- type: http
port: 8080
adminConnectors:
- type: http
port: 8081
Veritabanı geçişi
Kullanıcı adı, parola, messagesdb ve accountsdb ile PostresSQL Up & Running (iki db aynı olabilir) ve bu parametreler, yukarıda jdbc dizesi olarak görüldüğü gibi TSS’nin yml dosyası içinde iyi kodlanmışsa, artık uygulama tarafından ihtiyaç duyulan veri yapılarını oluşturabilirsiniz. .
java -jar ../jars/Signal-2.1.jar messagedb migrate ../config/Signal.yml
java -jar ../jars/Signal-2.1.jar accountdb migrate ../config/Signal.yml
S3 yapılandırması
S3 demeti bir IAM kullanıcısı oluşturun ve onu S3FullAccess grubuna ekleyin
Ters vekil
sudo a2enmod proxy proxy_http proxy_wstunnel
Mevcut siteyi eklemek için yapılandırma: apache / etc / apache2 / sites-available /
ServerAdmin aqnouch.mohammed@gmail.com SunucuAdı kalam.app
DocumentRoot /var/www/kalam/
<Directory /var/www/tkalam>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
SSLCertificateFile /etc/letsencrypt/live/kalam.app/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/kalam.app/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
Sunucu kurulumunu çevirin
sudo apt-get install -y coturn
sudo apt-get install -y build-essential
sudo turnserver -a -o -v -n --no-dtls --no-tls -u test:test -r "someRealm"
SSL Sertifikası
SSL sertifikasını oluşturun
sudo add-apt-repository ppa:certbot/certbot -y
sudo apt-get update -y
sudo apt-get install python-certbot-apache -y
sudo certbot --authenticator standalone --installer apache -d <yourdomain> --pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2"
Signal Android uygulaması, IOS ve Masaüstü Uygulaması için github adresinden indirip sunucunuz için yapılandırmanız gerekir. Konu hakkında bilginiz yoksa bir uzmana danışmanına başvurmanızda yarar vardır. Kodları incelemek ve geliştirmek için Anadolu Panteri Geliştirici Sürümünü tavsiye ederim.