راهنمای گام به گام بروزرسانی مجنتو

لوگوی مجنتو که پر از لوله و موتور شده و در حال فعالیت و کار است

قدم اول:

از فایل‌ها و پایگاه داده‌ی مجنتو یک نسخه‌ی پشتیبان تهیه کنید. البته می‌دانم که برنامه‌ی منظمی برای پشتیان‌گیری دارید. ندارید؟ آب دست‌تان است زمین بگذارید و اینجا را بخوانید.
بهتر است همین جا سایت فعلی خودتان را به حالت maintenance ببرید. چون ممکن است در طول بروزرسانی، مشتری جدیدی ثبت‌نام کند یا سفارش جدیدی ثبت شود و آن را از دست بدهید. برای بردن مجنتو به حالت maintenance اینجا را ببینید.

قدم دوم:

مجنتوی نسخه‌ی جدید را روی یک سرور دیگر یا در یک دایرکتوری روی همان سروری که در حال استفاده از آن هستید کپی کنید. برای این کار روش‌های زیادی وجود دارد. می‌توانید از Composer یا GIT یا FTP یا SSH استفاده کنید تا فایل‌های نسخه‌ی جدید روی سرور کپی شوند. یک روش هیجان‌انگیز دیگر استفاده از ابزار magerun است. توضیحات کامل را خودشان در صفحه‌ی github داده‌اند. با استفاده از این روش می‌توانید با اجرا کردن دستور magerun install هر نسخه‌ی مجنتو را که می‌خواهید به همراه sample data به راحتی و به سرعت نصب کنید. magerun install یک مجنتوی کامل را برای شما نصب و آماده به کار می‌کند. اگر دارید مجنتوی خودتان را بروز می‌کنید نباید بگذارید magerun برای شما پایگاه داده‌ی جدید بسازد و اطلاعات دیگر را از شما بگیرد. بعد از اینکه فایل‌های مجنتو دانلود و کپی شد، با کلیدهای Ctrl+C عملیات را متوقف کنید. چون در مراحل بعد خودمان باید باقی کارها را انجام دهیم.

قدم سوم:

یک پایگاه داده‌ی جدید خالی بسازید و پشتیبان پایگاه داده‌ی قبلی را در آن import کنید. می‌توانید از دستور زیر استفاده کنید:

mysql -uroot -p new_magento < old_magento.sql

قدم چهارم:

تمام فایل‌های موجود در دایرکتوری media در مجنتوی قدیمی را به دایرکتوری media در مجنتوی جدید کپی کنید.

قدم پنجم:

تمام ماژول‌های‌تان را به مجنتوی جدید منتقل کنید. منتقل کردن ماژول‌ها می‌تواند به این راحتی نباشد. باید بررسی کنید ببینید ماژول‌ها با نسخه‌ی جدید مجنتو سازگار هستند یا نه. اگر از مجنتوی نسخه‌های خیلی قدیمی (مثلا نسخه‌ی ۱.۴ به قبل) استفاده می‌کنید باید بیشتر مراقب باشید و تمام امکانات ماژول را تست کنید.
اگر از Composer برای نصب کردن ماژول‌ها استفاده کرده‌اید، کار کپی کردن فایل‌ها خیلی راحت‌تر است. کافی است فایل composer.json را از مجنتوی قدیمی به مجنتوی جدید کپی کنید و دستور composer install را اجرا کنید.

قدم ششم:

فایل local.xml را در دایرکتوری app/etc/local در مجنتوی قدیمی به مجنتوی جدید کپی کنید. فایل را باز کنید و مشخصات پایگاه داده‌ی جدید را در آن تغییر دهید.

قدم هفتم:

اگر فروشگاه شما نماد اعتماد الکترونیکی دارد، فایل eNamadLogo.htm را از شاخه‌ی اصلی مجنتوی قدیم به مجنتوی جدید منتقل کنید.

قدم هشتم:

اگر از واحد پول تومان استفاده می‌کردید و به صورت دستی فایل‌های lib/Zend/Data/en.xml و lib/Zend/Data/fa.xml را تغییر داده بودید، این دو فایل را هم به مجنتوی جدید ببرید.

قدم نهم:

باید در پایگاه داده‌ی جدید تغییراتی بدهید. پایگاه داده را با ابزار مورد علاقه‌تان باز کنید.
در جدول core_config_data، باید مقدار web/unsecure/base_url و web/secure/base_url را با دستور زیر تغییر دهید:

update core_config_data set value=’http://new-magento.com/’ where path in (‘web/unsecure/base_url’, ‘web/secure/base_url’);

اگر از https استفاده می‌کنید حواستان باشد که مقدار web/secure/base_url را به درستی ذخیره کنید.

اگر از composer برای نصب ماژول‌ها استفاده کرده‌اید و در فایل composer.json چیزی به اسم magento-deploystrategy نمی‌بینید، یعنی composer فایل‌های شما را از دایرکتوری vendor به دایرکتوری مربوط در مجنتو symlink کرده است. بنابراین باید در پایگاه داده در جدول core_config_data این دستور را هم اجرا کنید:

update core_config_data set value=”۱” where path=”dev/template/allow_symlink”;

قدم دهم:

فایل index.php را باز کنید و این مقادیر را اضافه کنید یا تغییر دهید تا تمام خطاها و پیغام‌ها نمایش داده شوند:

error_reporting(E_ALL);
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
ini_set('display_errors', 1);

قدم یازدهم:

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

قدم آخر:

اگر عملیات بروزرسانی را روی سرور دیگری انجام داده‌اید، حالا باید فایل‌ها و پایگاه داده را به سرور اصلی منتقل کنید. از پایگاه داده نسخه‌ی پشتیبان بگیرید و فایل‌ها را فشرده کنید. روی سرور اصلی یک دایرکتوری جدید بسازید و فایل‌ها را در آن استخراج کنید. پایگاه داده را import کنید و آدرس web/unsecure/base_url و web/secure/base_url را تغییر دهید.
حالا تنظیمات وب سرور خود را (apache یا nginx یا چیزهای دیگر) تغییر دهید تا به جای دایرکتوری فعلی، از دایرکتوری جدید استفاده کند. وب سرور را دوباره راه‌اندازی کنید.

مجنتوی شما اکنون بروز و قابل استفاده است. لازم نیست نگران حالت maintenance باشید چون فایل maintenance.flag در دایرکتوری جدید موجود نیست و سایت به صورت خودکار از این حالت بیرون می‌آید.

از سال ۸۵ برنامه‌نویسی را با نوشتن یک بازی ساده با ++C شروع کرد. به زبان PHP مسلط است و با سیستم‌های مدیریت محتوای زیادی مثل دروپال، وردپرس، بیتریکس و مجنتو آشنایی دارد. درحال حاضر در سارینا با Magento، Laravel و Ruby on Rails کار می‌کند. عاشق سرک کشیدن در تکنولوژی‌های جدید، خواندن کتاب و موسیقی راک است.