
Changing from Drupal 6 to Drupal 7 is not just a simple update. The steps seem straightforward, but there are major changes in the way Drupal 7 works and stores data. So a move up across major version numbers is really a "migration" as opposed to a simple update or patch. If your site is fairly simple, with good backups, and you use the right approach, you can accomplish the migration without too much trouble. The more complex your site is, the more complex the migration will be. Doing a migration involves several steps. You might want to review these related tutorials. Step 1: Backup your site's database![]() * It is wise to try an update or upgrade on a test copy of your site before applying it to your live site. Even minor updates can cause your site's behavior to change. There is a handy tool called Backup and Migrate, which helps simplify the backup process, which you can download from this page http://drupal.org/project/backup_migrate. Note: it only works with MySQL, and is still under development. You should also do a manual backup of your database using phpMyAdmin. We show you how to do this in this tutorial. Step 2: Backup all your folders and filesYou have several ways to do this, and you might want to do it more than one way for safety
You can't be too paranoid about having extra copies. Step 3: Double check to make sure you can complete the upgradeCheck on the Drupal 7 status of your contributed and custom modules and themes.
Step 4: Check for the latest version of Drupal 6.x![]() You can't skip versions when you upgrade. For instance you cant go from 6.0 to 6.2 in one step. You also can't upgrade directly from 6.0 or 6.1 to Drupal 7. You have to have your Drupal 6 installation at the latest level. How do I know which version of Drupal I'm running?
Where do I get the latest version of Drupal 6? http://drupal.org/project/drupal Step 5: Take the site off-line![]() Go to Administer >> Site configuration >> Site maintenance. ![]() Select "Off-line" and save the configuration. Step 6: Change the theme to Garland![]() Go to Administer >> Site building >>Themes ![]() Click the check box to enable the theme, and the radio button to make it the default. Scroll to the bottom of the page and save changes. You need to use the basic theme. If you are using a template, check with the designer to see if there is an updated version, and you can do that upgrade after the site is working with Garland. Step 7: Disable all non-core modules![]() Go to Administer >> Site building >> Modules. ![]() You can expand the categories by clicking on the category name and see what is enabled. If you added an additional modules to your site, there will be additional categories. Expand them and uncheck the boxes next to the modules Step 8: Clear all optional module check boxes![]() It is possible that some modules cannot be immediately disabled, because others depend on them. Repeat this step until all non-core modules are disabled and all check boxes are clear. Be sure to scroll to the bottom of the page and save the changes. Step 9: Remove unwanted modules![]() If you know that you will not re-enable some modules for Drupal 7.x and you no longer need their data, then you can uninstall them under the Uninstall tab after disabling them. The Uninstall tab is at the top of the modules page. Step 10: Remove sites/default/default.settings.php![]() On the command line or in your FTP client, remove the file /sites/default/default.settings.php Step 11: Delete all your other folders and files except /sites/![]() Empty your Drupal files directory except for:
If you made modifications to files like .htaccess or robots.txt, you will need to record those changes and re-apply them after the new files are in place. Step 12: Remove unwanted module folders![]() If you are abandoning any modules because they are not compatible with Drupal 7, remove them from the directory Step 13: Download and extract Drupal 7![]() Download Drupal 7 if you haven't already. http://drupal.org/project/drupal You can extract the files on the server and copy them to your main directory. Alternately you could extract them on your local computer and use FTP to move them to your sever. Don't worry about overwriting the files in the sites folder. Only the files that need replacing will be replaced. Step 14: Reapply any changes to your .htaccess file or robots.txt files![]() Re-apply any modifications to files such as .htaccess or robots.txt. Use a text editor to make changes. Step 15: Make your settings file writable![]() Make your settings.php file writable, so that the update process can convert it to the format of Drupal 7.x. settings.php is usually located in sites/default/settings.php Normally this would best be set at 444, but it needs to be writable so 644 or 666 if you are having trouble will be the correct setting. BE SURE YOU REMEMBER TO COME BACK AND RESTORE THIS SETTING AFTER YOU ARE FINISHED with the migration. Step 16: Run update.php![]() Run update.php by visiting http://www.example.com/update.php (replace www.example.com with your domain name). This will update the core database tables. Click continue and follow the steps. If you can't access update.php make a change to your settings file: ![]() If you are unable to access update.php do the following: - Open settings.php with a text editor. - Find the line that says: - Change it into: - Once the upgrade is done, $update_free_access must be reverted to FALSE. Step 17: Backup your new database![]() Using the same procedure you used before, make another database backup. Save it with a different name or to a different location than your original backup. You may still need that one. Step 18: Upgrade your modules to their newer versions.You've gone through the core upgrade, but now each module has to be upgraded. Then you can update and re-enable your non-core modules by following these steps:
If you have errors when you run the update.php script:
Step 19: Upload your Drupal 7 compatible theme![]() Make sure everything works in the Garland theme before you switch over to your Drupal 7 theme. Step 20: Go to Reports and run a Status report![]() 16. Go to Administration >> Reports >> Status report. Verify that everything is working as expected. Step 21: Set update_free_access is set to false![]() Ensure that $update_free_access is FALSE in settings.php. ![]()
![]() Scroll to the bottom of the page to save the configuration. That should be the last step in your successful migration from Drupal 6 to Drupal 7. Planning for a Drupal 6 to Drupal 7 Migration |

With Admincredible you can update and manage all your Joomla sites. If you have 5 or 500 sites, Admincredible will make your life easier! Visit Admincredible.com.
All of our tutorials are published under the Creative Commons Attribution-NonCommercial license. This means:
Open Source Training is not affiliated with or endorsed by the Joomla, WordPress or Drupal projects.
All product names and trademarks are the property of their respective owners.
Copyright 2013 Open Source Training, LLC. All rights reserved.
Comments
If you install Drupal 7 afresh, the header of many of your administration pages contain descriptive text. But the same admin pages on my upgraded version do not show this descriptive text.
Why is this? Is there a setting somewhere that I have missed?
Regards
Mark Sporr
Sorry for the inconvenience, but if you're a student at OSTraining, could you copy and paste this into the support forum so one of our support techs can look into it for you? All you have to do is log in at www.ostraining.com and click on Support Forum in the main menu.
Please see the support FAQ for more information:
www.ostraining.com/.../
Kind regards,
Nick
In the Appearance section
Make sure the Seven theme is enabled (just enabled, not necessarily set as default).
Lower down, set "Seven" as your administration theme.
In Structure >> Blocks
Under Help choose to "configure" System Help block.
On the configuration page ensure that the entry headed "Seven (administration theme) is changed to the option "Help"
The descriptive text at the head of many of your admin pages should now be displayed.
Regards
Mark Sporr
Kind regards,
Nick
install.php file strores info on all upgrade procedures in the history of the project in it's version ie 6.x and will launch all those which have not yet run on your site, one after another.
Trying again just produced random errors.
I checked permissions on sites, settings.php etc, opened them wide, I did everything exactly as described in the post. I've followed the instructions so many times restoring and trying again that I could re-write this entire blog in my sleep ... yet it doesn't work and nothing on google helped.
Sorry for the inconvenience, if you need support and you're a student at OSTraining, could you copy and paste this into the support forum so one of our support techs can look into it for you? All you have to do is log in at www.ostraining.com and click on Support Forum in the main menu.
Please see the support FAQ for more information:
www.ostraining.com/.../
Thanks!
Kind regards,
Nick
Kind regards,
Nick
Saludos
Note: In Step 10, the image suggests that one should delete the settings.php file instead of the default.setting s.php file as the text correctly says.