Alt siteyi dev multisite'tan üretim multisite'e nasıl taşıyabilirim?


12

Çoklu siteyi kullanarak yerel olarak bir dizi alt site geliştirmenin ve hazır olduklarında bunları üretim ortamına taşımanın en iyi ve en güvenli yolunu arıyorum.

Şu anda canlı olan ilk alt site ile tam çoklu site yüklemesini zaten taşıdım. Yerel sunucudaki diğer siteleri geliştirmeyi tercih ederim, bu yüzden üretim sunucusunu yalnız bırakıyorum ama açıkçası tam bir geçiş yapamıyorum.

Bir çözüm aradım ama bulduğum her şey tek bir siteyi çok siteye veya başka bir yöne taşımakla ilgili değil, "alt siteyi çok siteden çok siteye taşıma".

Her şeyi saklamak istiyorum: ayarlar, widget'lar vb.


1
Ticari BackupBuddy eklentisinin bunu yapabildiğini düşünüyorum, ancak bunun daha genel cevaplarını görmek isterim.
Rarst

Veritabanındaki serileştirilmiş dizeler nedeniyle bunu yapmak o kadar kolay değildir. Şimdiye kadar saf bir göç için bir eklenti görmedim, ama bu kesinlikle yapılması gereken bir şey. Tek bir blogun "çoğu" bölümlerini diğerine taşımak XML dışa aktarma / içe aktarma mekanizmasıdır, ancak daha sonra birçok yolu düzeltmeniz gerekir.
2ndkauboy

1
Sahip olduğunuz en iyi seçenek bunu doğrudan bir sql sorgusu ile yapmaktır. Bir kereden fazla yaptım ve yeterince dikkatli olursanız iyi çalışır.
krembo99

@ krembo99, tekniğinizi biraz daha açıklayabilir misiniz?
molokom

@Rarst, BackupBuddy söz konusu olduğunda bu onların SSS bölümünden gelmektedir: "Hayır. BackupBuddy Multisite desteği deneyseldir. Üretim sahaları için önerilmez ve resmi olarak desteklenmez."
molokom

Yanıtlar:


4

Bu biraz sıkıcı olabilir, ancak umarım bu yardımcı olur. Bir ortamdan diğerine ne kadar az değişirse, bu süreç o kadar az acı verici olacaktır. Özellikle, etki alanı, site kimliği, dosya yolları aynı kalırsa, bu işlem daha az acı verici olacaktır.

Bu yazı, veritabanı yönetimi hakkında bilgi sahibi olduğunu varsayar. Forumlarda arama yapmanız ve muhtemelen hangi adımda sorun yaşadığınıza özgü bir iş parçacığı oluşturmanız gerektiğinden, örneğin bir veritabanı tablosunu dışa aktarma konusunda yardıma ihtiyacınız varsa, bu adım adım tam değildir.

Yapılacak en önemli şey, bir şey ters giderse, hem yerel geliştirici sitesi hem de yeni konum için tüm veritabanınızı ve dosyalarınızı yedeklemektir . Bir şeyin yanlış gitmesini bekleyin. Olmazsa hoş bir sürpriz yapın.

Tema dosyalarınızı taşımak oldukça basit olmalıdır. Tema dosyalarınızı wp-content / themes dizinine yükleyin ve her zamanki gibi etkinleştirin. Bunun tüm blogların erişebildiği paylaşılan bir tema olduğunu varsayıyorum.

Eklenti dosyalarını yeni konumda wp-içerik / eklentilere yükleyin . Henüz etkinleştirmeyin.

Taşımakta olduğunuz blog'a özel herhangi bir içeriğin wp-content/blogs.dir/2/files, 2'nin site kimliği olduğu yere benzeyen bir dizinde bulunacağını unutmayın . Bu site kimliğini yeni konumda tutmak mümkünse, yeni konuma geçtikten sonra veritabanındaki çakışmaları en aza indirmeye yardımcı olmalıdır. Aksi takdirde, veritabanınızı yeni yolu yansıtacak şekilde güncellemeniz gerekir.

Sen gerekecektir bloga ilgili çoklu tabloları ihracat Taşımak ve yeni konuma aktarmak için çalışıyoruz. Taşımakta olduğunuz blog ile ilgili verileri depolayan tabloları düzenlemeniz gerekir. Bu tabloların önekinin yeni konumda aynı olduğundan emin olun.

Örneğin, blogunuz için wp_blogs tablosu, WordPress çoklu sitesinin blogunuzu tanımasını ve blogunuzla çalışmasını sağlayan blog kimliği, site kimliği, alan adı ve yolu içerir. Artık yeni konumu yansıtmak için doğru olmayan bunlardan herhangi birini düzenleyin, ancak bunu yapmaya çalışmadan önce lütfen bu yayının geri kalanını okuyun.

Bkz. Çok Bölmeli Tabloya Genel Bakış

