1.2.1. Ažuriranje modula i jezgra Drupal 8.
Veoma često izlaze ažuriranja za module i jezgro Drupal 8. Nisu sva ažuriranja obavezna za instalaciju, najvažnije je obraćati pažnju na sigurnosna ažuriranja. Drupal ističe poruke o takvim ažuriranjima crvenom bojom. Način ažuriranja zavisi od toga kako ste instalirali Drupal; ako ste koristili Composer za kreiranje projekta, onda možete koristiti Composer za ažuriranje Drupala. Ako ste preuzeli Drupal sa sajta drupal.org, moraćete da ga ažurirate ručno.
Ažuriranje Drupala pomoću Composera
Ažuriranje Drupala preko Composera je rutinska operacija koja se izvršava jednom komandom:
composer update drupal/core --with-dependencies
Važno je ažurirati Drupal sa opcijom --with-dependencies kako bi se preuzeli svi dodatni paketi potrebni za Drupal. Nakon toga potrebno je pokrenuti update.php fajl ili koristiti drush updatedb, ili komandu drupal update:execute.
Ručno ažuriranje Drupala bez Composera i Drusha
Takođe možete pročitati članak o ručnom ažuriranju Drupala:
https://drupalbook.org/ru/drupal/122-obnovlenie-drupal-8-bez-drush-i-bez-composer
Zvanični sajt Drupala ima informacije o tome kako ažurirati Drupal 8:
https://www.drupal.org/node/1494290
Međutim, zabrinjava što preporučuju brisanje svih starih fajlova Drupala, a u njima mogu biti i dodatne biblioteke, na primer za Drupal Commerce.
1. Pre nego što počnete sa ažuriranjem Drupala i modula, napravite kompletnu kopiju sajta i baze podataka.
Bazu podataka možete kopirati pomoću adminera; evo članka o tome:
https://drupalbook.org/ru/drupal/15-vybor-hostinga-pokupka-domennogo-imeni-perenos-sayta-na-hosting
2. Preuzmite najnoviju verziju modula (jezgra Drupala) za 8.x granu.
3. Otpakujte modul ili Drupal zasebno od sajta. Proverite folder vendor, moguće je da nešto nedostaje, pa ćete morati da kopirate dodatne biblioteke posebno. Nove verzije mogu dodati dodatne biblioteke. Na primer, ja sam instalirao Drupal Commerce i imao sam dodatne biblioteke:
Obavezno proverite da imate rezervnu kopiju sajta pre ažuriranja.
Nisam siguran da li će ažuriranje prepisivanjem fajlova proći glatko. Pokušao sam tako sa jedne beta verzije na drugu i sajt je bio oštećen. Međutim, ažuriranje sa 8.0.1 na 8.0.5 je prošlo dobro. Pretpostavljam da neće uspeti pri prelasku na granu 8.1.0.
4. Uključite režim održavanja da niko ne ulazi na sajt i ne pravi greške tokom ažuriranja:
/admin/config/development/maintenance
Ne zaboravite da isključite režim nakon ažuriranja da sajt ponovo radi.
5. Izbrišite sve Drupal fajlove osim foldera /sites, /themes/, /modules. U /sites se nalaze fajlovi sadržaja: fotografije, konfiguracije, generisani fajlovi; u /themes su vaše prilagođene teme; u /modules su dodatni moduli. Pročitajte uputstvo do kraja pre nego što brišete fajlove. Proverite još jednom da imate kopiju sajta za slučaj povratka. Kada obrišete fajlove, sajt neće raditi dok ne kopirate novu verziju Drupal fajlova, a Drupal ima oko 10.000 fajlova. Ako imate spor internet i kopirate FTP-om u 2-3 toka, to može trajati i sat-dva. Zato je dobro unapred obezbediti brže prenose. Opisujem ovde opšti slučaj kada je sajt na hostingu, lokalno je jednostavnije na OpenServer-u.
6. Kopirajte sve fajlove nove verzije Drupala na server osim foldera /sites, /themes/, /modules. Naučite da radite sa SSH i komandnom linijom (ako hosting dozvoljava SSH, pročitajte dokumentaciju ili pitajte tehničku podršku). Komandom možete brzo raspakovati arhivu, samo morate prvo postaviti arhivu na server:
Za tar.gz arhivu:
tar -xvzf archive.tar.gz
Za zip arhivu:
unzip archive.zip
Ako imate SSH, možete koristiti i WinSCP:
https://winscp.net/eng/docs/lang:ru
Možete koristiti i komande za raspakivanje:
https://winscp.net/eng/docs/custom_commands
Ili napraviti tar.gz arhivu sa fajlovima Drupala, a ne samo sa folderom Drupala, uz pomoć 7Zip:
Kreirajte arhivu tako što selektujete sve fajlove i iz kontekst menija izaberete 7Zip -> Add to archive. Izaberite format tar. Nakon što je tar arhiva napravljena, izaberite je i ponovo kliknite 7Zip -> Add to archive da biste dobili gzip kompresiju (tar je nekompresovani format, zip nije podržan u kontekst meniju WinSCP, dok gzip ili tar.gz jeste). Zatim uploadujte arhivu na server (takođe preko WinSCP) i raspakujte je na serveru kroz meni:
7. Ponekad treba ručno izmeniti settings.php, ali o tome ćete uvek moći pročitati na stranici statusa sajta:
/admin/reports/status
8. Ako ste menjali .htaccess ili robots.txt fajlove, vratite te izmene.
9. Ako ste imali svoj favicon.ico, ponovo ga kopirajte.
10. Prijavite se kao administrator.
11. Pokrenite update.php, na primer na https://drupalbook.org/update.php
12. Isključite režim održavanja:
/admin/config/development/maintenance
Ako vam je sajt važan, nemojte ga koristiti kao test, napravite lokalnu kopiju na OpenServer-u i prvo probajte tamo. Ako imate problema, pišite u komentarima, pokušaćemo da pomognemo.