
پس از بررسیهای زیادی که در گوگل داشتم متوجه شدم که هیچ مطلبی در رابطه با این مشکل که احتمالا مشکل بسیاری از کاربران دیگر هم هست وجود ندارد! به همین دلیل خودم مشغول به تحقیق شدم تا بلکه راهی برای حل این مسئله پیدا کنم. مشکل از اینجا شروع میشه که بسیاری از کاربرانی که هاست دانلود دارند میخواهند که محصولات دانلودی ووکامرس خود را در هاست دانلود بارگذاری کنند تا هم فضای هاست اصلی گرفته نشه، هم سرعت هاست اصلی پایین نیاد و هم بی دلیل پهنای باند سایت اشغال نشه و در نهایت هم یک بخش منظم و مرتب برای فایلهای خودشون داشته باشند.
ابتدا لازمه که در مورد ووکامرس توضیحاتی داده بشه که هاست دانلود چیست ؟ بعد از اینکه ما ووکامرس رو نصب میکنیم، این سیستم دقیقا مثل وردپرس یک هسته اختصاصی به خودش رو ایجاد میکنه که مثل یک CPU در کامپیوتر کارهای خودش رو ارنج میکنه! این هسته یکی از کارهاش محافظت از فایلهای دانلودی شماست. به این صورت زمانی به کاربر اجازه دانلود رو میده که هم ثبت نام کرده باشه هم فایل رو خریده باشه. در غیر این صورت حتی اگر کاربر لینک فایلهای بارگذاری شما رو هم داشته باشه قادر به دانلود فایلها نخواهد بود. خب اصل قضیه هم همینجاست!
ما وقتی از هاست دانلود استفاده میکنیم! قاعدتا یک هاست خام داریم که هیچ CMS روی آن پیادهسازی نشده و فقط با استفاده از Zone Editor اون رو به هاست اصلی خودمون وصل کردیم. زمانی که شما هاست دانلود خودتون رو به هاست اصلی با استفاده از ZE وصل میکنید (البته در حقیقت معرفی میکنید) این اجازه رو به کاربر میدید که بتونه هاست دانلود شما رو به راحتی ایندکس کنه! خب اگر شما بخواهید فایلهای ووکامرس خودتون رو در هاست دانلود آپلود کنید و در هاست اصلی فقط آدرس محصولات دانلودی رو قرار بدید؛ میتوانید فایل خودتون رو بفروشید و به کاربر اجازه دانلود رو هم بدید! اما هیچ محافظتی از فایلهای داخل هاست دانلود خودتون نمیتوانید بکنید. دلیل هم بسیار واضحه! چون در هاست دانلود که ووکامرس نصب نیست تا بتونه هسته اون از فایلهای شما محافظت کنه! درسته!
تا به اینجا هیچ افزونهای رو خود بنده ندیدم که بتونه این قابلیت ریموت رو ایجاد کنه! اما به تازگی خودم روشی پیدا کردم که شاید بتونه بدردتون بخوره و کارتون رو راه بندازه اما نکاتی داره که باید بهش توجه کنید.
۱- این روش برای فایلهای بیشتر از ۵۰ مگابایت جوابگو نیست! (دلیل هم خطای Http هستش که مربوط به Connection Time و بعضی اوقات Max Upload Size هستش. البته من هر دوی این پارامترها را دستکاری کردم و بالا بردم اما متاسفانه برای فایلهای بیش از ۴۰ الی ۵۰ مگابایت این مشکل پیش میاد. البته شما میتونید بیشتر بررسی بکنید و دلیلش رو دقیقتر پیدا کنید.)
۲- در این روش ما از FTP سرور استفاده میکنیم پس میشه گفت که هم امنه و هم سرعت بالایی رو داره.
۳- اساس کار اتصال بخش رسانه وردپرس به هاست دانلود هستش!
۴- به غیر از محصولات دانلودی میتوانید کل رسانه وردپرس، تصویر، صوت و عکس رو به اونجا منتقل کنید که فکر بسیار خوبی هم هست و سرعت وبسایتتون رو خیلی افزایش میده! چون منابع کمتری رو اشغال میکنه.
خب بریم سراغ انجام کار. ابتدا لازمه که Zone Editor رو یکم دستکاری کنید! اگر ZE رو قبلا ست کردید اون رو به حالت پیش فرض برگردونید برای این کار وارد کنترل پنل هاست خودتون بشید کنترل پنل ما در اینجا سی پنل هستش. طبق تصویر ابتدا وارد بخش Domains> Zone Editor> Your Main Domain> Manage بشید. دقت کنید که فقط دامنههای هاست دانلود خودتون رو پاک کنید نه بیشتر! (البته اگر ZE تنظیم نکردید قبلا لازم به انجام این کار نیست.)
بعد از اینکار میریم به سراغ اتصال رسانه وردپرس به هاست دانلود . چندین افزونه برای این کار وجود داره خیلی از این افزونهها قدیمی هستند و ماههاست که بروزرسانی نشدهاند اما هیچ مشکلی ندارند چون کل این افزونهها با چند خط کد ساده این کار رو انجام میده. حتی خود شما هم اگر کدنویس حرفهای باشید میتونید این کار رو خودتون پیادهسازی کنید! افزونه Upload To FTP که بهترین افزونه برای این کار هست رو دانلود و نصب کنید. طبق آموزش زیر اجازه دسترسی رو به هاست دانلود خودتون را به افزونه بدید. و طبق توضیحات و تصاویر زیر تنظیمات رو انجام بدید.
تب اول: FTP Options
FTP Host: در این فیلد آدرس هاست دانلود خودتون را وارد کنید. این آدرس شاید ftp.yourdomain.com نباشد. بنابراین اگر ادرس FTP هاست دانلود خودتون رو پیدا نکردید به پشتیبانی هاست خود یک تیکت بزنید.
FTP Port: این فیلد مربوط به پورت FTP هستش که معمولا روی ۲۱ قرار دارد. اما امکان داره این گزینه هم به دلیل موارد امنیتی رقم دیگری باشد. که باید از پشتیبانی هاست خودتون بپرسید.
FTP Timeout: این فیلد هم حداکثر مدت زمان اتصال برای FTP را تعیین میکنه که نیازی به تغییر اون ندارید. اما اگر دیدید که اتصال شما با هاست دانلود انجام نشد این فیلد رو تغییر بدید به مقدار بالاتر.
FTP Username: در این فیلد نام کاربری FTP در هاست دانلود برای خودتون را وارد کنید. به صورت پیشفرض زمان خرید هاست برای شما ایمیل میشود.
FTP Password: در این فیلد هم رمزی که برای FTP هاست دانلود انتخاب کردید را وارد کنید. به صورت پیشفرض زمان خرید هاست برای شما ایمیل میشود.
FTP Directory: در این فیلد مسیر دلخواهی را برای آپلود فایلها تعیین کنید. به صورت پیشفرض در wp-content/uploads بارگذاری میشود. اما میتوانید برای مثال به طور مستقیم بر روی PublicHTML هم تنظیم کنید.
HTML link url: در نهایت در این فیلد آدرس هاست دانلود خودتون را به صورت کامل وارد کنید. دقت کنید در صورتی که اقدام به نصب SSL در هاست خودتون کردید باید امکان استفاده از SSL در هاست دانلود را هم فراهم کرده باشید. (خیلی مهم)
در آخر تنظیمات خودتون را ذخیره کرده و منتظر بمونید تا اتصال بین FTP و هاست دانلودتون ایجاد بشه. بعد از اتصال موفقیت آمیز پیغام آن در FTP Status افزونه نمایش داده خواهد شد.
تب دوم: Basic Options
Rename file: اگر این گزینه را بر روی Enable قرار بدید تمام فایلهایی که آپلود میکنید به صورت اتوماتیک تغییر نام پیدا خواهند کرد که به صورت شماره میباشد برای مثال: ۲۴۶۵۴۶۵۱۶۵۴۹۴
Delete Auto build local file: این گزینه به شما کمک میکند که فایلهای لوکال یعنی فایلهای آپلود شده قدیمی بر روی هاست اصلی خودتون رو پاک کنید.
تب سوم: Advanced Options
در تب آخر گزینه Set Exists File In FTP به شما این امکان را میدهد که فایلهای حال حاضر که بر روی هاست اصلی شما قرار دارند به صورت کامل به هاست دانلود منتقل شوند.
بعد از انجام این مراحل به راحتی در ووکامرس محصول خودتون رو ایجاد کنید و در رسانه خود آپلود کنید. دقت داشته باشید که در پایان آپلود فایل به پیوند رسانه دقت کنید که در هاست دانلود شما آپلود شده باشد. اگر سوالی بود در بخش کامنتها در خدمت شما خواهم بود.
سلام و درود
مطلبتون یکم مشکل داره.
عنوان: چگونه محصولات دانلودی ووکامرس را در هاست دانلود قرار دهیم؟
اما وسط اشاره می کنید دو مورد رو مطلب:
۳- اساس کار اتصال بخش رسانه وردپرس به هاست دانلود هستش!
۴- به غیر از محصولات دانلودی میتوانید کل رسانه وردپرس، تصویر، صوت و عکس رو به اونجا منتقل کنید که فکر بسیار خوبی هم هست و سرعت وبسایتتون رو خیلی افزایش میده! چون منابع کمتری رو اشغال میکنه.
اول اینکه اتصال بخش رسانه درست هست ولی اتصال بخش آپلود فایل ووکامرس چی میشه پس؟
و اینکه می فرمایید هر فایلی جز فایل دانلودی رو میشه منتقل کرد با این افزونه. باز هم فایل های دانلود ووکامرس چی میشن؟ بخشی که در صفحه محصول ماله آپلود فایل توسط ووکامرس به هاست هست چی میشه؟(که باید فایل رو به هاست دانلود بفرسته ولی ن می فرسته و نه محافظت میکنه) اینکه لینک رو محافظت کنه ووکامرس روی هاست دانلود کلا منتفیه(البته متخصصا شاید بتونن ووکامرس رو ویرایش کنن یا ادا بسازن براش) ولی اینکه بخش مربوط به ووکامرس که برای آپلود فایل محصول هست در صفحه محصول به هاست دانلود نمی فرسته چی؟ این باید حل بشه. این مطلب شما هم راهنمایی برای مشکل ووکامرس نمی کنه با اینکه عنوانتون:(چگونه محصولات دانلودی ووکامرس را در هاست دانلود قرار دهیم؟) هست. مثل بقیه مطالب فقط اتصال رسانه وردپرس به هاست دانلود هست.
من از افزونه hacklog remote attachment استفاده میکنم فایل های دانلودی رو هم منتقل می کنه مشکلم یکی محافظت نشدن لینک هاست و مشکل بزرگترم بخش مربوط به خوده ووکامرس در صفحه محصول نمی تونه فایل رو به هاست دانلود بفرسته (به پوشه woocommerce_upload) دلیلشم اینه چون ووکامرس روی هاست دانلود نیست نمی تونه پوشش رو بسازه | من پوششم برای ووکامرس ساختم ولی بازم مشکل داره… لطفا برسی کنید همان طور که گفتید خیلی ها این مشکل رو دارن ولی هیچ کس در نت اشاره ای به راه حلش نکرده
ببینید در اینجا ما رسلنه وردپرس رو به هاست دانلود متصل میکنیم. وقتی این اتفاق بیفته یعنی محصولات دانلودی شما در رسانه وردپرس قرار میگیره و چون ارتباط از طریق اف تی پی هستش پس امنیت شما هم تضمین میشه البته این مطلب به چند سال پیش برمیگرده و شاید با تغییر نسخه های مختلف وردپرس و ووکامرس این روش دیگه پاسخگو نباشه. در کل ممنونم از نظر خوبتون
سلام
این راهکار رو من صدها بار در سایتهای دیگه دیده ام و افزونه هاش هم حداقل از هفت سال قبل که ووکامرس دارم وجود داشته.
مسأله مهم اینه که ما راهی پیدا کنیم که فقط فایلهای دانلودی رو روی سرور دانلود قرار بدیم.
چونکه خیلی از فروشگاهها مثل ما، هم فروش محصولات دانلودی دارند و هم محصولات فیزیکی. لذا لازم نیست که همه رسانه ها به هاست دیگه منتقل بشه (به دلایل متعدد منجمله مشکل برخوردن در هنگام بکاپ گیری از سایت و تعویض سرور و…)
باید روشی وجود داشته باشه که فقط فایلهای محصولات دانلودی در سرور دیگه آپلود بشه و بقیه فایلهای عمومی در خود سرور اصلی.
اگر این کار انجام بشه عالی خواهد بود
سلام ممنونم از ارسال نظرتون در حقیقت من خودم این روش رو تست کردم و برای بک اپ گیری هم فقط لازم است که شما مسیر فایل ها و خود محتوی فایل ها رو زیپ و بعد از انجام عملیات خود به صورت انزیپ به جای اولش برگردونید و هیچ مشکلی هم پیش نمیاره. اما این روشی که شما دنبالش هستید در حقیقا قابل انجام هست اما نیاز به یک کد نویس دارید که براتون پیاده سازی کنه
سلام
من خیلی راجع به امنیت فایل دانلودی و هاست دانلود سرچ کردم ولی یه موضوعی را متوجه نمیشم
الان سایت ووکامرسی دارم و محصولات دانلودی میفروشم و فایل محصولات را هم روی هاست دانلود آپلود کردم
پیکربندی ووکامرس را هم انجام دادم و از روش X-Accel-Redirect دارم استفاده میکنم
وقتی تست میکنم لینک دانلود (آدرس اصلی فایل) مخفی هست
چه نیازی به این کارها هست؟
ممنون از مطلب خوبتون