ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ

Как перенести проекты с виртуального хостинга на VPS под управлением Plesk™ 8.0

  1. Установка Plesk™
  2. Установка лицензии
  3. Создание клиента
  4. Размещение домена
  5. Создание базы данных
  6. Перенос данных с виртуальной площадки на VPS
  7. Внесение изменений в DNS
  8. Дополнительная настройка панели Plesk

Установка Plesk™

Система Plesk™ 8.0 может быть установлена специалистами .masterhost на VPS вместе с установкой операционной системы. Для этого в панели управления необходимо отметить соответствующую галочку при создании VPS. В случае, если на сервере уже была установлена ОС ранее, достаточно подать заявку из панели управления.

Обращаем ваше внимание, что установленная версия Plesk™ позволяет ознакомиться с системой управления и разместить на сервере только один домен. Для размещения большего количества доменов требуется приобретение лицензии.

Компания .masterhost предоставляет специальную скидку на лицензию Plesk™ версии 8.X. Установка такой версии Plesk™ возможна только на VPS с операционными системами линейки Fedora Core, а также CentOs 5, Debian 5.0, Ubuntu 6.10. К сожалению, Red Hat 9 официально более не поддерживается производителем и на такую ОС можно установить Plesk™ версии не выше 7.5. Если на вашем сервере установлена ОС Red Hat 9 и вы пожелаете использовать все возможности Plesk™ 8.X, а также получить лицензию со скидкой — вам понадобится сменить операционную систему VPS и установить Plesk™ 8.X.

В этом разделе мы подробно рассмотрим процесс переноса проекта на VPS, при этом, почта для домена и поддержка DNS будет по прежнему осуществляться на серверах виртуального хостинга компании Мастерхост.

После установки, ссылка на интерфейс управления станет доступна из панели VZPP

VZPP

Панель управления VPS для пользователя доступна по адресу вида
https://hostname.vps.masterhost.ru:8443/
где: hostname.vps — имя хоста для VPS (устанавливается в панели управления хостинга);
8443 — Порт подключения;

На время сеанса устанавливается шифрованное безопасное соединение с сервером, позволяющее избежать утечки важной информации, в первую очередь, паролей.

Открыв этот адрес в браузере, пользователю будет предложено ввести пароль администратора Plesk™, который был выслан на контактный адрес сразу же, после установки.

Login window

Если система примет пароль — вы увидите рабочий стол вашего сервера — отправную точку для совершения первых шагов по изучению Plesk™.

Установка лицензионного ключа

Панель Plesk™ — мощный инструмент администрирования сервера. Для того, чтобы воспользоваться всеми ее возможностями потребуется установить лицензию. Сделать это можно двумя способами.

  • Файл лицензии представляет собой SH-скрипт, который можно запустить с правами привилегированного пользователя из консоли сервера
  • Можно загрузить файл лицензии, используя интерфейс в панели управления Plesk™:

    Server > License Management > Upload Key

Создание клиента сервера.

В разделе Clients меню General выберем соответствующую икноку и заполним поля

  • Contact Name  полное имя клиента, которое будет отображаться в дальнейшем в списке клиентов VPS;
  • Login  имя пользователя клиента;
  • Password, Confirm Password  пароль клиента для доступа к панели управления;

Следующим этапом будет выделение для пользователя пула IP-адресов. Пулы – это диапазоны адресов внутри подсетей, которые непосредственно выдаются клиентам. Необходимы они для того, чтобы клиентам, которым не принадлежит вся сеть, не выдать зарезервированных IP-адресов (к примеру, GW, HSRP, BroadCast и т.п). Изменить выделенный пул адресов можно будет позднее и можно пропустить этот пункт, но рекомендуется делать это сразу.

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

Размещение домена на сервере.

