نحوه نصب MultiSite در دروپال

تصویر پدرام احمدی
تصویر نحوه نصب MultiSite در دروپال

یکی از ویژگی های مهم سیستم مدیریتی دروپال این است که به شما اجازه  نصب تکی framework  از یک  MultiSiteرا می دهد.همچین مدل نصبی برای مدیران وب که می خواهند چندین سایت را همزمان مدیریت و نگه داری کنند مفید است و به صورت تابعی که امکان مدیریت چندین سایت بر روی همان سرویس دهنده که تمامی کد های آن بر روی یک کد اجرا می کند را به ما می دهد.در این مقاله به  آموزش نحوه نصب تنظیم و مدیریت سایت چندگانه دروپال می پردازیم.

علل گوناگونی برای امکان انتخاب کردن میزبان چندگانه برای یک سرور توسط مدیر و برنامه نویس وجود دارد. برای مثال می توان به تنظیمات زیر اشاره کرد:

·         به شما اجزه می دهد تا یک محیط مناسب برای کدنویسی فراهم کنید.

·         برای شما امکان  پیش نمایش  و تست سایت را قبل از نمایش آن به عموم می دهد.

·         اجازه به اشتراک گذاری یک  برای چند سایت را به شما می دهد.

·         شیوه به کار بردن میزبان به اشتراک گذاشته شده

·         به شما اجازه اجرای ایمن مشابه HTTP در لایه سوکت های ایمن  HTTPS و سایتهای استاندارد HTTP رابر روی یک سرور می دهد .

·         ساده سازی مدیریت سرور

بر طبق تمام این علل  ویژگی های سایت چندگانه آدرس دهی شده بهترین هستند. این مقاله تنها بر روی یک سیاست تمرکز دارد و آن هم نحوه استفاده پشتیبانی سایت چند گانه دروپال برای ایجاد و خدمت رسانی چندین سایت از یک نمونه دروپال می شود.

رسیدگی اولیه

استفاده از سیستم مدیریت محتوای دروپال یا همان CMS برای ایجاد تنظیمات سایت چندگانه دارای تعداد بسیاری  مزایا می باشد, یکی از آنها ساده ترین راه تنظیمات  نصب و نگهداری می باشد.دیگری آن است که همانند سازی داده کمینه شده زیرا دروپال تنها بر روی یک مکان از سرور شما نصب شده است.در نهایت دروپال توانایی هماهنگ سازی ماژولها که برای اجرا قابلیت چند سایتی استفاده می شوند را فراهم می کند.و ارائه قابلیت های توسعه یافته برای تمامی سایتها در  مرتب سازی را می دهد. هر چند چندین اشکال برای استفاده از تنظیمات در  قسمت امنیت و به اشتراک گذاری ذکر شده است.

سایت های موجود در نصب  MultiSite یک کد و یک فایل را به اشتراک می گذارند. به عنوان نتیجه هر کس بتواند به فایل سیستم سرور دسترسی داشته باشد امکان دسترسی به کل فایلهایی که برای سایتها روی آن چند سایتی نصب شده اند را می دهند. همچنین در جاهایی که مردم سایتهای گوناگونی را با ترتیب های مختلف مدیریت می کنند,  امکان ایمن بودن آن فراهم نیست.اگر ایمنی سایتها مهم ترین گزینه باشد یا اگر مردم از امکانات گوناگون سایت استفاده کنندو مدل تابعی MultiSite دروپال گزینه جالبی برای استفاده نیست. اگر چه اگر به هر سایتی که مثال مشخص از دروپال داده شود.همچنین مزایای مدیریت آسان چند سایتی از دست می رود ولی سایت شما از حوادث ناگوار در امان خواهد بود.

