Skip to main content
WordPress

WordPress – Güvenli Güncelleme ve Kurulum

Giriş

WordPress tartışmasız günümüzün en popüler CMS (Content Management System – İçerik Yönetim Sistemi)’dir. Bir çok site WordPress’i kolaylığı ve sadeliği için kullanırken, bir çok site güvenliğini düşünmeden WordPress’i kullanıyor.

Bu makalede bu durumların en başında gelen dosya ve klasor sahibi, izinleri ve WP sitemizi nasıl güncelleyeceğimize bakacağız (eklentiler, temalar, WP sürümü v.s.) Standard yönteme göre daha güvenli olarak gösterilen başka bir yöntemle WP sitemizi güncellemeyi öğreneceğiz.

Bu makaleyi yazarken bir SSH yetkisine sahip olduğunuzu varsayıyorum. Eğer SSH yetkiniz yoksa aylık $5 gibi çok ucuz bir fiyata DigitalOcean‘dan satın alabilirsiniz.

Güncellemeleri SSH ile Yapmak

Anahtar tabanlı işlemlerinizi yapmıyorsanız, yükleme ya da güncelle işlemi yapmaya çalıştığınızda WP sizlerden bağlantı bilgileri isteyecektir. Sunucunuzda libssh2 kurulu değilse sizlerden bağlantı bilgilerini istediği ekranda FTP ve FTPS (SSL) seçeneğini göreceksiniz.

WordPress FTP Bağlantı BilgisiEğer libssh2 kuruluysa FTP ve FTPS (SSL) yanında SSH seçeneğini görebilirsiniz.

WordPress SSH bağlantı ekranıFTP özünde güvenli olmayan bir protokoldür. FTP yerine, daha güvenli olan SSH yöntemini kullanacağız.

1. Adım: libssh2 Kurulumu

Daha öncede belirttiğim gibi en azından VPS (ya da benzeri) sahibi olduğunuzu düşünerek bu yazıyı yazıyorum. Sonuçta paylaşımlı hostingde güvenliğin çok yüksek olmasını ummak yanlış olur.

SSH’e girip libssh2 kuralım;

Kurulum sonrası apache servisini yeniden başlatmamız gerekecek;

2. Kullanıcı ve Yetkileri Düzenleme

wp-user adında bir kullanıcı yaratıp, WordPress sitemize ait dosya ve klasörler için yetkileri bu kullanacıya vereceğiz.

Öncelikle wp-user kullanıcısını yaratalım;

Size bir çok soru soracaktır, hepsine ENTER’a basıp geçin. Local olarak kullanacağımız bir hesap olacak bu.

Hesabı yarattıktan sonra sitemizin yüklü olduğu klasöre geçelim;

sitem.com‘u kendi sitenize ait olan klasör adıyla değiştirin. Ek olarak sitem.com dizini içerisinde public_html ya da benzeri, site dosyalarının listelendiği bir dizin olduğunu var sayıyorum.

public_html klasörünün yetkilerini yeni yarattığınız wp-user kullanıcısına atayacağız.

3. WordPress için SSH Anahtarı Yaratımı

Yarattığımız wp-user kullanıcısıyla giriş yapın

ssh-keygen komutuyla wp-user kullanıcısına bir anahtar oluşturun

Bu komutu gönderdikten sonra anahtarı nerede saklamak / kaydetmek istediğiniz v.s. gibi sorular soracak. Sadece saklamak istediğimiz yeri belirteceğiz /home/wp-user/wp_rsa kalan diğer sorulara ENTER tuşuna basarak geçin.

Bir önceki hesabımıza geçiş yapalım (wp-user hesabından çıkalım)

Şimdi SSH anahtarımızın tutulduğu dizininin kullanıcı ve kullanıcı grubunu belirleyelim

Ardından dizinimizi ve içeriğini kullanıcımıza kilitlerken, kullanıcı grubunada sadece okuma izni vererek gerekli yetki ayarlarımızı güvenlik adına yapalım

Web işleyicinin giriş yapabilmesi için  ~/.ssh klasörünü yaratıp gerekli izinleri verelim

Öncelikle klasörü yaratalım

Dizinin kullanıcı ve kullanıcı grubunu ayarlayalım

https://www.digitalocean.com/community/tutorials/how-to-configure-secure-updates-and-installations-in-wordpress-on-ubuntu

Şimdi anahtarımızı izinli anahtarlar listesine kopyalayarak bu hesapla kullanıcı girişi yapılmasını sağlayalım

Bu dosyaların güvenli bir şekilde erişilebilinir hale getirelim

Bu hesaba giriş sadece local’den yapılacak yani WordPress sitemiz, yüklü olduğu makinadan giriş yapacak. Bunun için gerekli düzenlemeyi yaparak ek bir güvenlik katmanı daha eklemek için dosyayı düzenleyelim;

Dosyanın en başına, diğer bütün yazılardan önce şu satırı ekleyelim;

Kaydedip dosyayı kapatalım.

4. WordPress’i Ayarlayalım

Son olarak sitemizi yaptığımız bu ayarları kullanabilecek şekilde ayarlayacağız. Bu ayarları direk olarak wp-config.php dosyasına eklemezseniz her bir eklenti / tema / bileşen v.s. gibi kurulum ve güncellemelerinde tekrar tekrar aynı bilgileri girmeniz gerekebilir. Tekrar tekrar aynı işlemi yapmamak adına wp-config.php dosyamızı düzenleyelim.

wp-config.php dosyasını açalım

Sayfanın en altına şu kodları ekleyelim

Dosyayı kaydedip kapatın.

Tebrikler, artık WP sitenizde güncelleme ve kurulum işlemlerinizi güvenli bir şekilde SSH üzerinden yapabilirsiniz.

Burada önemli gördüğüm bir nokta ise, güvenlik için varsayılan SSH portunu değiştirdiyseniz bunu ayarlarınıza yansıtmanız gerekecektir. Varsayılan SSH portu 22’dir. Örneğin bunu 15150 yaptıysanız o zaman FTP_HOST ayarında bunu belirtmeniz gerekecek;

Her zaman ki gibi düşünce, bilgi ve isteklerinizi yorumlar aracılığıyla paylaşabilirsiniz.

Hepinize başarılı kodlamalar, projelerinizde başarılar dilerim.

Ilgıt Yıldırım

Alanında 16 yıldan fazla tecrübesi olan bir freelance / serbest web yazılımcısıyım. Son 8 yıldır e-ticaret siteleri ağırlıklı çalışmalar yapmaktayım. Web yazılımı konusunda PHP, MySQL, HTML, CSS ana ilgi alanlarımdır.