Bir Joomla web sitesinin güvenliği yalnızca güçlü bir parola kullanmak, güncellemeleri yapmak veya güvenlik eklentileri kullanmakla sınırlı değildir. Sitenin herhangi bir nedenle zarar görmesi, yanlışlıkla dosya silinmesi, veritabanının bozulması, sunucu kaynaklı bir problem yaşanması ya da hatalı bir güncelleme yapılması durumunda en önemli güvence güncel ve kullanılabilir bir yedektir.
Ancak burada önemli bir ayrıntı bulunuyor: Yedek almak ile etkili bir yedekleme stratejisine sahip olmak aynı şey değildir. Düzenli olarak oluşturulan ancak aynı sunucuda saklanan bir yedek, sunucunun tamamen erişilemez hale gelmesi durumunda beklenen korumayı sağlamayabilir. Benzer şekilde, yıllardır dokunulmamış eski bir yedek de güncel verileri kurtarmak için yeterli olmayabilir.
Bu nedenle Joomla siteleri için yedekleme; ne zaman, neyin, ne sıklıkta ve nereye yedekleneceğinin önceden planlandığı bir süreç olarak ele alınmalıdır.
Bir Joomla sitesinin çalışması yalnızca web dosyalarından oluşmaz. Sitenin içerikleri, kullanıcı bilgileri, menüler, yapılandırmalar ve birçok eklentinin verileri veritabanında tutulur. Bunun yanında Joomla çekirdek dosyaları, şablonlar, eklentiler, medya dosyaları ve diğer site dosyaları da korunmalıdır. Dolayısıyla yalnızca veritabanını veya yalnızca dosyaları yedeklemek her durumda yeterli olmayabilir.
Özellikle aktif olarak içerik yayınlanan bir web sitesinde son yedeğin üzerinden geçen süre arttıkça olası veri kaybı da artar. Bu nedenle yedekleme planının sitenin güncelleme ve içerik üretme sıklığına göre belirlenmesi gerekir.
Etkili bir Joomla yedekleme stratejisinde temel olarak iki veri grubu dikkate alınmalıdır:
Dosya yedeği içerisinde Joomla'nın çalışması için gerekli dosyalar, şablonlar, eklentiler, görseller, medya dosyaları ve siteye özel oluşturulmuş diğer dosyalar bulunabilir.
Özellikle görsel ağırlıklı bir blog veya haber sitesinde medya klasörlerinin yedeklenmesi oldukça önemlidir. Çünkü yalnızca veritabanını geri yüklemek, fiziksel olarak silinmiş görselleri geri getirmez.
Joomla içeriklerinin önemli bir bölümü veritabanında tutulur. Makaleler, kategoriler, menüler, kullanıcılar ve çeşitli eklenti verileri buna örnek olarak gösterilebilir. Bu nedenle veritabanı yedeğinin dosya yedeğinden ayrı bir konu olarak değerlendirilmesi gerekir.
Tam site yedeği yaklaşımında ise dosyalar ve veritabanı birlikte korunabilir. Örneğin Akeeba Backup, Joomla sitesinin dosyalarını ve veritabanını tek bir yedek arşivinde toplayarak sitenin tamamının geri yüklenmesine yönelik bir yapı sunuyor.
Her Joomla sitesi için aynı yedekleme sıklığını kullanmak doğru değildir. Örneğin haftada bir makale yayınlanan küçük bir kurumsal web sitesi ile gün içerisinde onlarca içerik yayınlanan bir haber sitesinin yedekleme ihtiyacı aynı değildir.
Pratik olarak şöyle bir plan oluşturulabilir:
Buradaki temel mantık şudur: Site ne kadar sık değişiyorsa, yedekleme aralığı da o kadar kısa olmalıdır. Akeeba'nın güncel dokümantasyonu da otomatik yedeklemelerin özellikle sık değişen sitelerde önemli olduğunu ve yedekler arasındaki sürenin fazla olmasının yeni verilerin kaybedilmesine yol açabileceğini belirtiyor.
Joomla siteniz için daha güvenli bir strateji oluşturmak istiyorsanız 3-2-1 yedekleme yaklaşımını temel alabilirsiniz.
Bu yaklaşım basitçe şu mantığa dayanır:
Örneğin Joomla sitenizin yedeğini:
saklayabilirsiniz. Böylece sunucu üzerinde yaşanan bir problem, tek bir yedekleme konumuna bağımlı kalmanıza neden olmaz.
Hayır. Bu, Joomla yedeklemesinde sık yapılan hatalardan biridir. Web siteniz ile yedek dosyalarınız aynı sunucuda bulunuyorsa ve sunucuda ciddi bir problem yaşanırsa her iki veri de erişilemez hale gelebilir.
Bu nedenle önemli yedeklerin en az bir kopyasının sunucudan bağımsız başka bir ortamda tutulması daha güvenli bir stratejidir. Bulut depolama, farklı bir sunucu veya başka bir güvenli depolama sistemi bu amaçla kullanılabilir.
Joomla sitelerini yedeklemek için manuel yöntemler kullanılabileceği gibi özel yedekleme eklentilerinden de yararlanılabilir. Manuel yöntemde dosyalar FTP veya hosting paneli üzerinden, veritabanı ise phpMyAdmin gibi araçlarla yedeklenebilir. Ancak bu yöntem özellikle düzenli yedekleme yapılması gereken sitelerde zaman alıcı olabilir ve insan hatasına daha açıktır.
Akeeba Backup gibi Joomla'ya yönelik çözümler ise tam site yedekleri oluşturmayı ve gerektiğinde geri yükleme işlemlerini kolaylaştırmayı amaçlar. Akeeba'nın güncel dokümantasyonunda tam site yedeğinin Joomla veritabanı ve site dosyalarını kapsadığı belirtiliyor.
Joomla 6 kullananların ise yedekleme aracının kullandıkları Joomla sürümüyle uyumlu olduğundan emin olması gerekir. Akeeba'nın güncel indirme sayfasında Akeeba Backup 10.4.0'ın Joomla 6.0 ve 6.1 ile uyumlu olduğu belirtilmektedir.
Yedekleme işlemini otomatik hale getirmeden önce bazı temel kontroller yapılmalıdır.
Bir yedekleme işleminin tamamlanmış görünmesi, yedeğin kesinlikle kullanılabilir olduğu anlamına gelmez.
Örneğin:
"Yedek başarıyla oluşturuldu."
mesajını görmek olumlu bir işarettir ancak tek başına yeterli değildir.
Belirli aralıklarla yedek dosyasının gerçekten oluşturulduğunu, dosya boyutunun mantıklı olduğunu ve mümkünse geri yükleme işleminin test edildiğini kontrol etmek gerekir. Çünkü asıl amaç yedek almak değil, gerektiğinde çalışan bir yedekten siteyi geri getirebilmektir.
Yedekleme planının en çok gözden kaçırılan bölümlerinden biri geri yükleme testidir. Bir yedeği yalnızca saklamak yerine belirli aralıklarla test ortamında geri yüklemek, yedeğin gerçekten kullanılabilir olup olmadığını anlamanızı sağlar.
Özellikle büyük Joomla güncellemelerinden önce bu işlem oldukça değerlidir.
Örneğin:
Bu süreç sayesinde gerçek bir problem yaşandığında ne yapacağınızı önceden öğrenmiş olursunuz. Akeeba Backup'ın dokümantasyonunda tam site yedeklerinin dosyalar, veritabanı ve geri yükleme için gerekli bileşenleri içeren arşivler olarak çalıştığı açıklanıyor.
Joomla çekirdek güncellemeleri ve özellikle büyük sürüm geçişleri öncesinde güncel bir yedek almak iyi bir uygulamadır.
Aynı durum şu işlemler için de geçerlidir:
Örneğin bir eklenti güncellemesinden sonra site çalışmaz hale gelirse, güncelleme öncesinde alınmış çalışan bir yedeğin bulunması geri dönüş sürecini kolaylaştırabilir.
Manuel olarak yedek almak bir süre sonra unutulabilir. Bu nedenle mümkün olduğunca otomatik bir sistem oluşturmak daha sürdürülebilir bir yaklaşımdır.
Örneğin bir Joomla blogu için:
Her gün: Otomatik tam yedek
Her hafta: Ayrı bir uzak depolama kopyası
Her ay: Eski yedeklerin kontrolü
Büyük güncelleme öncesi: Manuel güvenlik yedeği
Belirli aralıklarla: Geri yükleme testi
şeklinde bir plan uygulanabilir. Akeeba Backup güncel dokümantasyonunda otomatik yedekleme için Joomla Scheduled Tasks, CRON ve çeşitli otomasyon seçenekleri bulunuyor.
Her yedeği sonsuza kadar saklamak depolama alanı açısından verimli olmayabilir. Bunun yerine bir saklama politikası oluşturabilirsiniz.
Örneğin:
saklanabilir. Bu yapı sayesinde hem yakın geçmişe ait yedeklere erişebilir hem de depolama alanını kontrollü kullanabilirsiniz.
Bir yedek dosyası yalnızca teknik bir dosya değildir. İçerisinde web sitesinin dosyaları, veritabanı, kullanıcı kayıtları ve yapılandırma bilgileri bulunabilir. Bu nedenle yedeklerin herkes tarafından erişilebilir bir klasörde tutulması ciddi bir güvenlik riski oluşturabilir.
Yedek dosyalarının:
gibi konulara dikkat edilmelidir.
Küçük ve orta ölçekli bir Joomla web sitesi için aşağıdaki yapı uygulanabilir:
Bu plan sitenin büyüklüğüne, içerik değişim sıklığına ve işletme açısından taşıdığı öneme göre daha sıkı veya daha esnek hale getirilebilir.
Joomla kullanıcılarının yedekleme konusunda yaptığı bazı yaygın hatalar şunlardır:
Hiç yedek almamak: En temel ve en büyük risk budur.
Yalnızca veritabanını yedeklemek: Dosyalar ve medya içerikleri korunmadığında tam bir geri dönüş mümkün olmayabilir.
Yedekleri yalnızca sunucuda tutmak: Sunucuya erişim kaybedildiğinde yedeklere de erişilemeyebilir.
Yedekleri hiç test etmemek: Çalışmayan veya eksik bir yedek ancak ihtiyaç duyulduğunda fark edilebilir.
Güncelleme öncesi yedek almamak: Başarısız bir güncelleme sonrasında geri dönüş seçeneklerini azaltabilir.
Eski yedekleri sınırsız şekilde saklamak: Depolama alanının gereksiz yere büyümesine neden olabilir.
Otomatik yedekleme sistemini kontrol etmemek: Otomasyon kurulduktan sonra her şeyin sonsuza kadar sorunsuz çalışacağı düşünülmemelidir.
Joomla web sitenizi korumak için yalnızca birkaç dosyanın kopyasını almak yeterli değildir. İyi bir yedekleme stratejisi; doğru verilerin yedeklenmesini, düzenli aralıklarla kopyaların oluşturulmasını, farklı konumlarda saklanmasını ve gerektiğinde geri yüklenebileceğinin test edilmesini kapsar.
Özellikle içerik üretimi yoğun olan Joomla sitelerinde otomatik yedekleme ve site dışı depolama önemli bir avantaj sağlar. Daha küçük sitelerde ise haftalık yedekleme ve önemli değişiklikler öncesinde manuel güvenlik yedeği yeterli bir başlangıç noktası olabilir.
Unutulmaması gereken en önemli nokta ise şudur: Yedekleme, sorun yaşandığında yapılacak bir işlem değil; sorun yaşanmadan önce hazırlanması gereken bir kurtarma planıdır.
Dosyalar yedekleniyor mu?
Veritabanı yedekleniyor mu?
Yedekler otomatik oluşturuluyor mu
Yedeklerin bir kopyası site dışında tutuluyor mu?
Eski yedekler için saklama politikası var mı?
Güncelleme öncesi manuel yedek alınıyor mu?
Geri yükleme işlemi test ediliyor mu?
Yedek dosyaları yetkisiz erişime karşı korunuyor mu?
Bu maddelerin tamamını düzenli olarak kontrol ediyorsanız Joomla siteniz için çok daha sağlam ve sürdürülebilir bir yedekleme altyapısı oluşturabilirsiniz.