Для переноса Moodle с локального компьютера на сервер или с сервера на сервер необходимы следующие шаги:
1. перенос базы данных
2. перенос самого сайта Moodle
3. перенос папки moodledata
4. правка файла config.php
Но это на первый взгляд всё так просто…
Подробный порядок шагов следующий:
- Включить режим обслуживания на СТАРОМ сайте чтобы предотвратить любые дальнейшие дополнения в базу Moodle.
– Administration > Site administration > Server > Maintenance mode. - Сделать резервное копирование на СТАРОМ сайте – MySQL базы данных Moodle
- Сделать копию папки САЙТА на FTP СТАРОГО сервера
- Сделать копию папки MOODLEDATA на FTP СТАРОГО сервера
- Распаковать архив MOODLEDATA на компьютере и:
– очистить каталог: moodledata/cache/
– через поиск по содержимому файлов – найти и заменить упоминание путей старого сервера, на новый ( относительно корневой директории __FILE__ /oldroot/moodledata на /newroot/moodledata )
– через поиск по содержимому файлов – найти и заменить упоминание url старого сайта, на новый ( oldserver.com на yourserver.com )
– переупаковать папку moodledata по новой - Распаковать архив с MySQL базы данных СТАРОГО сайта на компьютере и:
– через поиск по содержимому – найти и заменить упоминание путей старого сервера, на новый ( относительно корневой директории __FILE__ /oldroot/www на /newroot/www )
– через поиск по содержимому – найти и заменить упоминание url старого сайта, на новый ( oldserver.com на yourserver.com )
– переупаковать MySQL базы данных по новой - Залить дамп переупакованной MySQL базы СТАРОГО сайта на НОВЫЙ MySQL сервер
- Залить архив переупакованной MOODLEDATA папки со СТАРОГО сервера, на НОВЫЙ сервер и распаковать в каталог, В КОТОРОМ находится ПАПКА с НОВЫМ сайтом
– например: если сайт находится здесь: /root/www/файлы сайта , то путь для распаковки: /root/ ( чтобы получилось /root/moodledata/файлы папки )
– установить права на папку moodledata и содержимое, права 777 (папки) и 666 (файлы) - Распаковать копию СТАРОГО сайта на FTP НОВОГО сервера, в папку для сайта
- Проверить наличие файла .htaccess – если нет (такое может быть) http://moodle.oa.edu.ua/help.php?file=install.html#webserver
– если его нет, создать и внести в него:
#-------------------------------------------------
DirectoryIndex index.php index.html index.htm
AcceptPathInfo on
php_flag magic_quotes_gpc 1
php_flag magic_quotes_runtime 0
php_flag file_uploads 1
php_flag session.auto_start 0
php_flag session.bug_compat_warn 0LimitRequestBody 0
#php_value upload_max_filesize 2M
#php_value post_max_size 2M
#-------------------------------------------------
- Откорректировать файл в корне сайта: config.php
– $CFG->dbhost = ‘хостинг MySQL’;
– $CFG->dbname = ‘название базы’;
– $CFG->dbuser = ‘имя пользователя’;
– $CFG->dbpass = ‘пароль базы’;
– $CFG->prefix = ‘префикс таблиц cmr_’;
– $CFG->wwwroot = ‘url нового сайта – например http://yourserver.com’;
– $CFG->dataroot = ‘абсолютный путь к папке moodledata – например /root/moodledata’; - Открыть НОВЫЙ сайт и авторизоваться как администратор
- Открыть url: yourserver.com/admin/tool/replace/index.php или в старых версиях http://yourserver.com/admin/replace.php
– Введите url адрес вашего старого сервера (http://oldserver.com/) и url нового сервера (http://newserver.com/) – и выполните автоматическое исправление таблиц MySQL. - Выполнить очистку всех кешей на сайте: yourserver.com/admin/purgecaches.php
По идее всё должно работать!
Если не так, внимательно просмотреть темы:
https://moodle.org/mod/forum/discuss.php?d=264840
https://moodle.org/mod/forum/discuss.php?d=258018
http://moodle.oa.edu.ua/help.php?file=install.html
https://docs.moodle.org/27/en/Maintenance_mode
https://docs.moodle.org/27/en/Moodle_migration#Migrating_a_complete_Moodle_site_-_method_1
https://docs.moodle.org/27/en/Search_and_replace