İçeriğe geç

Bir Siteyi Taşıma

Yerel bir sistemde veya geliştirme sunucusunda yeni bir XOOPS sitesinin prototipini oluşturmak çok yararlı bir teknik olabilir. Ayrıca bir şeyler ters giderse diye, ilk önce üretim sitenizin bir kopyasında XOOPS yükseltmesini test etmek çok akıllıca olabilir. Bunları gerçekleştirmek için XOOPS sitenizi bir siteden diğerine taşıyabilmeniz gerekir. İşte XOOPS sitenizi başarıyla taşımak için bilmeniz gerekenler.

İlk adım yeni site ortamınızı oluşturmaktır. Ön Hazırlıklar bölümünde anlatılanların aynıları burada da geçerlidir.

İncelemede bu adımlar şunlardır:

  • herhangi bir alan adı veya e-posta gereksinimi dahil olmak üzere barındırma hizmeti edinin
  • MySQL user hesabı ve şifresini edinin
  • Yukarıdaki kullanıcının tüm ayrıcalıklara sahip olduğu bir MySQL database edinin

Sürecin geri kalanı normal kuruluma oldukça benzer, ancak:

  • dosyaları XOOPS dağıtımından kopyalamak yerine mevcut siteden kopyalayacaksınız
  • Yükleyiciyi çalıştırmak yerine önceden doldurulmuş bir veritabanını içe aktaracaksınız
  • yükleyicide yanıtları girmek yerine dosyalarda ve veritabanında önceki yanıtları değiştireceksiniz

Mevcut sitenizdeki dosyaların tam kopyasını, bunları düzenleyebileceğiniz yerel makinenize alın. Uzak bir ana bilgisayarla çalışıyorsanız dosyaları kopyalamak için FTP’yi kullanabilirsiniz. Site yerel makinenizde çalışıyor olsa bile çalışmak için bir kopyaya ihtiyacınız vardır; bu durumda sitenin dizinlerinin başka bir kopyasını almanız yeterlidir.

and/or yeniden adlandırılmış olsalar bile xoops_data ve xoops_lib dizinlerini eklemeyi unutmamak önemlidir.

İşleri daha sorunsuz hale getirmek için önbelleği ve Smarty derlenmiş template dosyalarını kopyanızdan kaldırmalısınız. Bu dosyalar yeni ortamınızda yeniden oluşturulacak ve silinmediği takdirde eski yanlış bilgilerin korunmasıyla ilgili sorunlara neden olabilir. Bunu yapmak için, bu dizinlerin üçünde de index.html dışındaki tüm dosyaları silin:

  • xoops_data/caches/smarty_cache
  • xoops_data/caches/smarty_compile
  • xoops_data/caches/xoops_cache

Not: smarty_compile’nin temizlenmesi özellikle bir siteyi XOOPS 2.7.0’a veya bu sürümden taşırken önemlidir. XOOPS 2.7.0, Smarty 4 kullanır ve Smarty 4 derlenmiş template, Smarty 3 derlenmiş şablonla değiştirilemez. Eski derlenmiş dosyaları yerinde bırakmak, yeni sitede ilk sayfa yüklemesinde template hatalarına neden olur.

xoops_lib ve Oluşturucu Bağımlılıkları

Section titled “xoops_lib ve Oluşturucu Bağımlılıkları”

XOOPS 2.7.0, PHP bağımlılıklarını xoops_lib/ içindeki Composer aracılığıyla yönetir. xoops_lib/vendor/ dizini, XOOPS’nin çalışma zamanında ihtiyaç duyduğu üçüncü taraf kitaplıklarını içerir (Smarty 4, PHPMailer, HTMLPurifier, vb.). Bir siteyi taşırken, xoops_lib/ ağacının tamamını — vendor/ dahil — yeni ana bilgisayara kopyalamanız gerekir. composer.json’yi özelleştiren ve hedefte Composer’ın mevcut olduğu bir geliştirici değilseniz, hedef ana bilgisayarda vendor/’yi yeniden oluşturmaya çalışmayın.

Ön Hazırlıklar bölümünde anlatılanların aynıları burada da geçerlidir. Burada, taşıdığınız site için ihtiyaç duyacağınız barındırmanın mevcut olduğunu varsayacağız.

