Перенос сайта на VPS может показаться сложной задачей, но при правильной последовательности действий это можно сделать самостоятельно. В этой статье мы пошагово рассмотрим, как перенести сайт с виртуального хостинга на 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 позволяет легко администрировать и масштабировать сайт в дальнейшем.