Višesajtni Drupal 8
U sledećem vodiču biće predstavljeni koraci potrebni za podešavanje višesajtnog Drupal 8 sistema. Ovaj vodič je u fazi razvoja i prikazani su samo neki primeri konfiguracija. Dostupne su i druge opcije, kao što su HTTPS, drugi web serveri i baze podataka, kao i naprednije konfiguracije virtuelnih hostova i slično.
Međutim, treba napomenuti da je korišćenje hosting sistema Aegir preporučljivo. On obavlja sav težak posao za vas koristeći sigurne najbolje prakse, uključujući automatsko podešavanje virtuelnih hostova za Apache i Nginx, dodavanje podrške za HTTPS, pokretanje Composer komandi i slično. Pogledajte Dokumentaciju o podešavanju „platforme“, Aegir terminologija za višesajtnu kodnu bazu.
Pregled procesa:
1. Instalirajte Drupal 8 instancu koja će služiti kao korenski sajt za naš višesajtni sistem. U našem primeru, korenski sajt će se zvati d8multisite, biće dostupan na d8multisite.com i biće instaliran u /var/www/d8multisite.
2. Kreirajte sajt unutar višesajta pod nazivom site1, dostupan na site1.d8multisite.com
3. Podesite site1 tako da ima svoje sopstvene module izvan korenskog sajta.
Korak 1: Kreiranje master sajta
Da biste započeli proces, instalirajte kopiju Drupal 8 na vaš server. Pročitajte dokumentaciju za instalaciju Drupal 8, ako niste upoznati sa tim.
U ovom primeru instaliramo Drupal sledećim koracima:
1.1: Kreirajte bazu podataka za višesajtni korenski sajt, na primer: d8multisite.
1.2: Preuzmite i raspakujte kopiju Drupal 8 u vaš web direktorijum.
1.3. Napravite definiciju virtuelnog hosta za korenski sajt. Pročitajte o konfiguracijama virtuelnih hostova. Primer Apache virtuelnog hosta: Za Nginx pogledajte zvanični recept.
<VirtualHost *:80> # konfiguracija virtuelnog hosta za višesajtni korenski Drupal 8 sajt ServerAdmin me@domain.com DocumentRoot /var/www/d8multisite ServerName d8multisite.com ServerAlias www.d8multisite.com <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/d8multisite> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/d8multisite_error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/d8multisite_access.log combined </VirtualHost>
1.4: Instalirajte Drupal tako što ćete posetiti d8multisite.com i pratiti instalacioni interfejs.
Korak 2. Podesite prvi sajt u višesajtu
Sada kada imamo podešen korenski sajt, možemo započeti podešavanje prvog sajta pod nazivom site1. Evo koraka u ovom procesu:
2.1. Kreirajte direktorijum za site1 unutar višesajta: /d8multisite/sites/site1.d8multisite.com
2.2: Kreirajte bazu podataka za sajt 1, na primer: d8multisite_site1
2.3. Napravite kopiju /d8multisite/sites/example.sites.php pod imenom /d8multisite/sites/sites.php
2.4: Izmenite sites.php tako da kraj fajla izgleda ovako:
# učinite korenski Drupal sajt svestan site1: $sites['site1.d8multisite.com'] = 'site1.d8multisite.com';
2.5: Kreirajte virtuelni host za site1. Napomena: ovaj virtuelni host treba da pokazuje na korenski sajt, a ne na njegov poddirektorijum. Takođe, možete odlučiti da ne pravite posebnu konfiguraciju virtuelnog hosta za ovaj sajt i da samo dodate novi ServerAlias za korenski sajt. U ovom Apache primeru, mi ćemo ipak kreirati poseban virtuelni host za site1:
<VirtualHost *:80> ServerAdmin me@domain.com DocumentRoot /var/www/d8multisite ServerName site1.d8multisite.com <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/d8multisite> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/site1-d8multisite_error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/site1-d8multisite_access.log combined </VirtualHost>
2.6. Kopirajte /d8multisite/sites/default/default.settings.php u direktorijum novog sajta kao settings.php:
# iz korenskog Drupal direktorijuma cp sites/default/default.settings.php sites/site1.d8multisite.com/settings.php
2.7: Završite instalaciju Drupala za site1 tako što ćete posetiti domen sajta.
Ove korake možete ponavljati svaki put kada želite da napravite novi sajt unutar višesajtnog sistema. Takođe možete koristiti domene kao što su example.com i site1.anotherdomain.com. Više o domenima, URL-ovima i imenima poddirektorijuma sajtova.
Korak 3. Uključite module za svaki sajt
U nekim slučajevima možda ćete želeti da jedan od vaših sajtova u višesajtu ima svoje sopstvene module. Da biste to omogućili, potrebno je samo da kreirate odgovarajuće direktorijume u folderu ciljanog sajta. Pogledajte Strukturu višesajtnog foldera u Drupalu 8.
U ovom primeru ćemo dozvoliti site1 da ima svoje sopstvene module:
1. Kreirajte folder „modules“ u poddirektorijumu site1: /d8multisite/sites/site1.d8multisite.com/modules
2. Dajte Apache korisniku pristup za pisanje u ovaj folder koristeći komandu chown www-data /d8multisite/sites/site1.d8multisite.com/modules
3. Proverite sledeće:
1) Izlazite iz poddirektorijuma site1 (dakle u korenski sajt) i instalirajte modul Pathauto koristeći drush drush dl pathauto
2) Uđite u poddirektorijum site1 i instalirajte modul ds koristeći drush drush dl ds
3) Posetite oba sajta i potvrdite:
- Pathauto je dostupan na oba sajta
- Display Suite je dostupan samo na sajtu site1
Napomena. Pretpostavlja se da isto možete učiniti i sa temama, bibliotekama i fajlovima. Za to su potrebna dodatna testiranja i dokumentacija.
Korišćenje drush-a u višesajtu
Možete koristiti opciju -l:
drush -l example.com command
ili alias sajta:
drush @alias command
Da proverite koji aliasi su dostupni, pokrenite:
drush site:alias
Primer izlaza može biti:
@sub1.dev ':
root: /var/www/mydomain.com/web
uri: «https://sub1.mydomain.com»
@default.dev ':
root: /var/www/mydomain.com/web
uri: «https://sub2.mydomain.com/»
@third.dev ':
root: /var/www/mydomain.com/web
uri: «https://thirddomain.com»
A odgovarajuća drush komanda može biti:
drush @sub1 updb
Napomena: ne koristimo „.dev“ u aliasu
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.