ÖğRETICILER
Google Drive'ı, sahibi olduğunuz bir Nextcloud sunucusuyla nasıl değiştirirsiniz
Bulut depolama, çoğu insanın bir şirkete emanet ettiği en mahrem şeydir. Belgeler değil — fotoğraflar, kimlik belgelerinin taramaları, vergi beyannameleri, her şeyi üzerinde taşıyan bir telefonun yedeği. Bunların hepsi, itiraz hakkı olmayan otomatik bir sistem tarafından askıya alınabilen bir hesapta, yüklediğiniz her şeyi tarayan sunucularda, yıllar önce doğruladığınız ve artık koparamayacağınız bir kimliğe bağlı olarak durur. İnsanlar bu düzenin gerçek şeklini genellikle en kötü anda keşfeder — kilitlenen bir hesap yirmi yıllık aile fotoğraflarını da beraberinde götürdüğünde. Nextcloud açık kaynaklı cevaptır: aynı senkronizasyon istemcileri, aynı telefon uygulaması, aynı paylaşım bağlantıları — kiraladığınız bir makinede çalışan ve başka hiç kimsenin indekslemediği dosyaları tutan bir cevap. Kurulumu bir öğleden sonra sürer. Sonucun bıraktığınız şeyden gerçekten daha iyi olup olmadığını belirleyen şey ise altındaki disk ve neredeyse her rehberin yanlış anlattığı bir şifreleme sorusudur.
Nextcloud gerçekte neyin yerini alır
Nextcloud, tek bir uygulamadan çok, bir tüketici bulut hesabının yaptığı işlerin çoğunu kapsayan küçük bir paket gibidir. Kendi kendine barındırmaya gerçekten değer kılan da bu genişliktir: tek bir hizmeti kendi kendine barındırılan bir muadille değiştirmek bakımına nadiren değer, ama beşini tek bir sunucuyla değiştirmek genellikle değer.
- Çekirdek özellik olan dosya senkronizasyonu ve paylaşımı. Windows, macOS ve Linux için masaüstü istemcileri, her iki platform için mobil uygulamalar ve bir web arayüzü — zaten alıştığınız, bir klasörü sürükleyince her yerde belirmesi davranışının aynısı.
- Otomatik kamera yüklemesi, albümler ve yüz gruplama ile telefonunuzdan fotoğraf yedeklemesi. Çoğu kişi için bu, verinin tek başına en büyük dilimidir ve diskin doğru boyutlandırılması gereken sebep de budur.
- Her telefonun anadilinden konuştuğu açık CalDAV ve CardDAV standartları üzerinden takvim ve kişiler — bunları senkronize etmek için üçüncü taraf bir uygulamaya gerek yoktur.
- Sonradan ekleyebileceğiniz bir ofis paketi üzerinden işbirlikli belgeler; elektronik tabloları ve metin dosyalarını başka hiçbir yere göndermeden tarayıcıda düzenleme.
- Parolalı, son kullanma tarihli ve yalnızca yükleme yapılabilen bırakma klasörleriyle herkese açık paylaşım bağlantıları — genellikle büyük ekleri e-postayla gönderme alışkanlığına son veren özellik budur.
- Sunucu tarafı sürüm geçmişi ve bir çöp kutusu; böylece üzerine yazılan bir dosya ya da kötü giden bir senkronizasyon, yedeğe gitmeden kurtarılabilir.
Sınırı açıkça ortaya koymakta fayda var, çünkü kendi kendine barındırma etrafındaki pazarlama bunu nadiren yapar. Nextcloud size kontrol ve gizlilik verir. Size bir hyperscaler'ın dayanıklılığını vermez — o şirketler verinizi kıtalar arasında çoğaltır, kiralık tek bir sunucu ise diskleri ne kadar iyi olursa olsun bunu yapmaz. Dosyaları bedava da yapmaz: her hâlükârda depolama için ödeme yaparsınız, yalnızca isminizi hiç sormayan bir barındırıcıya, sormuş birine değil. Kendi kendine barındırma, başkasının güvenilirliğini kendi kontrolünüzle takas etmektir ve bu ancak güvenilirlik tarafını ciddiye alırsanız iyi bir takastır.
Artık depolama sağlayıcısı sizsiniz
Bu, kendi kendine barındırmanın dürüst bedelidir ve geçişten sonra değil önce anlaşılması çok daha iyidir. Çalışma sürenizi izleyen kimse yoktur, fotoğraflarınızın bir kopyasına sahip kimse yoktur ve bir senkronizasyon istemcisi bu sabah ihtiyaç duyduğunuz bir dosyada çakışma bildirdiğinde destek hattının diğer ucunda kimse yoktur.
- Yedekler size aittir ve isteğe bağlı değildir. Bir RAID dizisi ölü bir diskten sağ çıkar; silinen bir klasörden, kötü giden bir yükseltmeden ya da senkronize bir dizin üzerinden yayılan bir fidye yazılımından sağ çıkmaz. Sürüm geçmişi ve çöp kutusu kolaylık özellikleridir, yedek değil.
- Çalışma süresi size aittir. Sunucuya ulaşamayan bir senkronizasyon istemcisi değişiklikleri sessizce kuyruğa alır ve sonra yakalar, ki bu bağışlayıcıdır — ama bir müşteriye gönderdiğiniz bir paylaşım bağlantısı, kutu kapalıyken ölüdür.
- Güncellemeler size aittir ve Nextcloud bunları hızlı bir tempoda yayınlar. Herkese açık bir IP üzerinde, içinde tüm hayatınızın bulunduğu bir PHP uygulamasıdır; bu yüzden yamalama sakin bir aya ertelenecek bir şey değildir.
- Kapasiteyi izlemek size aittir. Her fotoğrafı otomatik olarak yükleyen bir telefon, cömertçe boyutlandırdığınız bir diski, planlamadığınız bir zaman çizelgesinde dolduracaktır ve dolu bir disk durmaktan çok bozulmaya yol açar.
- Kurtarma size aittir. Geri yükleme, veritabanı ve dosya ağacının birlikte, eşleşen bir zaman noktasında geri gelmesi demektir. Birini diğeri olmadan geri yüklemek, orada olmayan dosyaları listeleyen, çalışır görünen bir arayüz üretir.
Bunların hiçbiri, bir kez kurulduktan sonra ağır değildir. Ayda birkaç dakika, artı başlangıçta özenle geçirilmiş bir öğleden sonra — kendi kendine barındırılan herhangi bir hizmetin ihtiyaç duyduğu aynı disiplindir, tek fark bu sefer kaybetmekten en çok nefret edeceğiniz şeylerin elde tutulmasıdır. Bir web sitesini kendi kendinize barındırmayı zaten deneyimlediyseniz, hiçbiri size yabancı gelmeyecektir.
Makineyi boyutlandırmak: uygulama için değil, veri için bütçe ayırın
Nextcloud'un kendisi mütevazı bir PHP uygulamasıdır. Buradaki boyutlandırma hatalarının neredeyse tamamı, uygulamayı fiyatlandırıp bu işin asıl amacının büyüyen veriyi barındırmak olduğunu unutmaktan kaynaklanır. Biçimi en baştan doğru oturtun, çünkü bir dosya ağacını ve veritabanını sonradan makineler arasında taşımak, kendi kendine barındırmanın en tatsız öğleden sonrasıdır.
- Planınızı belirleyen karar depolamadır ve bugün dosyalarınızın tuttuğu alanın kabaca iki katına ihtiyacınız vardır. Sürüm geçmişi değişen dosyaların eski kopyalarını tutar, çöp kutusu silinenleri bir saklama penceresi boyunca elde tutar ve oluşturulan küçük görseller ile önizlemeler bir fotoğraf kitaplığının üzerine gerçek bir yüzde ekler.
- Bellek, işin yürüyüp yürümeyeceğini değil, nasıl hissettirdiğini belirler. 2 GB tek kullanıcılı bir örneği çalıştırır; 4 GB, telefon yüklemeleri çalışan bir hane için rahattır; bir ofis paketi ve bir avuç eşzamanlı kullanıcı devredeyken 8 GB ve üzeri önemli hâle gelir.
- CPU neredeyse her zaman boştadır, sonra kısa bir süreliğine fazlasıyla önemli hâle gelir — içe aktarılan bir fotoğraf kitaplığı üzerinde önizleme oluşturmanın ilk turu ve anlık belge dönüştürmeleri, manevra payına değecek sıçramalardır.
- Veritabanı hızlı depolama ister, dosyalar ise özellikle istemez. Meta veri işlemleri veritabanına sürekli çarparken dosya ağacı çoğunlukla sıralı okuma ve yazmadır; bu yüzden toplu kapasitenin yanında küçük bir NVMe kök diski, tek ve dev, yavaş bir birimden daha iyi bir biçimdir.
- Aktarım burada ölçümsüzdür, ama mevcut bir kitaplığın ilk yüklemesi gerçek anlamda büyük, tek seferlik bir iştir. Sizi şaşırtmak yerine gece boyunca çalışmasını planlayın.
Pratikte bu, gerçekte ne kadar depoladığınıza bağlı olarak iki noktaya çıkar. Birkaç yüz gigabaytın altında — belgeler, mütevazı bir fotoğraf kitaplığı, bir ya da iki kişi — 4 vCPU EPYC, 8 GB DDR5 ECC ve 120 GB Gen4 NVMe ile gelen $13.99/ay'lık VPS-8 hızlıdır ve fazlasıyla yeterlidir. Kamera rulosu olan bir telefon devreye girdiğinde kapasite işin tamamı hâline gelir ve NVMe için ödeme yapmak yanlış tercih olur: $7.99/ay'dan başlayan bir depolama sunucusu RAID-6 üzerinde 1 TB verir, $22.99/ay'lık STO-4 ise 4 TB verir — bu, herhangi bir VPS'ten farklı bir kategoride manevra payıdır, üstelik terabayt başına fiyatın bir kesri karşılığında. Bunun ötesinde bir haneyi ya da küçük bir ekibi tek çatı altında topluyorsanız, $64/ay'dan başlayan ve 2 × 1 TB NVMe ile gelen bir dedicated sunucu size hem hız hem alan verir, hesap da saçmalamaya başlamaz.
Adım adım: yeni bir sunucudan çalışan bir senkronizasyona
- 01Önce sunucuyu devreye alın ve sıkılaştırınBir Debian ya da Ubuntu kutusu, yalnızca anahtarla SSH, varsayılan olarak reddeden bir güvenlik duvarı — üzerinde tek bir dosya bile yokken. Bunu makine hâlâ boş ve sıkıcıyken yapın.
- 02Bir alan adını sunucuya yönlendirin ve sertifikanın verilmesine izin verinNextcloud istemcileri düz HTTP üzerinden senkronize olmayı reddeder, haklı olarak. Sertifika verilebilmeden önce ana bilgisayar adının makineye çözümlenmesi gerekir; bu, açık ara en sık görülen başarısız kurulum nedenidir.
- 03Kurulum yönteminizi seçin ve ona bağlı kalınKonteyner imajı en hızlı yoldur ve güncel tutması en kolayıdır; bir web sunucusu ve veritabanı üzerinde elle kurulum ise ince ayar üzerinde daha fazla kontrol verir. Birini seçin — ikisini karıştırmak, yükseltmelerin bozulma şeklidir.
- 04SQLite değil, gerçek bir veritabanı kullanınSQLite tam olarak fazla bir şey yapmayan tek bir kullanıcı için işe yarar ve iki istemci aynı anda senkronize olduğu an çöker. Kurulum sırasında MariaDB veya PostgreSQL seçin, çünkü sonradan dönüştürmek nahoş bir geçiştir.
- 05Bir bellek önbelleği ekleyin ve arka plan işlerini yapılandırınKilitleme ve önbellekleme için Redis, arka plan işleri için de tarayıcı tetiklemeli varsayılan yerine sistem düzeyinde bir cron. Bunları atlamak, bazı kendi kendine barındırılan örneklerin neden ağır, bazılarının neden anında hissettirdiğinin sebebidir.
- 06Herhangi bir şeyi taşımadan önce yükleme sınırlarını yükseltinVarsayılanlar küçük dosyalar için boyutlandırılmıştır ve bir videoyu ya da disk imajını reddeder. Sınırları önce web sunucusu ve PHP yapılandırmasında düzeltin, yoksa ilk büyük yüklemeniz yüzde doksanda başarısız olur.
- 07Dosyalarınızı tek, bilinçli bir geçişte taşıyınMevcut kitaplığı bir masaüstü istemcisinden yükleyin ya da yerine kopyalayıp bir tarama tetikleyin. Bunu, kimse örneğe henüz bağımlı değilken, bir kez ve gece boyunca yapın.
- 08İstemcileri bağlayın, sonra aynı gün yedekleri kurunMasaüstü senkronizasyonu, telefon otomatik yüklemesi, takvim ve kişiler. Ardından yedeği yapılandırın ve gerçekten test edin — geri yükleme yolu olmadan üretimde duran bir örnek, geri sayıma girmiş demektir.
Şifreleme: sizi gerçekte ne korur, ne yalnızca koruyormuş gibi görünür
Bir tüketici bulut hizmetinden özellikle bir şirket dosyalarınızı okuyabildiği için ayrıldıysanız, en çok önem taşıyan bölüm burasıdır ve çoğu rehberin yanlış anlattığı bölüm de budur. Nextcloud'da sunucu tarafı şifreleme adı verilen bir özellik vardır. Onu açmak cevap gibi hissettirir. Çoğunlukla değildir ve nedenini anlamak, sizi hiç şifreleme olmamasından bile daha kötü olan sahte bir güvenlik hissinden kurtarır.
- Sunucu tarafı şifreleme anahtarları sunucuda tutar. Uygulama, dosyalarınızı size sunabilmek için onların şifresini çözebilmelidir; bu yüzden çalışan makineye erişimi olan herkes, makinenin sahip olduğu her şeye sahiptir. Çalınan bir diske ya da güvenilmeyen bir harici depolama arka ucuna karşı korur — ele geçirilmiş bir sunucuya ya da onu işletene karşı değil.
- Uçtan uca şifreleme gerçek olandır ve bilinçli olarak sınırlıdır. Belirli klasörleri istemci üzerinde şifreler; bu, sunucunun onları gerçek anlamda okuyamayacağı anlamına gelir — ve aynı şekilde o içerik için web arayüzü, önizleme, sunucu tarafı arama ya da herkese açık paylaşım bağlantısı olmayacağı anlamına da gelir.
- Sunucudaki tam disk şifrelemesi, kapalı bir makineyi korur. Çalışan bir sunucuda birim bağlıdır ve anahtar bellektedir; bu yüzden yalnızca elden çıkarmaya ve soğuk bir kutunun fiziksel olarak el konulmasına karşı savunur, başka hiçbir şeye karşı değil.
- Çoğu kişinin gerçekte istediği şey, yüklemeden önce şifrelemektir. Bir klasörü yerel olarak şifreleyip şifreli metni senkronize eden bir araç, altında sıradan bir Nextcloud'la birlikte gerçek bir gizlilik verir; bedeli ise o klasör için önizlemelerin ve tarayıcı erişiminin kaybıdır.
- Aktarım şifrelemesi, depolama şifrelemesi değildir. HTTPS dosyaları yalnızca aktarım hâlindeyken korur, hareketsiz hâldeyken hiç korumaz; ikisini birbirine karıştırmak bu alandaki en yaygın yanlış anlamadır.
Çoğu kişi için dürüst cevap karma bir cevaptır. Örneği normal şekilde çalıştırın — bu sizin sunucunuz ve zaten yalnızca şifreli bir arşiv kullanmıyor olmanızın tüm nedeni önizlemelerin, aramanın ve paylaşım bağlantılarının kolaylığıdır. Ardından dosyalarınızın gerçekten hassas olan azınlığını — evrakları, anahtarları, kötü bir yılda önem taşıyacak şeyleri — alın ve bunları diske ulaşmadan önce istemci tarafında şifreleyin. Bu size, ikisiymiş gibi davranan vasat bir uzlaşma yerine, kullanılabilir bir bulut ve gerçek bir kasa birlikte verir.
Varsayılan bir kurulumun yerinde bıraktığı kimlik sızıntıları
Nextcloud, dosyalarınızı okuyan şirketi ortadan kaldırır. Ama tek başına, sunucuyu bir kişiye bağlayan her şeyi ortadan kaldırmaz — ve bunların çoğu, depolamayla ilgisiz hissettiren adımlardan gelir.
- Alan adı. Herkese açık WHOIS gizlense bile bir kayıt kuruluşu kimliğinizi elinde tutar ve adı canlı tutmak için çalışan bir iletişim adresine ihtiyaç duyar. Ana bilgisayar adı, kendi kendine barındırılan bir hizmetin sahibine kadar izlenmesinin en yaygın yoludur.
- Sertifika şeffaflığı. Bir sertifika verildiği anda, tam olarak o ana bilgisayar adı herkesin arayabileceği herkese açık günlüklerde yayımlanır. Özel sandığınız bir alt alan adı — cloud.birsey, files.birsey — üzerinde bir zaman damgasıyla dünyaya duyurulur.
- Barındırıcı. Sunucu yasal isminizle bir kartla kiralandıysa, üzerinde ne çalıştığından bağımsız olarak makine yasal isminize kayıtlıdır. Bu, ilk dosyadan çok önce, kayıt sırasında karara bağlanır.
- Mobil push bildirimleri. Resmi uygulamalar bildirimleri varsayılan olarak platform sağlayıcılarının push servisleri üzerinden yönlendirir; bu da dosyalarınız ulaşmasa bile örneğiniz hakkındaki meta verilerin Google'a ya da Apple'a ulaştığı anlamına gelir.
- Fotoğraf meta verisi. Görseller; GPS koordinatları ve cihaz kimlikleri dahil olmak üzere EXIF verisi taşır. Bir kamera rulosunu kendi sunucunuza taşımak bunların hiçbirini temizlemez — yalnızca kontrol ettiğiniz bir yere taşır, ki bu daha iyidir ama onu kaldırmakla aynı şey değildir.
- Harici entegrasyonlar. Federe paylaşım, uzak depolama arka uçları, e-posta bildirimleri ve uygulama mağazası güncelleme kontrollerinin hepsi makineden dışarıya uzanır ve her biri sunucunuzu gören bir üçüncü taraftır.
- Sunucu günlükleri. Kendi günlükleriniz her senkronizasyon için IP adreslerini ve kullanıcı aracılarını kaydeder. Kendi makinenizde bu sorun değildir — ta ki makineye el konulana kadar; o noktada günlükleriniz kendi hareketleriniz hakkında birer delildir.
Bunları kapatmak egzotik bir şey değil, sıradan bir iştir. Kriptoyu kabul eden ve asgari düzeyde bilgi toplayan bir kayıt kuruluşu seçin. Makineyi kim olduğunuzu hiç sormamış bir barındırıcıya koyun ve bir kripto bakiyesinden ödeyin — Bitcoin takma adlıdır (pseudonymous), anonim değildir, bu yüzden önemsiyorsanız zincir üstü izi kapatan şey Monero ile bakiye yüklemektir. Meta veri sizi rahatsız ediyorsa push bildirimlerini kapatın ve bunu izleyen gecikmeli senkronizasyonu kabul edin. Ve örnek yalnızca sizin ve birkaç güvendiğiniz kişi içinse, onu hiç internete açmayın: bir WireGuard tünelinin arkasına koyun ve yalnızca tünel üzerinden yanıt vermesine izin verin — bu, herkese açık bir giriş sayfasına karşı yapılan saldırıların tüm kategorisini de ortadan kaldırır.
Geçişten sonra çalışır durumda tutmak
Bir yıldır çalışan bir dosya sunucusu, bir yıldır kimsenin bakmadığı bir dosya sunucusudur. Kısa bir rutin, bununla onu korumak için kurduğunuz şeyi kaybetmek arasındaki farktır.
- Veritabanını ve dosya ağacını, tutarlı bir zaman noktasından birlikte yedekleyin. Eşleşen veritabanı olmadan yapılan bir dosya yedeği, öksüz kayıtlarla dolu, boş görünen bir örnek olarak geri yüklenir.
- Sunucuda olmayan bir kopya bulundurun. Aynı makinede yaşayan bir anlık görüntü, bir disk arızasından başka hiçbir şeyden sağ çıkmaz — ne ele geçirilmeden, ne her yere yayılan yanlışlıkla silinmeden, ne de kaybedilen bir hesaptan.
- Hiçbir şey yanlış gitmemişken, bilerek bir kez geri yükleme yapın. Fotoğraf kitaplığınızın test edilmemiş bir yedeği, anılarınız hakkında bir varsayımdan ibarettir.
- Projenin temposunda güncelleyin ve asla bir ana sürümü atlamayın. Nextcloud seferde bir ana sürüm yükseltir; ikisini birden atlamak, elle sökmeniz gereken bir geçiş anlamına gelir.
- Boş alanı gerçek bir manevra payıyla izleyin. Yükseltmelerin çalışacak yere ihtiyacı vardır ve bir veritabanı geçişi sırasında dolan bir disk, rutin bir güncellemenin nasıl bir geri yüklemeye dönüştüğünün ta kendisidir.
- Arka plan işlerinin gerçekten çalıştığını kontrol edin. Önizleme oluşturma, çöp kutusu temizliği ve sürüm budaması hepsi orada yaşar; sessizce bozulmuş bir cron, aylar sonra esrarengiz biçimde dolu bir disk olarak karşınıza çıkar.
Bu arada harici bir kontrol de ekleyin — giriş sayfasını dışarıdan çeken ve yanıt vermeyi bıraktığında şikayet eden bir şey, örneğin çevrimdışı olduğunu kuyruktaki bir senkronizasyon istemcisinden önce size söyler. Ve makinenin kendisine, yeni bir VPS'teki ilk on dakikanın anlattığı şekilde davranın, çünkü sahip olduğunuz her belgeyi tutan bir kutudaki riskler, para tutan bir kutudakinden düşük değildir.
Dosyalara mal olan hatalar
- Varsayılan olduğu için SQLite üzerine kurmak, sonra iki cihaz aynı anda senkronize olduğu ilk anda kilitlendiğini izlemek.
- Çöp kutusunu ve dosya sürümlerini bir yedek sanmak, ardından bir senkronizasyon istemcisi bir silmeyi her yere yaydığı gün bunun doğru olmadığını keşfetmek.
- Yedekleri yapılandırmadan önce tüm fotoğraf kitaplığını taşımak ve tek kopyanın kiralık bir makinede olduğu pencerede bir ay boyunca yaşamak.
- Sunucu tarafı şifrelemeyi açmak, dosyaların artık barındırıcıdan gizli olduğu sonucuna varmak ve bu inanca göre hareket etmek.
- Diski sürümler, çöp kutusu ve önizlemeler için hiçbir pay bırakmadan, dosyaların bugün tuttuğu alana göre boyutlandırmak.
- Bellek önbelleğini ve arka plan işi kurulumunu atlamak, sonra yavaş hisseden bir örnek için donanımı suçlamak.
- Yükleme sınırlarını varsayılanlarında bırakmak ve geçişin ortasında büyük olan her şeyin sessizce başarısız olduğunu öğrenmek.
- Örnek bir yıl boyunca dokunulmadan durduğu için tek bir yükseltmede iki ana sürümü birden atlamak.
- Geri kalan her şeyi doğru yaptıktan sonra sunucuyu kiralarken ve alan adını kaydederken kendi isminizi kullanmak.
Nextcloud, günlük hayatta önem taşıyan konularda yerini aldığı ticari ürünle gerçek anlamda boy ölçüşen, kendi kendine barındırılan nadir projelerden biridir — senkronizasyon çalışır, telefon uygulaması çalışır ve bir hafta sonra farkı fark etmemeye başlarsınız. Kurulum bir öğleden sonra, geçiş ise bir gece sürer. Elinizde kalan şey; yalnızca size hesap veren bir makinede, bir kripto bakiyesinden ödenmiş ve isminizi hiç sormamış bir barındırıcıda duran, sahip olduğunuz her dosyadır. Diski verinin bugün olduğu hâline göre değil, gelecekte olacağı hâle göre boyutlandırın, gerçekten ihtiyaç duyan küçük kısmı istemci tarafında şifreleyin ve yedeği ihtiyacınız olmadan önce kurun, olduktan sonra değil.