Właśnie pomyślałeś o świetnym nowym layoucie na swoim blogu ... ale wprowadzanie zmian w blogu, gdy odwiedzający go uzyskują, jest generalnie złym pomysłem, szczególnie jeśli korzystasz z bloga reklamowego. Ta instrukcja pokazuje listę kroków, które należy wykonać, aby uzyskać kopię produkcyjnego bloga WordPress skopiowanego do lokalnego komputera z systemem Ubuntu. (Powinien działać dla dowolnego debiana Linuxa)
Najpierw musimy zrobić kopię twojego aktualnego bloga WordPress. Zakładam, że masz dostęp do konsoli u swojego dostawcy hostingu, lub przynajmniej mają jakąś kopię zapasową dla ciebie. Jeśli otrzymasz pliki kopii zapasowych w inny sposób, możesz pominąć ten krok.
Na blogu mamy zarówno instalację WordPress, jak i bazę danych, w której faktycznie zapisywany jest tekst wszystkich Twoich wpisów. Jeśli przesłałeś zdjęcia lub pliki, będą one w strukturze folderów Wordpress, więc naprawdę potrzebujemy obu.
1) Najpierw pobierzmy kopię bazy danych. Połącz się z serwerem za pośrednictwem SSH i uruchom następujące polecenie:
mysqldump -uUSERNAME -pPASSWORD -hSERVER DATABASENAME> dbbackup.bak
Oczywiście warto zastąpić tekst pisany dużymi literami, aby uzyskać poprawne wartości w instalacji.
2) Utwórz kopię zapasową struktury plików:
tar -cf sitebackup.tar SITEROOTDIRECTORY
Będziesz chciał zastąpić tekst pisany dużymi literami w katalogu głównym swojej witryny.
3) Skopiuj pliki do lokalnego komputera z systemem Ubuntu. Można to zrobić za pomocą scp, ftp lub jakkolwiek chcesz. Zostawię to tobie.
4) Upewnij się, że masz zainstalowane apache, php i mysql. Jeśli nie, możesz zapoznać się z innymi poradnikami na tej stronie lub po prostu wpisać następujące polecenia w wierszu terminalu:
sudo apt-get install apache2
sudo apt-get install php5
sudo apt-get mysql-server
sudo apt-get php5-mysql
sudo /etc/init.d/apache2 restart
5) Musimy stworzyć bazę danych i zaimportować oryginalną bazę danych, której kopię zapasową wykonaliśmy. Przejdź do folderu, w którym pobrano pliki i uruchom te polecenia:
mysqladmin utwórz DATABASENAME
mysql -uroot DATABASENAME <dbbackup.bak
6) Spraw, aby nasz lokalny serwer WWW wskazywał na kopię WordPressa, którą dostaliśmy z serwera produkcyjnego. Najpierw wyodrębnimy archiwum tar, które stworzyliśmy. Możesz to zrobić, jak chcesz, ale ja wolę linię poleceń. W Ubuntu jest wbudowane narzędzie, które pozwala ci to zrobić graficznie, jeśli chcesz to zrobić.
tar xvf sitebackup.tar
Spowoduje to utworzenie struktury katalogów podobnej do tej na serwerze, na którym byłeś. Zamierzamy sobie wyobrazić, że katalog główny twojej witryny znajduje się teraz w / home / username / wordpress / na potrzeby tego artykułu. Jeśli wyodrębniono go w innym miejscu, należy go odpowiednio zastąpić. Musimy dodać alias do apache, więc otwórz następujący plik:
/etc/apache2/conf.d/alias
Będziesz chciał wkleić te linie i dostosować ścieżki zgodnie z systemem i katalogiem /, w którym chcesz, aby blog testowy był dostępny.
Alias / wordpress / home / username / wordpress
Opcje Indeksy FollowSymLinks
AllowOverride All
Zezwalaj na zamówienia, odmawiaj
Zezwól wszystkim
7) Jeśli używasz Permalinków, będziesz chciał duplikować to samo na poziomie lokalnym i będziesz musiał włączyć mod_rewrite:
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
8) Teraz musimy edytować plik wp-config, aby wskazać lokalną bazę danych. Jeśli obserwujesz, te ustawienia powinny działać po zastąpieniu nazwy bazy danych.
// ** Ustawienia MySQL ** //
define ('WP_CACHE', false); // Dodano przez WP-Cache Manager
define ("DB_NAME", "DATABASENAME"); // Nazwa bazy danych
define ('DB_USER', 'root'); // Twoja nazwa użytkownika MySQL
define ('DB_PASSWORD', "); //… i hasło
define ('DB_HOST', 'localhost'); // ... i serwer MySQL jest uruchomiony
9) Jeśli korzystasz z modułu buforowania WP-Cache, przejdź do katalogu głównego bloga i uruchom następujące polecenia:
rm wp-content / advanced-cache.php
ln -s wp-content / plugins / wp-cache / wp-cache-phase1.php wp-content / advanced-cache.php
rm wp-content / cache / *
chmod -R 777 *
10) Pozostała ostatnia rzecz. Dane w bazie danych nadal mają niewłaściwy adres URL bloga. Najprostszym sposobem naprawy jest uruchomienie instrukcji SQL w bazie danych. Utwórz nowy plik tekstowy o nazwie fixsettings.sql, skopiuj do niego następujące wiersze, zastępując własny adres IP lokalnym hostem, jeśli chcesz, aby inne osoby łączyły się z Tobą:
update wp_options set option_value = "http: // localhost / wordpress /" gdzie option_id = 1;
update wp_options set option_value = "http: // localhost / wordpress /" gdzie option_id = 40;
Teraz zaimportujemy to do bazy danych:
mysql -uroot <fixsettings.sql
Pamiętaj, że powinieneś zachować ten plik, ponieważ zawsze, gdy chcesz zaktualizować swoją kopię lokalną najnowszymi wpisami na blogu, wszystko co musisz zrobić, to zaimportować plik kopii zapasowej bazy danych, a następnie ponownie uruchomić ten plik fixsettings.sql, aby punkt znowu lokalnie. Zdecydowanie sprawia, że rzeczy są znacznie prostsze, a ostatecznie możesz zaplanować zadanie cron, aby utworzyć kopię zapasową blogu produkcyjnego i przenieść go do lokalnego komputera zgodnie z harmonogramem.
Teraz powinieneś być w stanie przejść do http: // localhost / wordpress / wp-admin / i zalogować się przy użyciu zwykłej nazwy użytkownika. Masz kopię deweloperską swojego bloga!