Anahtar Bilgiler (mainfile.php ve secure.php)

Section titled “Anahtar Bilgiler (mainfile.php ve secure.php)”

Bir siteyi başarıyla taşımak, mutlak dosya ve yol adlarına, URLs’ye, database parametrelerine ve erişim kimlik bilgilerine yapılan tüm referansların değiştirilmesini içerir.Sitenizin web kökündeki mainfile.php ve sitenizin (yeniden adlandırıldı: PH000032¤ yeri değiştirildi) xoops_data dizinindeki data/secure.php adlı iki dosya, sitenizin URL, ana dosya sisteminde nerede olduğu ve veritabanına nasıl bağlandığı gibi temel parametrelerini tanımlar.

Hem eski sistemdeki değerlerin ne olduğunu, hem de yeni sistemde ne olacağını bilmeniz gerekecek.

İsimmainfile.php dosyasındaki Eski Değermainfile.php’de Yeni Değer
XOOPS_ROOT_PATH
XOOPS_PATH
XOOPS_VAR_PATH
XOOPS_URL
XOOPS_COOKIE_DOMAIN

Editörünüzde mainfile.php dosyasını açın. Yukarıdaki grafikte gösterilen tanımların değerlerini eski değerlerden yeni siteye uygun değerlere değiştirin.

Daha sonraki adımlarda başka yerlerde de benzer değişiklikler yapmamız gerekeceğinden eski ve yeni değerleri not edin.

Örnek olarak, bir siteyi yerel bilgisayarınızdan ticari bir barındırma hizmetine taşıyorsanız değerleriniz şöyle görünebilir:

İsimmainfile.php dosyasındaki Eski Değermainfile.php’de Yeni Değer
XOOPS_ROOT_PATHc:/wamp/xoopscore27/htdocs/home8/example/public_html
XOOPS_PATHc:/wamp/xoopscore27/htdocs/xoops_lib/home8/example/private/xoops_lib
XOOPS_VAR_PATHc:/wamp/xoopscore27/htdocs/xoops_data/home8/example/private/xoops_data
XOOPS_URLhttp://localhost/xoopshttps://example.com
XOOPS_COOKIE_DOMAINyerel ana bilgisayarexample.com

mainfile.php dosyasını değiştirdikten sonra kaydedin.

Diğer bazı dosyaların URL’nize ve hatta yollarınıza sabit kodlanmış referanslar içermesi mümkündür. Bu durum özelleştirilmiş temalarda ve menülerde daha olasıdır, ancak emin olmak için editörünüzle tüm dosyalar arasında arama yapabilirsiniz.

Düzenleyicinizde, kopyanızdaki dosyalarda eski XOOPS_URL değerini arayarak bir arama yapın ve bunu yeni değerle değiştirin.

Eski XOOPS_ROOT_PATH değeri için de aynısını yapın ve tüm oluşumları yeni değerle değiştirin.

Notlarınızı saklayın, çünkü daha sonra veritabanını taşırken bunları tekrar kullanmak zorunda kalacağız.

İsimdata/secure.php’deki Eski Değerdata/secure.php’da Yeni Değer
XOOPS_DB_HOST
XOOPS_DB_USER
XOOPS_DB_PASS
XOOPS_DB_NAME

Editörünüzde yeniden adlandırılan and/or yeri değiştirilen xoops_data dizinindeki data/secure.php dosyasını açın. Yukarıdaki grafikte gösterilen tanımların değerlerini eski değerlerden yeni siteye uygun değerlere değiştirin.

Siteniz taşındığında dikkat edilmesi gereken başka dosyalar da olabilir. Bazı yaygın örnekler, alan adına bağlı olabilecek çeşitli hizmetlere yönelik API anahtarlarıdır; örneğin:

  • Google Haritalar
  • Yeniden yakalama2
  • Beğen butonları
  • Bağlantı paylaşımı and/or Shareaholic veya AddThis gibi reklamlar