نگرانی دوم از بابت مراکز به اشتراک گذاری حول دستیابی به پایگاه داده است. حتی اگر MultiSite های دروپال یک سورس برنامه را به اشتراک بگذارند همان داده ای را که در بانک اطلاعاتی ذخیره شده بود را استفاده نمی کنند. همپنین گره ها کاربران و توضیحات در یک سایت به صورت پیشفرض برای یک سایت از سایر سایتها قابل دسترسی نیستند.از این رفتار می تواند به عنوان یک مزیت نام بردولی در شرایطی که مدیر سایت نیاز به اشتراک گذاری تمام سایت دارد می تواند محدودیتی برای برای طراحی ویژگی های چند سایتی دروپال باشد. نکته جذاب در مورد پشتیبانی MultiSite دروپال این است که ماژول ها تم ها و حتی برخی از اجزا و فایلهای آپلود شده می توانند در کل سایت به اشتراک گذاشته شوند. در مجموع فایلهای مشابه می توانند در پوشه های متفاوت بر اساس تنظیمات سایت ذخیره شوند. اگر این مهم باشد که همه محتوا به اشتراک گذاشته شود. با استفاده از ویژگی های چند دامنه ای به صورتی که به آسانی برای ماژول با نام مشترک محیا شود.

نصب دروپال برای استفاده چند سایتی

پس از دانلود آرشیو دروپال آن را در پوشه سند اصلی سایت  سرویس دهنده خود ذخیره کنید. این مسئولیت برای یک سرویس گیرنده مناسب FTP سخت نیست, به کمک سورس پوسته برنامه SSH به سرویس دهنده خود متصل می شوید و مسئولیت آن آسانتر می شود. به سادگی دستور wget را برای دانلود آرشیو فایل از انبار و استخراج آن برای ایجاد پوشه نصب دروپال اجرا کنید. اگر مخیط توسعه شما محلی است منتظر سایر گزینه ها باشید و اسم فولدر اصلی را به goodsite/‎ تغییر دهید.

سه تا از سایتهای مختلف برای این تمرین ساخته خواهند شد همچنین سه پایگاه داده مختلف مورد نیاز است هر کدام برای یک سایت استفاده می شود.استفاده از phpMyAdmin از Cpanel سرویس دهنده شما به آسانی تکمیل خواهد شد. سپس framework را نصب کنید. چند وظیفه باید انجام شود, قبل از استفاده از مرورگر وب خود این گزینه ها را نصب کنید:

·         محیا کردن دروپال با اطلاعات سایتی که شما برای اجرا نیاز دارید

·         طی کردن مراحل تنظیمات داده از دروپال برای کلیه سایتها

برای انجام اولین مسئولیت یک پوشه برای هر سایت ایجاد کنید. سپس  تنظیمات هر پوشه را مقرر سازی کنید. معقول است که یک نصب را برای دو زیر سایت در نظر بگیرید. هر زیر سایت فایلهای مشابه را به عنوان هسته به اشتراک می گذارد, اما هر کدام باید URL  و پایگاه داده مخصوص خود را داشته باشد.URL های مخصوص سایتهایی که ساخته می شوند اینها هستند:

·         ​ http://goodsite.com:MasterSite

·         ​ http://bettersite.com:Sub-site ۱

·         http://bestsite.com:Sub-site ۲

نصب اولین میزبان:

پس از قرار دادن سورس  برنامه دروپال در پوشه اصلی و ایجاد پایگاه داده MySQL اولین سایت و دامنه اصلی را نصب کنید.

دامنه اصلی:

اسم دامنه اصلی URL ای از سایت اصلی هست که به آن دسترسی داریم.هدف نخست دامنه اصلی میزبانی نصب دروپال است. با تاسف از هرچه که این دامنه از سایت شما استفاده می کند, اگر هر زیرسایت همانند اطلاعات ارتباطی باشد.متاسفانه هر چه که در دامنه در سایت شما استفاده شود اگر هر زیرسایت از دست برود URL های آنها نیز به صورت پیشفرض به دامنه اصلی نسبت داده می شود; اگرچه ایده خوبی است که این سایت شامل اطلاعاتی مناسب برای زیر سایت همانند اطلاعات کاربر باشد.

