Reputation: 208
i need to upgrade my magento store form 1.7 to 1.9. I am very new to magento, SSH and mysql. I was just wondering what is the easiest way to upgrade with breaking my website.
Thank you
Upvotes: 2
Views: 13942
Reputation: 25968
Magento 1.x upgrade instruction using SSH or Command line:
1) Go to your Magento root directory
cd /path/to/your/magento/folder
2) Enable Maintenance mode for your Magento site
For this, you have to create an empty file named maintenance.flag
in your Magento root directory.
touch maintenance.flag
3) Clear Cache & Sessions
rm -rf var/cache/* var/session/*
4) Check Compilation & Disable it if Enabled
Check Compiler Status
php -f shell/compiler.php -- state
If the Compiler Status
is Disabled
then you can skip this step and move on to the next step.
If the Compiler Status
is Enabled
then you have to disable it with the following command:
php -f shell/compiler.php -- disable
5) Give write permission to all Magento files and folders
chmod -R 777 .
6) Give 550 permission mage file which is a shell script file. With 550 permission, we are just making the file non-writable + readable & executable by user and group only.
chmod 550 ./mage
7) Change config settings to stable
./mage config-set preferred_state stable
8) Upgrade Magento
You can list all the installed packages with the following command:
./mage list-installed
You can list all the upgradable packages with the following command:
./mage list-upgrades
The following command will upgrade all the packages:
./mage upgrade-all --force
It will take some time to complete the upgrade.
9) After completing the upgrade, we should reindex all data.
php shell/indexer.php reindexall
10) Then, clear cache and session again.
rm -rf var/cache/* var/session/*
11) Enable Compilation only if it was Enabled before upgrade
Check step 4) above.
If Compilation was not enabled in step 4) then you can skip this step and go to next step.
If Compilation was enabled for your website and you had disabled it at step 4) then you have to Enable it with the following command:
php -f shell/compiler.php -- enable
12) Before the upgrade, we have changed the permission of all files and folders to 777. You should also give proper permission to all files and folders of your Magento site.
Convert files permission to 644 and folders permission to 755
find . -type f -exec chmod 644 {} \; && find . -type d -exec chmod 755 {} \;
Give read-write full permission, i.e. 777 to var and media folders.
chmod -R 777 var media
Give 550 permission to mage shell script file
chmod 550 ./mage
13) Check the versions of the installed modules. The modules should show the latest version as they are already upgraded now.
./mage list-installed
14) List the upgradable modules (modules that need an upgrade). This should result in a message saying No upgrades available because all modules have been already upgraded to the latest version.
./mage list-upgrades
15) Disable Maintenance mode to make the site Live.
rm -f maintenance.flag
This will delete the file maintenance.flag
and then the site will be live again.
You can now login to Magento admin and see the Magento version displayed in the footer section. It should show the latest version number.
Source: Magento 1.x – Update / Upgrade to Latest Version via both Browser & Command Line
Upvotes: 0
Reputation: 964
Upgrade Roadmap for CE 1.9.0.1 from 1.7
now from your 1.7 merge your following folders into the 1.9
app/code/community
app/code/local
app/design/frontend/default/<your theme>
or app/design/frontend/<your package>
)adminhtml
and frontend
).app/etc/modules/
to current app/etc/modules/
adminhtml/default/yourtheme
.adminhtml/default/default/
(1.7) to adminhtml/default/default/
(1.9).app/js/
.now go to app/etc/local.xml
.Edit database details there. put your database username and password and database name.
Upvotes: 8
Reputation: 1191
Upgrade can be done by following these steps(if there are lot of custom modules and you want to ensure your code does not break)
1.Download the latest stable version of your Magento instance. 2.From your older copy, starting copying your custom modules from
app/etc/local.xml
app/etc/modules/
app/community/
app/local/
app/design/frontend/{{package}}/{{theme}}, any custom template files
in default/default/ theme or base/default/ theme needs to be copied.
adminhtml/default/{{custom theme}}
adminhtml/default/default/
skin/frontend/{[package}}/{{theme}}/{{css|js|images}}
same for adminhtml if added any
copy custom files from
js/
3.Make changes to your local.xml and connect it to your older magento database.
Once you run Magento'instance, any core set up updates will be made using the setup files in your core extensions.
PS:- This method runs when you have followed all standards possible i.e no core modifications, correct class rewrites, no changes in index.php,Mage.php etc Also, if some of the third party extensions if give error, need to update them.
Hope it helps! And if you do try out..let me know how it goes!
Upvotes: 0
Reputation: 223
The other answer is dangerous and should be taken with care make sure you create a dev server the following article explains
http://www.magentocommerce.com/wiki/groups/227/moving_magento_to_another_server
Upvotes: 2
Reputation: 4073
Current Version Magento CE 1.7.0.2
Admin panel -> System -> Magento Connect -> Magento Connect Manager
Check for Upgrades
Mage_All_Latest -> select Upgrade to 1.9.0.1
You are done!
You should be able to upgrade directly.
As always, third-party extensions and local customizations need to be taken into account, make a proper backup, etc.
Upvotes: 4