Drupal 8 բազմիցայթ
Հաջորդ ուղեցույցում կներկայացվեն քայլերը, որոնք անհրաժեշտ են Drupal 8 բազմիցայթ կազմաձևելու համար։ Այս ուղեցույցը գտնվում է մշակման փուլում, ներկայացված են միայն որոշ կազմաձևման օրինակներ։ Կան նաև այլ տարբերակներ՝ HTTPS, այլ վեբ սերվերներ և տվյալների բազաներ, ինչպես նաև ավելի բարդ վիրտուալ հոստերի կազմաձևումներ և այլն։
Այնուամենայնիվ, պետք է նշել, որ նախընտրելի է օգտագործել Aegir հոստինգ համակարգը։ Այն կատարում է ձեր փոխարեն բոլոր ծանր աշխատանքները՝ օգտագործելով անվտանգ առաջատար պրակտիկաներ, ներառյալ Apache և Nginx-ի վիրտուալ հոստերի ավտոմատ կազմաձևումը, HTTPS-ի աջակցության ավելացումը, Composer հրամանների գործարկումը և այլն։ Տեսեք «Պլատֆորմի» կազմաձևման փաստաթուղթը, Aegir-ի տերմինաբանությամբ՝ բազմիցայթ կոդային բազա։
Հիմնական գործընթացը.
1. Տեղադրեք Drupal 8-ի օրինակ, որը կծառայի որպես բազմիցայթ արմատային կայք։ Մեր օրինակով արմատային կայքը կոչվելու է d8multisite, հասանելի կլինի d8multisite.com հասցեով և տեղադրվելու է /var/www/d8multisite հասցեում։
2. Ստեղծեք բազմիցայթ կայք՝ site1 անունով, որը հասանելի կլինի site1.d8multisite.com հասցեով։
3. Կազմաձևեք site1-ը՝ ունենալով իր սեփական մոդուլները արմատային կայքից դուրս։
Քայլ 1․ Ստեղծեք վարպետ կայքը
Սկսելու համար տեղադրեք Drupal 8-ի պատճեն ձեր սերվերում։ Եթե ծանոթ չեք, կարդացեք Drupal 8-ի տեղադրման փաստաթղթերը։
Այս օրինակով մենք տեղադրում ենք Drupal հետևյալ քայլերով.
1.1․ Ստեղծեք տվյալների բազա բազմիցայթ արմատային կայքի համար, օրինակ՝ d8multisite։
1.2․ Ներբեռնեք և հանեք Drupal 8-ի պատճենը ձեր վեբ թղթապանակում։
1.3․ Ստեղծեք վիրտուալ հոստի սահմանում արմատային կայքի համար։ Կարդացեք վիրտուալ հոստերի կազմաձևումների մասին։ Apache վիրտուալ հոստի օրինակ. Nginx-ի համար տեսեք պաշտոնական բաղադրատոմսը։
<VirtualHost *:80> # Drupal 8 բազմիցայթ արմատային կայքի վիրտուալ հոստի կազմաձև 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․ Տեղադրեք Drupal-ը՝ այցելելով d8multisite.com և հետևելով տեղադրման ինտերֆեյսին։
Քայլ 2․ Կազմաձևեք առաջին բազմիցայթ կայքը
Հիմա, երբ մեր արմատային կայքը կազմաձևված է, կարող ենք անցնել site1 անվանմամբ մեր առաջին կայքի կազմաձևմանը։ Ահա գործընթացի քայլերը։
2.1․ Ստեղծեք թղթապանակ site1-ի համար ձեր բազմիցայթում՝ /d8multisite/sites/site1.d8multisite.com հասցեում։
2.2․ Ստեղծեք տվյալների բազա site1-ի համար, օրինակ՝ d8multisite_site1։
2.3․ Պատճենեք /d8multisite/sites/example.sites.php ֆայլը /d8multisite/sites/sites.php անվամբ։
2.4․ Փոփոխեք sites.php ֆայլը այնպես, որ դրա վերջը լինի այսպես․
# արվեց արմատային Drupal կայքը ծանուցի site1-ին $sites['site1.d8multisite.com'] = 'site1.d8multisite.com';
2.5․ Ստեղծեք վիրտուալ հոստ site1-ի համար։ Նշեք, որ այս վիրտուալ հոստը պետք է ցույց տա արմատային կայքին, ոչ թե դրա ենթաթղթապանակին։ Նշեք նաև, որ կարող եք չստեղծել նոր վիրտուալ հոստի կազմաձև՝ այս կայքի համար և միայն ավելացնել նոր կայքը որպես ServerAlias արմատային կայքի համար։ Այս օրինակով՝ սակայն, Apache-ի համար մենք կստեղծենք առանձին վիրտուալ հոստ 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․ Պատճենեք /d8multisite/sites/default/default.settings.php ֆայլը նոր կայքի թղթապանակին settings.php անվամբ․
# Drupal արմատային թղթապանակից cp sites/default/default.settings.php sites/site1.d8multisite.com/settings.php
2.7․ Ավարտեք Drupal-ի տեղադրումը site1-ի համար՝ այցելելով այդ կայքի դոմեյնը։
Կարող եք կրկնել այս քայլերը ամեն անգամ, երբ ցանկանում եք նոր կայք ստեղծել ձեր բազմիցայթում։ Կարող եք նաև օգտագործել օրինակ՝ example.com և site1.anotherdomain.com նման դոմեյններ։ Մանրամասներ՝ դոմեյնների, URL-ների և կայքի ենթաթղթապանակների մասին։
Քայլ 3․ Ակտիվացրեք մոդուլները յուրաքանչյուր կայքի համար
Որոշ դեպքերում կարող եք ցանկանալ, որ ձեր բազմիցայթում մեկ կայք ունենա իր սեփական մոդուլները։ Դա անելու համար պարզապես պետք է ստեղծել համապատասխան թղթապանակներ նշված կայքի թղթապանակում։ Տեսեք Drupal 8-ի բազմիցայթ թղթապանակների կառուցվածքը։
Այս օրինակով մենք թույլ ենք տալիս site1-ին ունենալ իր սեփական մոդուլները։
1. Ստեղծեք modules թղթապանակ site1 ենթաթղթապանակում՝ /d8multisite/sites/site1.d8multisite.com/modules
2. Ներկայացրեք Apache-ին գրելու իրավունք այդ թղթապանակում՝ հրամանով՝ chown www-data /d8multisite/sites/site1.d8multisite.com/modules
3. Ստուգեք հետևյալ կերպ․
1) Հեռացեք site1 ենթաթղթապանակից (հիմնականում արմատային կայք) և տեղադրեք Pathauto մոդուլը drush-ի միջոցով՝ drush dl pathauto
2) անցեք site1 ենթաթղթապանակ և տեղադրեք ds մոդուլը՝ drush-ի միջոցով՝ drush dl ds
3) Հետևեք երկու կայքերին և հաստատեք, որ․
- Pathauto հասանելի է երկու կայքերում էլ
- Display Suite հասանելի է միայն site1 կայքում
Նշում․ ենթադրվում է, որ նման բան կարելի է անել նաև թեմաների, գրադարանների և ֆայլերի հետ։ Սա պահանջում է լրացուցիչ փորձարկում և փաստաթղթավորում։
Drush-ի օգտագործումը բազմիցայթում
Կարող եք օգտագործել -l տարբերակը.
drush -l example.com command
կամ կայքի կեղծանունը՝ alias․
drush @alias command
Ցույց տալու համար, թե որոնք են օգտագործվող կեղծանունները, կատարեք՝
drush site:alias
Նախադրյալ է այսպիսի ելք՝
@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»
Եվ ճիշտ drush հրամանը կարող է լինել՝
drush @sub1 updb
Նշում․ մենք չենք օգտագործում «.dev» կեղծանունում։
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.