اتصال پارتیشن S3 RGW به وردپرس

شرایط استفاده #

برای اتصال پارتیشن s3 RGW به ورپرس امکان استفاده از افزونه WP Offload media وجود دارد.

توجه داشته باشید که برای استفاده از افزونه wp offload media باید حتما لایسنس افزونه را از سایت اصلی خریداری کرده باشید.

پس از خرید پارتیشن S3 RGW به روش زیر می‌توانید آن را با استفاده از افزونه WP Offload media به سایت وردپرس خودتان متصل کنید.

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

ساخت باکت و اتصال دامنه به باکت #

در داشبورد پشتیبان در سربرگ پارتیشن s3، سرویس‌های شما لیست شده اند. با کلید روی دکمه سه نقطه گوشه پارتیشن وارد بخش تنظیمات پارتیشن شوید و در سربرگ اطلاعات دسترسی کلید دسترسی (Access Key) و کلید خصوصی (Secret Key) فضای ابری خود را دریافت کنید. همچنین در بخش آدرس‌ها به آدرس اندپوینت (End pointe) تان دسترسی دارید. برای این که به فضای ابری تان در پشتیبان متصل شوید کافیست این سه پارامتر را در اختیار داشته باشید.

ایجاد باکت و مدیریت فایل ها #

برای آغاز کار با پارتیشن s3 پشتیبان روی پارتیشن کلیک کنید و با استفاده از اولین باکت (bucket) خود را ایجاد کنید. توجه داشته باشید نام باکت شما در کل موقعیت جغرافیایی پارتیشن s3 شما باید یکتا باشد. این مورد توسط پشتیبان چک می‌شود و اگر نام تکراری باشد به شما اطلاع داده خواهد شد که نمیتوانید آن را انتخاب کنید. همچنین حتما از حروف کوچک بدون استفاده از کاراکترهای کیبورد و با حروف انگلیسی، نام باکت را وارد کنید. پس از ایجاد باکت با استفاده از وارد باکت شده و شروع به آپلود یا بارگزاری فایل‌ها، ایجاد پوشه‌ها و یا مرور فایل‌هایی که قبلا آپلود کرده‌اید بکنید.

نکته: برای مدیریت باکت‌ها و فایل‌ها در پارتیشن S3 RGW در سیستم عامل ویندوز بهتر است به جای استفاده از داشبورد پشتیبان نرم‌افزار S3 Browser را نصب و استفاده کنید.

نکته: در صورتی که تمایل دارید لینک‌های فایل ها بر روی دامنه متعلق به خودتان منتشر شوند در این مرحله یک باکت ایجاد کنید و نام باکت را دقیقا نام زیردامنه خودتان بگذارید. به صورت واضح تر اگر دامنه ی سایت اصلی شما example.com است شما میتوانید یک زیردامنه با عنوان دلخواه مثلا cloud.example.com را روی یکی از باکت های پارتیشن S3 RGW خود تنظیم کنید برای این کار باید یک باکت با نام cloud.example.com ایجاد کنید. مراحل بعدی تنظیم زیردامنه را در ادامه برای شما توضیح خواهیم داد.

تنظیم پالیسی Read Only یا عمومی کردن باکت (Bucket) با استفاده از نرم افزار S3 Browser #

همان طور مطلعید لینک های بخش رسانه وردپرس باید لینک مستقیم دانلود داشته باشند یا فایل های آنها عمومی باشند. بنابراین زمانی که فایل های بخش رسانه وردپرس را روی فضای ابری پشتیبان و پارتیشن S3 RGW بارگزاری می‌کنید، نیاز دارید فایل‌های بارگزاری شده در باکت عمومی باشند. برای اینکار باید پالیسی Read Only برای باکت تنظیم می‌کنید و بنابراین تمامی فایل‌های درون باکت مورد نظر شما عمومی خواهند بود.

برای این کار کافیست پس از نصب نرم افزار S3 Browser و اتصال آن به پارتیشن خودتان در لیست باکت ها بر روی باکت مورد نظر کلیک کنید تا انتخاب شود بعد از منوی اصلی نرم افزار، منوی Buckets، گزینه ی Edit Bucket Policy را انتخاب کنید یا این که روی باکت مورد نظر تان راست کلیک کرده و همین گزینه را انتخاب کنید.

در پنجره ای که باز می شود (Bucket policy Editor) در بخش سفید رنگ وسط پنجره باید پالیسی خود را وارد کنید.

با کلیک روی گزینه Policy Example وارد سایت s3 browser شده و نمونه های مختلف پالیسی برای کاربری‌های مختلف را مشاهده میکنید. اولین گزینه How to grant public-read permission to anonymous users است. آن کد جیسون را کپی کرده و در بخش سفید رنگ که در بالا توضیح دادیم کپی کنید. در ادامه متن کد را برای شما قرار داده ایم که با توجه به نام باکت در قسمت Resourse باید آن را ویرایش کنید:

