Backup, полное копирование всего портала на другой сервер
Re: Backup, полное копирование всего портала на другой сервер
Re: Backup, полное копирование всего портала на другой сервер
А так: дамп БД, перенос полностью каталога moodledata и причесывание на новом месте (проблемы при изменении доменного имени и т.п.)
Re: Backup, полное копирование всего портала на другой сервер
Re: Backup, полное копирование всего портала на другой сервер
Вот последовательность действий которая сработала.
- Переводим мудл в режим технического обслуживания, чтобы пользователи не мешали
- Делаем дамп базы данных
>mysqldump -h localhost -u [имя_пользователя] -p [База]>[путь к дампу]/base.sql
- Делаем архив папки moodledata, т.к. все что нужно в ней
tar -cvf /home/user/moodledata.tar moodledata/* - копируем дамп и архив на новый сервер
wget -P [путь куда качаем] --user=[имя пользователя] --password=[пароль пользователя] ftp://[старый хостинг]/moodledata.tar ftp://[старый хостинг]/base.sql - Создаем новые базы данных на новом сервере, например new_moodle1 и new_moodle2
- загружаем новую версию moodle
- устанавливаем moodle с нуля на новом сервере в качестве базы данных указываем new_moodle1
- Распаковываем архив moodledata.tar в папку moodledata
tar -xvf moodledata.tar [путь к папке]/moodledata - восстанавливаем дамп базы данных в пустую базу данных
mysql -h localhost -u [имя_пользователя] -p new_moodle2<base.sql - правим файл config.php указываем базу new_moodle2 вместо new_moodle1, а также актуальное для новой базы имя пользователя и пароль
- перезапускаем сервер
- загружаем страничку, при этом moodle обновит базу данных и выполнив обновление и проверки сделает портал рабочим.
- все что написано в скобках нужно заменить своими данными.
- при создании и распаковке архивов, восстановлении дампа базы нужно прописывать пути к файлам (архивам, дампу и т.д.)
- переход был с Moodle 1.9.2+ на 1.9.8+
- переустанавливали Moodle потому что на разных хостингах файлы сайта хранятся в разных местах и если просто перенести папку moodle сайт может не заработать как надо.
Re: Backup, полное копирование всего портала на другой сервер
Такая последовательность сработает, если $CFG->wwwroot у них одинаковый.
Если разный - нужно открыть базу в текстовом редакторе и заменить старое имя хоста на новое. Если этого не сделать - все ссылки на изображения в ресурсах курса будут вести на старый сервер.
Re: Backup, полное копирование всего портала на другой сервер
сделал экспорт/импорт по Вашей инструкции, всё встало прекрасно за исключением базы (собственно моя проблемка которую и нужно решить). Сделал импорт всё в кракозябрах, в phpmyadmin переделал таблицу в utf8_general_ci, но всеравно часть базы в кракозябрах.
базу взял из бекапа хостера (masterhost) как они говорят он делает бекап в UTF-8. В чем проблема импорта тогда непонятно.
Re: Backup, полное копирование всего портала на другой сервер
Re: Backup, полное копирование всего портала на другой сервер
Re: Backup, полное копирование всего портала на другой сервер
Re: Backup, полное копирование всего портала на другой сервер
Re: Backup, полное копирование всего портала на другой сервер
Re: Backup, полное копирование всего портала на другой сервер
Re: Backup, полное копирование всего портала на другой сервер
Вам же уже предложили просто скопировать всю базу. Весь перенос таким образом сводится к копированию одной папки со старого места на новое.
Re: Backup, полное копирование всего портала на другой сервер
Просто скопировал всю папку с установленным moodle (1.8.3+) на диск D:\, т.е., та же буква, что и на оригинальном месте сервера-донора, изменил файл config.php ($CFG->wwwroot)
Курсы, что были от оригинального портала, естественно, были со ссылками на его url, т.е. не отображались. Поэтому их удалил и экспортом с оригинального через импорт залил на этот новый (сделал 1 пустой курс и из него восстанавливал закачанные zip-бакапы курсов оригинального сервера как новые курсы). Восстанавливалось вся структура категорий и находящихся в них курсах - как в оригинале. Но:
Проблема - при входе в курс путь его местонахождения (у всех восстановленных) - главная страница портала. Т.е., оригинальный путь курса по категориям пропал почему то
Re: Backup, полное копирование всего портала на другой сервер
Проблемы нет. Оказывается, так было и в оригинале.
Но, кстати, если кто в 1.8.3+ будет удалять конфигурационный файл (config.php), потом придется создавать системой установки его заново, то добавить курсы (как и выйти на высвечиваемые) невозможно
Re: Backup, полное копирование всего портала на другой сервер
В дистрибутиве есть файл config-dist.php... копируем его, переименовываем, вписываем вручную настройки и все...
Re: Backup, полное копирование всего портала на другой сервер
Re: Backup, полное копирование всего портала на другой сервер
Уточните, пожалуйста, механизм переноса всех курсов с сервера на сервер. Копирование директории Moodledata и дамп базы данных, БД из дампа импортирована на сервер. В файле config.php перенастроено подключение на базу. Ничего не вышло. Какие еще нужны манипуляции с БД, с файлами настроек? Может быть проблема связана с тем, что серверы имеют разные имена?
Re: Backup, полное копирование всего портала на другой сервер
Re: Backup, полное копирование всего портала на другой сервер
Вообще-то я передаю информацию через "вторые руки". Все описанные действия выполнял системный администратор. Ошибок никаких не выдается. Просто страница, где должны появиться курсы какой была, такой и осталась .
Re: Backup, полное копирование всего портала на другой сервер
Как раз вчера мне понадобилось перенести всю базу курсов с одной локальной машины на другую в полном объеме. Так как я все делаю методом тыка и являюсь наипростейшим пользователем, то и действия мои были просты:
- сначала с нуля проинсталлировала denwer, установила новый moodle с идентичным названием и так же на localhost.
- сохранила в отдельной папке новый файл config.php и папку usr.
- поменяла максимальный размер для загружаемых файлов (в php)
- заменила полностью папку moodle (www - потому как в прежней добавлены фильтры, модули, покопалась в стилях и прочее; moddledata), папку usr на соответствующие папки со старого компьютера.
- заменила файл config.php
Вроде все заработало и ссылки тоже.
Но чую, что все так красиво только на локальной машине. Видно какие-то сложности при таком методе переноса на сервер могут возникнуть?
Re: Backup, полное копирование всего портала на другой сервер
ТО есть надо:
1. Сделать бэкап (в архив) рабочей директории moodle
2/ Сделать бэкап (в архив)той части moodle , которая живет ниже public_html .
3. Сделать бэкап (в архив) базы mysql
4 Скопировать эти три файлика на новый сервер.
5. Развернуть базу из файла архива
6. Развернуть файлы архивов, сохранив структуру и расположен каталогов и проверив права доступа.
7. Отредактировать конфигурационные файлы для использования с новой базой данных и путями к каталогам.
8. Настроить крон итп
9. Возможно , настроить недостающие библиотеки. Скорректировать настройки нового сервера.
Я не верю во встроенный бэкап для переноса. Слепок живой системы должен работать лучше.
Для исправления большинства их них можно использовать replace.php, который живёт в админской папке, но некоторые их текстов храняться упакованными в структуры (кэш, в основном). Такоё кэш надо будет чистить как-то... Где-то периодически всплывают инструкции по этому поводу. Вероятно, в английской части docs.moodle.org про это можно найти.
Re: Backup, полное копирование всего портала на другой сервер
- Сделали дамп БД файлами *.sql (по частям, т.к. один файл сильно большой - порядка 200 Мб)
- Написали простенький скрипт на PHP, который находит часть строки и заменяет ее на то, что нужно. Запустили скрипт по этим файлам *.sql. К примеру - находим http://www.yousite.org.edu. 5 минут и все абсолютные ссылки заменены на нужные.
Re: Backup, полное копирование всего портала на другой сервер
////Написали простенький скрипт на PHP, который находит часть строки и заменяет ее на то, что нужно. Запустили скрипт по этим файлам *.sql. К примеру - находим http://www.yousite.org.edu. 5 минут и все абсолютные ссылки заменены на нужные.////
Я сделал еще проще:
1. экспортировал локальную БД;
2. в "Блокноте" открыл *.sql файл и "Правкой->Заменить все" поменял localhost на нужный мне домен;
3. импортировал измененный *.sql файл на сервер;
4. слил в нужное место на сервер локальную папку moodledata.
Кажись, все перенеслось один-в-один.
Re: Backup, полное копирование всего портала на другой сервер
Извините, размер файла не укажете?
Сколько по времени он у Вас открывался? И как долго замена происходила?
Скрипт использовали, т. к. я писал: "один файл сильно большой - порядка 200 Мб"
Вы пробовали такой файл блокнотом открыть на офисной машине?
Re: Backup, полное копирование всего портала на другой сервер
У меня более скромные размеры. А как Вы его заливали? У меня провайдер пишет на файл импорта: "Максимальный размер 32,768 КБ"...
///Вы пробовали такой файл блокнотом открыть на офисной машине?...///
Не... но 20 М открывается.
Если бы у меня был такой большой файл, я бы подумал как бы сделать импорт-экспорт БД по частям, например по 5-7 таблицам. Ведь не может же 200 М храниться в одной таблице. Хотя... Тогда Ваш скрипт будет просто незаменим.
Re: Backup, полное копирование всего портала на другой сервер
Выглядит это примерно так:
cat moodle1.sql | sed 's/ftip.nspu.net/sss.ftip.local/g' >moodle1.sql (1 адрес меняем на второй)
Re: Backup, полное копирование всего портала на другой сервер
Так вы только испортите файл ( т.к. shell сначала создаст файл ) !
точки в исходном имени лучше заэкранировать
sed 's/ftip\.nspu\.net/sss.ftip.local/g' moodle1.sql >moodle2.sql
Re: Backup, полное копирование всего портала на другой сервер
Но у меня ничего не портилось и все работало.
Re: Backup, полное копирование всего портала на другой сервер
Re: Backup, полное копирование всего портала на другой сервер
Конечно же они должны отличаться!