Eski alan adına yapılan bağlantılar genellikle hizmet tarafındaki kaydın bir parçası olduğundan, bu tür ilişkilendirmelerin değiştirilmesi kolaylıkla otomatikleştirilemez. Bazı durumlarda bu, hizmetle ilişkili alan adının eklenmesi veya değiştirilmesi anlamına gelebilir.

Şimdi değiştirdiğiniz dosyalarınızı yeni sitenize kopyalayın. Teknikler, Kurulum sırasında, yani FTP kullanılarak kullanılanlarla aynıdır.

Bu adım için phpMyAdmin kullanılması önemle tavsiye edilir. Mevcut siteniz için phpMyAdmin’de oturum açın, veritabanınızı seçin ve Export’u seçin.

Varsayılan ayarlar genellikle iyidir, bu nedenle Quick’in “Dışa aktarma yöntemi”ni ve SQL’nin “Format”ını seçmeniz yeterlidir.

database yedeğini indirmek için Go düğmesini kullanın.

Exporting a Database with phpMyAdminVeritabanınızda XOOPS veya modüllerine ait olmayan ve NOT’nin taşınması gereken tablolar varsa, Custom’un “Dışa aktarma yöntemini” seçip veritabanınızda yalnızca XOOPS ile ilgili tabloları seçmelisiniz. (Bunlar kurulum sırasında belirttiğiniz “önek” ile başlar. database önekinizi xoops_data/data/secure.php dosyasında arayabilirsiniz.)

Veritabanını Yeni Sunucuya Geri Yükleme

Section titled “Veritabanını Yeni Sunucuya Geri Yükleme”

Yeni ana makinenizde, yeni veritabanınızı kullanarak, phpMyAdmin’deki (veya gerekirse bigdump) Import sekmesi gibi tools kullanarak veritabanını geri yükleyin.

URLs Güncellemesi ve Veritabanındaki Yollar

Section titled “URLs Güncellemesi ve Veritabanındaki Yollar”

Veritabanınızdaki sitenizdeki kaynaklara yönelik tüm http bağlantılarını güncelleyin. Bu çok büyük bir çaba gerektirebilir ve bunu kolaylaştıracak bir araç vardır.

Interconnect/it’nin bu konuda yardımcı olabilecek Search-Replace-DB adında bir ürünü var. Yerleşik Wordpress ve Drupal ortamlarının farkındalığıyla birlikte gelir. Bu araç bu haliyle çok yararlı olabilir, ancak XOOPS’nuzun farkında olduğunda daha da iyidir. XOOPS uyumlu sürümünü şu adreste bulabilirsiniz: https://github.com/geekwright/srdb

Bu yardımcı programı sitenize indirip geçici olarak yüklemek için README.md dosyasındaki talimatları izleyin. Daha önce XOOPS_URL tanımını değiştirmiştik. Bu aracı çalıştırdığınızda, orijinal XOOPS_URL tanımını yeni tanımla değiştirmek istiyorsunuz; yani http://localhost/xoops öğesini https://example.com ile değiştirin.

Using Seach and Replace DB

Eski ve yeni URLs numaranızı girin ve prova seçeneğini seçin. Değişiklikleri gözden geçirin ve her şey yolunda görünüyorsa canlı çalıştırma seçeneğini tercih edin. Bu adım, içeriğinizdeki sitenize URL yönlendiren yapılandırma öğelerini ve bağlantıları yakalayacaktır.

Reviewing Changes in SRDB

XOOPS_ROOT_PATH için eski ve yeni değerlerinizi kullanarak işlemi tekrarlayın.

Bu adımı srdb aracı olmadan gerçekleştirmenin başka bir yolu da veritabanınızın dökümünü yapmak, dökümü bir metin düzenleyicide düzenlemek, URLs ve yolları değiştirmek ve ardından veritabanını düzenlenmiş dökümünüzden yeniden yüklemek olacaktır. Evet, bu süreç yeterince kapsayıcıdır ve insanları Ara-Değiştir-DB gibi özel araçlar oluşturmaya motive edecek kadar risk taşır.

Bu noktada siteniz yeni ortamında yayına hazır olmalıdır!

Elbette her zaman sorunlar olabilir. Sorularınızı xoops.org Forumlarına göndermekten çekinmeyin.