To transfer edilecek blog için WordPress ve eklenti ayarlarını geçirmek , size daha sonra, yerel olarak tüm eklentileri devre dışı ihracat gerekecektir site belirli tabloları da eklentileri için olanlar da dahil (kodeks başvuru). Bu tabloları yeni konumun veritabanına aktarın.

Yeni konumun, içe aktarmakta olduğunuz tablolarla aynı veritabanı önekini kullandığından emin olun. Ön ek, blogunuz için site kimliğini içerecek ve benzer bir şeye benzeyecektir wp_2_options, wp_2_posts, wp_2_postmeta.
Bkz Lisa Sabin-Wilson tarafından WordPress Multisite keşfetme

Ben nasıl phpmyAdmin veya terminal mysqldump komutu ile almak / vermek bildiğinizi varsayalım. Bu, bu yazının kapsamının biraz ötesinde, ancak yardımcı olması gereken bir ihracat örneği.

Gönderen nasıl belirli tablo (s) mysqldump mı? (Sözdizimi daha net olması için biraz düzenlenmiştir.):

Mydb adlı veritabanından t1, t2 ve t3 tablolarını döküyorsanız

mysqldump -u <username> -p <password> mydb t1 t2 t3 > mydb_tables.sql

Yeni sitede eklentileri etkinleştirmeden önce yönetici cp'deki kalıcı bağlantı ayarlarınıza gidin ve veritabanı dosyalarını yeni site URL'sine güncellemek için ayarları kaydedin. Eklentilerinizi etkinleştirin ve herhangi bir sorun olup olmadığını görün.

Karşılaşabileceğiniz bir sorun, tablolarınızdaki veri serileştirmeyle ilgilidir.

"[...] Eski alan adı veya konuma yapılan referanslar veritabanında kalacak ve bu da bağlantılarda veya tema görüntülemesinde sorunlara neden olabilir.

Bir arama yapmak ve URL'leri değiştirmek için tüm veritabanı üzerinde değiştirirseniz, nedeniyle bazı temalar ve widget'lar işaretlenmiş URL uzunluğu değerlerini saklamak olması nedeniyle, veri serileştirme ilgili sorunlara neden olabilir." Ne zaman Alan Adı veya URL'ler Değişiklik

Veri serileştirmenin eklentilerinizle ilgili veritabanı tablolarında da çakışmaya neden olabileceğini unutmayın. Veritabanında saklanan url'de manuel arama ve değiştirme yapmak yerine , önceki kodeks bağlantısında önerilen veritabanı arama ve değiştirme komut dosyasını kullanın. Veritabanında yalnızca birkaç serileştirme örneği varsa, bunları phpMyAdmin veya veritabanınızı yönetmek için tercihiniz ne olursa olsun manuel olarak düzenleyebilirsiniz.

Karşılaşabileceğiniz bir diğer sorun, veritabanı tablolarında depolanan yanlış dosya yollarının yeni konumu yansıtacak şekilde güncellenmesi gerekmesidir. Bu, eklentinin nasıl tasarlandığına bağlı olarak eklentiler tarafından kullanılan medya dizinleri veya dizinler için geçerli olabilir. Yine, dosya yollarını güncellerken serileştirme çakışmalarının olmadığından emin olmak için arama ve değiştirme komut dosyasını kullanmak isteyeceksiniz. Alternatif olarak, tablolarınızı gözden geçirebilir ve manuel olarak güncelleyebilirsiniz.


Teşekkürler! Dolayısıyla, bu şekilde çalışmanın gerçek bir yararı yok gibi görünüyor: bu bir incinme torbası. Yerel tek bir site geliştirmek ve çok bölgeli bir ortama göç etmek daha iyi olur mu?
molokom

Aynı sorunların çoğuyla karşılaşabilirsiniz, ancak taşımanız gereken daha az tablo gerektirir. Size bir fikir vermek için, Varolan Bir Blogu WordPress Çok Sitesine Taşı adlı bir rehber bulabilirsiniz . Bir geliştirici olarak hangisinin sizin için daha verimli olduğunu belirlemek için size bırakacağım.
iyrin

0

WordPress'in yerleşik Dışa Aktar ve İçe Aktar özelliklerini kullanamaz mısınız? O zaman temayı FTP üzerinden bir kurulumdan diğerine taşımak meselesi. Oldukça hızlı bir şekilde gider ve bir siteyi yüklemeler arasında 5 dakikadan daha kısa bir sürede taşıyabilirsiniz.

Kullanıcı kimlik bilgilerini Kullanıcı Senkronizasyonu adlı şık bir eklenti kullanarak senkronize edebilirsiniz .

Kullanmadım , ancak ManageWP'nin mevcut bir siteden yeni bir siteye geçmek için kullanıcı dostu bir dağıtım ve klonlama aracı var ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.