Ubuntu 14.04 Üzerinde Dizinleri Senkronize Etmek İçin Syncthing Kurulumu ve Yapılandırması
Giriş
Modern bilişim dünyasında, dosyaların farklı cihazlar arasında güvenli ve verimli bir şekilde senkronize edilmesi, hem bireysel kullanıcılar hem de işletmeler için hayati bir ihtiyaç haline gelmiştir. Bulut tabanlı çözümler yaygın olsa da, veri gizliliği, güvenlik ve kontrol gibi konularda endişeler taşıyabilirler. İşte tam bu noktada, merkezi olmayan, açık kaynaklı ve uçtan uca şifrelemeye sahip bir dosya senkronizasyon aracı olan Syncthing devreye girer. Syncthing, dosyalarınızı doğrudan cihazlarınız arasında senkronize etmenize olanak tanır, böylece verileriniz üçüncü taraf bir sunucuya uğramadan güvende kalır.
Bu makale, özellikle Ubuntu 14.04 işletim sistemi üzerinde Syncthing’i nasıl kuracağınızı ve yapılandıracağınızı adım adım detaylandıracaktır. Ubuntu 14.04, “Trusty Tahr” kod adıyla bilinen ve uzun süreli destek (LTS) almış eski bir sürüm olmasına rağmen, hala belirli kurumsal veya özel sistemlerde kullanılmaya devam etmektedir. Bu nedenle, bu özel sürümdeki kurulum ve yapılandırma nüanslarına odaklanmak önemlidir. Makale boyunca, Syncthing’in temel kurulumundan başlayarak, web arayüzüne erişim, güvenlik ayarları, bir servis olarak çalıştırma (Upstart kullanarak), dizin senkronizasyonu ve gelişmiş yapılandırma seçeneklerine kadar geniş bir yelpazeyi ele alacağız.
Ön Gereksinimler
Syncthing kurulumuna başlamadan önce aşağıdaki ön gereksinimlerin karşılandığından emin olun:
- Ubuntu 14.04 İşletim Sistemi: Kurulum yapılacak sunucu veya masaüstü bilgisayarda Ubuntu 14.04 yüklü ve çalışır durumda olmalıdır.
- İnternet Bağlantısı: Syncthing paketlerini indirmek ve güncellemeleri almak için aktif bir internet bağlantısı gereklidir.
- Temel Linux Komut Satırı Bilgisi: Terminal komutlarını anlama ve kullanma becerisi faydalı olacaktır.
sudoYetkileri: Sistem genelinde değişiklikler yapmak için yönetici (root) yetkilerine sahip bir kullanıcı hesabınız olmalıdır. Komutlarısudoönekiyle çalıştırmak için bu gereklidir.
Syncthing Kurulumu
Ubuntu 14.04 üzerinde Syncthing’i kurmanın en kolay ve önerilen yolu, Syncthing’in resmi APT deposunu (PPA) kullanmaktır. Bu yöntem, Syncthing’in en güncel sürümünü yüklemenizi ve gelecekteki güncellemeleri kolayca almanızı sağlar.
APT Deposu Ekleme ve Kurulum
Öncelikle, sisteminizin https üzerinden depoları kullanabilmesi için apt-transport-https paketinin kurulu olduğundan emin olun:
sudo apt-get update
sudo apt-get install apt-transport-https
Şimdi, Syncthing resmi GPG anahtarını sisteminize ekleyin. Bu, indirdiğiniz paketlerin gerçek Syncthing tarafından imzalandığını doğrulamanızı sağlar:
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
Ardından, Syncthing APT deposunu sisteminizin kaynak listesine ekleyin. Bu, syncthing paketini apt-get komutuyla bulmanızı sağlayacaktır:
echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
Depoyu ekledikten sonra, paket listesini güncelleyin, böylece sisteminiz yeni Syncthing paketini tanıyacaktır:
sudo apt-get update
Son olarak, Syncthing’i yükleyin:
sudo apt-get install syncthing
Bu komut, Syncthing uygulamasını ve gerekli tüm bağımlılıklarını sisteminize kuracaktır. Kurulum tamamlandığında, Syncthing’i çalıştırmaya hazırsınız demektir.
İlk Yapılandırma ve Web Arayüzüne Erişim
Syncthing, bir kez kurulduktan sonra, tüm yapılandırmanın ve cihaz/dizin yönetiminin yapıldığı web tabanlı bir kullanıcı arayüzü (GUI) sunar.
Syncthing’i İlk Kez Çalıştırma
Terminalden syncthing komutunu çalıştırarak Syncthing’i başlatabilirsiniz:
syncthing
Bu komutu ilk kez çalıştırdığınızda, Syncthing varsayılan yapılandırma dosyasını (~/.config/syncthing/config.xml) ve kimlik anahtarlarını oluşturacaktır. Terminalde bazı çıktılar göreceksiniz; bu çıktılar arasında Syncthing’in Web UI’ye erişmek için kullandığı adres de yer alacaktır. Genellikle bu adres http://127.0.0.1:8384 veya http://localhost:8384 olacaktır.
Syncthing varsayılan olarak yalnızca yerel makineden erişilebilir olacak şekilde yapılandırılır. Bu, güvenlik açısından iyi bir başlangıç noktasıdır.
Web Arayüzüne Erişim
Web tarayıcınızı açın ve Syncthing’in terminalde gösterdiği adrese gidin (örneğin, http://localhost:8384). Syncthing’in web arayüzünü görmelisiniz.
Eğer Web UI’ye erişemiyorsanız, güvenlik duvarınızın (firewall) 8384 numaralı bağlantı noktasını engellemediğinden emin olun. Ubuntu 14.04’te yaygın olarak kullanılan güvenlik duvarı UFW (Uncomplicated Firewall) için aşağıdaki komutu kullanarak bu bağlantı noktasını açabilirsiniz:
sudo ufw allow 8384/tcp
Uzak Bir Makineden Web Arayüzüne Erişim (İsteğe Bağlı)
Syncthing’i bir sunucuda çalıştırıyorsanız ve Web UI’ye başka bir bilgisayardan erişmek istiyorsanız, config.xml dosyasında küçük bir değişiklik yapmanız gerekir.
1. Syncthing’i durdurun (terminalde Ctrl+C tuşlarına basarak veya eğer servis olarak çalışıyorsa sudo stop syncthing komutuyla).
2. Yapılandırma dosyasını bir metin düzenleyiciyle açın:
nano ~/.config/syncthing/config.xml
3. Dosya içinde etiketini bulun. Bu etiketin içinde
127.0.0.1:8384
şeklinde olacaktır. Bunu aşağıdaki gibi değiştirin:
0.0.0.0:8384
0.0.0.0 kullanmak, Syncthing’in Web UI’ye tüm ağ arayüzlerinden erişilebilir olmasını sağlar. Belirli bir IP adresinden erişim sağlamak isterseniz, 0.0.0.0 yerine o IP adresini de yazabilirsiniz.
4. Değişiklikleri kaydedin ve düzenleyiciden çıkın (Ctrl+O, Enter, Ctrl+X).
5. Syncthing’i yeniden başlatın:
syncthing
6. Güvenlik duvarınızda 8384 portunun dışarıdan erişime açık olduğundan emin olun (yukarıdaki sudo ufw allow 8384/tcp komutu).
Şimdi, ağdaki başka bir bilgisayardan Syncthing’i çalıştırdığınız makinenin IP adresi ve 8384 portu ile Web UI’ye erişebilirsiniz (örneğin, http://192.168.1.100:8384).
Syncthing Web Arayüzünü Güvenli Hale Getirme
Web UI’yi uzaktan erişime açtığınızda veya hassas verileri yönettiğinizde, arayüzü güvence altına almak kritik öneme sahiptir.
Parola Belirleme
1. Syncthing Web UI’de sağ üst köşedeki “Actions” (Eylemler) menüsüne tıklayın ve “Settings” (Ayarlar) seçeneğini seçin.
2. Sol menüden “GUI” (Grafiksel Kullanıcı Arayüzü) sekmesine geçin.
3. “GUI Authentication User” (GUI Kimlik Doğrulama Kullanıcısı) alanına bir kullanıcı adı ve “GUI Authentication Password” (GUI Kimlik Doğrulama Parolası) alanına güçlü bir parola girin.
4. “Save” (Kaydet) düğmesine tıklayın.
5. Syncthing, değişikliklerin geçerli olması için yeniden başlatılmasını isteyecektir. “Restart” (Yeniden Başlat) düğmesine tıklayarak yeniden başlatın.
Artık Web UI’ye erişmek istediğinizde kullanıcı adı ve parolanızı girmeniz gerekecektir.
HTTPS Etkinleştirme
Parolaya ek olarak, Web UI trafiğini şifrelemek için HTTPS kullanmak şiddetle tavsiye edilir.
1. Yine “Settings” -> “GUI” sekmesine gidin.
2. “HTTPS GUI” seçeneğinin yanındaki kutucuğu işaretleyin.
3. “Save” (Kaydet) düğmesine tıklayın ve Syncthing’i yeniden başlatın.
Syncthing, kendi kendine imzalı bir SSL sertifikası oluşturacaktır. Web tarayıcınız bu sertifikanın güvenilir olmadığını belirten bir uyarı gösterebilir, ancak bu beklenen bir durumdur. Güvenli bağlantıya devam etmek için tarayıcınızdaki uyarıyı kabul edebilirsiniz. Artık Web UI’ye https:// ile erişmeniz gerekecektir (örneğin, https://localhost:8384).
Syncthing’i Bir Servis Olarak Çalıştırma (Upstart Kullanarak)
Syncthing’i manuel olarak terminalden çalıştırmak, terminal penceresini kapatana kadar çalışmasını sağlar. Ancak, Syncthing’in sistem başlatıldığında otomatik olarak başlaması ve arka planda sürekli çalışması için bir servis olarak yapılandırılması gerekir. Ubuntu 14.04, Systemd yerine Upstart init sistemini kullanır. Bu nedenle, Syncthing için bir Upstart yapılandırma dosyası oluşturacağız.
Upstart Yapılandırma Dosyası Oluşturma
Syncthing’i belirli bir kullanıcı altında çalıştırmak en iyi uygulamadır (örneğin, Syncthing’i yüklediğiniz kullanıcı). Bu, Syncthing’in sadece o kullanıcının erişebildiği dosyalara erişmesini sağlar ve güvenlik risklerini azaltır.
1. syncthing servisi için bir Upstart yapılandırma dosyası oluşturun:
sudo nano /etc/init/syncthing.conf
2. Aşağıdaki içeriği dosyaya yapıştırın. YOUR_USERNAME kısmını Syncthing’i çalıştıracak gerçek kullanıcı adınızla değiştirin. Örneğin, kullanıcı adınız kullanici ise, setuid kullanici ve setgid kullanici yazmalısınız.
# syncthing - Syncthing
#
# The decentralized file synchronisation application.
description "Syncthing - Decentralized file synchronisation"
author "The Syncthing Team "
start on filesystem and net-device-up IFACE=lo
stop on runlevel [!2345]
# If the process quits, automatically restart it.
respawn
respawn limit 5 60 # give up restart after 5 retries in 60 seconds
# The user and group that Syncthing will run as.
# IMPORTANT: Replace 'YOUR_USERNAME' with your actual username.
setuid YOUR_USERNAME
setgid YOUR_USERNAME
# Nice level, 0 is normal, 19 is lowest priority
nice 10
# The actual process to start.
# -no-browser: Prevents Syncthing from trying to open a web browser on startup.
# -no-restart: Prevents Syncthing from restarting itself after config changes,
# letting Upstart handle restarts.
exec /usr/bin/syncthing -no-browser -no-restart -logflags=0
* setuid YOUR_USERNAME ve setgid YOUR_USERNAME: Bu satırlar Syncthing’in belirtilen kullanıcı ve grup kimliğiyle çalışmasını sağlar. Bu, dosya izinleri için çok önemlidir.
* exec /usr/bin/syncthing -no-browser -no-restart -logflags=0: Bu, Syncthing yürütülebilir dosyasının tam yoludur. -no-browser Web UI’yi otomatik açmayı engeller, -no-restart ise Upstart’ın yeniden başlatmayı yönetmesini sağlar, -logflags=0 ise log çıktısını daha sade hale getirir.
3. Dosyayı kaydedin ve kapatın.
Syncthing Servisini Başlatma, Durdurma ve Yeniden Başlatma
Artık Syncthing’i bir Upstart servisi olarak yönetebilirsiniz:
* Syncthing servisini başlatmak için:
sudo start syncthing
* Syncthing servisini durdurmak için:
sudo stop syncthing
* Syncthing servisini yeniden başlatmak için:
sudo restart syncthing
* Syncthing servisinin durumunu kontrol etmek için:
sudo status syncthing
Servis başarıyla çalıştığında, çıktıda “syncthing start/running” gibi bir ifade görmelisiniz.
Syncthing artık sistem başlatıldığında otomatik olarak başlayacak ve arka planda çalışacaktır. Web UI’ye erişmek için tarayıcınızı kullanmaya devam edebilirsiniz.
Dizinleri Senkronize Etme
Syncthing’in temel işlevi, birden fazla cihaz arasında klasörleri senkronize etmektir. Bu bölüm, Syncthing Web UI kullanarak nasıl cihaz ekleyeceğinizi ve klasörleri senkronize edeceğinizi açıklar.
Uzak Bir Cihaz Ekleme
Syncthing, cihazları “Cihaz Kimliği” adı verilen benzersiz bir tanımlayıcı kullanarak birbirine bağlar. Bu kimlik, her Syncthing kurulumu için otomatik olarak oluşturulur ve uzun bir karakter dizisidir.
1. Cihaz Kimliğini Bulma:
* Syncthing Web UI’de, sağ üst köşedeki “Actions” (Eylemler) menüsüne tıklayın ve “Show ID” (Kimliği Göster) seçeneğini seçin.
* Açılan pencerede cihazınızın kimliğini göreceksiniz. Bu kimliği kopyalayın. Diğer cihazın kimliğini de aynı şekilde bulmanız gerekecektir.
2. Cihaz Ekleme:
* Syncthing Web UI’de, sağ alt köşedeki “Add Remote Device” (Uzak Cihaz Ekle) düğmesine tıklayın.
* “Device ID” (Cihaz Kimliği) alanına, senkronize etmek istediğiniz diğer cihazın kimliğini yapıştırın.
* “Device Name” (Cihaz Adı) alanına, bu cihaza kolayca tanıyabileceğiniz bir ad verin (örneğin, “Laptopum”, “Sunucu2”).
* “Introducer” (Tanıtıcı) seçeneği, bu cihazın diğer cihazlara yeni cihazları tanıtmasına izin verir. Genellikle varsayılan olarak bırakılır.
* “Save” (Kaydet) düğmesine tıklayın.
Uzak cihazınız, Syncthing arayüzünüzün “Remote Devices” (Uzak Cihazlar) bölümünde “Disconnected” (Bağlı Değil) olarak görünecektir. Diğer cihazda da bu cihazı eklemeniz ve bağlantı isteğini kabul etmeniz gerekecektir.
Dizin Ekleme
Şimdi senkronize etmek istediğiniz bir klasörü Syncthing’e ekleyelim.
1. Syncthing Web UI’de, sol alt köşedeki “Add Folder” (Klasör Ekle) düğmesine tıklayın.
2. Açılan pencerede aşağıdaki bilgileri girin:
* Folder Label (Klasör Etiketi): Bu, Web UI’de klasörü tanımlamak için kullanılan bir isimdir (örneğin, “Belgelerim”, “Fotoğraflar”).
* Folder ID (Klasör Kimliği): Bu, klasörün benzersiz kimliğidir. Genellikle otomatik olarak oluşturulan değeri kullanabilirsiniz, ancak isterseniz değiştirebilirsiniz (örneğin, my-documents). Bu kimlik, diğer cihazlarda aynı klasörü tanımlamak için kullanılacaktır.
* Folder Path (Klasör Yolu): Bu, senkronize etmek istediğiniz klasörün yerel dosya sisteminizdeki tam yoludur (örneğin, /home/YOUR_USERNAME/Belgelerim). Klasörün var olduğundan ve Syncthing’i çalıştıran kullanıcının bu klasöre okuma/yazma erişimi olduğundan emin olun.
3. “Versioning” (Sürümleme) sekmesinde, dosyaların eski sürümlerini saklamak isteyip istemediğinizi yapılandırabilirsiniz. Varsayılan olarak kapalıdır.
4. “Ignore Patterns” (Yoksayma Desenleri) sekmesinde, senkronize edilmesini istemediğiniz dosya ve dizinleri belirtebilirsiniz (örneğin, .git, *.tmp).
5. “Advanced” (Gelişmiş) sekmesinde, klasörün senkronizasyon davranışını ayarlayabilirsiniz:
* Folder Type (Klasör Türü):
* Send & Receive (Gönder ve Al): Hem bu cihazdan diğer cihazlara dosya gönderir hem de diğer cihazlardan dosya alır (varsayılan).
* Send Only (Sadece Gönder): Bu klasördeki değişiklikler diğer cihazlara gönderilir, ancak bu cihaz başka cihazlardan değişiklik almaz.
* Receive Only (Sadece Al): Bu klasör diğer cihazlardan değişiklikleri alır, ancak bu cihazdaki değişiklikler diğer cihazlara gönderilmez.
* Diğer gelişmiş ayarları (tarama aralığı, dosya tarama modu vb.) şimdilik varsayılan olarak bırakabilirsiniz.
6. “Save” (Kaydet) düğmesine tıklayın.
Klasörü Cihazlarla Paylaşma
Bir klasör ekledikten sonra, Syncthing size bu klasörü hangi uzak cihazlarla paylaşmak istediğinizi soracaktır.
1. “Add Folder” işleminden sonra açılan pencerede veya ana Syncthing ekranında yeni eklediğiniz klasörün üzerine tıklayın.
2. “Sharing” (Paylaşım) sekmesine gidin.
3. Bu klasörü senkronize etmek istediğiniz uzak cihazların yanındaki kutucukları işaretleyin.
4. “Save” (Kaydet) düğmesine tıklayın.
Uzak Cihazda Klasörü Kabul Etme
Diğer Syncthing cihazınızda (daha önce eklediğiniz uzak cihaz), Web UI’de yeni bir klasörün paylaşıldığını belirten bir bildirim görmelisiniz.
1. Uzak cihazın Web UI’sinde, paylaşılan klasörü kabul etmek için bildirime tıklayın veya “Add” (Ekle) düğmesine tıklayın.
2. “Folder Label” ve “Folder ID” otomatik olarak doldurulacaktır.
3. “Folder Path” (Klasör Yolu) alanına, bu klasörün uzak cihazda nerede depolanmasını istediğinizi belirtin (örneğin, /home/kullanici/Senkronize_Belgeler). Bu klasörün var olduğundan ve Syncthing kullanıcısının erişimi olduğundan emin olun.
4. “Folder Type” (Klasör Türü) seçeneğini uygun şekilde ayarlayın (genellikle Send & Receive).
5. “Save” (Kaydet) düğmesine tıklayın.
Her iki cihazda da klasörler kabul edildiğinde ve Syncthing çalışır durumda olduğunda, dosyalar senkronize olmaya başlayacaktır. Web UI’de klasörlerin durumu “Up to Date” (Güncel) veya “Syncing” (Senkronize Ediliyor) olarak görünecektir.
Gelişmiş Yapılandırma ve En İyi Uygulamalar
Syncthing, temel dosya senkronizasyonunun ötesinde birçok gelişmiş özellik ve yapılandırma seçeneği sunar.
Yoksayma Desenleri (.stignore)
Her klasör için .stignore adında özel bir dosya oluşturarak belirli dosya veya dizinlerin senkronize edilmesini engelleyebilirsiniz. Bu dosya, klasörün kök dizininde bulunur.
.tmp: Tüm .tmp uzantılı dosyaları yoksayar.
* /build: Klasörün kökündeki build dizinini yoksayar.
* temp/: Tüm temp dizinlerini (alt dizinler dahil) yoksayar.
!important.txt: important.txt dışındaki tüm .txt dosyalarını yoksayar (önce .txt ile yoksayıp sonra ! ile istisna belirtebilirsiniz).
.stignore dosyasını doğrudan Web UI’deki “Folder Edit” (Klasör Düzenle) ekranının “Ignore Patterns” sekmesinden düzenleyebilirsiniz.
Sürümleme (Versioning)
Yanlışlıkla silinen veya değiştirilen dosyaları kurtarmak için Syncthing, dosyaların eski sürümlerini saklayabilir. Bu özellik, klasör bazında yapılandırılır.
* Simple Versioning (Basit Sürümleme): Belirtilen sayıda eski sürümü saklar.
* Staggered Versioning (Kademeli Sürümleme): Belirli bir süre boyunca (dakika, saat, gün, hafta, ay) belirli sayıda sürümü saklar. Bu, daha eski sürümlerin daha az sıklıkta tutulduğu, daha yeni sürümlerin ise daha sık tutulduğu bir yaklaşımdır.
* External Versioning (Harici Sürümleme): Harici bir betiği kullanarak sürümlemeyi yönetir.
Sürümleme ayarlarını, her klasörün “Edit Folder” (Klasörü Düzenle) penceresindeki “Versioning” (Sürümleme) sekmesinden yapabilirsiniz.
Küresel ve Yerel Keşif
* Local Discovery (Yerel Keşif): Syncthing, yerel ağınızdaki diğer Syncthing cihazlarını otomatik olarak bulmak için yayın (broadcast) yapar.
* Global Discovery (Küresel Keşif): Syncthing, internet üzerindeki diğer Syncthing cihazlarını bulmak için Syncthing’in küresel keşif sunucularını kullanır. Bu, cihazlarınız farklı ağlardaysa önemlidir.
Bu ayarlar, “Settings” (Ayarlar) -> “Connections” (Bağlantılar) sekmesinde bulunur. Eğer cihazlar doğrudan birbirine bağlanamıyorsa (örneğin, NAT veya güvenlik duvarı nedeniyle), Syncthing röle sunucuları (relay servers) aracılığıyla bağlantı kurmaya çalışır.
Güvenlik Duvarı Kuralları (Tekrar)
Syncthing’in sorunsuz çalışması için güvenlik duvarınızda aşağıdaki portların açık olduğundan emin olun:
* TCP 8384: Syncthing Web UI.
* TCP 22000: Cihazlar arası veri senkronizasyonu için ana port.
* UDP 21027: Yerel ağdaki cihaz keşfi için.
UFW için örnek komutlar:
sudo ufw allow 8384/tcp
sudo ufw allow 22000/tcp
sudo ufw allow 21027/udp
sudo ufw enable
Performans ve Bant Genişliği Kısıtlamaları
Büyük dosya setleri veya yavaş ağ bağlantıları ile çalışırken Syncthing’in performansını optimize etmek isteyebilirsiniz.
* Bant Genişliği Kısıtlamaları: “Settings” (Ayarlar) -> “Connections” (Bağlantılar) sekmesinde, genel gönderim ve alım bant genişliği limitlerini ayarlayabilirsiniz. Ayrıca her uzak cihaz için ayrı ayrı limitler belirleyebilirsiniz.
* Tarama Aralığı: Klasörlerin “Advanced” (Gelişmiş) sekmesinde “Scan Interval” (Tarama Aralığı) ayarı bulunur. Bu, Syncthing’in klasördeki değişiklikleri ne sıklıkta tarayacağını belirler. Daha uzun aralıklar CPU kullanımını azaltır ancak değişikliklerin senkronize edilme süresini uzatır.
* Dosya Tarama Modu: Varsayılan olarak Syncthing, dosya içeriğinin bir kısmını okuyarak hash’ini alır. “Filesystem Watcher” (Dosya Sistemi Gözlemcisi) etkinleştirilirse (varsayılan), Syncthing değişiklikleri anında algılar.
Güvenlik İpuçları
* UI Parolası ve HTTPS: Web UI’nizi her zaman parola ile koruyun ve HTTPS’yi etkinleştirin.
* Güvenilir Cihazlar: Yalnızca güvendiğiniz cihazları Syncthing ağınıza ekleyin. Cihaz kimliklerini dikkatlice doğrulayın.
* Dosya İzinleri: Syncthing’in çalıştığı kullanıcının senkronize edilen klasörlere sadece gerekli izinlere sahip olduğundan emin olun.
* Sürümleme Kullanımı: Önemli klasörler için sürümlemeyi etkinleştirerek veri kaybı riskini azaltın.
Yaygın Sorun Giderme
Syncthing kurulumu ve yapılandırması sırasında veya sonrasında karşılaşabileceğiniz bazı yaygın sorunlar ve çözümleri.
Cihazlar Bağlanmıyor
* Güvenlik Duvarı: Her iki cihazda da Syncthing için gerekli portların (TCP 22000, UDP 21027) açık olduğundan emin olun.
* Cihaz Kimlikleri: Cihaz kimliklerinin doğru girildiğinden emin olun. Herhangi bir yazım hatası bağlantıyı engelleyecektir.
* Ağ Bağlantısı: Cihazların genel olarak birbirine erişip erişemediğini kontrol edin (örneğin, ping komutu ile).
* Küresel Keşif: Cihazlar farklı ağlardaysa, her iki cihazda da “Global Discovery” (Küresel Keşif) özelliğinin etkin olduğundan emin olun (“Settings” -> “Connections”).
* Röle Sunucuları: Eğer doğrudan bağlantı mümkün değilse, Syncthing röle sunucuları üzerinden bağlanmaya çalışır. “Settings” -> “Connections” altında “Enable Relaying” (Rölelemeyi Etkinleştir) seçeneğinin işaretli olduğundan emin olun.
Klasörler Senkronize Edilmiyor
* Dosya Yolları: Her iki cihazda da klasör yollarının doğru olduğundan emin olun.
* İzinler: Syncthing’i çalıştıran kullanıcının senkronize edilen klasörlere ve içindeki dosyalara okuma/yazma izinleri olduğundan emin olun. Özellikle yeni oluşturulan klasörler için izinleri kontrol edin (ls -l, chmod, chown).
* Disk Alanı: Her iki cihazda da senkronize edilecek dosyalar için yeterli disk alanı olduğundan emin olun.
* Yoksayma Desenleri: .stignore dosyasında yanlışlıkla senkronize edilmesi istenen dosyaların yoksayılıp yoksayılmadığını kontrol edin.
* Klasör Türü: Klasör türlerinin (Send Only, Receive Only, Send & Receive) doğru ayarlandığından emin olun. Örneğin, her iki taraf da “Receive Only” ise hiçbir dosya senkronize olmaz.
* Hata Mesajları: Syncthing Web UI’deki “Errors” (Hatalar) sekmesini veya terminal çıktısını kontrol edin.
Yüksek Kaynak Kullanımı
* Büyük Sayıda Dosya: Çok sayıda küçük dosya veya çok büyük dosyalar, Syncthing’in başlangıçta veya sık taramalarda yüksek CPU/RAM kullanmasına neden olabilir.
* Tarama Aralığı: Klasörlerin “Scan Interval” (Tarama Aralığı) ayarını artırarak tarama sıklığını azaltın.
* Bant Genişliği Kısıtlamaları: “Settings” -> “Connections” altındaki bant genişliği limitlerini kullanarak ağ kullanımını sınırlayın.
* Dosya Sistemi Gözlemcisi: Eğer dosya sistemi gözlemcisi düzgün çalışmıyorsa (örneğin, ağ paylaşımlarında), Syncthing daha sık tam taramalar yapmak zorunda kalabilir.
Sonuç
Bu makalede, Ubuntu 14.04 işletim sistemi üzerinde Syncthing’i kurma ve yapılandırma sürecini ayrıntılı bir şekilde ele aldık. Syncthing, merkezi olmayan yapısı, uçtan uca şifrelemesi ve esnek yapılandırma seçenekleriyle, dosya senkronizasyonu için güçlü ve güvenli bir alternatif sunar.
Kurulumun ardından, Syncthing’in web arayüzünü kullanarak cihazları birbirine bağlamayı, senkronize edilecek klasörleri tanımlamayı ve bu klasörleri güvenli bir şekilde paylaşmayı öğrendik. Ayrıca, Web UI’yi parola ve HTTPS ile güvence altına almanın önemini vurguladık. Özellikle Ubuntu 14.04’ün Upstart init sistemini kullanması nedeniyle, Syncthing’i bir servis olarak yapılandırmak için özel bir Upstart betiği oluşturduk, bu sayede Syncthing’in sistem başlangıcında otomatik olarak başlamasını ve arka planda sürekli çalışmasını sağladık.
Gelişmiş yapılandırma seçenekleri, yoksayma desenleri, sürümleme, keşif mekanizmaları ve performans optimizasyonları gibi konulara değinerek, Syncthing’i kendi özel ihtiyaçlarınıza göre nasıl uyarlayabileceğinizi gösterdik. Son olarak, karşılaşılabilecek yaygın sorunlara yönelik sorun giderme ipuçları sunarak, Syncthing deneyiminizi daha sorunsuz hale getirmeyi amaçladık.
Syncthing, verilerinizin kontrolünü size geri veren, gizliliğe odaklı bir çözümdür. Bu makaledeki adımları takip ederek, Ubuntu 14.04 sistemlerinizde güvenli ve verimli bir dosya senkronizasyon altyapısı kurabilirsiniz.