перенос Moodle 1.9.6 на другой сервер

Re: перенос Moodle 1.9.6 на другой сервер

от Ilya Fastenko -
Количество ответов: 0

Для корректного переноса системы с сервера на сервер необходимо учесть множество моментов, но на самом деле ничего сложного в этой операции нет.

Пошаговая инструкция:

  • На новом сервере должна быть создана база данных в той же кодировке, что и на предыдущем. Должен быть создан пользователь базы данных с полными правами к этой базе. Имя пользователя, пароль, база данных точно такие же как и на старом сервере, можно другие, но тогда еще потребуется править config.php
  • На старом сервере создаем дамп базы данных, проверяем, что все таблицы записались в файл.
  • На новом сервере импортируем дамп базы в базу данных.
  • Копируем каталог со скриптами на новый сервер в дирректорию, на которую настроен веб-сервер.
  • Копируем каталог с данными на новый сервер. К этому каталогу не должно быть доступа из веб.
  • В config.php изменяем wwwroot и dataroot, если требуется.
  • Проверяем права на каталоги со скриптами и с данными. Владельцем каталога с данными должен быть пользователь, от имени которого запущен веб-сервер. У этого пользователя должны быть полные права rwx, тоесть 7.
  • Естевственно, что passwordsaltmain должен быть такой же, как и в конфиге на старом сервере.
  • Если изменилось доменное имя, необходимо запустить процесс автоматического поиска и замены доменного имени по всей базе данных. В moodle22 этот скрипт находится по адресу: mymoodle.ru/admin/tool/replace/index.php

Если все сделать правильно, то проблем быть не должно. Скорее всего проблема действительно в passwordsaltmain, он должен быть перенесен в config.php без изменений. Если авторизоваться все-таки не получается, то идем в базу данных, таблицу user, находим в ней запись учетки, у которой есть админский доступ, и обновляем ей пароль напрямую, применив перед этим к новому паролю функцию MD5.

После этого необходимо оповестить пользователей moodle о том, что старые пароли не работают(если был изменен passwordsaltmain, а не проблема авторизации только у 1 пользователя). Обновить пароли пользователям можно через массовую загрузку пользователей из csv файла, прописав в csv файл старые пароли пользователей.