{
  "Version": "2008-10-17",
  "Statement": [
    {
      "Sid": "AllowPublicRead",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::my-brand-new-bucket/*"
      ]
    }
  ]
}

تنظیم دامنه روی پارتیشن s3 RGW #

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

ساختار لینک فایل ها در پارتیشن s3 RGW لینک فایل‌های شما به صورت پیشفرض با در نظر داشتن موقعیت جغرافیایی که دراین مثال ir-west1 ld می‌باشد به دو صورت زیر خواهند بود:

https://[yourBucketName].ir-west-1.s3.poshtiban.com/[pat/folder]/[filename]

یا

https://ir-west-1.s3.poshtiban.com/[yourBucketName]/[pat/folder]/[filename]

برای اینکه در مثال بالا به جای https://[yourBucketName].ir-west-1.s3.poshtiban.com دامنه خودتان را تنظیم کنید ابتدا یک باکت با نام زیردامنه خود ایجاد کنید. به عنوان مثال اگر زیردامنه مورد نظر شما dl.yourdomain.com است باید یک با کت با همین نام در پارتیشن s3 خود ایجاد کنید.

تنظیم دامنه روی فضای ابری

سپس کافیست  برای ir-west-1، یک رکورد CNAME با مقدار cname.m5.poshtiban.com در بخش مدیریت DNS کنترل پنل سرویس میزبانی سایت اصلی خودتان تعریف کنید. پس از تنظیم رکورد آن زیردامنه را در بخش پشتیبانی برای ما ارسال کنید. راهنمای تنظیم رکورد cname را در اینجا مطالعه کنید ولی توجه داشته باشید مقدار کورد را دقیقا مطابق مقدار ذکر شده در همین راهنما قرار دهید.

نصب نسخه پرمیوم افزونه wp offload media و سازگارساز افزونه با فضای ابری پشتیبان #

یک درخواست (تیکت جدید) از بخش پشتیبانی داشبورد پشتیبان برای ما ارسال کنید تا لینک نسخه پریمیوم افزونه WP Offload Media و افزونه سازگارساز آن را برای شما ارسال کنیم.

در ادامه برای اتصال وردپرس و افزونه به پارتیشن S3 پشتیبان باید کد زیر را در فایل wp-config.php وردپرس‌تان وارد کنید:

define( 'AS3CF_SETTINGS', serialize( array(
 'provider' => 'aws',
 'access-key-id' => 'YOUR ACCESS KEY',
 'secret-access-key' => 'YOUR SECRET KEY',
 'endpoint' => 'YOUR ENDPOINT',
) ) ); 

کلید خصوصی و کلید دسترسی و آدرس اندپوینت خود را از بخش اطلاعات پارتیشن در داشبورد پشتیبان کپی کرده و در کد بالا جایگذاری کنید.اگر نمی‌دانید کلید خصوصی(SECRET KEY) و کلید دسترسی(ACCESS KEY) و اندپوینت(ENDPOINT) خود را چطور بدست اورید راهنمای پارتیشن S3 را ببینید.

نکته مهم: کد بالا را باید بالاتر از این خط ها در فایل wp-config.php قرار دهید در غیر این صورت کد خوانده نخواهد شد.

نکته مهم تر: آدرس اندپوینت را بدون https در کدها قرار دهید

#

اتصال باکت به افزونه wp offload media #

پس از نصب و تنظیم افزونه و ست کردن کلید دسترسی و کلید خصوصی باید در بخش تنظیمات افزونه یک باکت معرفی کنید:

در همین بخش باکتی که برای اتصال به وردپرس ایجاد کرده اید را باید انتخاب کنید. روی گزینه Browse existing buckets کلیک کنید تا لیست باکت هایی که پیش از این ساخته اید در اینجا نمایش داده شود. باکت مورد نظر را انتخاب کنید و روی دکمه save selected bucket کلیک کنید. در مراحل بالاتر توضیح داده ایم که اگر دامنه ی خودتان را روی باکت تنظیم کرده اید باید همان باکتی که با نام زیردامنه شماست انتخاب کنید. همچنین باید برای آن باکت پالیسی read only تنظیم کرده باشید.

تنظیم دامنه در افزونه Wp offload media #

پس از انتخاب باکت به بخش تنظیمات افزونه بر میگردید.

در این مرحله لازم است زیردامنه تان را بعنوان CDN در افزونه معرفی کنید تا لینک های بخش رسانه شما روی زیردامنه متعلق به خودتان منتشر شوند. در بخش تنظیمات افزونه WP offload media در بخش DELIVERY گزینه Rewrite Media URLs را فعال کنید و سپس در مقابل عنوان Providers روی گزینه change کلیک کنید.

در بخش provider تنظیمات را به صورت زیر تغییر دهید دکمه save delivery provider را کلیک کنید تا باز به بخش تنظیمات برگردید.

مجدد در بخش تنظیمات و در قسمت DELIVERY گزینه Custom Domain (CNAME) فعال کنید و در فیلد مربوطه نام زیردامنه ای که روی باکت تنظیم کرده اید که نام باکت شما نیز هست را وارد کنید و دکمه save change را کلیک کنید.

از این مرحله به بعد هر فایلی که در بخش رسانه وردپرس بارگزاری میکنید در فضای ابری شما در پشتیبان ذخیره می شود. همچنین میتوانید با ابزار offload media فایلهایی که پیش از این در بخش رسانه وردپرس وجود دارند را روی فضای ابری تان ارسال کنید.

مهم: توجه داشته باشید که از ابزار ووکامرس این افزونه استفاده نکنید و برای تنظیم محصولات دانلودی ووکامرس یا EDD با استفاده از یک شورت کد در فیلد لینک دانلود فایل های دانلودی خود را روی فضای ابری نگهداری کنید.

شورت کد نمونه به صورت [amazon_s3 bucket=mybucket object=path/to/my/file.zip] است. شما باید نام باکت و مسیر فایل خود در پارتیشن را خودتان وارد کرده و شورت کد مذکور را در فیلد لینک دانلود در اطلاعات محصول وارد نمایید.