Migracja stron internetowych Drupal na Ubuntu 17.04 | 17.10 z obsługą Nginx, MariaDB, PHP

  • Giles Benson
  • 0
  • 3931
  • 306

Któregoś dnia może się okazać, że zechcesz przenieść lub przenieść swoją obecną witrynę lub blog Drupal na nowy serwer. Być może Twój obecny dostawca usług nie spełnia Twoich potrzeb i myślisz, że nowy host może i kosztować Cię mniej.

Jest wiele powodów, dla których webmasterzy dokonują migracji swoich witryn i blogów. Przeniesienie witryn lub blogów do nowego hosta nie jest tak złe, jak mogłoby się wydawać. Głównym wyzwaniem jest przeniesienie danych na nowy serwer w stanie nienaruszonym i bez problemów.

Ten krótki samouczek pokazuje studentom i nowym użytkownikom, jak przenieść swoje strony internetowe lub blogi Drupal na nowy serwer, nie tracąc niczego. Studenci i użytkownicy dowiedzą się, jak skonfigurować nowego hosta, przenieść dane i łatwo przywrócić witrynę ”.

Aby rozpocząć migrację do Drupala, kontynuuj poniżej

W tym samouczku na naszym nowym serwerze hosta będzie działać najnowsza wersja Ubuntu z Nginx, MariaDB i PHP. Więc zacznijmy.

Krok 1: Zaloguj się do nowego serwera i skonfiguruj

Kiedy otrzymasz nowy serwer, pierwszym zadaniem będzie jego skonfigurowanie. Oznacza to instalację i konfigurację Nginx, MariaDB i PHP. Większość dostawców hostów zezwala teraz na dostęp przez SSH. Dlatego zaloguj się przez SSH i uruchom poniższe polecenia, aby zaktualizować serwer Ubuntu.

sudo apt update && sudo apt dist-upgrade && sudo apt autoremove

KROK 2: ZAINSTALUJ Nginx

Na nowym serwerze uruchom poniższe polecenia, aby zainstalować Nginx… Zakładamy, że Nginx jest używany na starym serwerze.

sudo apt install nginx

Następnie uruchom poniższe polecenia, aby zatrzymać, uruchomić i włączyć usługę Nginx, aby zawsze uruchamiała się wraz z uruchomieniem serwera.

sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl włącz nginx.service 

KROK 3: ZAINSTALUJ MARIADB

Na nowym serwerze uruchom poniższe polecenia, aby zainstalować serwer bazy danych MariaDB.

sudo apt-get install mariadb-server mariadb-client

Po zainstalowaniu poniższych poleceń można używać do zatrzymywania, uruchamiania i włączania usługi MariaDB, aby zawsze uruchamiała się po uruchomieniu serwera.

sudo systemctl stop mariadb.service sudo systemctl start mariadb.service sudo systemctl włącz mariadb.service 

Następnie uruchom poniższe polecenia, aby zabezpieczyć serwer MariaDB i utwórz nowe hasło roota.

sudo mysql_secure_installation

Po wyświetleniu monitu odpowiedz na poniższe pytania, postępując zgodnie z instrukcjami.

  • Wprowadź aktualne hasło roota (wpisz żadnego): Po prostu naciśnij Enter
  • Ustawić hasło roota? [T / n]: Y
  • Nowe hasło: wprowadź hasło
  • Ponownie wprowadź nowe hasło: powtórz hasło
  • Usunąć anonimowych użytkowników? [T / n]: Y
  • Nie zezwalać na zdalne logowanie przez roota? [T / n]: Y
  • Usunąć testową bazę danych i uzyskać do niej dostęp? [T / n]: Y
  • Załadować teraz ponownie tabele uprawnień? [T / n]: Y

Zrestartuj serwer MariaDB

sudo systemctl zrestartuj mariadb.service

KROK 4: ZAINSTALUJ PHP-FPM I POKREWNE MODUŁY

Po zainstalowaniu Nginx i MariaDB uruchom poniższe polecenia, aby zainstalować PHP i powiązane moduły PHP na nowym serwerze. To jest dobra lista modułów PHP do zainstalowania.