Размещение домена подразумевает собой создание структуры директорий для хранения документов сайта, создание соответствующей записи в конфигурации WEB-сервера, предоставление доступа по протоколу FTP к документам этого домена. По нажатии на иконку добавления домена в списке функций клиента будет предложено указать имя размещаемого домена и IP-адрес, к которому «привязать» этот домен. После подтверждения будут созданы все необходимые действия на сервере, после чего следует указать тип хостинга, который планируется предоставлять для этого домена. Существует три варианта:

  • Физический хостинг
  • Стандартное перенаправление
  • Скрытое перенаправление

В большинстве своем, нам подойдет первый вариант — физический хостинг — подобно виртуальному хостингу на серверах Мастерхоста и размещению там доменов. В случае стандартного перенаправления — при обращении к домену запрос будет перенаправлен на точку назначения с изменением URL в адресной строке. В случае скрытого перенаправления — URL изменен не будет. Мы рассмотрим вариант физического хостинга.

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

Если размещаемый сайт написан на языке PHP, то следует отметить установку этого сервиса для домена. Для сохранения совместимости скриптов, работающих ранее на серверах компании виртуального хостинга, мы рекомендуем убрать свойство «Safe Mode» для PHP. Если сайт использует технологию SSI — следует указать и эту возможность для домена.

На этом можно считать размещение домена завершенным. Через некоторое время из интернета будет доступна тестовая страница размещенного домена. В это время можно скопировать все документы сайта по FTP, используя созданные чуть ранее реквизиты.

Для работы с документами сайта в дальнейшем могут быть полезны следующие директории:

  • anon_ftp — для анонимного FTP (если выбран);
  • bin — предназначена для SSH доступа в chroot окружении. (если не выбрано – недоступно для конечного пользователя);
  • cgi-bin — для размещения CGI скриптов;
  • conf — файл конфигурации виртуалхоста (недоступно для конечного пользователя);
  • error_docs — для хранения страниц ошибок;
  • httpdocs — для хранения файлов доступных по HTTP. (Если не выбрано хранение файлов для HTTP и HTTPS в одной директории);
  • httpsdocs — для хранения файлов доступных по HTTPS (Если не выбрано хранение файлов для HTTP и HTTPS в одной директории);
  • pd — Personal Desktop — файлы конфигурации персонального рабочего стола в случае изменения стандартного (недоступно для конечного пользователя);
  • private  — для хранения файлов которые не должны быть доступны через веб;
  • statistics — лог файлы и результаты их обработки (недоступно для конечного пользователя);
  • subdomains — для поддоменов;
  • web_users — для хранения информации о пользователях домена.

Создание базы данных

Поскольку доступ к базе данных предоставляется только специальному MySQL-пользователю, этап создания базы и получения доступа к ней осуществляется в два этапа:

  • Создание MySQL-базы
  • Создание MySQL-пользователя

Создать базу данных для дальнейшего ее использования при работе скриптов сайта можно со страницы набора услуг домена:

General > Domains > ИМЯ_ДОМЕНА > Databases > Add New Database

Теперь нам потребуется создать MySQL-пользователя с привилегированным доступом к вновь созданной базе. Сделать это можно со страницы свойств только что созданной базы данных. Приведенные здесь реквизиты следует указывать и в скриптах для подключения к MySQL-базе.

Импорт данных в базу данных можно осуществить с помощью phpMyAdmin, который уже установлен в системе. Для этого следует использовать иконку DB Web Admin.

Перенос данных с виртуальной площадки на VPS