همانگونه که گفته شد زیرپوشه باید با کمک پوشه اصلی دروپال برای هر زیر سایت ساخته شود. آنچه که خیلی ها تصور می کنند آن است که سخت ترین کار نصب MultiSite دروپال  است:به دروپال این امکان را می دهد که چه سایتی را می خواهید میزبانی کنید و به راحتی زیر پوشه ها را برای آن زیرسایت ها در پوشه ‎/sites ایجاد کنید.

در پوشه اصلی دروپال سندی موجود است که نام آن sites/‎ نام دارد.اگر شما سایت دروپال را قبلا مدیریت کرده باشید می فهمید که تمامی کدهای غیر از هسته در این پوشه به نمایش در آمده است.در نصب مدل پیشفرض دروپال پوشه sites/‎ شامل دو سند است. اولین آن که all/‎ است جایی می باشد که شما تم ها و ماژول ها را در آن قرار می دهید.سند all/‎ مکانی بای اطلاعاتی است که بای همه سایت ها به اشتراک گذاشته شده و دومین پوشه که default/‎ است میزبان سایت می باشد که برای نصب سایت چندگانه ضروری نیست.

ایجاد پوشه ها و فایلها:

نکته مهم در مورد ایجاد سایتهای چندگانه دروپال آن است که از دو پوشه all/‎ و default/‎ تشکیل شده است, سایر پوشه ها می توانند در پوشه sites/‎ قرار گیرند و دروپال می تواند به آن معنای مخصوصی بدهد. به خصوص دروپال این را به حساب آورده که تمامی پوشه های دیگر در پوشه ‎/sites نام میزبان را به اشتراک می گذارند.

شما می بایست پوشه ای را در آدرس ‎/goodsite/sites/<sub-site>  ایجاد نمایید که در پوشه sites/‎ برای تمامی زیر سایتها مشخص شد که از URL نام هر پوشه استفاده می شود. در این مثال شما سایتی ا در اختیار دارید که در Figure ۱ به نمایش در آمده است.

·         زیر سایت اول:  goodsite/sites/bettersite

·         زیر سایت دوم: goodsite/sites/bestsite

تصویر ۱. سلسله مراتب پوشه سایت 

برای زیرسایت استپ های زیر را کامل کنید:

۱.فایل default.setting.php را از sites/default برای پوشه هر زیرسایت کپی کنید و نام آن را به settings.php تغییر دهید.

۲.از CHMOD برای تنظیم سطح دسترسی بر روی setting.php به ۶۴۴ اگر مجوز آن گزینه انتخاب شده نیست.

۳.برای دروپال  نسخه ۶ را نصب کنید و سپس پوشه ای به نام Files در هر زیر سایت ایجاد کنید و از CHMOD برای تغییر مجوز به ۷۵۵ استفاده کنید.

 

پوشه ای در درون دروپال است که که به ما اجازه نوشتن محتوا و فایل های آپلود شده و تصاویر و منو های CSS  و کد های javascript را می دهد. این فایلها در پایگاه داده ذخیره نمی شود و لی در سیستم فایل شما می بایست پوشه ای داشته باشید که فایلهای زیر شامل آن می شود.

به طور پیش فرض دروپال به دنبال زیرشاخه ای از سایت اصلی می گردد که که شامل کل سایت باشد.در نصب عادی دروپال این پوشه در محلی در sites/all/modules به ازای هر زیر سایت ذخیره می شود.

۴.پوشه ای به ازای هر زیرسایت ایجاد کنید.این پوشه ای است که هر ماژول مخصوصی در آن جایگذاری می شود.هر ماژولی که کل سایت ها از آن استفاده ممی کنند در پوشه sites/all/modules دخیره می شود.

۵.پوشه ای به نام themes برای هر زیر سایت ایجاد کنید.این جایی است که هر theme خاص برای زیر سایت قرار داده شده است.هر theme که کل سایت از آن استفاده کند در پوشه sites/all/themes ذخیره می شود.

حال URL های زیر سایت را اگر آنها توسط یک کمپانی مشترک مدیریت نمی شوند به سرور وب خود تخصیص دهید.

