Перенос сайта на VPS может показаться сложной задачей, но при правильной последовательности действий это можно сделать самостоятельно. В этой статье мы пошагово рассмотрим, как перенести сайт с виртуального хостинга на VPS, используя стек LAMP.

перенос сайта на VPS с использованием LAMP

Развёртывание LAMP на сервере

Для начала нужно установить стек LAMP на ваш VPS. Он включает Linux, Apache, MySQL и PHP.

Убедитесь, что сервер обновлён:

sudo apt update && sudo apt upgrade

 

Установите Apache:

 

sudo apt install apache2

 

Далее — установка MySQL:

 

sudo apt install mysql-server

 

И в завершение — PHP:

 

sudo apt install php libapache2-mod-php php-mysql

После установки проверьте, работает ли Apache, открыв IP-адрес вашего сервера в браузере. Если видна стартовая страница Apache — всё успешно.

Экспорт базы данных для переноса

Следующий шаг — экспортировать базу данных сайта с текущего хостинга. Это можно сделать через phpMyAdmin или в командной строке.

Пример команды для создания резервной копии базы данных:

mysqldump -u пользователь -p база_данных > backup.sql

Сохраните этот файл. Он понадобится для загрузки на новый сервер.

 

Передача файлов сайта на новый сервер

Файлы сайта находятся в директории, которая обычно называется public_html или www. Перенесите их на VPS через файловый менеджер, SCP или FTP.

 

Читайте также: Как подключиться к серверу по FTP/SFTP через Total Commander

 

Пример команды с использованием SCP:

scp -r /локальный_путь пользователь@vps:/var/www/ваш_сайт

Также можно использовать такие инструменты, как FileZilla — это удобный файловый менеджер с графическим интерфейсом.

Конфигурация виртуального хоста на VPS

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

sudo nano /etc/apache2/sites-available/ваш_сайт.conf

Пример конфигурации:

<VirtualHost *:80>

    ServerName ваш_домен

    DocumentRoot /var/www/ваш_сайт

 

    <Directory /var/www/ваш_сайт>

        AllowOverride All

        Require all granted

    </Directory>

 

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

 

Активируйте виртуальный хост и перезапустите Apache:

sudo a2ensite ваш_сайт.conf

sudo systemctl reload apache2

Настройка прав доступа для корректной работы

Проверьте, чтобы директория сайта и все файлы имели корректные права. Владелец должен быть www-data.

 

sudo chown -R www-data:www-data /var/www/ваш_сайт

sudo chmod -R 755 /var/www/ваш_сайт

Эти действия позволят серверу читать и исполнять файлы без ошибок.

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

На VPS нужно создать новую базу данных, куда будет импортирован backup. Используйте MySQL:

sudo mysql -u root -p

CREATE DATABASE база_данных;

CREATE USER ‘пользователь‘@’localhost’ IDENTIFIED BY ‘пароль‘;

GRANT ALL PRIVILEGES ON база_данных.* TO ‘пользователь‘@’localhost’;

FLUSH PRIVILEGES;

EXIT;

Затем импортируйте резервную копию:

mysql -u пользователь -p база_данных < backup.sql

 

Правки в конфигурации сайта после переноса

После загрузки файлов и базы данных проверьте конфигурационные файлы сайта. Например, в CMS WordPress это wp-config.php, в других движках — свои настройки.

Обновите данные подключения к MySQL:

define(‘DB_NAME’, ‘база_данных‘);

define(‘DB_USER’, ‘пользователь‘);

define(‘DB_PASSWORD’, ‘пароль‘);

define(‘DB_HOST’, ‘localhost’);

Убедитесь, что пути к директориям и файлам соответствуют новой структуре.

Тестирование работы сайта после миграции

Перед тем как обновить DNS-запись, важно убедиться, что сайт корректно работает на новом сервере. Добавьте в файл hosts на своём ПК временную строку:

 

IP_VPS ваш_домен

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

Обновление DNS: изменение A-записи домена

Когда всё протестировано, обновите A-запись у регистратора домена, чтобы она указывала на IP вашего VPS.

Пример:

@   A   IP_VPS

www A   IP_VPS

Изменения вступают в силу в течение 1–24 часов. В это время сайт может быть доступен как с нового, так и с предыдущего сервера.

 

Подробнее: Выбор и настройка DNS-серверов для доменного имени

 

Своевременно делайте резервные копии, следите за безопасностью и обновлениями. Использование LAMP позволяет легко администрировать и масштабировать сайт в дальнейшем.