Files
SYSAHELPER/sysahelper/REG2026/REG26_ 3. Project_03 _ sysahelper.html
2026-05-07 19:20:10 +05:00

2014 lines
120 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html dir="ltr" lang="ru" xml:lang="ru" class="yui3-js-enabled"><head>
<title>REG26: 3. Project_03 | sysahelper</title>
<link rel="shortcut icon" href="https://sysahelper.ru/pluginfile.php/1/theme_moove/favicon/1703880572/22212monkey_98814.ico">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="moodle, REG26: 3. Project_03 | sysahelper">
<link rel="stylesheet" type="text/css" href="REG26_%203.%20Project_03%20_%20sysahelper_files/combo.css"><script async="" src="REG26_%203.%20Project_03%20_%20sysahelper_files/tag.js"></script><script charset="utf-8" id="yui_3_18_1_1_1778160109136_12" src="REG26_%203.%20Project_03%20_%20sysahelper_files/combo_002" async=""></script><script id="firstthemesheet" type="text/css">/** Required in order to fix style inclusion problems in IE with YUI **/</script><link rel="stylesheet" type="text/css" href="REG26_%203.%20Project_03%20_%20sysahelper_files/styles.css">
<script>
//<![CDATA[
var M = {}; M.yui = {};
M.pageloadstarttime = new Date();
M.cfg = {"wwwroot":"https:\/\/sysahelper.ru","homeurl":{},"sesskey":"I78ejZljGV","sessiontimeout":"28800","sessiontimeoutwarning":"1200","themerev":"1703880572","slasharguments":1,"theme":"moove","iconsystemmodule":"core\/icon_system_fontawesome","jsrev":"1703880200","admin":"admin","svgicons":true,"usertimezone":"\u0415\u0432\u0440\u043e\u043f\u0430\/\u041c\u043e\u0441\u043a\u0432\u0430","language":"ru","courseId":43,"courseContextId":1078,"contextid":1165,"contextInstanceId":785,"langrev":1703880200,"templaterev":"1703880200"};var yui1ConfigFn = function(me) {if(/-skin|reset|fonts|grids|base/.test(me.name)){me.type='css';me.path=me.path.replace(/\.js/,'.css');me.path=me.path.replace(/\/yui2-skin/,'/assets/skins/sam/yui2-skin')}};
var yui2ConfigFn = function(me) {var parts=me.name.replace(/^moodle-/,'').split('-'),component=parts.shift(),module=parts[0],min='-min';if(/-(skin|core)$/.test(me.name)){parts.pop();me.type='css';min=''}
if(module){var filename=parts.join('-');me.path=component+'/'+module+'/'+filename+min+'.'+me.type}else{me.path=component+'/'+component+'.'+me.type}};
YUI_config = {"debug":false,"base":"https:\/\/sysahelper.ru\/lib\/yuilib\/3.18.1\/","comboBase":"https:\/\/sysahelper.ru\/theme\/yui_combo.php?","combine":true,"filter":null,"insertBefore":"firstthemesheet","groups":{"yui2":{"base":"https:\/\/sysahelper.ru\/lib\/yuilib\/2in3\/2.9.0\/build\/","comboBase":"https:\/\/sysahelper.ru\/theme\/yui_combo.php?","combine":true,"ext":false,"root":"2in3\/2.9.0\/build\/","patterns":{"yui2-":{"group":"yui2","configFn":yui1ConfigFn}}},"moodle":{"name":"moodle","base":"https:\/\/sysahelper.ru\/theme\/yui_combo.php?m\/1703880200\/","combine":true,"comboBase":"https:\/\/sysahelper.ru\/theme\/yui_combo.php?","ext":false,"root":"m\/1703880200\/","patterns":{"moodle-":{"group":"moodle","configFn":yui2ConfigFn}},"filter":null,"modules":{"moodle-core-blocks":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification"]},"moodle-core-actionmenu":{"requires":["base","event","node-event-simulate"]},"moodle-core-notification":{"requires":["moodle-core-notification-dialogue","moodle-core-notification-alert","moodle-core-notification-confirm","moodle-core-notification-exception","moodle-core-notification-ajaxexception"]},"moodle-core-notification-dialogue":{"requires":["base","node","panel","escape","event-key","dd-plugin","moodle-core-widget-focusafterclose","moodle-core-lockscroll"]},"moodle-core-notification-alert":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-confirm":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-exception":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-ajaxexception":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-lockscroll":{"requires":["plugin","base-build"]},"moodle-core-event":{"requires":["event-custom"]},"moodle-core-chooserdialogue":{"requires":["base","panel","moodle-core-notification"]},"moodle-core-maintenancemodetimer":{"requires":["base","node"]},"moodle-core-handlebars":{"condition":{"trigger":"handlebars","when":"after"}},"moodle-core-formchangechecker":{"requires":["base","event-focus","moodle-core-event"]},"moodle-core-dragdrop":{"requires":["base","node","io","dom","dd","event-key","event-focus","moodle-core-notification"]},"moodle-core_availability-form":{"requires":["base","node","event","event-delegate","panel","moodle-core-notification-dialogue","json"]},"moodle-backup-backupselectall":{"requires":["node","event","node-event-simulate","anim"]},"moodle-course-util":{"requires":["node"],"use":["moodle-course-util-base"],"submodules":{"moodle-course-util-base":{},"moodle-course-util-section":{"requires":["node","moodle-course-util-base"]},"moodle-course-util-cm":{"requires":["node","moodle-course-util-base"]}}},"moodle-course-management":{"requires":["base","node","io-base","moodle-core-notification-exception","json-parse","dd-constrain","dd-proxy","dd-drop","dd-delegate","node-event-delegate"]},"moodle-course-categoryexpander":{"requires":["node","event-key"]},"moodle-course-dragdrop":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification","moodle-course-coursebase","moodle-course-util"]},"moodle-form-dateselector":{"requires":["base","node","overlay","calendar"]},"moodle-form-shortforms":{"requires":["node","base","selector-css3","moodle-core-event"]},"moodle-question-searchform":{"requires":["base","node"]},"moodle-question-preview":{"requires":["base","dom","event-delegate","event-key","core_question_engine"]},"moodle-question-chooser":{"requires":["moodle-core-chooserdialogue"]},"moodle-availability_completion-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_date-form":{"requires":["base","node","event","io","moodle-core_availability-form"]},"moodle-availability_grade-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_group-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_grouping-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_profile-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-mod_assign-history":{"requires":["node","transition"]},"moodle-mod_quiz-questionchooser":{"requires":["moodle-core-chooserdialogue","moodle-mod_quiz-util","querystring-parse"]},"moodle-mod_quiz-util":{"requires":["node","moodle-core-actionmenu"],"use":["moodle-mod_quiz-util-base"],"submodules":{"moodle-mod_quiz-util-base":{},"moodle-mod_quiz-util-slot":{"requires":["node","moodle-mod_quiz-util-base"]},"moodle-mod_quiz-util-page":{"requires":["node","moodle-mod_quiz-util-base"]}}},"moodle-mod_quiz-toolboxes":{"requires":["base","node","event","event-key","io","moodle-mod_quiz-quizbase","moodle-mod_quiz-util-slot","moodle-core-notification-ajaxexception"]},"moodle-mod_quiz-autosave":{"requires":["base","node","event","event-valuechange","node-event-delegate","io-form"]},"moodle-mod_quiz-quizbase":{"requires":["base","node"]},"moodle-mod_quiz-modform":{"requires":["base","node","event"]},"moodle-mod_quiz-dragdrop":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification","moodle-mod_quiz-quizbase","moodle-mod_quiz-util-base","moodle-mod_quiz-util-page","moodle-mod_quiz-util-slot","moodle-course-util"]},"moodle-message_airnotifier-toolboxes":{"requires":["base","node","io"]},"moodle-filter_glossary-autolinker":{"requires":["base","node","io-base","json-parse","event-delegate","overlay","moodle-core-event","moodle-core-notification-alert","moodle-core-notification-exception","moodle-core-notification-ajaxexception"]},"moodle-editor_atto-rangy":{"requires":[]},"moodle-editor_atto-editor":{"requires":["node","transition","io","overlay","escape","event","event-simulate","event-custom","node-event-html5","node-event-simulate","yui-throttle","moodle-core-notification-dialogue","moodle-editor_atto-rangy","handlebars","timers","querystring-stringify"]},"moodle-editor_atto-plugin":{"requires":["node","base","escape","event","event-outside","handlebars","event-custom","timers","moodle-editor_atto-menu"]},"moodle-editor_atto-menu":{"requires":["moodle-core-notification-dialogue","node","event","event-custom"]},"moodle-report_eventlist-eventfilter":{"requires":["base","event","node","node-event-delegate","datatable","autocomplete","autocomplete-filters"]},"moodle-report_loglive-fetchlogs":{"requires":["base","event","node","io","node-event-delegate"]},"moodle-gradereport_history-userselector":{"requires":["escape","event-delegate","event-key","handlebars","io-base","json-parse","moodle-core-notification-dialogue"]},"moodle-qbank_editquestion-chooser":{"requires":["moodle-core-chooserdialogue"]},"moodle-tool_lp-dragdrop-reorder":{"requires":["moodle-core-dragdrop"]},"moodle-assignfeedback_editpdf-editor":{"requires":["base","event","node","io","graphics","json","event-move","event-resize","transition","querystring-stringify-simple","moodle-core-notification-dialog","moodle-core-notification-alert","moodle-core-notification-warning","moodle-core-notification-exception","moodle-core-notification-ajaxexception"]},"moodle-atto_accessibilitychecker-button":{"requires":["color-base","moodle-editor_atto-plugin"]},"moodle-atto_accessibilityhelper-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_align-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_bold-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_charmap-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_clear-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_collapse-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_emojipicker-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_emoticon-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_equation-button":{"requires":["moodle-editor_atto-plugin","moodle-core-event","io","event-valuechange","tabview","array-extras"]},"moodle-atto_h5p-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_html-button":{"requires":["promise","moodle-editor_atto-plugin","moodle-atto_html-beautify","moodle-atto_html-codemirror","event-valuechange"]},"moodle-atto_html-beautify":{},"moodle-atto_html-codemirror":{"requires":["moodle-atto_html-codemirror-skin"]},"moodle-atto_image-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_indent-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_italic-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_link-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_managefiles-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_managefiles-usedfiles":{"requires":["node","escape"]},"moodle-atto_media-button":{"requires":["moodle-editor_atto-plugin","moodle-form-shortforms"]},"moodle-atto_noautolink-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_orderedlist-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_recordrtc-button":{"requires":["moodle-editor_atto-plugin","moodle-atto_recordrtc-recording"]},"moodle-atto_recordrtc-recording":{"requires":["moodle-atto_recordrtc-button"]},"moodle-atto_rtl-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_strike-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_subscript-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_superscript-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_table-button":{"requires":["moodle-editor_atto-plugin","moodle-editor_atto-menu","event","event-valuechange"]},"moodle-atto_title-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_underline-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_undo-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_unorderedlist-button":{"requires":["moodle-editor_atto-plugin"]}}},"gallery":{"name":"gallery","base":"https:\/\/sysahelper.ru\/lib\/yuilib\/gallery\/","combine":true,"comboBase":"https:\/\/sysahelper.ru\/theme\/yui_combo.php?","ext":false,"root":"gallery\/1703880200\/","patterns":{"gallery-":{"group":"gallery"}}}},"modules":{"core_filepicker":{"name":"core_filepicker","fullpath":"https:\/\/sysahelper.ru\/lib\/javascript.php\/1703880200\/repository\/filepicker.js","requires":["base","node","node-event-simulate","json","async-queue","io-base","io-upload-iframe","io-form","yui2-treeview","panel","cookie","datatable","datatable-sort","resize-plugin","dd-plugin","escape","moodle-core_filepicker","moodle-core-notification-dialogue"]},"core_comment":{"name":"core_comment","fullpath":"https:\/\/sysahelper.ru\/lib\/javascript.php\/1703880200\/comment\/comment.js","requires":["base","io-base","node","json","yui2-animation","overlay","escape"]}},"logInclude":[],"logExclude":[],"logLevel":null};
M.yui.loader = {modules: {}};
//]]>
</script>
<link rel="preconnect" href="https://fonts.googleapis.com/">
<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin="">
<link href="REG26_%203.%20Project_03%20_%20sysahelper_files/css2.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="core/first" src="REG26_%203.%20Project_03%20_%20sysahelper_files/requirejs.php"></script><script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="jquery" src="REG26_%203.%20Project_03%20_%20sysahelper_files/javascript.php"></script><script type="text/x-mathjax-config">
MathJax.Hub.Config({
config: ["Accessible.js", "Safe.js"],
errorSettings: { message: ["!"] },
skipStartupTypeset: true,
messageStyle: "none"
});
</script><script type="text/javascript">
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-701');
});
;
require(['core_courseformat/local/courseindex/section'], function(component) {
component.init('course-index-section-568');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-778');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-704');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-719');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-705');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-720');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-724');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-722');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-721');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-725');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-726');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-727');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-728');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-729');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-730');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-731');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-732');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-733');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-734');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-735');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-736');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-737');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-772');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-773');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-774');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-775');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-776');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-777');
});
;
require(['core_courseformat/local/courseindex/section'], function(component) {
component.init('course-index-section-569');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-779');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-782');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-783');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-784');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-780');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-781');
});
;
require(['core_courseformat/local/courseindex/cm'], function(component) {
component.init('course-index-cm-785');
});
;
require(['core_courseformat/local/courseindex/section'], function(component) {
component.init('course-index-section-570');
});
;
require(['core_courseformat/local/courseindex/courseindex'], function(component) {
component.init('course-index');
});
</script></head>
<body id="page-mod-page-view" class="format-topics limitedwidth path-mod path-mod-page gecko dir-ltr lang-ru yui-skin-sam yui3-skin-sam sysahelper-ru pagelayout-incourse course-43 context-1165 cmid-785 cm-type-page category-8 theme uses-drawers drawer-open-index jsenabled">
<div id="accessibilitybar" class="fixed-top">
<div class="container-fluid">
<div class="bars">
<div class="fontsize">
<span>Размер шрифта</span>
<ul>
<li><a class="btn btn-default" data-action="decrease" title="Уменьшить размер шрифта" id="fontsize_dec">A-</a></li>
<li><a class="btn btn-default disabled" data-action="reset" title="Сбросить размер шрифта" id="fontsize_reset">A</a></li>
<li><a class="btn btn-default" data-action="increase" title="Увеличить размер шрифта" id="fontsize_inc">A+</a></li>
</ul>
</div>
<div class="sitecolor">
<span>Цвет сайта</span>
<ul>
<li><a class="btn btn-default" data-action="reset" title="Сбросить цвет сайта" id="sitecolor_color1">R</a></li>
<li><a class="btn btn-default" data-action="sitecolor-color-2" title="Низкий контраст 1" id="sitecolor_color2">A</a></li>
<li><a class="btn btn-default" data-action="sitecolor-color-3" title="Низкий контраст 2" id="sitecolor_color3">A</a></li>
<li><a class="btn btn-default" data-action="sitecolor-color-4" title="Высокий контраст" id="sitecolor_color4">A</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="toast-wrapper mx-auto py-0 fixed-top" role="status" aria-live="polite"></div>
<div id="page-wrapper" class="d-print-block">
<div>
<a class="sr-only sr-only-focusable" href="#maincontent">Перейти к основному содержанию</a>
</div><script src="REG26_%203.%20Project_03%20_%20sysahelper_files/javascript_002.php"></script>
<script src="REG26_%203.%20Project_03%20_%20sysahelper_files/combo"></script><script src="REG26_%203.%20Project_03%20_%20sysahelper_files/javascript_003.php"></script>
<script>
//<![CDATA[
document.body.className += ' jsenabled';
//]]>
</script>
<nav class="navbar fixed-top navbar-light bg-white navbar-expand shadow" aria-label="Навигация по сайту">
<button class="navbar-toggler aabtn d-block d-md-none px-1 my-1 border-0" data-toggler="drawers" data-action="toggle" data-target="theme_moove-drawers-primary" data-disabled-toggle="undefined" data-restore-tooltip-on-blur="true">
<span class="navbar-toggler-icon"></span>
<span class="sr-only">Боковая панель</span>
</button>
<a href="https://sysahelper.ru/" class="navbar-brand d-none d-md-flex align-items-center m-0 mr-4 p-0 aabtn">
<img src="REG26_%203.%20Project_03%20_%20sysahelper_files/4.jpg" class="logo mr-1" alt="sysahelper">
</a>
<div class="primary-navigation">
<nav class="moremenu navigation observed">
<ul id="moremenu-69fc91d8afb8b-navbar-nav" role="menubar" class="nav more-nav navbar-nav">
<li data-key="home" class="nav-item" role="none" data-forceintomoremenu="false">
<a role="menuitem" class="nav-link " href="https://sysahelper.ru/" tabindex="0" aria-current="true">
В начало
</a>
</li>
<li role="none" class="nav-item dropdown dropdownmoremenu d-none" data-region="morebutton">
<a class="dropdown-toggle nav-link " href="#" id="moremenu-dropdown-69fc91d8afb8b" role="menuitem" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" tabindex="-1">
Дополнительно
</a>
<ul class="dropdown-menu dropdown-menu-left" data-region="moredropdown" aria-labelledby="moremenu-dropdown-69fc91d8afb8b" role="menu">
</ul>
</li>
</ul>
</nav>
</div>
<ul class="navbar-nav d-none d-md-flex my-1 px-1">
<!-- page_heading_menu -->
</ul>
<div id="usernavigation" class="navbar-nav ml-auto">
<div class="navbarcallbacks">
</div>
<div id="searchinput-navbar-69fc91d8b15ee69fc91d8b01d23" class="simplesearchform">
<div class="collapse" id="searchform-navbar">
<form autocomplete="off" action="https://sysahelper.ru/search/index.php" method="get" accept-charset="utf-8" class="mform form-inline searchform-navbar">
<input type="hidden" name="context" value="1165">
<div class="input-group">
<label for="searchinput-69fc91d8b15ee69fc91d8b01d23">
<span class="sr-only">Найти</span>
</label>
<input type="text" id="searchinput-69fc91d8b15ee69fc91d8b01d23" class="form-control withclear" placeholder="Найти" aria-label="Найти" name="q" data-region="input" autocomplete="off">
<a class="btn btn-close" data-action="closesearch" data-toggle="collapse" href="#searchform-navbar" role="button">
<i class="icon fa fa-times fa-fw " aria-hidden="true"></i>
<span class="sr-only">Закрыть</span>
</a>
<div class="input-group-append">
<button type="submit" class="btn btn-submit" data-action="submit">
<i class="icon fa fa-search fa-fw " aria-hidden="true"></i>
<span class="sr-only">Найти</span>
</button>
</div>
</div>
</form>
</div>
<a class="btn btn-open rounded-0 nav-link" data-toggle="collapse" data-action="opensearch" href="#searchform-navbar" role="button" aria-expanded="false" aria-controls="searchform-navbar" title="Изменить данные поисковой строки">
<i class="icon fa fa-search fa-fw " aria-hidden="true"></i>
<span class="sr-only">Изменить данные поисковой строки</span>
</a>
</div>
<div class="divider border-left h-75 align-self-center mx-1"></div>
<div class="langmenu">
<div class="dropdown show">
<a href="#" role="button" id="lang-menu-toggle" data-toggle="dropdown" aria-label="Язык" aria-haspopup="true" aria-controls="lang-action-menu" class="btn dropdown-toggle">
<i class="icon fa fa-language fa-fw mr-1" aria-hidden="true"></i>
<span class="langbutton">
Русский (ru)
</span>
<b class="caret"></b>
</a>
<div role="menu" aria-labelledby="lang-menu-toggle" id="lang-action-menu" class="dropdown-menu dropdown-menu-right">
<a href="#" class="dropdown-item pl-5" role="menuitem" aria-current="true">
Русский (ru)
</a>
<a href="https://sysahelper.ru/mod/page/view.php?id=785&amp;lang=en" class="dropdown-item pl-5" role="menuitem">
English (en)
</a>
</div>
</div>
</div>
<div class="divider border-left h-75 align-self-center mx-1"></div>
<div class="d-flex align-items-stretch usermenu-container" data-region="usermenu">
<div class="usermenu">
<span class="login pl-2">
Вы используете гостевой доступ
<div class="divider border-left h-75 align-self-center mx-2"></div>
<a href="https://sysahelper.ru/login/index.php">Вход</a>
</span>
</div>
</div>
</div>
</nav>
<div class="drawer drawer-left drawer-primary d-print-none" data-region="fixed-drawer" id="theme_moove-drawers-primary" data-preference="" data-state="show-drawer-primary" data-forceopen="0" data-close-on-resize="1" aria-hidden="true">
<div class="drawerheader">
<button class="btn drawertoggle icon-no-margin hidden" data-toggler="drawers" data-action="closedrawer" data-target="theme_moove-drawers-primary" data-toggle="tooltip" data-placement="right" title="Закрыть панель" data-aria-hidden-tab-index="" tabindex="-1">
<i class="icon fa fa-times fa-fw " aria-hidden="true"></i>
</button>
<div class="drawerheadercontent hidden">
</div>
</div>
<div class="drawercontent drag-container" data-usertour="scroller">
<div class="list-group">
<a href="https://sysahelper.ru/" class="list-group-item list-group-item-action " data-aria-hidden-tab-index="" tabindex="-1">
В начало
</a>
</div>
</div>
</div>
<div class="drawer drawer-left show d-print-none scrolled" data-region="fixed-drawer" id="theme_boost-drawers-courseindex" data-preference="drawer-open-index" data-state="show-drawer-left" data-forceopen="0" data-close-on-resize="0">
<div class="drawerheader">
<button class="btn drawertoggle icon-no-margin" data-toggler="drawers" data-action="closedrawer" data-target="theme_boost-drawers-courseindex" data-toggle="tooltip" data-placement="right" title="Закрыть оглавление курса">
<i class="icon fa fa-times fa-fw " aria-hidden="true"></i>
</button>
<div class="drawerheadercontent">
</div>
</div>
<div class="drawercontent drag-container" data-usertour="scroller">
<nav id="courseindex" class="courseindex">
<div id="courseindex-content">
<div id="course-index" class="courseindex " role="tree">
<div class="courseindex-section " id="course-index-section-568" data-for="section" data-id="568" data-number="0" role="treeitem" aria-owns="courseindexcollapse0" tabindex="0" aria-selected="true">
<div class="courseindex-item d-flex
courseindex-section-title" id="courseindexsection0" data-for="section_item" tabindex="-1">
<a data-toggle="collapse" href="#courseindexcollapse0" class="courseindex-chevron icons-collapse-expand " aria-expanded="true" aria-controls="courseindexcollapse0" tabindex="-1">
<span class="collapsed-icon icon-no-margin mr-1" title="Развернуть" tabindex="-1">
<span class="dir-rtl-hide" tabindex="-1"><i class="icon fa fa-chevron-right fa-fw " aria-hidden="true" tabindex="-1"></i></span>
<span class="dir-ltr-hide" tabindex="-1"><i class="icon fa fa-chevron-left fa-fw " aria-hidden="true" tabindex="-1"></i></span>
<span class="sr-only" tabindex="-1">Развернуть</span>
</span>
<span class="expanded-icon icon-no-margin mr-1" title="Свернуть" tabindex="-1">
<i class="icon fa fa-chevron-down fa-fw " aria-hidden="true" tabindex="-1"></i>
<span class="sr-only" tabindex="-1">Свернуть</span>
</span>
</a>
<a href="https://sysahelper.ru/course/view.php?id=43#section-0" class="courseindex-link text-truncate" data-action="togglecourseindexsection" data-for="section_title" tabindex="-1">
Общее
</a>
<span class="current-badge badge badge-primary ml-2 px-2 rounded-pill" tabindex="-1">
Выделено
</span>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</div>
<div id="courseindexcollapse0" class="courseindex-item-content collapse show" aria-labelledby="courseindexsection0" role="group" tabindex="-1">
<ul class="courseindex-sectioncontent unlist" data-for="cmlist" data-id="568" role="group" tabindex="-1">
<li class="courseindex-item
d-flex
" id="course-index-cm-701" data-for="cm" data-id="701" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/folder/view.php?id=701" data-for="cm_name" tabindex="-1">
Конкурсная документация (в исходном виде)
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
</ul>
</div>
</div>
<div class="courseindex-section " id="course-index-section-569" data-for="section" data-id="569" data-number="1" role="treeitem" aria-owns="courseindexcollapse1" tabindex="-1" aria-selected="false">
<div class="courseindex-item d-flex
courseindex-section-title" id="courseindexsection1" data-for="section_item" tabindex="-1">
<a data-toggle="collapse" href="#courseindexcollapse1" class="courseindex-chevron icons-collapse-expand " aria-expanded="true" aria-controls="courseindexcollapse1" tabindex="-1">
<span class="collapsed-icon icon-no-margin mr-1" title="Развернуть" tabindex="-1">
<span class="dir-rtl-hide" tabindex="-1"><i class="icon fa fa-chevron-right fa-fw " aria-hidden="true" tabindex="-1"></i></span>
<span class="dir-ltr-hide" tabindex="-1"><i class="icon fa fa-chevron-left fa-fw " aria-hidden="true" tabindex="-1"></i></span>
<span class="sr-only" tabindex="-1">Развернуть</span>
</span>
<span class="expanded-icon icon-no-margin mr-1" title="Свернуть" tabindex="-1">
<i class="icon fa fa-chevron-down fa-fw " aria-hidden="true" tabindex="-1"></i>
<span class="sr-only" tabindex="-1">Свернуть</span>
</span>
</a>
<a href="https://sysahelper.ru/course/view.php?id=43#section-1" class="courseindex-link text-truncate" data-action="togglecourseindexsection" data-for="section_title" tabindex="-1">
Модуль Б. Настройка технических и программных средств информационно-коммуникационных систем
</a>
<span class="current-badge badge badge-primary ml-2 px-2 rounded-pill" tabindex="-1">
Выделено
</span>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</div>
<div id="courseindexcollapse1" class="courseindex-item-content collapse show" aria-labelledby="courseindexsection1" role="group" tabindex="-1">
<ul class="courseindex-sectioncontent unlist" data-for="cmlist" data-id="569" role="group" tabindex="-1">
<li class="courseindex-item
d-flex
" id="course-index-cm-778" data-for="cm" data-id="778" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/url/view.php?id=778" data-for="cm_name" tabindex="-1">
Текст задание
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
" id="course-index-cm-704" data-for="cm" data-id="704" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=704" data-for="cm_name" tabindex="-1">
Виртуальный стенд
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
" id="course-index-cm-719" data-for="cm" data-id="719" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=719" data-for="cm_name" tabindex="-1">
Используемая таблица адресации
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
" id="course-index-cm-705" data-for="cm" data-id="705" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=705" data-for="cm_name" tabindex="-1">
Настройка виртуальной машины ISP
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-720" data-for="cm" data-id="720" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=720" data-for="cm_name" tabindex="-1">
1. Настройка имён и IP-адресации на устройствах&nbsp;rtr-cod и rtr-a
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-724" data-for="cm" data-id="724" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=724" data-for="cm_name" tabindex="-1">
2. Подход к настройке fw-cod
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-722" data-for="cm" data-id="722" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=722" data-for="cm_name" tabindex="-1">
3. Настройка маршрутизации BGP на rtr-cod
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-721" data-for="cm" data-id="721" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=721" data-for="cm_name" tabindex="-1">
4. Настройка туннелей между офисом «а» и «cod»
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-725" data-for="cm" data-id="725" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=725" data-for="cm_name" tabindex="-1">
5. Настройка доступа в Интернет
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-726" data-for="cm" data-id="726" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=726" data-for="cm_name" tabindex="-1">
6. Настройка динамической маршрутизации между офисом «a» и «cod»
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-727" data-for="cm" data-id="727" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=727" data-for="cm_name" tabindex="-1">
7. Настройка коммутации между sw1-a и sw2-a
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-728" data-for="cm" data-id="728" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=728" data-for="cm_name" tabindex="-1">
8. Настройка доступа к веб-интерфейсу fw-cod и лицензирование
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-729" data-for="cm" data-id="729" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=729" data-for="cm_name" tabindex="-1">
9. Создание интерфейсов типа VLAN на fw-cod для маршутизации между VLAN
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-730" data-for="cm" data-id="730" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=730" data-for="cm_name" tabindex="-1">
10. Настройка коммутации между sw1-cod и sw2-cod
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-731" data-for="cm" data-id="731" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=731" data-for="cm_name" tabindex="-1">
11. Настройка имён и IP-адресов на всех остальных устройствах
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-732" data-for="cm" data-id="732" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=732" data-for="cm_name" tabindex="-1">
12. Настройка административного доступа (RADIUS)
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-733" data-for="cm" data-id="733" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=733" data-for="cm_name" tabindex="-1">
13. Настройка синхронизации времени между сетевыми устройствами
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-734" data-for="cm" data-id="734" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=734" data-for="cm_name" tabindex="-1">
14. Настройка службы доменных имен в COD-е
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-735" data-for="cm" data-id="735" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=735" data-for="cm_name" tabindex="-1">
15. Развёртывание контроллера домена на базе SambaAD
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-736" data-for="cm" data-id="736" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=736" data-for="cm_name" tabindex="-1">
16. Настройка службы доменных имен в OFFICE
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-737" data-for="cm" data-id="737" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=737" data-for="cm_name" tabindex="-1">
17. Настройка центра сертификации
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-772" data-for="cm" data-id="772" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=772" data-for="cm_name" tabindex="-1">
18. Настройка сервера баз данных
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-773" data-for="cm" data-id="773" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=773" data-for="cm_name" tabindex="-1">
19. Настройка устройства хранения данных (iSCSI)
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-774" data-for="cm" data-id="774" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=774" data-for="cm_name" tabindex="-1">
20. Настройка устройства хранения данных (LVM)
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-775" data-for="cm" data-id="775" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=775" data-for="cm_name" tabindex="-1">
21. Настройка устройства хранения данных (NFS)
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-776" data-for="cm" data-id="776" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=776" data-for="cm_name" tabindex="-1">
22. Настройка системы мониторинга
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-777" data-for="cm" data-id="777" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=777" data-for="cm_name" tabindex="-1">
23. Настройка IP телефонии
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
</ul>
</div>
</div>
<div class="courseindex-section " id="course-index-section-570" data-for="section" data-id="570" data-number="2" role="treeitem" aria-owns="courseindexcollapse2" tabindex="-1" aria-selected="false">
<div class="courseindex-item d-flex
courseindex-section-title" id="courseindexsection2" data-for="section_item" tabindex="-1">
<a data-toggle="collapse" href="#courseindexcollapse2" class="courseindex-chevron icons-collapse-expand " aria-expanded="true" aria-controls="courseindexcollapse2" tabindex="-1">
<span class="collapsed-icon icon-no-margin mr-1" title="Развернуть" tabindex="-1">
<span class="dir-rtl-hide" tabindex="-1"><i class="icon fa fa-chevron-right fa-fw " aria-hidden="true" tabindex="-1"></i></span>
<span class="dir-ltr-hide" tabindex="-1"><i class="icon fa fa-chevron-left fa-fw " aria-hidden="true" tabindex="-1"></i></span>
<span class="sr-only" tabindex="-1">Развернуть</span>
</span>
<span class="expanded-icon icon-no-margin mr-1" title="Свернуть" tabindex="-1">
<i class="icon fa fa-chevron-down fa-fw " aria-hidden="true" tabindex="-1"></i>
<span class="sr-only" tabindex="-1">Свернуть</span>
</span>
</a>
<a href="https://sysahelper.ru/course/view.php?id=43#section-2" class="courseindex-link text-truncate" data-action="togglecourseindexsection" data-for="section_title" tabindex="-1">
Модуль В. Обеспечение отказоустойчивости
</a>
<span class="current-badge badge badge-primary ml-2 px-2 rounded-pill" tabindex="-1">
Выделено
</span>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</div>
<div id="courseindexcollapse2" class="courseindex-item-content collapse show" aria-labelledby="courseindexsection2" role="group" tabindex="-1">
<ul class="courseindex-sectioncontent unlist" data-for="cmlist" data-id="570" role="group" tabindex="-1">
<li class="courseindex-item
d-flex
" id="course-index-cm-779" data-for="cm" data-id="779" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=779" data-for="cm_name" tabindex="-1">
1. Подготовка машины Cloud-ADM
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-782" data-for="cm" data-id="782" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=782" data-for="cm_name" tabindex="-1">
1.1. Установка Terraform на Cloud-ADM
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-783" data-for="cm" data-id="783" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=783" data-for="cm_name" tabindex="-1">
1.2. Установка OpenStack CLI на Cloud-ADM
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
indented " id="course-index-cm-784" data-for="cm" data-id="784" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=784" data-for="cm_name" tabindex="-1">
1.3. Установка Ansible на Cloud-ADM
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
" id="course-index-cm-780" data-for="cm" data-id="780" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=780" data-for="cm_name" tabindex="-1">
2. Project_01
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item
d-flex
" id="course-index-cm-781" data-for="cm" data-id="781" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=781" data-for="cm_name" tabindex="-1">
3. Project_02
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
<li class="courseindex-item d-flex pageitem" id="course-index-cm-785" data-for="cm" data-id="785" role="treeitem" tabindex="-1" aria-selected="false">
<span class="completioninfo" data-for="cm_completion" data-value="NaN" tabindex="-1"></span>
<a class="courseindex-link text-truncate" href="https://sysahelper.ru/mod/page/view.php?id=785" data-for="cm_name" tabindex="-1">
3. Project_03
</a>
<span class="courseindex-locked ml-1" data-for="cm_name" tabindex="-1">
<i class="icon fa fa-lock fa-fw " aria-hidden="true" tabindex="-1"></i>
</span>
<span class="dragicon ml-auto" tabindex="-1"><i class="icon fa fa-arrows fa-fw " aria-hidden="true" tabindex="-1"></i></span>
</li>
</ul>
</div>
</div>
</div>
</div>
</nav>
</div>
</div>
<div id="page" data-region="mainpage" data-usertour="scroller" class="drawers show-drawer-left drag-container">
<header id="page-header" class="moove-container-fluid">
<div class="d-flex flex-wrap">
<div class="ml-auto d-flex">
</div>
<div id="course-header">
</div>
</div>
<div class="d-sm-flex align-items-center">
<div class="mr-auto">
<div class="page-context-header"><div class="page-header-image mr-2"><div class="content activityiconcontainer icon-size-6 modicon_page"><img class="icon activityicon " aria-hidden="true" src="REG26_%203.%20Project_03%20_%20sysahelper_files/monologo.svg" alt=""></div></div><div class="page-header-headings"><h1 class="h2">3. Project_03</h1></div></div>
</div>
<div class="header-actions-container ml-auto" data-region="header-actions-container">
</div>
<div class="d-none d-md-block" id="page-navbar">
<nav aria-label="Панель навигации">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="https://sysahelper.ru/course/view.php?id=43#section-2" title="REGION2026">REG26</a>
</li>
<li class="breadcrumb-item"><span>3. Project_03</span></li>
</ol>
</nav>
</div>
</div>
</header>
<div id="topofscroll" class="main-inner">
<div class="drawer-toggles d-flex">
<div class="drawer-toggler drawer-left-toggle open-nav d-print-none">
<button class="btn icon-no-margin" data-toggler="drawers" data-action="toggle" data-target="theme_boost-drawers-courseindex" data-toggle="tooltip" data-placement="right" title="Открыть оглавление курса">
<span class="sr-only">Открыть оглавление курса</span>
<i class="icon fa fa-list fa-fw " aria-hidden="true"></i>
</button>
</div>
</div>
<div id="page-content" class="d-print-block">
<div id="region-main-box">
<section id="region-main" aria-label="Содержимое">
<span class="notifications" id="user-notifications"></span>
<span id="maincontent"></span>
<div class="activity-header" data-for="page-activity-header">
<span class="sr-only">Требуемые условия завершения</span>
<div data-region="activity-information" data-activityname="3. Project_03" class="activity-information">
</div>
</div>
<div role="main"><div class="box py-3 generalbox center clearfix"><div class="no-overflow"><h3>Задание:</h3>
<p>a. &nbsp; &nbsp;Любым способом разверните недостающие виртуальные
машины в облаке в соответствие с топологией (см. Топология Project_03).</p>
<ol>
<li>Характеристики виртуальных машин:
<ol>
<li>master01: 1vCPU, 1 ГБ ОЗУ, 10 ГБ размер диска.</li>
<li>worker01: 1vCPU, 1 ГБ ОЗУ, 10 ГБ размер диска.</li>
<li>worker02: 1vCPU, 1 ГБ ОЗУ, 10 ГБ размер</li>
</ol>
</li>
<li>Образ операционной системы: alt-p11-cloud-x86_64.qcow2.</li>
</ol>
<p>b. &nbsp; &nbsp;На развёрнутых виртуальных машинах реализуйте следующий функционал:</p>
<ol>
<li>Сформируйте кластер Docker Swarm.<br>
<ol>
<li>Используйте ВМ master01 в качестве менеджера кластера, worker01 и worker02 - в качестве исполнителей.</li>
<li>Запускать контейнеры на менеджере запрещено.</li>
</ol>
</li>
<li>Разместите в кластере Docker Swarm service для организации собственного хранилища образов контейнеров:<br>
<ol>
<li>В качестве образа используйте registry:3</li>
<li>Локальное хранилище образов должно быть доступно со всех узлов кластера на порту 5000</li>
</ol>
</li>
<li>Разместите в кластере Docker Swarm stack для организации работы приложения (см. Приложение Project_03)<br>
<ol>
<li>В качестве имени для stack используйте school-site-project</li>
<li>Приложение должно быть доступно с Cloud-ADM по <a href="http://school-site.au.team/" class="_blanktarget">http://school-site.au.team</a> и <a href="https://school-site.au.team/" class="_blanktarget">https://school-site.au.team</a></li>
<li>В случае достапу по https, проблем с сертификатом возникать недолжно.</li>
</ol>
</li>
<li>На данный момент это просто статический сайт, но стоит предусмотреть возможность развёртывания таких сервисов в стеке как:
<ol>
<li>redis - для решения задач, требующих быстрой обработки данных</li>
<li>СУБД: PostgreSQL для хранения данных</li>
<li>Веб-приложение пока не умеет работать с данными сервисами, но
сервисы должны быть развёрнуты в рамках стека school-site-project для
будущей разработки</li>
</ol>
</li>
</ol>
<h3>Вариант реализации:</h3>
<h3>Cloud-ADM:</h3>
<h4>Развёртывание недостающих виртуальных машин</h4>
<ul>
<li>Допустимы любые способы, в том числе и ручное создание ВМ</li>
<li>Модернизирует ранее написанные файлы для&nbsp;<strong>Terraform</strong> чтобы ускорить процесс создания ВМ</li>
</ul>
<pre class="language-markup"><code>cd ~/Projects/</code></pre>
<pre class="language-markup"><code>mkdir -p Project_03/terraform</code></pre>
<pre class="language-markup"><code>cd Project_03/terraform</code></pre>
<ul>
<li>За основу возьмём файлы из&nbsp;<strong>Project02</strong>:</li>
</ul>
<pre class="language-markup"><code>cp ~/Projects/Project_02/terraform/provider.tf ./</code></pre>
<pre class="language-markup"><code>cp ~/Projects/Project_02/terraform/cloud-init.yml ./</code></pre>
<pre class="language-markup"><code>cp ~/Projects/Project_02/terraform/network.tf ./</code></pre>
<pre class="language-markup"><code>cp ~/Projects/Project_02/terraform/vm.tf ./</code></pre>
<ul>
<li>Инициализируем текущий каталог для работы с <strong>Terraform</strong>:</li>
</ul>
<pre id="yui_3_18_1_1_1764077371530_237" class="language-markup"><code>terraform init</code></pre>
<ul>
<li>Модернизируем файл <strong>network.tf</strong>&nbsp;в текущей директории для&nbsp;<strong>Project03</strong>:</li>
</ul>
<pre class="language-markup"><code>resource "openstack_networking_port_v2" "port_vm_master01" {
name = "port_master01"
network_id = "61845892-f9cc-4fde-962c-34b59425a74d"
admin_state_up = true
fixed_ip {
subnet_id = "13592ca4-8782-410b-9bcc-90810ccab6fe"
ip_address = "192.168.1.107"
}
}
resource "openstack_networking_port_v2" "port_vm_worker01" {
name = "port_worker01"
network_id = "61845892-f9cc-4fde-962c-34b59425a74d"
admin_state_up = true
fixed_ip {
subnet_id = "13592ca4-8782-410b-9bcc-90810ccab6fe"
ip_address = "192.168.1.108"
}
}
resource "openstack_networking_port_v2" "port_vm_worker02" {
name = "port_worker02"
network_id = "61845892-f9cc-4fde-962c-34b59425a74d"
admin_state_up = true
fixed_ip {
subnet_id = "13592ca4-8782-410b-9bcc-90810ccab6fe"
ip_address = "192.168.1.109"
}
}
</code></pre>
<ul>
<li>Модернизируем файл <strong>vm.tf</strong>&nbsp;в текущей директории для&nbsp;<strong>Project03</strong>:</li>
</ul>
<pre class="language-markup"><code>resource "openstack_compute_instance_v2" "master01" {
name = "master01"
flavor_id = "03bf1b85-2f5f-4ada-a07b-8b994b6dcb57"
user_data = file("cloud-init.yml")
block_device {
uuid = "827e08fa-fd3c-41cd-92ca-845bb5018478"
source_type = "image"
volume_size = "10"
boot_index = 0
destination_type = "volume"
delete_on_termination = true
}
network {
port = openstack_networking_port_v2.port_vm_master01.id
}
}
resource "openstack_compute_instance_v2" "worker01" {
name = "worker01"
flavor_id = "03bf1b85-2f5f-4ada-a07b-8b994b6dcb57"
user_data = file("cloud-init.yml")
block_device {
uuid = "827e08fa-fd3c-41cd-92ca-845bb5018478"
source_type = "image"
volume_size = "10"
boot_index = 0
destination_type = "volume"
delete_on_termination = true
}
network {
port = openstack_networking_port_v2.port_vm_worker01.id
}
}
resource "openstack_compute_instance_v2" "worker02" {
name = "worker02"
flavor_id = "03bf1b85-2f5f-4ada-a07b-8b994b6dcb57"
user_data = file("cloud-init.yml")
block_device {
uuid = "827e08fa-fd3c-41cd-92ca-845bb5018478"
source_type = "image"
volume_size = "10"
boot_index = 0
destination_type = "volume"
delete_on_termination = true
}
network {
port = openstack_networking_port_v2.port_vm_worker02.id
}
}</code></pre>
<ul>
<li>Запускаем автоматическое развёртывания ВМ для&nbsp;<strong>Project03</strong>&nbsp;через&nbsp;<strong>Terraform</strong>:</li>
</ul>
<pre class="language-markup"><code>terraform apply</code></pre>
<ul>
<li>Результат:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image.png"></p>
<ul id="yui_3_18_1_1_1764077371530_278">
<li id="yui_3_18_1_1_1764077371530_277">Результат в веб-интерфейсе облака:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(1).png"></p>
<ul id="yui_3_18_1_1_1764077371530_284">
<li id="yui_3_18_1_1_1764077371530_283">Для удобства приводим конфигурационный файл&nbsp;<strong>/etc/hosts</strong> к следующему виду:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(2).png"></p>
<ul id="yui_3_18_1_1_1764077371530_290">
<li>Проверяем доступ до созданных ВМ:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(3).png"></p>
<p>&nbsp;</p>
<h3>master01, worker01 и worker02:</h3>
<ul>
<li>Установим пакет&nbsp;<strong>docker-engine</strong>:</li>
</ul>
<pre class="language-markup"><code>apt-get update &amp;&amp; apt-get install -y docker-engine</code></pre>
<ul>
<li>Включить и добавить в автозагрузку службу&nbsp;<strong>docker</strong>:</li>
</ul>
<pre class="language-markup"><code>systemctl enable --now docker</code></pre>
<ul>
<li>Внести изменения в конфигурационный файл&nbsp;<strong>/etc/docker/daemon.json</strong>:
<ul>
<li>привести параметр&nbsp;<strong>live-restore</strong> к следующему виду:</li>
</ul>
</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(4).png"></p>
<ul>
<li>Перезагрузить службу&nbsp;<strong>docker</strong> для применения изменений:</li>
</ul>
<pre class="language-markup"><code>systemctl restart docker</code></pre>
<p>&nbsp;</p>
<h3>master01:</h3>
<ul>
<li>Создаём кластер Docker Swarm:</li>
</ul>
<pre class="language-markup"><code>docker swarm init</code></pre>
<ul>
<li>Результат:
<ul>
<li>команда генерирует два случайных токена, рабочий токен и токен&nbsp;менеджера</li>
<li>когда добавляется новый узел к swarm, узел присоединяется как рабочий&nbsp;или управляющий узел на основе токена</li>
</ul>
</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(5).png" width="1200" height="228"></p>
<p>&nbsp;</p>
<h3>worker01 и worker02:</h3>
<ul>
<li>Добавляем узлы в кластер Docker Swarm:
<ul>
<li>worker01:</li>
</ul>
</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(6).png" width="1201" height="98"></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>worker02:</li>
</ul>
</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(7).png" width="1205" height="75"></p>
<p>&nbsp;</p>
<h3>master01:</h3>
<ul>
<li>Проверить наличие нод в кластере:</li>
</ul>
<pre class="language-markup"><code>docker node ls</code></pre>
<ul>
<li>Результат:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(8).png"></p>
<ul>
<li>Запускаем сервис для локального хранилища на базе образа&nbsp;<strong>registry:3</strong>:</li>
</ul>
<pre class="language-markup"><code>docker service create \
--name registry \
--publish published=5000,target=5000 \
--constraint node.role==worker \
registry:3</code></pre>
<ul>
<li>Проверьте статус запущенного сервиса можно с помощью&nbsp;<strong>docker service ls</strong>:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(10).png"></p>
<ul>
<li>Проверить что задача развернулась именно на ноде с ролью <strong>worker</strong> можно с помощью команды <strong>docker service ps registry</strong>:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(11).png"></p>
<p>&nbsp;</p>
<h3>Cloud-ADM:</h3>
<ul>
<li>Любым возможным способом скачиваем файлы приложения&nbsp;<strong>Project03</strong> и передаём их на&nbsp;<strong>master01</strong>:</li>
</ul>
<pre class="language-markup"><code>scp Project03.zip master01:~/</code></pre>
<p>&nbsp;</p>
<h3>master01:</h3>
<ul>
<li>Устанавливаем пакет&nbsp;<strong>unzip</strong> и&nbsp;<strong>docker-compose-v2</strong>:
<ul>
<li>Docker Compose будет использоваться для тестирования сборки и
запуска прилодения с последующим добавлением его в ранее развёрнутое
локальное хранилище</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>apt-get install -y unzip docker-compose-v2</code></pre>
<ul>
<li>Расспаковываем архив с приложением и переходим в директорию:</li>
</ul>
<pre class="language-markup"><code>unzip /home/altlinux/Project03.zip -d ./</code></pre>
<pre class="language-markup"><code>cd School-site-project-main/</code></pre>
<ul>
<li>Создаём максимально минимальный&nbsp;<strong>Dockerfile</strong> для сборки образа приложения:</li>
</ul>
<pre class="language-markup"><code>FROM nginx:1.29.3-alpine
COPY . /usr/share/nginx/html</code></pre>
<ul>
<li>Создадим файл <strong>compose.yaml</strong> и укажем в нём следующее содержимое:
<ul>
<li>для сборки образа и тестирования приложения</li>
<li>образ называем именно так, чтобы в дальнейшем можно было его добавить в ранее развёрнутое локальное хранилище обращов</li>
<li>можно использовать 127.0.0.1, всё остальное за вас сделает маршрутизация в рамках кластера Docker Swarm</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>services:
app:
image: 127.0.0.1:5000/app
build: .
ports:
- "80:80"</code></pre>
<ul>
<li>Выполним сборку и запуск контейнера для проверки работоспособности:</li>
</ul>
<pre class="language-markup"><code>docker compose up -d</code></pre>
<ul>
<li>Проверить сборку образа можно с помощью команды&nbsp;<strong>docker image ls</strong>:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(12).png"></p>
<ul>
<li>Проверить запущенный контейнер можно с помощью команды&nbsp;<strong>docker compose ps</strong>:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(13).png"></p>
<ul>
<li>Проверить работоспособность веб-приложения с&nbsp;<strong>Cloud-ADM</strong> в браузере:
<ul>
<li>обращаясь в веб-браузере на IP-адрес любой из нод:</li>
</ul>
</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(14).png"></p>
<ul>
<li>Удаляем всё что было использовано для тестового запуска:</li>
</ul>
<pre class="language-markup"><code>docker compose down --volumes</code></pre>
<pre class="language-markup"><code>docker image rm 127.0.0.1:5000/app</code></pre>
<p>&nbsp;</p>
<h3>Cloud-ADM:</h3>
<ul>
<li>Сгенерируем необходимые файлы сертификатов, через ранее развёрнутый ЦА:
<ul>
<li>создаём ключ:</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>openssl genrsa -out site.key 2048</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>создаём запрос:</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>openssl req -key site.key -new -out site.csr</code></pre>
<ul>
<li>Результат:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(15).png"></p>
<ul>
<li>Файл с расширениями для сертификата <strong>site.ext</strong>:</li>
</ul>
<pre id="yui_3_18_1_1_1764049198937_45" class="language-markup"><code>cat &lt;&lt;EOF &gt; site.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
subjectAltName=@alt_names
[alt_names]
DNS.1=school-site.au.team
IP.1=192.168.1.107
EOF</code></pre>
<ul>
<li>Выпускаем сертификат:</li>
</ul>
<pre id="yui_3_18_1_1_1764049198937_46" class="language-markup"><code>openssl x509 -req -CA Projects/Project_01/ansible/files/ca.crt -CAkey Projects/Project_01/ansible/files/ca.key -in site.csr -out site.crt -days 365 -CAcreateserial -extfile site.ext</code></pre>
<ul>
<li>Передаём ключ и сертификат на&nbsp;<strong>master01</strong>:</li>
</ul>
<pre class="language-markup"><code>scp site.key master01:~/</code></pre>
<pre class="language-markup"><code>scp site.crt master01:~/</code></pre>
<p>&nbsp;</p>
<h3>master01:</h3>
<ul>
<li>Копируем ключ и сертификат в директорию с файлами приложения:</li>
</ul>
<pre class="language-markup"><code>cp /home/altlinux/site.crt ./</code></pre>
<pre class="language-markup"><code>cp /home/altlinux/site.key ./</code></pre>
<ul>
<li>Создаём свой конфигурационный файл для веб-сервера&nbsp;<strong>nginx, </strong>например <strong>custom.conf</strong>:</li>
</ul>
<pre class="language-markup"><code>server {
listen 80;
server_name school-site.au.team;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
server {
listen 443 ssl;
server_name school-site.au.team;
ssl_certificate /etc/nginx/site.crt;
ssl_certificate_key /etc/nginx/site.key;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}</code></pre>
<ul>
<li>Модернизируем ранее написанный&nbsp;<strong>Dockerfile</strong> для сборки образа с приложением:</li>
</ul>
<pre class="language-markup"><code>FROM nginx:1.29.3-alpine
COPY site.crt site.key /etc/nginx/
COPY custom.conf /etc/nginx/conf.d/default.conf
COPY . /usr/share/nginx/html</code></pre>
<ul>
<li>Модернизируем ранее написанный&nbsp;<strong>compose.yaml</strong>:</li>
</ul>
<pre class="language-markup"><code>services:
app:
image: 127.0.0.1:5000/app
build: .
ports:
- "80:80"
- "443:443"</code></pre>
<ul>
<li>Выполним сборку и запуск контейнера для проверки работоспособности:</li>
</ul>
<pre class="language-markup"><code>docker compose up -d</code></pre>
<ul>
<li>Проверить доступ к приложению с&nbsp;<strong>Cloud</strong><strong>-ADM</strong> как по&nbsp;<strong>http</strong> так и по&nbsp;<strong>https</strong></li>
</ul>
<ul>
<li>Удаляем всё что было использовано для тестового запуска:</li>
</ul>
<pre class="language-markup"><code>docker compose down --volumes</code></pre>
<ul>
<li>Отправляем средствами Docker Compose образ нашего приложения в ранее развёрнутое хранилище образов:</li>
</ul>
<pre class="language-markup"><code>docker compose push</code></pre>
<ul>
<li>Результат:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(17).png"></p>
<ul>
<li>Удаляем образ собранный локально:</li>
</ul>
<pre class="language-markup"><code>docker image rm 127.0.0.1:5000/app</code></pre>
<ul>
<li>Модернизируем ранее написанный&nbsp;<strong>compose.yaml</strong>:</li>
</ul>
<pre class="language-markup"><code>services:
app:
image: 127.0.0.1:5000/app
ports:
- "80:80"
- "443:443"
deploy:
placement:
constraints:
- "node.role==worker"
redis:
image: redis:8.4.0-alpine
deploy:
placement:
constraints:
- "node.role==worker"
db:
image: postgres:18.1-alpine3.22
environment:
POSTGRES_PASSWORD: "P@ssw0rd"
deploy:
placement:
constraints:
- "node.role==worker"</code></pre>
<ul>
<li>Запускаем развёртывание стека с именем&nbsp;<strong>school-site-project</strong>:</li>
</ul>
<pre class="language-markup"><code>docker stack deploy --compose-file compose.yaml school-site-project</code></pre>
<ul>
<li>Проверить созданные стек в кластере можно с помощью команды&nbsp;<strong>docker stack ls</strong>:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(18).png"></p>
<ul>
<li>Проверить созданные сервисы в рамках стека можно с помощью команды&nbsp;<strong>docker stack services school-site-project</strong>:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(19).png"></p>
<ul>
<li>Проверить на каких нодах запустились задачи сервивов в рамках стека можно с помощью команды&nbsp;<strong>docker stack ps school-site-project</strong>:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(20).png"></p>
<p>&nbsp;</p>
<h3>Cloud-ADM:</h3>
<ul>
<li>Добавляем в файл&nbsp;<strong>/etc/hosts</strong> следующую запись:</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(16).png"></p>
<ul>
<li>Проверяем доступ к приложению:
<ul>
<li style="font-weight: bold;"><strong><a href="http://school-site.au.team/" class="_blanktarget">http://school-site.au.team:</a></strong></li>
</ul>
</li>
</ul>
<p><img src="REG26_%203.%20Project_03%20_%20sysahelper_files/image%20(21).png"></p></div></div><div class="modified">Последнее изменение: среда, 26 ноября 2025, 10:53</div></div>
</section>
</div>
</div>
</div>
<div class="moove-container-fluid p-0 mb-4">
<div class="card activity-navigation mdl-bottom">
<div class="card-body">
<div class="row">
<div class="col-md-4"> <div id="prev-activity">
<div class="larrow">
<i class="icon-arrow-left"></i>
</div>
<div class="text">
<span class="nav-guide">
Предыдущий элемент курса
</span>
<a href="https://sysahelper.ru/mod/page/view.php?id=781&amp;forceview=1" id="prev-activity-link" class="btn btn-link">3. Project_02</a>
</div>
</div>
</div>
<div class="col-md-4"> <div class="mdl-align">
<div class="urlselect">
<form method="post" action="https://sysahelper.ru/course/jumpto.php" class="form-inline" id="url_select_f69fc91d8b01d24">
<input type="hidden" name="sesskey" value="I78ejZljGV">
<label for="jump-to-activity" class="sr-only">
Перейти на...
</label>
<select id="jump-to-activity" class="custom-select urlselect" name="jump">
<option value="" selected="selected">Перейти на...</option>
<option value="/mod/folder/view.php?id=701&amp;forceview=1">Конкурсная документация (в исходном виде)</option>
<option value="/mod/url/view.php?id=778&amp;forceview=1">Текст задание</option>
<option value="/mod/page/view.php?id=704&amp;forceview=1">Виртуальный стенд</option>
<option value="/mod/page/view.php?id=719&amp;forceview=1">Используемая таблица адресации</option>
<option value="/mod/page/view.php?id=705&amp;forceview=1">Настройка виртуальной машины ISP</option>
<option value="/mod/page/view.php?id=720&amp;forceview=1">1. Настройка имён и IP-адресации на устройствах&nbsp;rtr-cod и rtr-a</option>
<option value="/mod/page/view.php?id=724&amp;forceview=1">2. Подход к настройке fw-cod</option>
<option value="/mod/page/view.php?id=722&amp;forceview=1">3. Настройка маршрутизации BGP на rtr-cod</option>
<option value="/mod/page/view.php?id=721&amp;forceview=1">4. Настройка туннелей между офисом «а» и «cod»</option>
<option value="/mod/page/view.php?id=725&amp;forceview=1">5. Настройка доступа в Интернет</option>
<option value="/mod/page/view.php?id=726&amp;forceview=1">6. Настройка динамической маршрутизации между офисом «a» и «cod»</option>
<option value="/mod/page/view.php?id=727&amp;forceview=1">7. Настройка коммутации между sw1-a и sw2-a</option>
<option value="/mod/page/view.php?id=728&amp;forceview=1">8. Настройка доступа к веб-интерфейсу fw-cod и лицензирование</option>
<option value="/mod/page/view.php?id=729&amp;forceview=1">9. Создание интерфейсов типа VLAN на fw-cod для маршутизации между VLAN</option>
<option value="/mod/page/view.php?id=730&amp;forceview=1">10. Настройка коммутации между sw1-cod и sw2-cod</option>
<option value="/mod/page/view.php?id=731&amp;forceview=1">11. Настройка имён и IP-адресов на всех остальных устройствах</option>
<option value="/mod/page/view.php?id=732&amp;forceview=1">12. Настройка административного доступа (RADIUS)</option>
<option value="/mod/page/view.php?id=733&amp;forceview=1">13. Настройка синхронизации времени между сетевыми устройствами</option>
<option value="/mod/page/view.php?id=734&amp;forceview=1">14. Настройка службы доменных имен в COD-е</option>
<option value="/mod/page/view.php?id=735&amp;forceview=1">15. Развёртывание контроллера домена на базе SambaAD</option>
<option value="/mod/page/view.php?id=736&amp;forceview=1">16. Настройка службы доменных имен в OFFICE</option>
<option value="/mod/page/view.php?id=737&amp;forceview=1">17. Настройка центра сертификации</option>
<option value="/mod/page/view.php?id=772&amp;forceview=1">18. Настройка сервера баз данных</option>
<option value="/mod/page/view.php?id=773&amp;forceview=1">19. Настройка устройства хранения данных (iSCSI)</option>
<option value="/mod/page/view.php?id=774&amp;forceview=1">20. Настройка устройства хранения данных (LVM)</option>
<option value="/mod/page/view.php?id=775&amp;forceview=1">21. Настройка устройства хранения данных (NFS)</option>
<option value="/mod/page/view.php?id=776&amp;forceview=1">22. Настройка системы мониторинга</option>
<option value="/mod/page/view.php?id=777&amp;forceview=1">23. Настройка IP телефонии</option>
<option value="/mod/page/view.php?id=779&amp;forceview=1">1. Подготовка машины Cloud-ADM</option>
<option value="/mod/page/view.php?id=782&amp;forceview=1">1.1. Установка Terraform на Cloud-ADM</option>
<option value="/mod/page/view.php?id=783&amp;forceview=1">1.2. Установка OpenStack CLI на Cloud-ADM</option>
<option value="/mod/page/view.php?id=784&amp;forceview=1">1.3. Установка Ansible на Cloud-ADM</option>
<option value="/mod/page/view.php?id=780&amp;forceview=1">2. Project_01</option>
<option value="/mod/page/view.php?id=781&amp;forceview=1">3. Project_02</option>
</select>
<noscript>
<input type="submit" class="btn btn-secondary ml-1" value="Применить">
</noscript>
</form>
</div>
</div>
</div>
<div class="col-md-4"> <div id="next-activity">
</div>
</div>
</div>
</div>
</div>
</div>
<footer id="page-footer">
<div class="moove-container-fluid footer-columns">
<div class="row">
<div class="col-md-4 column-left">
<div class="contact">
<h3 class="footer-title">Обратная связь</h3>
<ul>
</ul>
</div>
<div class="socialnetworks">
<h3 class="footer-title">Подпишитесь</h3>
<ul class="mb-0">
</ul>
</div>
</div>
<div class="col-md-4 column-center">
<div class="logininfo">Вы используете гостевой доступ (<a href="https://sysahelper.ru/login/index.php">Вход</a>)</div>
<div class="tool_dataprivacy"><a href="https://sysahelper.ru/admin/tool/dataprivacy/summary.php">Сводка хранения данных</a></div>
<div class="tool_usertours-resettourcontainer"></div>
</div>
<div class="col-md-4 column-right">
</div>
</div>
</div>
<div class="footer-content-debugging footer-dark bg-dark text-light">
<div class="moove-container-fluid footer-dark-inner">
</div>
</div>
<div data-region="footer-container-popover">
<button class="btn btn-icon bg-secondary icon-no-margin btn-footer-popover" data-action="footer-popover" aria-label="Показать нижний колонтитул" data-original-title="" title="">
<i class="icon fa fa-question fa-fw " aria-hidden="true"></i>
</button>
</div>
<div class="footer-content-popover container" data-region="footer-content-popover">
<div class="footer-section p-3">
<div>На платформе <a href="https://moodle.com/">Moodle</a></div>
</div>
</div>
<div class="copyright">
<div class="madeby">
<p>Тема оформления сайта разработана</p>
<a href="https://conecti.me/">
<img src="REG26_%203.%20Project_03%20_%20sysahelper_files/logo_conectime.svg" alt="Conecti.me" style="height: 40px;">
</a>
</div>
</div>
</footer>
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(96198090, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true
});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/96198090" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --><script>
//<![CDATA[
var require = {
baseUrl : 'https://sysahelper.ru/lib/requirejs.php/1703880200/',
// We only support AMD modules with an explicit define() statement.
enforceDefine: true,
skipDataMain: true,
waitSeconds : 0,
paths: {
jquery: 'https://sysahelper.ru/lib/javascript.php/1703880200/lib/jquery/jquery-3.7.1.min',
jqueryui: 'https://sysahelper.ru/lib/javascript.php/1703880200/lib/jquery/ui-1.13.2/jquery-ui.min',
jqueryprivate: 'https://sysahelper.ru/lib/javascript.php/1703880200/lib/requirejs/jquery-private'
},
// Custom jquery config map.
map: {
// '*' means all modules will get 'jqueryprivate'
// for their 'jquery' dependency.
'*': { jquery: 'jqueryprivate' },
// Stub module for 'process'. This is a workaround for a bug in MathJax (see MDL-60458).
'*': { process: 'core/first' },
// 'jquery-private' wants the real jQuery module
// though. If this line was not here, there would
// be an unresolvable cyclic dependency.
jqueryprivate: { jquery: 'jquery' }
}
};
//]]>
</script>
<script src="REG26_%203.%20Project_03%20_%20sysahelper_files/javascript_004.php"></script>
<script>
//<![CDATA[
M.util.js_pending("core/first");
require(['core/first'], function() {
require(['core/prefetch'])
;
M.util.js_pending('filter_mathjaxloader/loader'); require(['filter_mathjaxloader/loader'], function(amd) {amd.configure({"mathjaxconfig":"\nMathJax.Hub.Config({\n config: [\"Accessible.js\", \"Safe.js\"],\n errorSettings: { message: [\"!\"] },\n skipStartupTypeset: true,\n messageStyle: \"none\"\n});\n","lang":"ru"}); M.util.js_complete('filter_mathjaxloader/loader');});;
require(["media_videojs/loader"], function(loader) {
loader.setUp('ru');
});;
M.util.js_pending('core_courseformat/courseeditor'); require(['core_courseformat/courseeditor'], function(amd) {amd.setViewFormat("43", {"editing":false,"supportscomponents":true,"statekey":"1772597507_1778159930","overriddenStrings":[{"component":"format_topics","key":"sectionavailability_title"},{"component":"format_topics","key":"sectiondelete_title"},{"component":"format_topics","key":"sectionsdelete_title"},{"component":"format_topics","key":"sectionsdelete_info"},{"component":"format_topics","key":"sectionmove_title"},{"component":"format_topics","key":"sectionsavailability_title"},{"component":"format_topics","key":"sectionsmove_title"},{"component":"format_topics","key":"sectionsmove_info"},{"component":"format_topics","key":"selectsection"}]}); M.util.js_complete('core_courseformat/courseeditor');});;
require(['core_courseformat/local/courseindex/placeholder'], function(component) {
component.init('course-index-placeholder');
});
;
require(['core_courseformat/local/courseindex/drawer'], function(component) {
component.init('courseindex');
});
;
M.util.js_pending('core_courseformat/local/content/activity_header'); require(['core_courseformat/local/content/activity_header'], function(amd) {amd.init(); M.util.js_complete('core_courseformat/local/content/activity_header');});;
require(['theme_moove/accessibilitybar'], function(AccessibilityBar) {
AccessibilityBar.init();
});
;
require(['core/moremenu'], function(moremenu) {
moremenu(document.querySelector('#moremenu-69fc91d8afb8b-navbar-nav'));
});
;
require(
[
'jquery',
],
function(
$
) {
var uniqid = "69fc91d8b107e69fc91d8b01d22";
var container = $('#searchinput-navbar-' + uniqid);
var opensearch = container.find('[data-action="opensearch"]');
var input = container.find('[data-region="input"]');
var submit = container.find('[data-action="submit"]');
submit.on('click', function(e) {
if (input.val() === '') {
e.preventDefault();
}
});
container.on('hidden.bs.collapse', function() {
opensearch.removeClass('d-none');
input.val('');
});
container.on('show.bs.collapse', function() {
opensearch.addClass('d-none');
});
container.on('shown.bs.collapse', function() {
input.focus();
});
});
;
require(
[
'jquery',
],
function(
$
) {
var uniqid = "69fc91d8b15ee69fc91d8b01d23";
var container = $('#searchinput-navbar-' + uniqid);
var opensearch = container.find('[data-action="opensearch"]');
var input = container.find('[data-region="input"]');
var submit = container.find('[data-action="submit"]');
submit.on('click', function(e) {
if (input.val() === '') {
e.preventDefault();
}
});
container.on('hidden.bs.collapse', function() {
opensearch.removeClass('d-none');
input.val('');
});
container.on('show.bs.collapse', function() {
opensearch.addClass('d-none');
});
container.on('shown.bs.collapse', function() {
input.focus();
});
});
;
require(['core/usermenu', 'theme_moove/accessibilitysettings'], function(UserMenu, AccessibilitySettings) {
UserMenu.init();
AccessibilitySettings.init();
});
;
require(['theme_boost/drawers']);
;
require(['theme_boost/drawers']);
;
require(['jquery', 'core/custom_interaction_events'], function($, CustomEvents) {
CustomEvents.define('#jump-to-activity', [CustomEvents.events.accessibleChange]);
$('#jump-to-activity').on(CustomEvents.events.accessibleChange, function() {
if ($(this).val()) {
$('#url_select_f69fc91d8b01d24').submit();
}
});
});
;
require(['theme_boost/footer-popover'], function(FooterPopover) {
FooterPopover.init();
});
;
M.util.js_pending('theme_boost/loader');
require(['theme_boost/loader', 'theme_boost/drawer'], function(Loader, Drawer) {
Drawer.init();
M.util.js_complete('theme_boost/loader');
});
;
M.util.js_pending('core/notification'); require(['core/notification'], function(amd) {amd.init(1165, []); M.util.js_complete('core/notification');});;
M.util.js_pending('core/log'); require(['core/log'], function(amd) {amd.setConfig({"level":"warn"}); M.util.js_complete('core/log');});;
M.util.js_pending('core/page_global'); require(['core/page_global'], function(amd) {amd.init(); M.util.js_complete('core/page_global');});;
M.util.js_pending('core/utility'); require(['core/utility'], function(amd) {M.util.js_complete('core/utility');});
M.util.js_complete("core/first");
});
//]]>
</script>
<script src="REG26_%203.%20Project_03%20_%20sysahelper_files/MathJax.js"></script>
<script>
//<![CDATA[
M.str = {"moodle":{"lastmodified":"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435","name":"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435","error":"\u041e\u0448\u0438\u0431\u043a\u0430","info":"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f","yes":"\u0414\u0430","no":"\u041d\u0435\u0442","cancel":"\u041e\u0442\u043c\u0435\u043d\u0430","confirm":"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c","areyousure":"\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b?","closebuttontitle":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c","unknownerror":"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430","file":"\u0424\u0430\u0439\u043b","url":"URL","collapseall":"\u0421\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0451","expandall":"\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0451"},"repository":{"type":"\u0422\u0438\u043f","size":"\u0420\u0430\u0437\u043c\u0435\u0440","invalidjson":"\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 JSON","nofilesattached":"\u041d\u0435 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d \u043d\u0438 \u043e\u0434\u0438\u043d \u0444\u0430\u0439\u043b","filepicker":"\u0412\u044b\u0431\u043e\u0440 \u0444\u0430\u0439\u043b\u0430","logout":"\u0412\u044b\u0445\u043e\u0434","nofilesavailable":"\u041d\u0435\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430","norepositoriesavailable":"\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043d\u0438 \u043e\u0434\u043d\u043e \u0438\u0437 \u0412\u0430\u0448\u0438\u0445 \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0432 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.","fileexistsdialogheader":"\u0424\u0430\u0439\u043b \u0441\u043e\u0437\u0434\u0430\u043d","fileexistsdialog_editor":"\u0424\u0430\u0439\u043b \u0441 \u044d\u0442\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u0443\u0436\u0435 \u0431\u044b\u043b \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d \u043a \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u043c\u0443 \u0442\u0435\u043a\u0441\u0442\u0443","fileexistsdialog_filemanager":"\u0424\u0430\u0439\u043b \u0441 \u044d\u0442\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u0443\u0436\u0435 \u0431\u044b\u043b \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d","renameto":"\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c \u0432 \u00ab{$a}\u00bb","referencesexist":"\u041d\u0430 \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0435\u0441\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438: {$a}","select":"\u0412\u044b\u0431\u0440\u0430\u0442\u044c"},"admin":{"confirmdeletecomments":"\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044c \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438?","confirmation":"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435"},"debug":{"debuginfo":"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u043e\u0442\u043b\u0430\u0434\u043a\u0435","line":"\u0421\u0442\u0440\u043e\u043a\u0430","stacktrace":"\u0422\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0442\u0435\u043a\u0430"},"langconfig":{"labelsep":":"}};
//]]>
</script>
<script>
//<![CDATA[
(function() {M.util.help_popups.setup(Y);
M.util.js_pending('random69fc91d8b01d25'); Y.on('domready', function() { M.util.js_complete("init"); M.util.js_complete('random69fc91d8b01d25'); });
})();
//]]>
</script>
</div>
</div><div id="yui3-css-stamp" style="position: absolute !important; visibility: hidden !important" class=""></div>
<div></div></body></html>