0

I've been getting mixed messages and there is practically no solid up-to-date documentation, I just want to know the standard procedure for moving a locally developed Drupal 8 site to an online server.

Some say it's as easy as FTP'ing your files over and exporting your local database SQL code over and then connecting to the db via the settings.php, others say to put a fresh installation of Drupal 8 online and then move certain files over while exporting the database using the backup module and then importing it online, others still say I also need to export the local configuration and import it online, still others say I need to update the URL's in some parts of the SQL or configuration exports, etc.

I'm developing with the latest Drupal 8.4 with a custom theme in Windows 10 on XAMPP (I have drush) and migrating to a server subdirectory that my domain points to with php 5.6+ (no drush options online because there's no SSH access).

TLDR: What are the steps to move a locally developed Drupal 8.4 site and database to an online server and get it configured, up and running normally?

  • 1
    You can either commit the entire directory with git, and push that to a remote, or you can use Drupal Composer or Acquia BLT to control the 'build' via best practices + composer.json and let that deploy to the server. But with no SSH access, or Drush, its probably going to feel tedious at best. I suppose you could also ftp the entire directory, but thats going to take a decent amount of time. – Kevin Oct 11 '17 at 19:32
  • I don't just want to move the files over, I've already FTP'ed the files over using FileZilla, I mean moving it over and configuring the database and system so it functions perfectly online just as it did on localhost. – user1930581 Oct 13 '17 at 4:05
  • 1
    I'm sorry to be the bearer of bad news but Drupal 8.4 requires PHP 7.0 and for the moment there is a bug concerning a core dependency, Doctrine, that requires PHP 7.1. For more information you could consult the Drupal 8 System requirements (drupal.org/docs/8/system-requirements/php) section. As for Doctrine, there is an open issue with status "Needs work". – Rockabelly Oct 13 '17 at 22:55
  • That's actually good to know, fortunately after tooling around a lot in my hosts settings I found out I could actually update the PHP version to 7.0/7.1. Still, I'd really appreciate it if someone could explain what the step-by-step procedure is for moving over and configuring a locally developed Drupal 8.4 site to an online host. – user1930581 Oct 13 '17 at 23:54
  • 2
    There is no "solid up-to-date documentation" because there's a million ways to deploy a site. It's also nothing Drupal-specific. Every site/app faces the same problem at some point. So it's totally up to you what you find convenient for your needs. I'd recommend to automate as much as possible (as demonstrated in github.com/leymannx/drupal-circleci-behat), but this is just another opinionated way of doing things. Maybe most of us at least would agree, that Git is a must. – leymannx Jul 26 '18 at 6:54
2

There are many ways to migrate a local site to a server. Here are a few of the most common.

  • SFTP/FTP is one way, you can "manually" move all the files up to the server and use PHPMyAdmin to import the database. Many hosts will also have automatic Drupal installs, in which case you can use that, only upload your theme, files, and modules, and then import database. If you upload via FTP you will need to update settings.php to include the servers SQL log/pass as well as domain url

  • Set up a git repo which you can pull/push to from your local machine and the server is likely a better solution if you plan on making
    changes. This allows you to more easily manage the files and is a
    "safer" solution. Set settings.php to .gitignore

  • There are also managed solutions such as Acquia Dev Desktop which
    will allow you to push/pull files, code, and database simultaneously using a UI.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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