Paylaşımlı Barındırma Alanında WP-CLI Kurulumu

WordPress ve WP-Cli ile ilgili yazılarda genel olarak DigitalOcean ve/veya localhost üzerinden ilerledik. Dolayısıyla işlemlerimiz sınırlandırmalar söz konusu olmadığı için çoğu zaman sorunsuz bir şekilde ilerledi.

AA

Peki, WordPress sitemizi paylaşımlı bir barındırma alanında tutuyorsak ve bu alana WP-Cli kurmak istiyorsak ne yapacağız? Karşılaşabileceğimiz sorunlar ve bu sorunlara karşı üretebileceğimiz çözümler nelerdir?

Paylaşımlı (Shared) Barındırma Alanı

Paylaşımlı (shared) barındırma alanı mevcut web kaynaklarının kullanıcılar arasında ortak kullanımını ifade etmektedir. Fiilen, bir paylaşımlı barındırma alanında her bir müşteri için disk alanı, aylık trafik, e-posta hesapları, veritabanları, FTP hesapları gibi kaynaklar erişim sağlayan kullanıcılar arasında sınırlı bir şekilde erişilebilir. Bu sınırlar ilgili kaynakların efektif kullanımının yanı sıra güvenlik amacıyla da barındırma hizmetini veren firma tarafından yönetilir. Örneğin, tavsiye ettiğim firmalardan biri olan Hawkhost pek çok donanımsal özelliği limitsiz olarak belirtmekte. Ancak, donanımın dışında yazılım sürecini ilgilendiren bazı sınırlandırmalar olduğunu yürüttüğünüz projeler çerçevesinde görebilirsiniz. Tedbir amacıyla koyulan bu sınırlandırmalar sadece destek talebi üzerinden ve kontrollü şekilde esnetilebilmekte. Fakat, bazı konular var ki tam da bu iki noktanın arasında kalmakta. Örneğin, WP-Cli ile post içeriklerinde arama yaparken xargs komutunun bazı sınırlandırmalar çerçevesinde işlediğine denk geldim. Elbette ilgili yazıda alternatif çözümler ürettim, fakat netice itibariyle bir engel söz konusuydu. Aynı durum WP-Cli kurulumu için de geçerli ve bu yazıda da değineceğim husus tam olarak bu; paylaşımlı barındırma alanında WP-CLI kurulumu.

Shared Hosting Alanına WP-Cli Kurulumu

Aşağıda yer alan işlemleri Hawkhost ve GoDaddy Linux Web Hosting / cPanel Shared Hosting üzerinde deneme imkanım oldu ve sorunsuz bir şekilde işlemleri tamamladım. Siz de, tercih ettiğiniz firma üzerinden ulaştığınız sonucu yorum olarak paylaşır ya da mesaj olarak iletebilirseniz bu firma listesine dahil edebilirim. Hızlıca işlemlerimize geçelim. Aşağıdaki yönergeler kısmen WordPress Komut Satırı Arayüzü (WP-CLI) yazısındaki adımlarla paralellik göstermekte; paylaşımlı barındırma alanımıza SSH bağlantısı gerçekleştirmeli ve wp-cli.phar dosyasını indirmeliyiz. Bunun için curl komutunu kullanabiliriz.

ssh [kullanici-adi]@alanadi-veya-ip-adresi
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Kurulum işleminin tamamlanmasının ardından wp-cli.phar dosyasını çalıştırılabilir (executable) hale getirmeliyiz. Bunun için uygun chmod parametremiz +x veya a+x olacaktır1. Bu sayede tüm kullanıcılar için ilgili dosyası çalıştırma yetkisi tanımlanmış olur.

chmod +x wp-cli.phar

Şimdi de ilgili işlemlerin başarıyla tamamlanıp tamamlanmadığından emin olalım.

php wp-cli.phar --info

Bu komutun ardından wp-cli ile ilgili, aşağıdaki örnektekine benzer temel bilgilerin dönmesi gerekir.

WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /home/...
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.1.0

