Перенос сайта на ubuntu server

Обновлено: 04.07.2024

В этой статье мы расскажем, как перенести сайт с виртуального хостинга на VPS.

В качестве примера рассмотрим перенос простого сайта под управлением CMS WordPress на виртуальный сервер с ОС Ubuntu 18.04 и дополнительным ПО — в данном случае речь идет о т.н. LAMP-стеке.

  • Установка LAMP
  • Создание резервной копии базы данных
  • Копирование файлов сайта на VPS
  • Настройка виртуального хоста
  • Настройка прав доступа
  • Создание базы данных
  • Настройка конфигурационного файла сайта
  • Проверка результата переноса
  • Изменение А-записи домена

Установка LAMP

Стек LAMP — это набор программного обеспечения с открытым исходным кодом, включающий в себя операционную систему Linux, веб-сервер Apache, базу данных MySQL и интерпретатор PHP.

При создании сервера, а также при переустановке ОС на существующем сервере из нашей панели управления доступна установка LAMP в автоматическом режиме. После установки на почту владельца аккаунта направляется письмо с необходимыми для первоначальной настройки данными. Если при нажатии на кнопку «Открыть виртуальный хост» в письме вы увидите приветственную страницу веб-сервера — это значит, что установка ПО была успешно завершена и можно приступить к дальнейшей настройке сервера.



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

Создание резервной копии базы данных

Для выгрузки резервной копии базы данных легко использовать раздел BackUp в панели управления виртуальным хостингом. Подробнее о создании резервной копии можно узнать в разделе «Архивирование текущих данных» руководства по разделу BackUp. Узнать, с какой базой данных работает ваш сайт, вы можете из конфигурационного файла сайта.


Копирование файлов сайта на VPS

Для копирования файлов сайта удобно использовать Файловый менеджер.

1. В разделе VPS выберите виртуальный сервер, на который намерены осуществить перенос сайта, и откройте файловый менеджер, нажав на соответствующую иконку меню.



2. Нажмите на кнопку «Локальный сервер» в верхней панели файлового менеджера для перехода к домашней директории виртуального хостинга в активной панели.

3. Во второй панели перейдите в директорию

— в ней временно разместим файл резервной копии базы данных.

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

) и подтвердите действие.


В случае, если сайт расположен на другом аккаунте, вы можете подключится к этому аккаунту по FTP/SFTP в одной из панелей Файлового менеджера. Для этого необходимо:


  • Нажать на кнопку «Удаленный сервер» в верхней панели меню Файлового менеджера
  • Создать новое соединение в открывшемся окне. Для настройки соединения необходимо указать:

— Тип соединения — при выборе SFTP убедитесь, что для аккаунта включен SSH-доступ.

— Технический домен в качестве имени сервера — он имеет вид ваш_логин.beget.tech.

— Порт — 21 для FTP, 22 для SFTP.

— Логин аккаунта в качестве имени пользователя.

— Пароль к аккаунту.


5. После перемещения архив можно распаковать также с помощью инструментов файлового менеджера.


6. Далее необходимо скопировать файлы и папки сайта на VPS. В нашем примере файлы сайта на виртуальном хостинге размещены в директории

— точное имя директории, к которой прилинкован домен, можно узнать в разделе «Сайты» панели управления виртуальным хостингом.

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

Создадим новую директорию для файлов переносимого сайта на виртуальном сервере

и скопируем в нее файлы сайта с виртуального хостинга.



Настройка виртуального хоста

1. Для того, чтобы веб-сервер корректно определял имя сервера по-умолчанию, рекомендуется добавить директиву

в глобальную конфигурацию веб-сервера. Для этого откройте файл

в режиме правки:


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

2. Далее требуется настроить виртуальный хост для нового сайта. Конфигурация виртуального хоста веб-сервера, созданного по-умолчанию, располагается в файле

Перенесем эту конфигурацию в директорию

Для редактирования конфигурации откроем файл в режиме правки.


3. В конфигурации виртуального хоста необходимо указать домен вашего сайта в качестве значения ServerName и ServerAlias

5. Для разрешения файлов

необходимо установить директиву

, отвечающего за корневую директорию сайта. Для этого добавьте в конец файла следующие строки:

6. После чего сохраните и закройте файл.

Пример готового виртуального хоста:

Для дальнейшей настройки потребуется подключиться к серверу по SSH — рекомендуем использовать для этого удобный вам SSH-клиент (например, Putty в Windows) или стандартный терминал в Linux или MacOS.

Если вы добавили SSH-ключ для авторизации без ввода пароля, достаточно набрать в терминале:

