2010-11-22 3 views
0

Im работает многоуровневая среда Drupal на сервере lamp (debian, apache, php, mysql).Drupal: лучшая практика для переключения домена домена после завершения проекта

Мой текущий рабочий процесс для нового проекта:

  1. Активировать субдомен на моем сайте компании (скажем, проект будет foo.com, я активировать foo.example.com)
  2. Becose из Plesk (это немного друпал недружелюбно) мой шаг являются:
    1. Создать новый поддомен в Plesk, PHP работает в режиме FastCGI
    2. Создание базы данных
    3. Удалить папку httpdocs, г ecreate его и сделать сайты папки
    4. Сделать simbolic ссылку на любой файл в папку /var/www/vhosts/drupal (друпал код базы) excapt сайтов и TMP папки, robots.txt и .htacces файлов (которые, как правило, будут настроены на один домен)
    5. Сделать папку foo.example.com внутри sites, символическая ссылка на /var/www/vhosts/drupal/sites/all папку, а затем обратно символическую ссылку из sites/foo.com в /var/www/vhosts/drupal/sites/foo.example.com (для того, чтобы Drush видеть все домены некоторых многоузельных задач, как кронтаб)
  3. Установите, настройте drupal в субдомене, сделайте все, что необходимо для завершения проекта

На данный момент мне нужно переключить проект из поддомена в конечный домен foo.com, который будет также находиться на моем сервере.

Мне не нравятся многие другие хаки, такие как переадресация доменов, я хочу, чтобы окончательный проект был «чистым» (для чего чистый означает в многоузловой среде).

На самом деле я сделать эти шаги:

  1. Создание домена (с помощью Plesk) и базы данных;
  2. Скопируйте поддомены httpdocs в полной мере httpdocs домена (cp -a /var/www/vhosts/example.com/subdomains/foo/httpdocs /var/www/vhosts/foo.com/httpdocs)
  3. Изменения владелец и группа httpdocs, чтобы соответствовать владельцу домена и группы
  4. Войти в Друпала, изменить Webiste информации и путь файловой системы.

Это позволяет мне делать то, что я хочу, но у меня есть некоторые проблемы с содержимым узла html; espacially для тех, которые содержат ссылки, изображения и файлы, которые (даже если IMCE сконфигурирован для использования относительного пути), укажет на /sites/foo.example.com/files/[...] вместо /sites/foo.com/files/[...] .. это произойдет и для файловых полей cck.

Как я сказал, я нужен чистого решения, я знаю, что я мог бы сделать символическую ссылку из /sites/foo.example.com в /sites/foo.com, но я действительно не нравится этот путь.

До сих пор я судимый искать/заменить все occourrence в SQL дамп базы данных:

sed 's/foo.example.com/foo.com/g' dump.sql > foo.com.sql 

Но это, кажется, тормозное нечто; Я получаю много ошибок в файле boostrap (в шаге unserialize step, даже если я очистил весь кеш до и после экспорта/импорта db) и выглядит как некоторая кодировка utf-8.

Я знаю, что лучшим решением будет установка области разработки на локальном сервере, но мне нужен мой клиент, чтобы связаться с ней извне .. и наша ситуация с рекламой (статический IP-адрес и т. Д.) Немного подключена.

Любая идея?

пс: простите за мой плохой английский, если мой вопрос не ясно прийти, дайте мне знать, и я предоставить более подробную информацию)

ответ

0

Ваши шаги в основном то, что я делаю, но я не использую Plesk или делать многоузловая установка. Я просто создаю новый vhost в экземпляре VPS и cp -a docroot и перенастрою для новой базы данных DSN.

Что касается проблем SQL, я обычно редактирую дамп SQL в чистом редакторе UTF-8, чтобы предотвратить эту проблему. В Windows я использую Notepad ++.

Затем я восстанавливаю базу данных, очищаю все кеши, редактирую настройки и запускаю cron. Я также, как правило, перестраиваю индекс поиска.

Эта последовательность обычно работает.

Проблема начальной загрузки, вероятно, связана с таблицей переменных. Когда вы сериализуете строку (или что-то со строкой), длина также сохраняется. Я буду выполнять поиск и замену, затем открыть MySQL Query Browser и искать строки в таблице переменных с именем домена и фиксировать длину вручную. Другой вариант - определить, какая опция хранится, а затем воссоздать настройку.

+0

Об открытии дампа sql с редактором: мой дамп может быть около ~ 20 МБ, его трудно для меня использовать редактор, поскольку он может быть легким. – Strae 2010-11-22 22:24:20