Задумали обновить старый moodle 3.2.1 на версию 3.5.1. Но при обновлении появилась проблема, новый мудл работает на php 7, а у нас старая “пятерка”, сначала обновили php, затем приступаем..
Кратко о переносе moodle
Особо расписывать нечего, т.к. если ставить чистый moodle, то это не сложнее установки любой cms. Самое главное указать правильно пути.
Чтобы было удобнее работать с moodledata, папка в который содержится контент, советую держать на NFS шаре, или рядом с home, чтобы не запутаться.
В нашем случае это /home/moodledata. Далее симлинком ссылаемся на нее из директории хостинга:
Теперь в конфиге апача:
...
<Directory /home/moodle/web/ my.site.com.com/public_html>
AllowOverride All
Options +Includes -Indexes +ExecCGI
php_admin_value upload_max_filesize 250M
php_admin_value max_execution_time 100000
php_admin_value post_max_size 250M
php_admin_value memory_limit 2512M
php_admin_flag mysql.allow_persistent off
php_admin_flag safe_mode off
php_admin_value session.save_path /home/moodle/tmp
</Directory>
php_admin_value open_basedir /home/moodle/web:/home/moodle/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp:/usr/share:/etc/phpMyAdmin:/etc/phpmyadmin:/etc/roundcubemail:/etc/roundcube:/var/lib/roundcube:/home/moodledata:/usr/bin/gs:/usr/bin/du:/usr/bin/aspell:/usr/bin/dot:/usr/bin/unoconv
<Directory /home/moodle/web/ my.site.com.com/stats>
AllowOverride All
</Directory>
...
PS: значения выбраны случайно, не стоит их использовать в продакшине. Настройка хостинга индивидуальна
Подправим таймауты для nginx, т.к. не всегда успевают отработать скрипты, например удаление курса:
...
location / {
proxy_pass https://10.0.0.175:8443; #ваш ip
proxy_send_timeout 100000;
proxy_read_timeout 100000;
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|eps|ps|zip|tar|tgz|gz|rar|bz2|7z|aac|m4a|mp3|mp4|ogg|wav|wma|3gp|avi|flv|m4v|mkv|mov|mpeg|mpg|wmv|exe|iso|dmg|swf)$ {
root /home/moodle/web/ my.site.com.com/public_html;
access_log /var/log/httpd/domains/ my.site.com.log combined;
access_log /var/log/httpd/domains/my.site.com.bytes bytes;
expires max;
try_files $uri @fallback;
}
...
Теперь в конфиге moodl’а прописываем путь к дериктории moodledata
$CFG->wwwroot = 'https:// my.site.com.com';
$CFG->dataroot = '/home/moodle/web/ my.site.com.com/moodledata';
Финальный штрих это настройка БД:
nano /etc/my.cnf
(У вас это возможно другой путь)
max_connections=1000
max_user_connections=1000
wait_timeout=10000
interactive_timeout=50000
long_query_time=5000
Вот и всё, как видим настройка для продакшн версии отличается от той, что мы ставим для теста, путем редактирования добавления характеристик серверу
ВНИМАНИЕ! Все характеристики хостинга выбраны случайно, вы используете их на свой страх и риск :)