Воспользуйтесь SSH-доступом к площадке виртуального хостинга.

  • Необходимо создать архив файлов сайта. Для этого выполните команду

    tar zcf имя_архива.tgz имя_сайта
    После её выполнения директория «имя_сайта» будет запакована в архив «имя_архива.tgz» с сохранением структуры каталогов.

    Также необходимо создать архив базы данных. Для этого потребуется команда

    mysqldump -u имя_пользователя -p -h имя_сервера имя_базы > имя_архива_БД.sql
    В данной команде необходимо использовать реквизиты для доступа в базу данных используемые на виртуальном хостинге.

  • Теперь необходимо скопировать эти файлы на выделенный виртуальный сервер. Сделать это можно оставаясь на площадке. Достаточно выполнить команды:

    scp имя_архива.tgz root@vXXXX.vps.masterhost.ru:/root/
    scp имя_архива_БД.sql root@vXXXX.vps.masterhost.ru:/root/

    Для их выполнения необходимо знать пароль SSH-доступа для пользователя root на сервере VPS.

  • Таким образом данные перенесены и располагаются на VPS в директории /root

    Необходимо разместить данные в необходимые места. Для этого нужно подключиться к серверу VPS, используя SSH-доступ для пользователя root.

    Далее необходимо разархивировать файлы сайта командой:

    tar zxf имя_архива.tgz

    Затем необходимо убрать старую директорию httpdocs для необходимого сайта командой:

    mv /var/www/vhosts/имя_сайта/httpdocs /var/www/vhosts/имя_сайта/httpdocs_old

    Помещаем вместо неё директорию www из распакованного архива командой:

    mv имя_сайта/www /var/www/vhosts/имя_сайта/httpdocs

    После этого необходимо указать корректные права доступа к перенесенным файлам с помощью команды:

    chown -R FTP_пользователь:psaserv /var/www/vhosts/имя_сайта/httpdocs
    Здесь FTP_пользователь — это FTP-логин, созданный для данного домена в панели управления Plesk.

    Далее необходимо импортировать базу данных из файла имя_архива_БД.sql командой:

    mysql -u имя_пользователя -p имя_базы < имя_архива_БД.sql
    Здесь используются реквизиты базы данных, созданной в панели Plesk.

  • Отладка скриптов перенесенного сайта.

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

    Обычно можно найти старый пароль от базы данных в том же файле, где рядом будут указываться и параметры сервер, имя базы и пользователь базы.

    Команда

    grep -Rn "старый_пароль_БД" /var/www/vhosts/имя_сайта/ 2>/dev/null
    в большинстве случаев выведет имя файла и номер строки, содержащей старый пароль базы данных.

    Также необходимо проверить, не заданы ли в скриптах сайта абсолютные пути вида «/home/uXXXX/имя_сайта/www/....». Их необходимо заменить на «/var/www/vhosts/имя_сайта/httpdocs/....»

    Корректно написанные сайты переносятся на другой сервер без потерь и дополнительного перепрограммирования. В специфических случаях необходимо обращаться к журналу ошибок

    /var/www/vhosts/имя_сайта/httpdocs/statistics/error_log
    который покажет недостающие настройки, либо к разработчикам и документации конкретной системы управления сайтом.

Изменение DNS

Последним шагом при переносе будет внесение изменений в DNS для домена, с помощью редактора DNS-зон. Следует направить соответствующую запись в зоне домена на IP-адрес VPS, который был указан при размещении домена. Например, если переносится основной домен domain.tld, изменения будут такие:

@ IN A 1.2.3.4
www IN A 1.2.3.4

Если это будет поддомен sub.domain.tld, тогда —

sub IN A 1.2.3.4
www.sub IN A 1.2.3.4

После того, как измененная информация распространится по пространству Интернета, сайт будет открываться с виртуального сервера.

Дополнительная настройка панели Plesk

Настройка ротации лог-файлов для доменов после переноса

После переноса проектов на VPS необходимо настроить ротацию лог-файлов доменов во избежание переполнения дискового пространства на VPS.

Для этого необходимо зайти в меню: Domains > *Домен* > Log manager > Log rotation

Далее необходимо максимальный размер в килобайтах

Особенности работы почты на VPS с панелью Plesk

Если почта для перенесенных доменов обслуживается не на VPS, то необходимо отключить услугу «Почта» для данных доменов, для нормальной отправки почтовых сообщений скриптами на VPS.

Для этого необходимо зайти в меню: Domains > *Домен* > Mail > Disable