اگر شما از میزبان های متفاوتی در سایتهای گوناگونی استفاده کنید شما نیاز به تغییر نام دامنه  سیستم DNS و اطلاعاتی که هر دو توسط میزبان باید قادر به ارائه آن ها باشند.

سپس شما می بایست دامنه را بر روی دامنه اولیه خود نصب کنید در همچین مواقعی goodsite.com نمونه مناسبی است که به شما می گوید که چگونه این کار را انجام دهید. از این لحاظ شما گزینه های کمی را در دسترس دارید که هرچه سخت تر با آن درگیر شوید بیشتر به Symlink نیاز پیدا می کنید.

تکنیک parking ساده تر است هرچند در منو Cpanel بر روی Parked Domains کلیک کنید. و Bettersite.com و Bestsite.com را به نام دامنه جدید اضافه کنید و سپس بر روی Add Domain کلیک کنید.

ایجاد سایت چند بخشی

راههای گوناگونی برای رسیدن به آن است. اما دوباره از ساده ترین راه کمک بگیرید.بارگذاری مستقیم پایگاه داده برای هر زیرسایت با جداولی که در نصب سایت master قرار داده شده شروع کنید. برای اینکار شما بایستی یک نسخه روبرداری شده از نصب جدول های  master site را بر روی دیسک ذخیره کنید. سپس کد برنامه را  با phpMyAdmin آپلود و یا یک ویرایشگر متن مناسب باز کنید. برای استفاده از گزینه دوم روال زیر را در phpMyAdmin طی کنید:

۱.به پایگاه داده ای بروید که برای زیر سایت ایجاد کردید.

۲.وارد قسمت SQL  شوید و سپس تمامی کد روگذاری شده را در آن وارد کنید.

۳.بر روی گزینه Go کلیک کنید.

این روال جداول MasterSite را در پایگاه داده زیر سایت دوباره تولید می کند.

سپس فایل settings.php را برای هر زیرسایت باز کنید و کد زیر را در آن بیابید:

$db_url = 'mysql://username:password@localhost‎/databasename';‎

تصویر ۲. سایت جدید شما در دروپال

این connection string پایگاه داده را برای بازگرداندن پارامتر ها از پایگاه داده همانند username,password,hostname,databasename زیر سایت تغییر دهید. حال اگر به bettersite.com بروید بایستی صفحه ‘welecome to your new drupal website’ برای شما نمایان شود, همانند تصویر ۲ تمامی استپ ها را برای تمامی سایت ها دنبال کنید.

ایجاد MultiSite از زیر دامنه ها:

راه دیگری برای ایجاد MultiSite با اولین مقدار دهی آن به عنوان زیردامنه از منو Cpanel است.در این روش شما می بایستی در ابتدا پوشه هایی را برای هر سایت به نام ‎/goodsite/sites ایجاد کنید, در این نوبت از اصول زیر استفاده می شود(تصویر ۳):

·         زیرسایت۱: /www/goodsite/sites/‎ bettersite.com

·         زیرسایت۲: /www/goodsite/sites/‎ bestsite.com

تصویر ۳. ایجاد MultiSite از زیردامنه

این نکته را به خاطر داشته باشید که پوشه های زیر منو ها بایستی همنام زیر دامنه های خود باشند. مانند قبل یک کپی از default.settings.php در هر پوشه زیر دامنه قرار دهید  و نام فایل ا به settings.php تغییر دهید و از CHMOD برای تغییر مجوز به ۶۴۴  استفاده کنید.

حال به cpanel برگردید و دو زیر دامنه را اضافه کنید:

·         Bettersite.goodsite.com

·         Bestsite.goodsite.com

 

 

ایجاد symlink

Symlink فایلی است که شامل مرجع برای فایل دیگر یا پوشه ای در فرم آدرس مطلق و یا نسبی ساخته شده تا کیفیت نام آدرس را تغییر دهد.با ویرایشگر کد مورد نظر خود برای ساختن فایل symlink.php استفاده کنید و سپس کد زیر را به آن اضافه کنید:

