Как разработать сайт drupal на локальном сервере или на тестовом сервере перед его публикацией - PullRequest
0 голосов
/ 31 мая 2009

(Фактические названия сайтов были изменены)

Я установил drupal на elephantboarding.com, и он находится под контролем версий.

Я обновил svn на сайте landonwinters.com/elephantboarding после того, как svn зафиксировал установку на megafishoil.com.

Но landonwinters.com/elephantboarding выглядит странно, как будто у него не настроена тема по умолчанию, она без темы. Тем не менее, в нем есть место для входа в систему, и вверху написано: www.elephantboarding.com.

Я предполагаю, что это как-то связано с базой данных ... но было бы здорово, если бы я landonwinters.com/elephantboarding был зеркалом megafishoil.com, и если бы я мог внести изменения в landonwinters.com/ elephantboarding, не видя этих изменений в elephantboarding.com, пока я не обновлю svn.

Извините за новизну, и заранее спасибо за любую помощь!

Да, у меня есть локальный сервер, хотя я не знаю, как выполнить svn checkout на свой компьютер ...

Ответы [ 2 ]

1 голос
/ 31 мая 2009

Да, это возможно - я запускаю сайт drupal на http://www.blah.net, и сайт разработки / тестирования на http://dev.blah.net. Они оба используют один и тот же код, извлеченный из общего хранилища svn, и они оба используют одну и ту же базу данных.

Это прекрасно работает для меня, исходя из следующих условий:

Строка вашего settings.php, которая определяет $ base_url, должна быть закомментирована.

Строка, определяющая $ cookie_domain, должна быть заменена условным именем на сервере, чтобы избежать сумасшедших входов в систему .:

if(preg_match('/dev/i', $_SERVER['SERVER_NAME'])) {
    $cookie_domain = 'dev.blah.net';
} else {
    $cookie_domain = 'www.blah.net';
}

Хотя это все нормально для меня, это потому, что мои пути отображаются точно так же (оба приложения drupal расположены в корне домена). Первоначально у меня был www.blah.net/dev, но он сломался, потому что пути больше не работают.

Так, решение - убедиться, что карта путей. Возможно, у вас есть достаточный доступ для реализации Apache VirtualHost на сайте, на котором вы хотите протестировать? Если это так, то вы можете добавить запись виртуального хоста, как это:

<VirtualHost dev.blah.net:80>
        ServerName dev.blah.net
        ServerAlias blah.net

        DirectoryIndex index.php

        #change this to the path to the drupal install
        DocumentRoot /www/htdocs/ 

        <Directory "/www/htdocs">
                ## Allow CGI and Symbolic Links
                Options +FollowSymLinks +ExecCGI

                # NOTE - The FileInfo override allows rewrites to work in htaccess files
                AllowOverride All

                Order allow,deny
                Allow from all
        </Directory>

</VirtualHost>

Еще одно замечание: несмотря на то, что вы можете без каких-либо проблем поддерживать отдельные шаблоны и физические файлы, если вы измените конфигурацию через панель администратора, эти параметры будут сохранены в базе данных и будут действовать на все установки, использующие базу данных. Блоки являются типичным примером этой проблемы, поскольку они хранятся в базе данных.

В принципе, у вас не может быть двух разных наборов сопоставлений путей для drupal (предоставлено, вы могли бы сделать несколько безумных переписываний apache, но это могло бы стать очень грязным). Ответ от Virtualhost, вероятно, является наименее болезненным решением, если у вас есть достаточный доступ.

0 голосов
/ 27 июня 2009

У меня была похожая проблема после копирования установки Drupal, включая базу данных.

Что касается темы, если вы использовали модуль цвета, то файл должен быть воссоздан в вашей новой установке.

Просто перейдите на страницу конфигурации темы, убедитесь, что цвета соответствуют вашим желаниям, нажмите «Сохранить конфигурацию», и Drupal создаст правильный файл для цветов, и тема полностью исчезнет и будет работать идеально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...