Дублируйте установку Drupal с одного сервера на другой - PullRequest
3 голосов
/ 09 апреля 2010

Я разрабатывал сайт Drupal 6 на своем ПК с использованием XAMPP. Я закончил, и все выглядит замечательно.

Проблема в том, что мне нужно поместить весь мой контент (включая пользовательские модули и темы) на промежуточный сервер, на котором установлена ​​только свежая версия Drupal 6. Я не могу себе представить, что нужно заново настраивать все мои собственные типы контента и все такое на промежуточном сервере.

Итак, я спрашиваю, как поступить так, как мне нужно? Что по сути дублирует мою установку Drupal с моего компьютера на промежуточный сервер.

Промежуточный сервер работает под управлением Linux, и я разрабатываю на ПК с Windows, если это поможет.

Заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 09 апреля 2010

Скопируйте все файлы из разработки в живую, и mysqldump вашей базы данных, и запустите ее на живом сервере. Затем все, что вам нужно сделать, это изменить файл settings.php так, чтобы он указывал на нужную базу данных, если по какой-то причине «localhost» также не является вашей базой данных mysql.

0 голосов
/ 24 апреля 2010

Я второй использую backup_migrate. Это здорово.

Когда я устанавливаю свежий сайт от разработки до производства, я:

  • резервное копирование сайта с помощью модуля backup_migrate
  • скопировать все файлы на сервер
  • отредактируйте sites / default / settings.php, чтобы указать правильный путь к базе данных и информацию об учетной записи
  • выполнить импорт последнего дампа backup_migrate (обычно с использованием mysql

Но посмотрите официальную версию здесь:

http://drupal.org/node/776864

Теперь вы не спрашивали, но когда сайт работает и пользователи предоставляют контент, перемещение будущих версий разработки вашего сайта из разработки / подготовки к производству без удаления живого контента - это совсем другая проблема, и эта проблема У Друпала нет хорошего ответа для ...

Andy-

0 голосов
/ 10 апреля 2010

Если вы не используете subversion, то вам нужно вручную скопировать файлы (rsync, scp, что угодно) и db (mysqldump).

обычно мы имеем иерархию независимых репозитариев Subversion следующим образом:

  • ядро ​​
  • сайты / все / модули / вклад
  • сайты / все / модули / пользовательские
  • sites / all / themes / (мы разрабатываем собственные и не используем добавленные темы)
  • сайты / все / библиотеки

тогда мы используем свойства svn: externals, чтобы при извлечении «ядра» вы получали все связанные репо.

у нас есть около 2 основных разработчиков и еще 4 парня, которые также могут вносить код на сайт. у каждого своя локальная среда разработки, и у всех нас есть общая песочница - где мы уверены, что написанное нами не нарушает чужой модуль (это уже было раньше!).

мы используем svn commit hooks для обновления сайта бета / staging / sandbox после коммита.

со всеми этими настройками, чтобы развернуть сайт, достаточно просто перейти в нужную папку и ввести " svn co http://repolocation/reponame. ", а затем обновить базу данных.

две последние вещи для рассмотрения:

  • мы переходим от svn к git
  • функциональный модуль позволит вам сохранить изменения, внесенные вами, в ваши собственные модули (представления, типы контента и т. Д.) И упаковать все это в развертываемый модуль, чтобы вам не приходилось дублировать свои усилия. , мы также пытаемся использовать это для себя.

Надеюсь, это вам поможет.

0 голосов
/ 09 апреля 2010

Самым быстрым решением, вероятно, является модуль backup_migrate . Это всего лишь инструмент для копирования вашей базы данных. Вы также можете использовать phpmyadmin или аналогичный, если хотите. Модуль backup_migrate имеет несколько хороших настроек по умолчанию в отношении того, какие таблицы пропустить (например, таблицы кеша). Все настройки и т. Д., Которые не определены в коде, хранятся в вашей базе данных. Так что вам нужно только скопировать БД, которая будет установлена. Вы можете исключить некоторые таблицы, например таблицу узлов или пользователей, если не хотите переносить свои тестовые данные.

...