<?php

symlink( '/home/Cpanel_User_Name/public_html/', 'sub-domain' );‎

?>

 

در این مثال فایل ممکن است به این صورت نمایش یابد:

<?php

symlink('/home/myuserdirectory/goodsite/','bettersite');‎

symlink('/home/myuserdirectory/goodsite/','bestsite');‎

?>

 

این symlink در دایرکتوری اصلی سایت قرار دهید, و سپس آنرا از آدرس http://goodsite.com/symlink.php اجرا کنید. اگر کد برنامه خوب بود شما می بایست صفحه خالی را مشاهده کنید; شما بایستی پیغام های خطا را مشاهده کنید. کد را در فایل قرار دهید تا به درستی از آن استفاده کنید.

تنظیم کردن .htaccess

حال فایل .htaccess در در ویرایشگر کد مورد نظر خود باز کنید و کد زیر را پیدا کنید:

# RewriteBase/‎

 

علامت (#) را پاک کنید و سپس خط زیر را قبل از ذخیره تغییرات اضافه کنید:

RedirectMatch ۳۰۱ ^‎/sub-domain/(.‎*)‎$

http://sub-domain.yoursite.com

 

در اینجا چیزی که .htaccess باید به نظر بیاید قرار داده شده:

RewriteBase ‎/ RedirectMatch ۳۰۱ ^‎/bettersite/(.‎*)‎$

http://bettersite.goodsite.com/‎$۱ RedirectMatch ۳۰۱

^/bestsite/(.‎*)‎$http://bestsite.goodsite.com/‎

 

این باز گردانی این امکان را برای http://goodsite.com/bettersite  و http://bettersite.goodsite.com فراهم می کند تا به همان سایت باز گردانی شود. اگر همه چیز به خوبی انجام شود شما به صفحه نصب URL های این دو سایت هدایت می شوید.

MultiSite بر روی میزبان محلی در حال اجرا بر روی Ubuntu

اجرای نصب چند سایتی بر روی Ubuntu مقداری پیچیده تر از آنچه که شما برای میزبان از راه دور انجام داده اید می باشد. قابلیت نصب چند سایتی می تواند به آسانی با استفاده از روش دور خطی قسمت روبرو تنظیم شود.

ایجاد پوشه های جدید مخصوص میزبان

با ساختن پوشه ای به نام goodsite در پوشه home خود با کمک کد زیر شروع کنید:

>> filesystem/home/<your ubuntu login name>/

 

نتیجه باید در آدرس ‎/home/<your Ubuntu login name>/goodsite باشد.

حال تمامی فایلهای دروپالی خود را در این پوشه کپی کنید.

ویرایش فایل میزبان

فایل میزبان را با باز کردن پنجره ترمینال به کمک کد زیر ویرایش کنید:

sudo gedit ‎/etc/hosts'

 

شما سپس می توانید نام هر سایتی در فرمت ۱۲۷.۰.۰.۱  را اضافه کنید. برای این مثال کد های زیر را اضافه کنید:

۱۲۷.۰.۰.۱ goodsite.com

۱۲۷.۰.۰.۱ bettersite.com

۱۲۷.۰.۰.۱ bestsite.com

 

ویرایش سایتهای موجود

حال به پوشه sites-available تا فایلی را که goodsite.com نام دارد با کمک کد های زیر بسازید:

cd ‎/etc/apache۲/sites-available

sudo cp default goodsite.com

sudo gedit goodsite.com

 

اولین خط به پوشه sites-available نسبت داده می شود و دومین دستور فایل پیشفرض را کپی می کند و آن را به goodsite.com تغییر نام می دهد. و سومین دستور فایل goodsite.com را برای ویرایش باز می کند. کدی را که در لیست ۱ هست را به فایل اضافه کنید.

لیست ۱. جمع  فایل sites-available  برای سایت جدید

<VirtualHost *:۸۰>

ServerAdmin webmaster@localhost

ServerName goodsite.com              

DocumentRoot ‎/home/<your ubuntu login name>/goodsite

       

<Directory />

Options Follow‎SymLinks

AllowOverride All

</Directory>

</VirtualHost>

 

Goodsite.com را ذخیره و فعال کنید و سپس Apache را باد کمک دستورات زیر دوباره اجرا کنید:

$ cp default/default.settings.php bettersite.com/settings.php

$ chmod ۷۷۷ bettersite.com/settings.php

 

اجرای نصب چند سایتی

ماژولها برای توسعه عملکرد نصب دروپال نیز استفاده می شوند و در دسته بندی های گوناگونی جای می گیرند از مدیریت تا کارایی افزوده سایت می توان اشاره کرد.برخی از ماژول ها می توانند برای ایجاد سایت های چند گانه یاا تنظیمات مشابه استفاده کنند. برای مثال نحوه استفاده از این ماژول ها توضیحات هر ماژول را مطالعه کنید.

ماژول های دسترسی به دامنه

ماژولهای دسترسی به دامنه این امکان را می دهد که چند سایتی را با کمک یک کد پایه یا پایگاه داده به اشتراک گذاشته شده با پایگاه داده های متفاوت ایجاد کنیم. همانند تنظیماتی که از آنچه که در این مقاله انجام دادیم. دسترسی دامنه به صورت توضیحاتی از ماژولهایی که در گروه سایتهایی که در کد اصلی دروپال اجرا می شود بر روی یک پایگاه داده ایجاد می شود. این ماژولها کل سایت را برای به اشتراک گذاری کاربران محتوا و تنظیمات فعال می شونداگر در هر مسیری پردازش شوند.ماژول های دسترسی به دامنه از گره های دستیابی دروپال برای ایجاد محتوایی که بر روی هر سایت ایجاد می شوند را مرتب می کنند. ماژولها بر خلاف سایر ماژولهای چند دامنه ای دسترسی به کاربر را بر روی دامنه فعالی که کاربر آنرا می بیند بر خلاف سایر گروه ها و یا سایتهای دیگر که به کاربر تعلق دارند  را فراهم می کند.

ماژول مدیریت چند سایتی

  Multisite Manager ماژولی می باشد که به ما اجازه می دهد تا سایتهای جدیدی از سایت اصلی بسازیم بدون آنکه نیاز به دسترسی به نصب پایگاه داده داشته باشیم. به عنوان پیشفرض سایت جدید در همان پایگاه داده ای نصب می شود که در اول بدون پیشوند نصب می شود. به هر حال اگر کاربر فعلی مجوز دسترسی برای ایجاد پایگاه داده را داشته باشد نصب ممکن است در همان پایگاه داده انجام شود.

نتیجه گیری

این مقاله به جستجو نحوه ایجاد تنظیمات چند سایتی را به کمک دروپال بر اساس CMS پایه پرداخت. شما master site را نصب کردید و آن را بر روی زیر سایتها بدون ساختار دایرکتوری قرار دادید.شما آموختید که چگونه MultiSite را بر روی سرور از راه دور با استفاده از ویژگی های مدیریتی که شرکت میزبان شما فراهم کرده را اجرا کنید. شما همچنین آموختید که که چگونه نصب MultiSite را بر روی ماشین محلی و به خصوص رایانه که که سیستم عامل آن لینوکس Ubuntu است را بسازید. این مقاله همچنین دو تا از ماژولهای دروپال را که می توانند به شما برای ساختن تنظیمات MultiSite و چند دامنه ای کمک می کنند را معرفی کرد.

منابع

developerWorks technical events and webcasts:

developerWorks on Twitter

developerWorks podcasts

developerWorks on-demand demos:

  

 

ファッションコーディネート

میدان آرژانتین - خیابان وزرا - خیابان شهید رفیعی (۲۰) - پلاک ۱۰ - طبقه ۴ - واحد ۷ و ۸
طراحی سایت با دروپال (وب کاران)