Пара слов о хостинге и работе с VDS (виртуальным выделенным сервером). Drupal и CVS на сервере

аватар: andyceo

Меня что-то в последнее время часто спрашивают о хостинге для Drupal. Я использую несколько хостингов, как виртуальных, так и арендую виртуальные выделенные сервера (VDS - Virtual Dedicated Server, VPS - Virtual Private Server, что одно и то же).

Что я порекомендую для хостинга Drupal? Ну, конечно, чем мощнее сервер, тем лучше. Лучшие показатели Drupal у меня показывает на виртуальном хостинге. Но при этом виртуальный хостинг должен быть правильно сконфигурирован (или вы должны сами подправить что-то в конфигурации Drupal, в соответствии с хостингом). Поэтому зачастую проще взять виртуальный сервер и установить туда всё, что надо.

Стойка сервернаяНапример, на хостинге 1gb.ru я установил его на виртуальный сервер, где php работал как модуль Apache, и под Unix. Тем не менее, у данной компании стоит гейт, который разруливает трафик на сервера с сайтами. Гейт работает не под Apache, а под nginx. И то ли ошибка была в nginx'е, то ли в Apache, но ошибочно обрабатываются адреса страниц, содержащих пробелы (символ %20). Из-за этой ошибки я создал в своё время данный репорт-напоминание себе о том, что надо бы её пофиксить - Баги при вводе тегов. (Описанная там ошибка возникала именно из-за некорректной обработки url, содержащих пробелы, веб-сервером хостера.)

Как сообщила мне служба поддержки, данная ошибка отсутствует, если создавать сайт на конфигурации Apache + PHP (fast cgi) - такая возможность у них тоже есть. (Можно создать хоть под Windows/IIS.) В данном случае придётся все настройки Drupal, связанные с php, перенести в локальный файл php.ini в своей home-директории хостинга.

Как вы уже догадались, для Drupal-проектов я рекомендую именно шаред-хостинг от 1gb.ru, где сайт установлен на конфигурацию UNIX/Apache/FastCGI. Подробнее о настройке PHP в этом режиме работы (а также других режимах) можно прочитать у них на странице Конфигурирование PHP

К тому же, сейчас у них появилась услуга виртуальных серверов на технологии OpenVZ. Раньше уже я пробовал поставить Drupal на виртуальный сервер (однако, он был построен по технологии VDSmanager, у компании firstvds, но разочаровался результатами таких экспериментов - сайт работал просто безобразно. Узким местом оказалась файловая система (открытие сетевых сокетов), и поэтому сокет на соединение с БД при каждом запросе мог создаваться несколько секунд и долее. Более подробно о моём опыте можно прочитать тут.) Потестив же виртуальный сервер от 1gb, я остался доволен, и перенёс некоторые проекты туда. В качестве операционной системы используется Gentoo Linux.

Что мне особо понравилось в виртуальных серверах. Я самостоятельно установил CVS. Теперь я могу устанавливать и обновлять Drupal прямо из репозитория проекта. При большом количестве используемых модулей и их версий, это просто незаменимая штука. Ниже я предлагаю короткую памятку для тех, кто устанавливает Drupal на виртуальных серверах от 1gb.ru. Владельцы других серверов могут отредактировать эту памятку для своих нужд.

Памятка: Работа с CVS на выделенном сервере от 1gb.ru

Примечание. Владение виртуальным сервером подразумевает собой root-доступ. Я советую не работать под root, а создать для работы отдельный логин. В данной памятке, пусть этим логином будет andyceo.

Для обновления ядра (самого Drupal)

  1. Зайти по SSH под логином andyceo
  2. Зайти в свою директорию в /home (например, /home/andyceo)
  3. Зайти в тот сайт, который хочешь обновить через cvs, но не заходить при этом в папку http! (Пояснение. обычно сайты имеют такую структуру: /home/andyceo/drupal6/http - и в директории http лежат собственно скрипты. так вот, зайти надо именно в директорию /home/andyceo/drupal6)
  4. выполнить CVS-команду

cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal co -r -d http/ drupal

Параметр указывает на нужную версию Drupal. Параметр для ядра выглядит примерно так: DRUPAL-6-6 - установит (или обновит) Drupal в директории http до версии 6.6.

Теперь обновим модули

  1. Выполним те же действия, что выше в пунктах 1-3, только на этот раз нужно оказаться в директории для модулей, например /home/andyceo/drupal6/http/sites/all/modules. Если директории для модулей не существует (как это обычно бывает при свежей установке ядра), создать её.
  2. Выполнить следующую CVS-команду, находясь внутри директории для модулей:

cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -r -d contributions/modules/

Эта команда создаст директорию с модулем (параметр , вводить без скобок) и извлечёт из репозитория указанную его версию (параметр , вводить без скобок. Выглядит он примерно так: DRUPAL-6--1-2). Подробнее о совместной работе CVS и Drupal можно прочитать из материалов, упомянутых здесь.

Следует знать важное замечание, при работе с CVS, а именно: файлы .info извлекаются неполными из репозитория, в них отсутствует указание версии модуля. Для того, чтобы получать корректные уведомления о свежих версиях модулей (при помощи модуля Update status), необходимо установить модуль CVS deploy. Более подробно о данной ситуации можно прочитать здесь - Module .info files should not define "version" in CVS.

PS: для интересующихся: за этот пост мне никто не платил. Просто отвечаю на вопросы людям, и решил поделиться своим опытом.

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can use the <go> tags just like the <a> for nicer urls.
  • Доступны HTML теги: <a> <img> <noindex> <br> <em> <i> <strong> <b> <strike> <s> <u> <sup> <sub> <h1> <h2> <h3> <h4> <h5> <h6> <cite> <blockquote> <abbr> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <div> <span> <hr>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <blockcode>. The supported tag styles are: <foo>, [foo]. PHP source code can also be enclosed in <?php ... ?> or <% ... %>.

Подробнее о форматировании

CAPTCHA
Введите, пожалуйста, код, который Вы видите на картинке. Показ изображений в браузере должен быть включен.
CAPTCHA на основе изображений
Введите символы, которые показаны на картинке.
Добавьте страницу в закладки. Перейти к верху страницы
RSS-материал