Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (18)

Лучшие ответы пользователя

Все ответы (13)
  • Нужна помощь web-разработчиков

    alexdjachenko
    @alexdjachenko
    Есть простой вариант, есть сложный.
    Простой: выполняете команду через proc_open(), читаете из открытого командой потока и выдаете на страницу с помощью echo. После каждый выдачи делаете flush() для передачи результата на страницу. Сама страница при этом будет висеть «недозагруженной», коннект с сервером будет открыт и по мере работы скрипта будут подгружаться новые данные. Плюс — в простоте, минусы в ограничениях по вёрстке (чем проще страница — тем лучше). Если браузер, промежуточный прокси-сервер или веб-сервер настроены разрывать открытое соединение через какое-то время, способ будет работать на не очень долгих командах.
    Более сложные варианты связаны с AJAX: либо то же самое соединение открываем уже из JavaScript и подгружаем на страницу результаты — так можно сделать более сложную верстку, либо делаем совсем сложно, складываем результат исполнения команды в файл на сервере, пишем скрипт на php, который частями отдает его нашему JavaScript-у, который отображает его на странице.
    Ответ написан
  • Альтернатива OpenSSH для Ubuntu?

    alexdjachenko
    @alexdjachenko
    Чтобы что-то посоветовать, надо понимать, чем не устраивает оригинал, который там прекрасно работает?

    Утилита ssh в Ubuntu установлена. Чтобы поставить ssh-server воспользуйтесь apt install ssh

    А так, альтернативами могут быть и telnet (доступ к консоли, но без шифрования и дополнительных функций) и ftp (доступ к файлам, опять же, без шифрования) - ни тем ни другим пользоваться категорически не советую.

    Если не нравится консоль, есть Webmin, для простых или типовых задач подходит (не буду советовать сразу изучать консоль, но со временем все-равно к этому придете и от веб-админок откажетесь, если будете много администрировать).
    Ответ написан
  • Как правильно обновить Moodle?

    alexdjachenko
    @alexdjachenko
    Все версии поочередно ставить не нужно - в Moodle встроена довольно мощная система апгрейда и конвертации БД.
    Однако, некоторые версии все же пропускать нельзя: так разработчики уменьшают объем кода, который необходимо поддерживать (ведь система существует с 2002 года).
    При переходе с 3.0 на 3.5 необходимо сперва обновиться до 3.1

    Обратите внимание, что у этих версий разные системные требования.
    По этой причине вы не можете воспользоваться автообновлением. И вообще им лучше никогда не пользоваться, чтобы не было мучительно больно.

    Я бы поступал так:
    - Включил режим обслуживания
    - Сделал полную резервную копию, включая код, бд и Moodledata.
    - Заменил код на код версии 3.1.x, кроме config.php
    - Обновился до 3.1
    - Проверил сохранность контента, настроек и истории обучения (все должно быть хорошо, версии не сильно отличаются, но, как говорят, лучше перебдеть).
    - Подготовил новый сервер под версию 3.5 (с 3.6 не торопитесь, она короткоживущая, поживите на 3.5 до 2020, потом переходите сразу на 3.9).
    - Сделал архив БД и Moodledata
    - Развернул архив на новом сервере.
    - Развернул там код свежей версии из ветки 3.5
    - Перенес config.php, поправив в нем параметры подключения к БД и путь к Moodledata
    - Зашёл в Moodle и запустил процедуру апгрейда.
    - Проверил сохранность материалов и оценок
    - Сделал полную копию
    - Выключил режим обслуживания
    Ответ написан
  • Как добавлять в Moodle готовые тесты?

    alexdjachenko
    @alexdjachenko
    Банк вопросов Moodle поддерживает импорт из нескольких форматов. Если хотите сами написать конвертер - выбирайте любой.
    Один из них - GIFT. Существуют макросы для MS Word и MS Excel, упрощающие преобразование исходных текстов в тесты GIFT.
    Ответ написан
  • Как записать пользователя на курс в moodle?

    alexdjachenko
    @alexdjachenko
    В Moodle довольно сложная структура БД, поэтому обращаться к ней через SQL-запросы не рекомендуется: для этого существует множество вариантов API от написания модуля подписки на php, до готового сценария синхронизации с SQL-базой данных.
    В Вашем случае, проще всего создать промежуточную БД с таблицой подписок и натравить на неё плагин подписки на курс через внешнюю СУБД: от вас потребуется только добавлять в таблицу пары id пользователя и id курса, остальное Moodle сделает сам.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (8)