به روزرسان خودکار عبارت مهمی توی سایتهای فروش اشتراکی قالب و افزونه های وردپرس شده. بعضی ها افزونه به روزرسان خودکار هم ساختن که بهتر بتونن محصولات نرمافزاری آزاد رو ببندن و شما رو مجبور کنن برای هر دامنه، پول اضافهای بپردازید. امروز میخوام روش ساخت یه سرور به روزرسان ساده و سرراست رو معرفی کنم که بتونین سرور آپدیت خودکار خودتون رو بسازید!
آپدیت خودکار قالب و افزونه وردپرس چیه و به چه دردی میخوره؟
وقتی شما قالبی یا افزونهای رو از مخزن وردپرس نصب میکنین، به محض انتشار نسخه جدید، وردپرس به شما اطلاع میده که به روزرسانی اومده و آپدیت کنین. چقدر قشنگ!
اما همه افزونه ها و قالبها که داخل مخزن نیستن، چون پولیان بنابراین توسعه دهنده ها خودشون یه به روزرسان میسازن و معمولا در ازای خرید لایسنس این قابلیت فعال میشه. در نتیجه هر بار که آپدیتی برای محصول میاد لازم نیست شما فایل مربوطه رو دستی آپلود کنین (تازه تا چند وقت پیش باید لاگین میشیدن به کنترل پنل هاستتون یا با FTP اینکارو می کردین اما از وردپرس نسخه 5.5 از پیشخوان وردپرس هم میشه دستی آپدیت کرد)
حالا فرض کنین که به هر دلیل شما از اون آپدیت مستقیم محرومین، طراح سایت یا پشتیبان سایت هستین و یا تعداد سایتهای زیادی رو مدیریت می کنین و دستی آپدیت کردن قالب ها و افزونههای پریمیوم براتون وقت گیره. از طرفی هم قصد ندارین یه عالمه پول توی مارکتهای زیرزمینی خرج کنین. چاره چیه؟ خب به راحتی یه سرور آپدیت بسازین و از این به بعد فقط یکبار فایل آپدیت رو داخل سرور بذارین تا همه وبسایتهای تحت نظارت شما به روزرسانی رو به صورت خودکار دریافت کنن.
دقت کنین که من این روش رو برای مصارف شخصی پیشنهاد می دم اگر توسعه دهنده یک افزونه هستین احتمالا توی ایران نمیخواین GPL کار کنین و سمت کدگذاری و بستن سورس محصولتون میرین. اما اگر یک درصد خواستین مثل Updraft Plus، BBQ، Oxygen و … لایسنس گذاری و آپدیت خودکار برای محصول خودتون داشته باشین از Easy Digital Download استفاده کنید.
قدم اول: آماده سازی سرور
شما با حداقل یک هاست معمولی ساده میتونین سرور رو آماده کنین. البته اگر تعداد محصولات یا سایتهایی که آپدیت رو دریافت میکنن زیاد باشه شاید هاست دانلود یا سرور مجازی انتخاب بهتری باشه. اگر همه وبسایتها داخل ایران میزبانی شدن، سرور به روزرسان رو هم داخل قرار بگیرین. پیشنهاد مقرون به صرفه برای اینکار هاست دانلود ایران ماندگار وب هست که ۱۰ گیگ رو ماهی ۲۰ تومن میدن. اگر وردپرسها هم داخل هستن هم خارج، پیشنهادم هاست دانلود دایرکت ادمین های دیتا هستش که خودم استفاده میکنم. سرویس ماهانه ۵ هزار تومنی با ده گیگ فضاش کافیه برای این کار.
میتونین از یه سابدامنه مثل repo.mysite.com استفاده کنین یا یه دامنه کلا به این سرور اختصاص بدین. تفاوتی نداره به هر حال کارای ابتدایی مثل اتصال هاست به دامنه، ساخت زیردامنه و نصب SSL رو انجام بدین.
اسکریپت WP Update Server رو دانلود کنین و داخل پوشه اصلی هاست بریزید. تمام ! سرور به روزرسان شما آمادهاس. یک پوشه به اسم packages داخل اسکریپت هست که از این به بعد قالبها و افزونه های وردپرسی رو اونجا آپلود میکنین. برای آپلود میتونین از Filezilla و FTP استفاده کنین یا از همون فایل منیجر دایرکت ادمین و سیپنل، بستگی به سلیقه و عادت کاری شما داره.
قدم دوم: آماده سازی افزونه ها و قالب ها برای به روزرسانی
خب حالا برای اینکه قالب و افزونههایی که توی سایتهای وردپرسی خودتون نصب میکنین بفهمن که باید از اینجا آپدیت بشن باید یه قطعه کد داخل اون ها قرار بدین. اکثر سایتهایی که میبینین آپدیت خودکار ارائه میدن هم همین کارو می کنن. حالا یک عده این بخش رو کدگذاری میکنن که کسی نبینه و نتونه تغییرش بده و یه عده نه. ما هم که کلا برای استفاده شخصیمونه بنابراین اهمیتی نداره برامون که این کدها رو پنهان بکنیم.
فایل افزونه و قالب باید با فرمت zip و قابل نصب مستقیم از پیشخوان وردپرس باشه. یعنی RAR نباشه و فقط یک پوشه اصلی افزونه داخلش باشه. اسم فایل zip هم همون اسم رسمی افزونه و پوشه داخل فایل باشه.
کپی پوشه Update Checker
اولین و مهمترین کاری که باید انجام بدین اینه که Plugin Update Checker رو دانلود کنین و پوشه اون رو داخل پوشه اصلی افزونه کپی کنین.
کد به روزرسانی افزونه ها
داخل پوشه هر افزونه وردپرسی یه فایل php هم اسم افزونه وجود داره. این فایل رو باز کنین و در انتهای اون کد زیر رو قرار بدین
//updater
require 'plugin-update-checker/plugin-update-checker.php';
$MyUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
'https://repo.mysite.com/?action=get_metadata&slug=FOLDERNAME',
__FILE__,
'FOLDERNAME'
);
ولی قبلش دو تا تغییر باید بدین:
- به جای FOLDERNAME دقیقا اسم فایل اصلی افزونه یا همون اسم پوشه اصلی افزونه رو قرار بدین
- به جای repo.mysite.com آدرس دامنه یا زیردامنه خودتون رو وارد کنید. دقت کنید که اگه اسکریپت ها رو داخل یه فولدر دیگه گذاشتین باید آدرس دایرکتوری رو هم بزارید مثلا repo.mysite.com/update و پروتکل https:// اولش رو هم یادتون نره
موقع قرار دادن کد هم دقت کنین که اگه آخر فایل دیدین یه تگ <? وجود داره کد رو قبل از این تگ که مربوط به بسته شدن php هست قرار بدین. البته فقط تعداد کمی از افزونه ها و قالبها هستن که تگ php رو اینجا میبندن اما به هر حال حواستون بهش باشه.
حالا که پوشه چکر و کد مربوط به اون رو به افزونه اضافه کردیم میتونیم فایل zip جدید افزونه رو توی هاست و داخل پوشه packages قرار بدیم. از این به بعد این افزونه رو میتونین همه جا نصب کنین و برای آپدیت کردنش یکبار مراحل رو برای فایل جدید تکرار میکنین و اون رو جایگزین فایل قبلی داخل هاست میکنین. بالافاصله آپدیت منتشر میشه.
کد به روزرسانی پوسته ها
برای قالبها هم روند کار دقیقا مشابه افزونه هاست. پوشه آپدیت چکر رو داخل پوشه اصلی قالب قرار میدین. کدی که بالا گذاشتم رو ادیت میکنین و اسم اون قالب رو عین اسم پوشهاش میذارین و درنهایت کد رو به انتهای فایل functions.php قالب اضافه میکنید و فایل زیپ جدید رو توی هاستتون آپلود میکنید.
تست فایل ها قبل از آپلود
معمولا دفعات اول آدم ممکنه اشتباهاتی کنه که باعث بشه افرونه بعد از نصب خطا بده یا حتی کل وردپرس رو دچار اختلال کنه. بنابراین چه برای این مورد چه برای موقعیتهای دیگه پیشنهاد میشه قبلش افزونه یا قالبتون رو چک کنین. می تونین از سرویس TasteWP استفاده کنین که پنلی رو در اختیارتون قرار میده تا به شکل رایگان و سریع وردپرسهای تستی بسازین. نیازی به هاست و دامنه و دردسرهاشم نداره اما سایتی که ساختین بعد از ۷ روز حذف میشه! فقط برای تست خوبه.
دیدگاهتان را بنویسید