Добрый день.
Осуществил переезд с сервера на сервер такими средствами:
1. Дамп базы( 9 ГБ)
2. Заброс в архив всей moodledata
3. Копирование на новый сервер и распаковка.
4. В конфиг php dbname = 'moodle'; на dbname = 'moodle1';(так на разворот дампа был в новую базу)
Все заработало, все хорошо, но не грузятся картинки.
Почитал сей форум и нашел инфу, что такое возможно, если на серверах параметр $CFG->wwwroot разный и для устранение проблемы нужно всего - то открыть базу текстовым редактором и исправить параметр.
Тектовый редактор 9 гб файл открыть не может.
Где искать этот параметр, если смогу все таки его открыть?
Переезд с сервера на сервер
Number of replies: 13Re: Переезд с сервера на сервер
На будущее - для этого есть sed . Сам файл менять не нужно. просто при восстановлении на ходу менять.
cat database.sql | sed -e 's,oldwwwroot,newwwwrot,g' | mysql ...
Если вы уже залили, то в админских плагинах есть замена в БД admin/tool/replace/index.php
cat database.sql | sed -e 's,oldwwwroot,newwwwrot,g' | mysql ...
Если вы уже залили, то в админских плагинах есть замена в БД admin/tool/replace/index.php
Re: Переезд с сервера на сервер
Опция крутая, но почему то не работает.
Администрирование\Не поддерживается\Поиск и замена в БД - находится в категории неподдерживаемых
Если подставить ссыль, то на страницу переходит, скрипт начинает выполняться, но на половине , примерно, страница зависает и все.
При повторном запросе, начинает изменять те же параметры.
Версия Мудла 3.8.6+
Администрирование\Не поддерживается\Поиск и замена в БД - находится в категории неподдерживаемых
Если подставить ссыль, то на страницу переходит, скрипт начинает выполняться, но на половине , примерно, страница зависает и все.
При повторном запросе, начинает изменять те же параметры.
Версия Мудла 3.8.6+
Re: Переезд с сервера на сервер
"не поддерживается" значит, что жалобы на работу этого модуля не принимаются на баг-трекер moodle. Это не значит, что он не работает.
Лучший вариант - Вариант сделать дамп, исправить его sed и залить обратно. Это лучше, так как скрипт "Поиск и замена в БД" обрабатывает только определенный список колонок, в которых, по его мнению и могут быть ссылки на рисунки.
Вариант со скриптом у вас через веб, естественно, не отработает до конца и отлетит по таймауту, потому что у вас большой объем базы. Есть вариант этого скрипта для командной строки, воспользуйтесь им. И все операции по обслуживанию moodle (в том числе обновления) в вашем случае уже нужно делать только через командную строку - там нет ограничения на время выполнения
Вариант со скриптом у вас через веб, естественно, не отработает до конца и отлетит по таймауту, потому что у вас большой объем базы. Есть вариант этого скрипта для командной строки, воспользуйтесь им. И все операции по обслуживанию moodle (в том числе обновления) в вашем случае уже нужно делать только через командную строку - там нет ограничения на время выполнения
Re: Переезд с сервера на сервер
Попробовал с помощью sed : все восстановилось, но картинки все равно не грузятся.
Re: Переезд с сервера на сервер
А папки со старыми кешами удалили cache, localcache ? Я при переносе оставлял только filedir. В базе ничего не менял.
Права надо в первую очередь проверить к файловой системе и у пользователя базы данных.
Еще посмотрите нет ли опции $CFG->cachetype=memcached и двухуровневой конфигурации нового веб сервера
Права надо в первую очередь проверить к файловой системе и у пользователя базы данных.
Еще посмотрите нет ли опции $CFG->cachetype=memcached и двухуровневой конфигурации нового веб сервера
Re: Переезд с сервера на сервер
Папки конечно же снес, так как без этой процедуры не было нормального старта.
Права на папки 770 и 666 на файлы
такой опции нет.
Но заметил вот что: на старом сервере в конфигах было
$CFG->dataroot = '/var/moodledata';
а на новом
$CFG->dataroot = '/home/moodledata';
То есть директория для даты разная. А значит через sed тоже надо замену параметров делать в базе?
Права на папки 770 и 666 на файлы
такой опции нет.
Но заметил вот что: на старом сервере в конфигах было
$CFG->dataroot = '/var/moodledata';
а на новом
$CFG->dataroot = '/home/moodledata';
То есть директория для даты разная. А значит через sed тоже надо замену параметров делать в базе?
Re: Переезд с сервера на сервер
"Права на папки 770 и 666 на файлы..." - не верно, должно быть 777 (Указано в разделе "Create the (moodledata) data directory" в инструкции https://docs.moodle.org/38/en/Installing_Moodle)
Ещё обратите внимание на раздел "Securing moodledata in a web directory" инструкции https://docs.moodle.org/38/en/Installing_Moodle
В таблицах БД moodle, проверьте через процедуру поиска наличие записей имеющих абсолютный путь "/var/moodledata", если таковы будут найдены, тогда их нужно будет изменить на "/home/moodledata"
Ещё обратите внимание на раздел "Securing moodledata in a web directory" инструкции https://docs.moodle.org/38/en/Installing_Moodle
В таблицах БД moodle, проверьте через процедуру поиска наличие записей имеющих абсолютный путь "/var/moodledata", если таковы будут найдены, тогда их нужно будет изменить на "/home/moodledata"
Re: Переезд с сервера на сервер
"В таблицах БД moodle, проверьте через процедуру поиска наличие записей имеющих абсолютный путь "/var/moodledata", если таковы будут найдены, тогда их нужно будет изменить на "/home/moodledata""
Не подскажите как это сделать? у Марии нет интерфейса, максимум, что я в ней могу - это выбрать базу и посмотреть в ней таблицы
Не подскажите как это сделать? у Марии нет интерфейса, максимум, что я в ней могу - это выбрать базу и посмотреть в ней таблицы
Re: Переезд с сервера на сервер
grep-ом по дампу базы пройдитесь.
Сколько раз переносил moodle, но ни разу не приходилось менять путь к dataroot.
Посмотрел текущий дамп - там абсолютные пути только к geoip и models
Я изучал вопрос смены dataroot. В базе менять ничего не нужно. Только в конфиге.
Правда есть другая засада - если начать настраивать кеширование, то там есть абсолютные пути к кешу. Вот их нужно исправлять в случае перенноса. Эти настройки хранятся не в базе, а в файле moodledata/muc/config.php.
Еще есть проблема - это использование sendfile ($CFG->xsendfilealiases) . Для nginx нужно править пути в конфиге.
Сколько раз переносил moodle, но ни разу не приходилось менять путь к dataroot.
Посмотрел текущий дамп - там абсолютные пути только к geoip и models
Я изучал вопрос смены dataroot. В базе менять ничего не нужно. Только в конфиге.
Правда есть другая засада - если начать настраивать кеширование, то там есть абсолютные пути к кешу. Вот их нужно исправлять в случае перенноса. Эти настройки хранятся не в базе, а в файле moodledata/muc/config.php.
Еще есть проблема - это использование sendfile ($CFG->xsendfilealiases) . Для nginx нужно править пути в конфиге.
Re: Переезд с сервера на сервер
Права поправил, так же через опцию
admin/tool/replace/index.php
удалось поправить урл и абсолютный путь
При заходе на страницу с картинкой идет бесконечная ее загрузка, а после краш картинки
Но если загрузить бэкап mbz, то они грузятся без проблем. Значит по логике проблем с правами нет.
admin/tool/replace/index.php
удалось поправить урл и абсолютный путь
При заходе на страницу с картинкой идет бесконечная ее загрузка, а после краш картинки
Но если загрузить бэкап mbz, то они грузятся без проблем. Значит по логике проблем с правами нет.
Re: Переезд с сервера на сервер
При заходе на страницу с картинкой идет бесконечная ее загрузка, а после краш картинки
Откройте для себя консоль браузера - это очень полезная вещь для поиска ошибок.
Откройте консоль браузера (в ff и chrome они точно есть), выберите Console или Network, обновите проблемную страницу. Ошибки которые вы увидите в этих двух разделах должны подсказать причину проблемы.
Откройте для себя консоль браузера - это очень полезная вещь для поиска ошибок.
Откройте консоль браузера (в ff и chrome они точно есть), выберите Console или Network, обновите проблемную страницу. Ошибки которые вы увидите в этих двух разделах должны подсказать причину проблемы.
Для борьбы с ошибками есть логи БД и веб-сервера, но для этого к ним нужен доступ и не все ошибки там появляются (ajax отключает логирование ошибок)
Re: Переезд с сервера на сервер
Наоборот на проблему с правами похоже. При разворачивании архива создаются файлы с нужными правами от пользователя веб сервера и все работает. Может не рекурсивно права применяли или владелец неправильный ? С правами 770 и владельцем файлов отличным от пользователя веб сервера как раз ваша ситуация может быть.
Re: Переезд с сервера на сервер
Можете по каждому пункту алгоритм написать, краткий. Думаю не мне одному полезно будет.
Сенк
Сенк