— IP-адрес вашего сервера, который указан на главной странице панели управления VPS:


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

Если нет возможности воспользоваться SSH-клиентом, вы можете открыть терминал в нашей панели управления — необходимо выполнить вход на сервер под пользователем

с паролем, установленным при создании сервера.


1. Для использования директив перенаправления в

активируем модуль веб-сервера

. Для этого в консоли необходимо ввести команду:

2. Для того, чтобы изменения вступили в силу потребуется перезапустить веб-сервер:

Настройка прав доступа

1. Для корректной работы веб-сервера необходимо изменить владельца файлов в корневой директории сайта на

— это пользователь, под которым запускается и работает веб-сервер Apache.

2. Также необходимо задать корректные права для файлов и директорий сайта:

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

1. Для создания новой базы данных для сайта зайдем в MySQL, набрав в консоли команду:

2. Создадим базу данных с названием wordpress (можно использовать удобное вам название) командой:

3. Создадим нового пользователя с именем wp_user:

И назначим права для доступа нового пользователя wp_user к базе данных wordpress

4. Применим изменения:

5. Импортируем файл резервной копии базы данных переносимого сайта в созданную нами новую базу (необходимо указывать абсолютный путь к файлу резервной копии):

6. После успешного импорта можно выйти из MySQL:

7. В завершение необходимо удалить файл резервной копии базы данных:

Настройка конфигурационного файла сайта

1. Для этого откроем файл в режиме правки, используя файловый менеджер. В нашем примере CMS WordPress — конфигурационный файл имеет имя


2. В файле необходимо заменить значения констант

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


3. После этого сохраните изменения и закройте файл.

Проверка результата переноса

После переноса сайта рекомендуем проверить его работоспособность при открытии с виртуального сервера. Сделать это можно путем добавления соответствия IP-адреса VPS и домена сайта в файл hosts на вашем локальном компьютере.


Изменение А-записи домена

Если сайт работает корректно — можно изменить DNS-записи домена вашего сайта, указав в качестве А-записи IP-адрес вашего виртуального сервера. После вступления изменений в силу (это занимает до 15 минут) сайт по вашему домену будет открываться с VPS.

В этой статье мы расскажем, как перенести сайт с виртуального хостинга на VPS.

В качестве примера рассмотрим перенос простого сайта под управлением CMS WordPress на виртуальный сервер с ОС Ubuntu 18.04 и дополнительным ПО — в данном случае речь идет о т.н. LAMP-стеке.

Установка LAMP

Стек LAMP — это набор программного обеспечения с открытым исходным кодом, включающий в себя операционную систему Linux, веб-сервер Apache, базу данных MySQL и интерпретатор PHP.

При создании сервера, а также при переустановке ОС на существующем сервере из нашей панели управления доступна установка LAMP в автоматическом режиме. После установки на почту владельца аккаунта направляется письмо с необходимыми для первоначальной настройки данными. Если при нажатии на кнопку «Открыть виртуальный хост» в письме вы увидите приветственную страницу веб-сервера — это значит, что установка ПО была успешно завершена и можно приступить к дальнейшей настройке сервера.



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

Создание резервной копии базы данных

Для выгрузки резервной копии базы данных легко использовать раздел BackUp в панели управления виртуальным хостингом. Подробнее о создании резервной копии можно узнать в разделе «Архивирование текущих данных» нашего руководства по разделу BackUp. Узнать, с какой базой данных работает ваш сайт, вы можете из конфигурационного файла сайта.

Список имен конфигурационных файлов для популярных CMS


Копирование файлов сайта на VPS

Для копирования файлов сайта удобно использовать Файловый менеджер.

  1. В разделе VPS выберите виртуальный сервер, на который намерены осуществить перенос сайта, и откройте файловый менеджер, нажав на соответствующую иконку меню.



  1. Нажмите на кнопку «Локальный сервер» в верхней панели файлового менеджера для перехода к домашней директории виртуального хостинга в активной панели.
  2. Во второй панели перейдите в директорию /var/www/ — в ней временно разместим файл резервной копии базы данных.
  3. Найдите в корне домашней директории виртуального хостинга предварительно созданный файл резервной копии базы данных, выберите в контекстном меню опцию «Переместить» (или выделите файл и нажмите комбинацию Shift + 5 ) и подтвердите действие.