sudo apt zainstaluj php-fpm php-common php-mbstring php-xmlrpc php-mydło php-gd php-xml php-intl php-mysql php-cli php-mcrypt php-ldap php-zip php-curl

Po zainstalowaniu PHP uruchom poniższe polecenia, aby otworzyć domyślny plik Nginx PHP.

sudo nano /etc/php/7.1/fpm/php.ini # Ubuntu 17.10 sudo nano /etc/php/7.0/fpm/php.ini # Ubuntu 17.04 

Następnie zmień poniższe wiersze w pliku i zapisz.

post_max_size = 20M memory_limit = 256M max_execution_time = 300 max_input_vars = 10000 upload_max_filesize = 64M 

KROK 5: UTWÓRZ PUSTĄ DRUPALNĄ BAZĘ DANYCH

W tym momencie wszystkie wymagane pakiety i serwery Drupal są instalowane. Nowy serwer jest teraz gotowy do obsługi Drupala… Na nowym serwerze utwórz pustą bazę danych Drupal. Użyjemy tej pustej bazy danych do przywrócenia bazy danych ze starego serwera do.

Uruchom poniższe komendy, aby zalogować się do serwera bazy danych. Gdy pojawi się monit o hasło, wpisz hasło roota utworzone powyżej.

sudo mysql -u root -p

Następnie utwórz pustą bazę danych o nazwie drupalDBmożesz użyć tej samej nazwy bazy danych ze starego serwera.

UTWÓRZ BAZĘ DANYCH drupalDB;

Utwórz użytkownika bazy danych o nazwie drupal_user z nowym hasłem. Możesz użyć tej samej nazwy użytkownika i hasła ze starego serwera.

UTWÓRZ UŻYTKOWNIKA 'drupal_user' @ 'localhost' IDENTIFIED BY 'type_password_here';

Następnie przyznaj użytkownikowi pełny dostęp do bazy danych.

GRANT ALL ON drupalDB. * TO 'drupal_user' @ 'localhost' IDENTIFIED BY 'type_password_here' Z OPCJĄ GRANT;

Na koniec zapisz zmiany i wyjdź.

PRZYWILEJE SPŁUKIWANIA; WYJŚCIE; 

KROK 6: SKONFIGURUJ NOWĄ STRONĘ DRUPALU

Następnie skonfiguruj plik konfiguracyjny Drupala na nowym serwerze. Uruchom poniższe polecenia, aby utworzyć nowy plik konfiguracyjny o nazwie drupal

sudo nano / etc / nginx / sites-available / drupal

Następnie skopiuj i wklej poniższą zawartość do pliku i zapisz go. Zastąp example.com nazwą swojej domeny.

serwer nasłuchuj 80; słuchaj [::]: 80; root / var / www / html / drupal; index index.php index.html index.htm; nazwa_serwera example.com www.example.com; lokalizacja / try_files $ uri /index.php?$query_string;  lokalizacja @rewrite rewrite ^ / (. *) $ /index.php?q=$1;  lokalizacja ~ [^ /] \. php (/ | $) fastcgi_split_path_info ^ (. +? \. php) (| /.*)$; fastcgi_index index.php; # fastcgi_pass unix: /var/run/php/php7.0-fpm.sock; # dla Ubuntu 17.04 fastcgi_pass unix: /var/run/php/php7.1-fpm.sock; # dla Ubuntu 17.10 to fastcgi_params; fastcgi_param PATH_INFO $ fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;  lokalizacja ~ ^ / sites /.*/ files / styles / # Dla Drupala> = 7 try_files $ uri @rewrite;  lokalizacja ~ ^ (/ [a-z \ -] +)? / system / files / # Dla Drupala> = 7 try_files $ uri /index.php?$query_string; 

Zapisz plik i zakończ.

KROK 7: WŁĄCZ WITRYNĘ DRUPALOWĄ

Po skonfigurowaniu VirtualHost powyżej, włącz go, uruchamiając poniższe polecenia

