Перенос сайта joomla с virtuemart с локальной машины на linux хостинг

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

 

Создание аккаунтов
Нужно создать пользователя, который исопльзуется для подключения по ftp, создав идентичный логин и пароль.
Создём пользователя.
useradd -s /usr/bin/passwd -m -N имя_пользователя
Задём пароль.
passwd имя_пользователя


Перенос файлов
Для переноса файлов, необзодимо заархивировать директорию, в которой находится сайт на исходном сервере.
tar -czvf /путь_к_архиву/имя_архива.tgz /полный_путь_к_исходной_директории_сайта/
Пр.:
tar -czvf /home/byiigor/site.tgz /var/www/

Копируем архив на конечный сервер.
scp имя_пользователя@адрес_или_ip_адрес_исходного_сервера:/home/имя_пользователя/имя_архива.tgz /полный_путь_к_конечной_директории_сайта
Пр.:
scp Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. /home/byiigor/site.tgz /home/byiigor/

Я предлагаю следющую структуру для директорий:
Сайт размещается в домашней директории пользователя в подкаталоге ~/www
файлы сайта размещаются в директории ~/www/htdocs
скрипты cgi размещаются в директории ~/www/cgi-bin
временные файлы размещаются в директории ~/www/tmp
логи размещаются в директории ~/www/log
Создаём указанные директории.
mkdir ~/www
mkdir ~/www/htdocs
mkdir ~/www/cgi-bin
mkdir ~/www/tmp
mkdir ~/www/log

Разархивируем архив на конечном сервере в директорию, в которой будет размещаться сайт.
tar -xvf /путь_к_архиву -C /полный_путь_к_директории
Пр.:
tar -xvf /home/byiigor/site.tgz -C /var/www/

Теперь в директории /var/www появиться поддиректория c извлечёнными файлами. Т.к. поддиректория имеет полный путь к файлам сайта, как на исходном сервере, то необходимо перенести файлы поддиректории сайта в конечную директорию.
mv -v /var/www/var/www/* /var/www
И удалить поддиректорию.
rm -R /var/www/var/

Теперь, необходимо изменить права доступа к файлам и дерктории.
chmod -R 775 /var/www/
И владельца файлов и диркетории. Группа у владельца файлов и директории должна быть такойже, как у группы от которой запускается веб-сервер (www-data).
chown -R byiigor:www-data /var/www/

Подправим конфигурационные файлы Joomla.
nano -u /var/www/configuration.php
Строки:
var $ftp_user = 'Имя_пользователя_ftp';
var $ftp_pass = 'Пароль';
var $user = 'Имя_пользователя_БД';
var $db = 'Имя_БД';
var $password = 'Пароль_БД';
var $live_site = 'http://Имя_сайта';

И обязательно конфигурационные файлы VirtueMart.
nano -u /var/www/administrator/components/com_virtuemart/virtuemart.cfg.php
Строки:
// these path and url definitions here are based on the Joomla! Configuration
//define( 'URL', 'http://Имя_сайта/' );
//define( 'SECUREURL', 'http://Имя_сайта/' );

define( 'URL', $mosConfig_live_site.$app );
define( 'SECUREURL', $mosConfig_live_site.$app );

Перенос базы
На исходном сервере запускаем команду mysqldump, и указываем базу данных для бэкапа (site) и направляем вывод в gzip для архивации.
mysqldump -uПользователь -pПароль БД | gzip -c > /полный_путь_к_архиву
Пр:
mysqldump -uroot -p111 site | gzip -c > /home/byiigor/site.sql.gz

Копируем архив с базой на конечный сервер.
scp имя_пользователя@адрес_или_ip_адрес_исходного_сервера:/home/имя_пользователя/имя_архива.gz/полный_путь_к_конечной_директории_сайта
Пр.:
scp Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. /home/byiigor/site.gz /home/byiigor/

Разархивируем бэкап базы.
gunzip /полный_путь_к_архиву
Пр.:
gunzip /home/byiigor/site.sql.gz
В результате, разархивированный бэкап с расширением .sql появится в тойже директории, что и файл архива. Исходный файл архива удалится.

Создаём базу данных на конечном сервере, в котору затем будем восстанавливать исходную БД.
mysql -uПользователь -pПароль
Выполняем sql запрос.
CREATE DATABASE Имя_БД;
Пр.:
CREATE DATABASE site;

Восстанавливаем базу данных из архива.
mysql -uПользователь -pПароль БД < /полный_путь_к_бэкапу
Пр.:
mysql -uroot -p111 site < /home/byiigor/site.sql

На этом перенос закончен.

 

Весёлых танцев с бубном!

Комментарии:

Разработано для Disqus