В случае, если сайт расположен на другом аккаунте, вы можете подключится к этому аккаунту по FTP/SFTP в одной из панелей Файлового менеджера. Для этого необходимо:

  • Нажать на кнопку «Удаленный сервер» в верхней панели меню Файлового менеджера


  • Создать новое соединение в открывшемся окне. Для настройки соединения необходимо указать:
    — Тип соединения — при выборе SFTP убедитесь, что для аккаунта включен SSH-доступ.
    — Технический домен в качестве имени сервера — он имеет вид ваш_логин.beget.tech.
    — Порт — 21 для FTP, 22 для SFTP.
    — Логин аккаунта в качестве имени пользователя.
    — Пароль к аккаунту.
  • После этого нажмите «Сохранить».
  • Для установки соединения дважды кликните в строке с именем добавленного подключения.


  1. После перемещения архив можно распаковать также с помощью инструментов файлового менеджера.


  1. Далее необходимо скопировать файлы и папки сайта на VPS. В нашем примере файлы сайта на виртуальном хостинге размещены в директории



Настройка виртуального хоста

  1. Для того, чтобы веб-сервер корректно определял имя сервера по-умолчанию, рекомендуется добавить директиву ServerName в глобальную конфигурацию веб-сервера. Для этого откройте файл /etc/apache2/apache2.conf в режиме правки:


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

  1. Далее требуется настроить виртуальный хост для нового сайта. Конфигурация виртуального хоста веб-сервера, созданного по-умолчанию, располагается в файле /etc/apache2/sites-available/000-default.conf



Для редактирования конфигурации откроем файл в режиме правки.


  1. В конфигурации виртуального хоста необходимо указать домен вашего сайта в качестве значения ServerName и ServerAlias
  1. Для разрешения файлов .htaccess необходимо установить директиву AllowOverride внутри блока Directory , отвечающего за корневую директорию сайта. Для этого добавьте в конец файла следующие строки:

Пример готового виртуального хоста:

Для дальнейшей настройки потребуется подключиться к серверу по SSH — рекомендуем использовать для этого удобный вам SSH-клиент (например, Putty в Windows) или стандартный терминал в Linux или MacOS.

Если вы добавили SSH-ключ для авторизации без ввода пароля, достаточно набрать в терминале:

где xxx.xxx.xxx.xxx — IP-адрес вашего сервера, который указан на главной странице панели управления VPS:


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

Если нет возможности воспользоваться SSH-клиентом, вы можете открыть терминал в нашей панели управления — необходимо выполнить вход на сервер под пользователем root с паролем, установленным при создании сервера.


  1. Для использования директив перенаправления в .htaccess активируем модуль веб-сервера mod_rewrite . Для этого в консоли необходимо ввести команду:
  1. Для того, чтобы изменения вступили в силу потребуется перезапустить веб-сервер:

Настройка прав доступа

  1. Для корректной работы веб-сервера необходимо изменить владельца файлов в корневой директории сайта на www-data — это пользователь, под которым запускается и работает веб-сервер Apache.
  1. Также необходимо задать корректные права для файлов и директорий сайта:

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

  1. Для создания новой базы данных для сайта зайдем в MySQL, набрав в консоли команду:
  1. Создадим базу данных с названием wordpress (можно использовать удобное вам название) командой:
  1. Создадим нового пользователя с именем wp_user :

И назначим права для доступа нового пользователя wp_user к базе данных wordpress

  1. Импортируем файл резервной копии базы данных переносимого сайта в созданную нами новую базу (необходимо указывать абсолютный путь к файлу резервной копии):
  1. После успешного импорта можно выйти из MySQL:
  1. В завершение необходимо удалить файл резервной копии базы данных:

Настройка конфигурационного файла сайта

  1. Для этого откроем файл в режиме правки, используя файловый менеджер. В нашем примере CMS WordPress — конфигурационный файл имеет имя wp-config.php


  1. В файле необходимо заменить значения констант DB_NAME , DB_USER и DB_PASSWORD на те, которые мы указали при создании базы данных и пользователя базы данных.


  1. После этого сохраните изменения и закройте файл.

Проверка результата переноса

После переноса сайта рекомендуем проверить его работоспособность при открытии с виртуального сервера. Сделать это можно путем добавления соответствия IP-адреса VPS и домена сайта в файл hosts на вашем локальном компьютере.


Изменение А-записи домена

Если сайт работает корректно — можно изменить DNS-записи домена вашего сайта, указав в качестве А-записи IP-адрес вашего виртуального сервера. После вступления изменений в силу (это занимает до 15 минут) сайт по вашему домену будет открываться с VPS.

Настройка веб-сервера на базе стека LEMP в Ubuntu Server 14.04 LTS. Часть 8. Перенос с другого хостинга сайта Wordpress