sudo ln -s / etc / nginx / sites-available / drupal / etc / nginx / sites-enabled /

KROK 8: RESTART Nginx

Aby załadować wszystkie powyższe ustawienia, uruchom ponownie Nginx, uruchamiając poniższe polecenia.

sudo systemctl zrestartuj nginx.service

Krok 9: Wykonaj kopię zapasową bazy danych na starym serwerze

Na tym etapie nowy serwer jest gotowy na dane Drupala… Zaloguj się do STARY serwer i uruchom poniższe polecenia, aby wykonać kopię zapasową bazy danych dla witryny Drupal do pliku / tmp informator.

sudo mysqldump -u root -p drupalDB> /tmp/drupalDB.sql

Powinien pojawić się monit o hasło roota… jeśli wpisane hasło jest poprawne, zawartość bazy danych zostanie zrzucona lub zapisana w katalogu / tmp.

Krok 10: Przywróć witrynę i bazę danych Drupal na NOWYM serwerze

Zaloguj się do NOWY serwer i przywróć zawartość ze starego serwera… istnieje wiele narzędzi, których możesz użyć do bezpiecznego skopiowania danych… Rsync i SCP to świetne narzędzia do bezpiecznego kopiowania danych. Będziemy tutaj używać rsync.

Składnia rsync to:

opcja rsync katalog-źródłowy katalog-docelowy

Uruchom poniższe polecenia na nowym serwerze, aby skopiować zawartość bazy danych, której kopia zapasowa została utworzona na starym serwerze do pliku / tmp informator…

rsync -avzP nazwa_uż[email protected]: /tmp/drupalDB.sql / tmp

Zastąp adres 192.169.20.22 adresem IP starego serwera… powyższe polecenia skopiują plik drupalDB.sql zawartość bazy danych przez SSH do katalogu lokalnego / tmp na nowym serwerze.

Następnie uruchom poniższe polecenia, aby skopiować zawartość witryny Drupal przechowywaną w pliku / var / www / html / drupal katalogu na starym serwerze na nowy serwer w / var / www / html informator. Rsync skopiuje cały folder drupal do / var / www / html na nowym serwerze.

sudo rsync -avzP nazwa_uż[email protected]: / var / www / html / drupal / var / www / html

Poczekaj, aż pliki zostaną przesłane… jeśli cała baza danych i zawartość strony internetowej zostały przesłane pomyślnie, to jesteś złoty. Uruchom poniższe polecenia, aby przywrócić zawartość bazy danych do pustej bazy danych utworzonej powyżej na nowym serwerze

sudo mysql -u root -p drupalDB < /tmp/drupalDB.sql

Powinno to przywrócić bazę danych na nowym serwerze.

Na tym etapie nowy serwer powinien mieć zawartość witryny Drupal w formacie / var / www / html / drupal a baza danych przywrócona na nowym serwerze… Miejmy nadzieję, że wszystko działa bez problemów.

Możesz chcieć użyć tej samej bazy danych i nazwy użytkownika z poprawnym hasłem na obu serwerach… (starym i nowym), więc nie musisz rekonfigurować ustawień połączenia z bazą danych Drupala.

Uruchom poniższe polecenia, aby skonfigurować zezwolenie serwerowi WWW Nginx na posiadanie zawartości Drupala.

sudo chown -R www-data: www-data / var / www / html / drupal / sudo chmod -R 755 / var / www / html / drupal /

Zrestartuj serwer WWW Nginx.

sudo systemctl przeładuj nginx

Krok 11: Zmień nazwę domeny, aby wskazywała na nowy serwer

Na koniec przejdź do dostawcy DNS i zmień lub odwróć nazwę domeny, aby wskazywała na nowy adres IP serwera. Jeśli wszystko jest poprawnie skopiowane i użyto poprawnych nazw użytkowników i hasła… nowy serwer powinien zacząć obsługiwać zawartość Drupala.

Odczekaj kilka przed wyłączeniem starego serwera.

Gratulacje! Pomyślnie przeprowadziłeś migrację Drupala do nowego hosta




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux