Szukam najlepszego i najbezpieczniejszego sposobu lokalnego opracowania wielu podstron za pomocą wielu witryn i przeniesienia ich do środowiska produkcyjnego, gdy będą gotowe.
Przeprowadziłem już migrację pełnej instalacji wielostanowiskowej z pierwszą podstroną, która jest już dostępna. Wolałbym rozwijać inne witryny na serwerze lokalnym, więc zostawiam serwer produkcyjny w spokoju, ale oczywiście nie mogę ponownie przeprowadzić pełnej migracji.
Szukałem rozwiązania, ale wszystko, co znalazłem, dotyczy przeniesienia jednej witryny do wielu witryn lub odwrotnie, nie ma „przenoszenia podstrony z wielu witryn na wiele witryn”.
Chciałbym zachować wszystko: ustawienia, widżety i tak dalej.
multisite
installation
migration
molokom
źródło
źródło
Odpowiedzi:
Może to być nieco nudne, ale mam nadzieję, że to pomaga. Im mniej zmienia się z jednego środowiska do drugiego, tym mniej bolesny będzie ten proces. W szczególności, jeśli domena, identyfikator witryny i ścieżki plików pozostaną takie same, proces ten będzie mniej bolesny.
Ten post zakłada pewną wiedzę na temat zarządzania bazą danych. Nie jest to kompletny krok po kroku, ponieważ powinieneś przeszukiwać fora i być może utworzyć wątek specyficzny dla dowolnego kroku, z którym masz problemy, np. Jeśli potrzebujesz pomocy przy eksportowaniu tabeli bazy danych.
Najważniejszą rzeczą do zrobienia jest wykonanie kopii zapasowej całej bazy danych i plików zarówno dla lokalnej witryny deweloperskiej, jak i nowej lokalizacji na wypadek, gdyby coś poszło nie tak. Spodziewaj się, że coś pójdzie nie tak. Bądź mile zaskoczony, jeśli tak nie jest.
Przenoszenie plików motywu powinno być dość proste. Prześlij pliki motywów do katalogu wp-content / themes i aktywuj jak zwykle. Zakładam, że jest to wspólny motyw, do którego mają dostęp wszystkie blogi.
Prześlij pliki wtyczek do wp-content / plugins w nowej lokalizacji. Nie aktywuj ich jeszcze.
Pamiętaj, że wszelkie treści wyłącznie dla migrowanego bloga będą znajdować się w katalogu, który wygląda jak
wp-content/blogs.dir/2/files
gdzie 2 to identyfikator witryny. Jeśli możliwe jest utrzymanie tego identyfikatora witryny w nowej lokalizacji, powinno to pomóc zminimalizować konflikty w bazie danych po migracji do nowej lokalizacji. W przeciwnym razie będziesz musiał zaktualizować bazę danych, aby odzwierciedlała nową ścieżkę.Konieczne będzie wyeksportowanie tabel wielu witryn związanych z blogiem, który próbujesz migrować, i zaimportowanie ich do nowej lokalizacji. Będziesz musiał edytować tabele, które przechowują dane związane z migrowanym blogiem. Upewnij się, że prefiks tych tabel jest taki sam w nowej lokalizacji.
Na przykład tabela wp_blogs dla Twojego bloga zawiera identyfikator bloga, identyfikator witryny, domenę i ścieżkę, które umożliwiają wielostronnemu WordPressowi rozpoznawanie i pracę z Twoim blogiem. Edytuj te, które nie są już poprawne, aby odzwierciedlić nową lokalizację, ale przeczytaj resztę tego postu, zanim spróbujesz to zrobić.
Zobacz Omówienie tabeli wielu witryn
Aby przeprowadzić migrację ustawień WordPress i wtyczek dla bloga, który ma zostać przeniesiony , musisz dezaktywować wszystkie wtyczki lokalnie, a następnie wyeksportować tabele specyficzne dla witryny (odniesienie do kodeksu), w tym tabele dla wtyczek. Zaimportuj te tabele do bazy danych nowej lokalizacji.
Upewnij się, że nowa lokalizacja używa tego samego prefiksu bazy danych, co importowane tabele. Prefiks będzie zawierał identyfikator witryny dla Twojego bloga i będzie wyglądał podobnie
wp_2_options, wp_2_posts, wp_2_postmeta
.Zobacz Odkrywanie WordPress Multisite przez Lisę Sabin-Wilson
Zakładam, że wiesz, jak importować / eksportować za pomocą phpmyAdmin lub za pomocą komendy mysqldump w swoim terminalu. Jest to nieco poza zakresem tego postu, ale oto przykład eksportu, który powinien pomóc.
Od W jaki sposób mysqldump określonych tabel (y)? (Składnia została nieco zmodyfikowana, aby była bardziej przejrzysta.):
Przed aktywacją wtyczek w nowej witrynie przejdź do ustawień permalink w admin cp i zapisz ustawienia, aby zaktualizować pliki bazy danych do nowego adresu URL witryny. Aktywuj wtyczki i sprawdź, czy są jakieś problemy.
Jednym z problemów, które możesz napotkać, jest serializacja danych w swoich tabelach.
„[...] Odniesienia do starej nazwy domeny lub lokalizacji pozostaną w bazie danych, co może powodować problemy z łączami lub wyświetlaniem motywu.
Jeśli do wyszukiwania i zamiany na całej bazy danych, aby zmienić adres URL, może być przyczyną problemów z serializacji danych, ze względu na fakt, że niektóre motywy i wzory przechowywać wartości z długością URL oznaczonego „. Kiedy Twoja nazwa domeny lub adres URL Zmiana
Należy pamiętać, że serializacja danych może powodować konflikt w tabelach bazy danych również w odniesieniu do wtyczek. Zamiast ręcznego wyszukiwania i zamiany adresu URL zapisanego w bazie danych, użyj wyszukiwania bazy danych i zastąp skrypt zalecany w poprzednim łączu kodeksu. Jeśli w bazie danych jest tylko kilka przypadków serializacji, możesz po prostu edytować je ręcznie za pomocą phpMyAdmin lub cokolwiek preferujesz w zarządzaniu bazą danych.
Kolejnym problemem, który możesz napotkać, jest to, że wszelkie niepoprawne ścieżki plików przechowywane w tabelach bazy danych będą musiały zostać zaktualizowane, aby odzwierciedlić nową lokalizację. Może tak być w przypadku katalogów multimediów lub katalogów używanych przez wtyczki w zależności od sposobu zaprojektowania wtyczki. Znowu będziesz chciał użyć skryptu wyszukiwania i zamień, aby upewnić się, że nie występują konflikty serializacji podczas aktualizowania ścieżek plików. Alternatywnie możesz przeglądać tabele i aktualizować je ręcznie.
źródło
Nie możesz użyć wbudowanych funkcji eksportu i importu WordPress? Następnie wystarczy przenieść motyw z jednej instalacji do drugiej za pośrednictwem FTP. Idzie dość szybko i można migrować witrynę między instalacjami w mniej niż 5 minut.
Możesz zsynchronizować poświadczenia użytkownika za pomocą fajnej wtyczki o nazwie User Syncronization .
Nie korzystałem z niego, ale ManageWP ma przyjazne dla użytkownika narzędzie do wdrażania i klonowania, umożliwiające przejście z istniejącej witryny do nowej ... warto ją sprawdzić.
źródło