Artık, teknik olarak wp-cli komutlarını kullanabiliriz. Tabi bunun için komut satırlarının başına php wp-cli.phar yazmamız gerekir. Peki, daha pratik bir yolu varken neden ekstra karakterlerle uğraşalım? O halde, hemen bir bash alias oluşturalım ve komutları daha pratik hale getirelim. Bu kısa yol tanımlama işlemi için .bashrc dosyasını açıp (ilgili dosya çoğunlukla home dizininde yer almaktadır) şu satırı eklemeniz gerekir:

alias wp='~/wp-cli.phar'

Bu satır wp ifadesinin ~/wp-cli.phar karşılığına sahip olduğunu ve her çağırıldığında bu dosyanın işleme alınması gerektiğini belirtir. Peki, .bashrc düzenleme işleminin daha pratik bir yolu yok mu? Var elbette! Aşağıdaki satırı doğrudan komut satırı arayüzüne yapıştırıp uyguladığınızda echo ile ilgili kısa yol tanımı .bashrc dosyasının en altına yeni bir satır olarak eklenir.

echo "alias wp='~/wp-cli.phar'" >> .bashrc

Şimdi ilgili dosyamızın güncellendiğini belirtecek source komutunu uygulamalıyız ki kısa yolumuzu kullanmaya balayabilelim.

source .bashrc

İşlemlerimiz bu aşamaya kadar sorunsuz bir şekilde ilerlemiş olmalı. Emin olmak adına ilk wp komutumuzu uygulayalım ve eklentilerimizi listeleyelim2.

wp plugin list
WP Plugin List

Çoklu Site ve WordPress Dizin Sorunları

İlgili barındırma alanında birden fazla WordPress kurulumunuz olabilir ya da wp komutunu kullanmak istediğinizde ilgili WordPress kurulumu bulunamıyor olabilir. Bu gibi durumlarda kullanabileceğimiz ek parametreler bulunmakta. Örneğin, --path ile WordPress dizini belirterek işlemler gerçekleştirebilirsiniz. Bu parametre hem sadece ilgili WordPress kurulumu için işlemler gerçekleştirmenizi hem de eğer ilgili kurulum bulunamıyorsa kurulumun bulunmasını sağlayacaktır. Eklentileri listelediğimiz komutumuzu bu bilgi ışığında güncelleyelim.

wp plugin list --path='[wordpress-dizini]'

O halde, bu sorunu da çözmüş olduk. Son olarak, root kullanıcı olarak işlemler yapmak istediğinizde nadiren de olsa güvenlik nedeniyle uyarı aldığınız durumlar olabilir. Bu gibi durumlarda ilgili komutun sonuna --allow-root parametresini eklemeniz yeterli olacaktır. Tekrar ilgili örneğimizi bu bilgi üzerinden güncelleyelim.

wp plugin list --path='[wordpress-dizini]' --allow-root

Yukarıdaki işlemler ve açıklamalar dışında bir sorunla karşılaşmış iseniz yorum olarak ya da mesaj ile paylaşabilirsiniz. Ayrıca, WordPress > Contributing3 ve Common Issues4 sayfalarını da inceleyebilirsiniz. Bu aşamadan sonra isterseniz kolaylıkla uzak sunucu – WordPress erişim işlemlerini de gerçekleştirebilirsiniz.

Paylaşımlı Sunucuya WP-Cli SSH Bağlantıs.ı

WP-CLI ile uzak sunucu erişiminde kimi zaman bash: wp: command not found hatası dönebilmekte.

wp --ssh=[kullanici-adi]@alanadi-veya-ip-adresi

Bu gibi durumlarda ilgili wp-cli.phar dosyasının bin dizini içerisinde olduğundan ve hem bilgisayarınızda hem de paylaşımlı barındırma alanında .bashrc (ya da .zshrc) kısa yol tanımlamasının doğru bir şekilde gerçekleştirildiğinden emin olmalısınız. İlgili kontrollerin ardından bir sorun kalmayacak ve hızlı bir şekilde paylaşımlı barındırma alanına ssh bağlantısı sağlayabileceksiniz. Çoğu durumda root erişimini kullanamayacağınız için dosya işlemlerini adım adım gerçekleştirmenizde ve karşılaştığınız problemleri not etmenizde fayda var.