В этой части мы рассмотрим порядок переноса со старого хостинга на наш веб-сервер на стеке LEMP сайта на движке Wordpress. Так как этот сайт потребует для своей работы базу данных MySQL, первым делом выполним восстановление данных в ранее созданную пустую БД из файла дампа (*.sql) сделанного на старом хостинге.

Восстанавление базы данных MySQL

Произведём восстановление резервной копии (дамп БД в виде sql-файла) в существующую пустую БД командой вида:

Как наверное понятно, мы выполняем восстановление базы данных не от имени mysql-пользователя root, а от имени mysql-пользователя, которому мы ранее дали права к этой БД, так как его прав для этой операции вполне достаточно.

Настройка виртуального хоста Nginx

Прежде чем, копировать со старого хостинга файлы сайта Wordpress, выполним настроку виртального хоста nginx таким образом, чтобы сузить права доступа к некоторым файлам, специфичным для Wordpress:

Пример настроенного конфигурационного файла виртуального хоста для Wordpress:

После изменения конфигурации виртуального хоста перезапустим nginx:

Копирование файлов Wordpress на веб-сервер

C помощью утилиты scp копируем со старого хостинга каталог с архивом сайта Wordpress в домашний каталог текущего пользователя на нашем веб-сервере. Затем копируем архив в ранее поготовленную корневую папку виртуального хоста nginx, переходим в этот каталог и выполняем распаковку архива с последующим его обязательным удалением.

Настройка прав доступа к файлам Wordpress

Теперь нам необходимо настроить разрешения на доступ к файлам Wordpress на уровне файловой системы.

Установим рекурсивно в качестве владельца для всех файлов и каталогов сайта Wordpress пользователя, от имени которого работает пул php-fpm, обслуживающий виртуальный хост сайта (этого пользователя и соответсвующую ему групп мы задали ранее):

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

За счёт вызова sudo для каждого файла/каталога выполнение команды может занять продолжительное время.

По аналогии назначим для всех файлов основную группу пользователя, от имени которого работает пул php-fpm:

Рекурсивно установим права на все файлы и каталоги сайта c правом для записи только для владельца (пользователя, от имени которого работает пул php-fpm):

Подключение скриптов Wordpress к БД MySQL

Завершающим действием будет настройка одного из конфигурационных скриптов Wordpress (wp-config.php) для возможности подключения к ранее восстановленной базе данных MySQL:

Изменим в файле значения переменных DB_NAME,DB_USER,DB_PASSWORD и DB_HOSТ:

На этом всё.
Осталось только проверить работу сайта через веб-браузер.

Дополнительные источники информации


Автор первичной редакции:
Алексей Максимов
Время публикации: 29.03.2016 12:07

Favorite

Добавить в избранное (2 оценок, среднее: 5,00 из 5)

Перенос сайта WordPress на новый виртуальный сервер

Подготовка

Чтобы свести к минимуму время переноса, сначала вам нужно будет понизить TTL (Time To Live) значение для домена, который вы будете переносить. Затем войдите на свой новый виртуальный сервер и установите все необходимые услуги (MySQL, PHP, Nginx и др.). Мы не будем вдаваться в подробности в этой части, потому что вы можете проверить наш отличный учебник, где вы найдете шаг за шагом инструкцию о том, как настроить MySQL, PHP-FPM и Nginx на сервере Debian / Ubuntu.

Миграция

После того, как VPS будет настроен, следующий шаг, это перенос веб-сайта с данными и конфигурациями к нему.

Выполните следующие действия на новом виртуальном сервере

Создайте новую базу данных MySQL (желательно с тем же именем пользователя и паролем, как вы используете на вашем старом сервере)

Создайте корневой каталог для веб-сайта

Выполните следующие действия на старом виртуальном сервере

Создайте mysqldump вашей базы данных,

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

Возвратитесь на новый виртуальный сервер:

Импортируйте файл дампа MySQL:

Включите свой веб-сайт:

Если вы получаете какие-либо ошибки, проверьте, правильно настроен PHP-FPM, как на старом сервере.

Тестирование

Теперь, когда ваш сервер настроен это время, чтобы проверить, правильно ли она работает. На локальном компьютере Ubuntu, откройте файл /etc/hosts и добавьте следующую строку:

Перенаправление (Необязательно)

На вашем старом виртуальном сервере откройте блок Nginx сервера (виртуального хоста) и отредактировать следующим образом:

Не забудьте перезапустить Nginx для того, чтобы изменения вступили в силу.

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

Перенос сайта WordPress на новый виртуальный сервер

PS . Если вам понравился этот пост, пожалуйста, поделитесь им с друзьями в социальных сетях с помощью кнопок на левой стороне поста или просто оставьте комментарий ниже. Заранее благодарю.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: