1

I have recently been hired as a web dev for a small business. The previous web dev team did not have much server experience and decided to use Pantheon for our Drupal 8 site. For the most part, the service they provide has been excellent, however, there are several issues that we have had recently that require fixes from the pantheon team (nginx config updates, etc) that combined with the savings of non-managed hosting make me want to migrate our site to a different server.

I have set up a separate Drupal 8 instance and copied over the files, code, and database from pantheon. Unfortunately, this method does not work, as there are too many differences in the server configuration and all I get are errors.

I have tried comparing and manually editing the sql dumps between Pantheon and the clean D8 install to try and copy over only what I need, installing the Deploy module on pantheon to push the content to the new server, and many, many other half-baked ideas with no success.

My question is: how am I supposed to get my content out of pantheon that does not require me to manually re-create every single node?

Thanks!

Edit: I was able to get the site to stand up successfully for the first time today. However, I can only access the home page. Every other page just 404s. /user is not accessible.

Beginning my investigation, I run drush updb to find several missing modules.

The following module is missing from the file system: calendar bootstrap.inc:240
The following module is missing from the file system: calendar_datetime bootstrap.inc:240
The following module is missing from the file system: flexslider bootstrap.inc:240
The following module is missing from the file system: flexslider_fields bootstrap.inc:240
The following module is missing from the file system: flexslider_views bootstrap.inc:240
The following module is missing from the file system: fullcalendar bootstrap.inc:240
The following module is missing from the file system: libraries bootstrap.inc:240
No database updates required

$ drush en calendar

calendar was not found.
The following projects provide some or all of the extensions not found:
calendar
Would you like to download them? (y/n): y
Install location /var/www/html/pantheon//modules/contrib/calendar already exists. Do you want to overwrite it? (y/n): y
Project calendar (8.x-1.x-dev) downloaded to /var/www/html/pantheon//modules/contrib/calendar.
Project calendar contains 2 modules: calendar_datetime, calendar.
The following extensions will be enabled: calendar, calendar_datetime
Do you really want to continue? (y/n): y
Drupal\Core\Config\PreExistingConfigException: Configuration objects (calendar.settings) provided by calendar already exist in active configuration in /var/www/html/pantheon/core/lib/Drupal/Core/Config/PreExistingConfigException.php:65
Stack trace:
#0 /var/www/html/pantheon/core/lib/Drupal/Core/Config/ConfigInstaller.php(492): Drupal\Core\Config\PreExistingConfigException::create('calendar', Array)
#1 /var/www/html/pantheon/core/lib/Drupal/Core/Extension/ModuleInstaller.php(141): Drupal\Core\Config\ConfigInstaller->checkConfigurationToInstall('module', 'calendar')
#2 /var/www/html/pantheon/core/lib/Drupal/Core/ProxyClass/Extension/ModuleInstaller.php(83): Drupal\Core\Extension\ModuleInstaller->install(Array, true)
#3 /home/myuser/.composer/vendor/drush/drush/commands/core/drupal/environment.inc(131): Drupal\Core\ProxyClass\Extension\ModuleInstaller->install(Array, true)
#4 /home/myuser/.composer/vendor/drush/drush/commands/core/drupal/environment.inc(198): drush_module_install(Array)
#5 /home/myuser/.composer/vendor/drush/drush/commands/pm/pm.drush.inc(1167): drush_module_enable(Array)
#6 /home/myuser/.composer/vendor/drush/drush/includes/command.inc(422): drush_pm_enable('calendar')
#7 /home/myuser/.composer/vendor/drush/drush/includes/command.inc(231): _drush_invoke_hooks(Array, Array)
#8 /home/myuser/.composer/vendor/drush/drush/includes/command.inc(199): drush_command('calendar')
#9 /home/myuser/.composer/vendor/drush/drush/lib/Drush/Boot/BaseBoot.php(67): drush_dispatch(Array)
#10 /home/myuser/.composer/vendor/drush/drush/includes/preflight.inc(66): Drush\Boot\BaseBoot->bootstrap_and_dispatch()
#11 /home/myuser/.composer/vendor/drush/drush/drush.php(12): drush_main()
#12 {main}

I get similar errors for all of the "missing" modules where the module already exists and is configured.

Edit2:

I was able to get the backup set up correctly. My issues came down to two items: 1) A missing .htaccess (because we were switching from nginx to apache) 2) A problem with the fullcalendar module that just needed patching.

Thank you for the help everyone!

closed as too broad by Kevin, Shawn Conn, Pierre.Vriens, mradcliffe, DRUPWAY Jun 20 '17 at 7:30

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    Welcome to Drupal Answers :) all I get are errors isn't much to go on - what errors are you getting and in what context? As long as you have an nginx config that's suitable for a generic Drupal site, and you've removed any Pantheon-specific stuff from settings.php (and filled in the database connection details, which Pantheon bypass via a Commons workflow) you shouldn't have any problems. But without knowing what the problems are there's not much advice to give – Clive Jun 19 '17 at 16:21
  • Fair enough. Sorry for the vagueness, but the errors have not been consistent. I think the issues are arising from the fact that we are using apache, not nginx, and we are trying to move to an environment that was built without the Lightning module which is pretty heavily intertwined with the pantheon setup. If this is still too vague I can start pasting some log files. – LukeSkywalker Jun 19 '17 at 16:35
  • 1
    It's not that Lightning is intertwined with Pantheon as such, but if your site has been built using a distribution, it will be heavily intertwined with the distribution. But I'm not sure I understand; if you've copied the files/code/database from Pantheon, how can your new environment not be using Lightning also? A distribution is only files, code and database (no server config). Posting the error log will be overkill, but the specific error(s) you get for a specific task you're attempting would be useful – Clive Jun 19 '17 at 16:43
1

Depending on your site size (in gigabytes) you should be able to use Drush or Terminus to export the website as a Drush archive dump using the site drush alias file provided by Pantheon and the drush command archive-dump. Take the dump and run drush archive-restore on your new webserver supplying the dumpfile. That should more or less just work.

Alternatively take the raw dashboard dumps for Code, database and Files and upload them to the new database, webroot and files directory. For this case, you may then need to use the drush command registery-rebuild to rebuild the site registery and the module paths will have changed in the database due to the server move.

Edit

If content within the Nodes is still bad such as hardcoded file paths, you can use (drush) SAR, the Scanner module or VBO Search and Replace to fix hardcoded paths found within text fields of your content. Only SAR will properly handle Blocks based content from the list of above modules. Some of the above modules may be Drupal 7 only, but for example SAR is a drush command ported to D8 already.

Not the answer you're looking for? Browse other questions tagged or ask your own question.