757 lines
717 KiB
HTML
757 lines
717 KiB
HTML
|
|
<!DOCTYPE html>
|
|||
|
|
|
|||
|
|
<html dir="ltr" lang="ru" xml:lang="ru">
|
|||
|
|
<head>
|
|||
|
|
<title>SF25: 14) Настройка Keepalived (keepalive_deploy_playbook.yml) | sysahelper</title>
|
|||
|
|
<link href="https://sysahelper.ru/pluginfile.php/1/theme_moove/favicon/1703880572/22212monkey_98814.ico" rel="shortcut icon"/>
|
|||
|
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
|
|||
|
|
<meta content="moodle, SF25: 14) Настройка Keepalived (keepalive_deploy_playbook.yml) | sysahelper" name="keywords"/>
|
|||
|
|
<link href="https://sysahelper.ru/theme/yui_combo.php?rollup/3.18.1/yui-moodlesimple-min.css" rel="stylesheet" type="text/css"/><script id="firstthemesheet" type="text/css">/** Required in order to fix style inclusion problems in IE with YUI **/</script><link href="https://sysahelper.ru/theme/styles.php/moove/1703880572_1/all" rel="stylesheet" type="text/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":39,"courseContextId":936,"contextid":1019,"contextInstanceId":651,"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"
|
|||
|
|
M.yui.loader = {modules: {}};
|
|||
|
|
|
|||
|
|
//]]>
|
|||
|
|
</script>
|
|||
|
|
<link href="https://fonts.googleapis.com" rel="preconnect"/>
|
|||
|
|
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
|
|||
|
|
<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet"/>
|
|||
|
|
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
|
|||
|
|
</head>
|
|||
|
|
<body class="format-topics limitedwidth path-mod path-mod-page chrome dir-ltr lang-ru yui-skin-sam yui3-skin-sam sysahelper-ru pagelayout-incourse course-39 context-1019 cmid-651 cm-type-page category-6 theme uses-drawers drawer-open-index" id="page-mod-page-view">
|
|||
|
|
<div class="fixed-top" id="accessibilitybar">
|
|||
|
|
<div class="container-fluid">
|
|||
|
|
<div class="bars">
|
|||
|
|
<div class="fontsize">
|
|||
|
|
<span>Размер шрифта</span>
|
|||
|
|
<ul>
|
|||
|
|
<li><a class="btn btn-default" data-action="decrease" id="fontsize_dec" title="Уменьшить размер шрифта">A-</a></li>
|
|||
|
|
<li><a class="btn btn-default" data-action="reset" id="fontsize_reset" title="Сбросить размер шрифта">A</a></li>
|
|||
|
|
<li><a class="btn btn-default" data-action="increase" id="fontsize_inc" title="Увеличить размер шрифта">A+</a></li>
|
|||
|
|
</ul>
|
|||
|
|
</div>
|
|||
|
|
<div class="sitecolor">
|
|||
|
|
<span>Цвет сайта</span>
|
|||
|
|
<ul>
|
|||
|
|
<li><a class="btn btn-default" data-action="reset" id="sitecolor_color1" title="Сбросить цвет сайта">R</a></li>
|
|||
|
|
<li><a class="btn btn-default" data-action="sitecolor-color-2" id="sitecolor_color2" title="Низкий контраст 1">A</a></li>
|
|||
|
|
<li><a class="btn btn-default" data-action="sitecolor-color-3" id="sitecolor_color3" title="Низкий контраст 2">A</a></li>
|
|||
|
|
<li><a class="btn btn-default" data-action="sitecolor-color-4" id="sitecolor_color4" title="Высокий контраст">A</a></li>
|
|||
|
|
</ul>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div aria-live="polite" class="toast-wrapper mx-auto py-0 fixed-top" role="status"></div>
|
|||
|
|
<div class="d-print-block" id="page-wrapper">
|
|||
|
|
<div>
|
|||
|
|
<a class="sr-only sr-only-focusable" href="#maincontent">Перейти к основному содержанию</a>
|
|||
|
|
</div><script src="https://sysahelper.ru/lib/javascript.php/1703880200/lib/polyfills/polyfill.js"></script>
|
|||
|
|
<script src="https://sysahelper.ru/theme/yui_combo.php?rollup/3.18.1/yui-moodlesimple-min.js"></script><script src="https://sysahelper.ru/lib/javascript.php/1703880200/lib/javascript-static.js"></script>
|
|||
|
|
<script>
|
|||
|
|
//<![CDATA[
|
|||
|
|
document.body.className += ' jsenabled';
|
|||
|
|
//]]>
|
|||
|
|
</script>
|
|||
|
|
<nav aria-label="Навигация по сайту" class="navbar fixed-top navbar-light bg-white navbar-expand shadow">
|
|||
|
|
<button class="navbar-toggler aabtn d-block d-md-none px-1 my-1 border-0" data-action="toggle" data-target="theme_moove-drawers-primary" data-toggler="drawers">
|
|||
|
|
<span class="navbar-toggler-icon"></span>
|
|||
|
|
<span class="sr-only">Боковая панель</span>
|
|||
|
|
</button>
|
|||
|
|
<a class="navbar-brand d-none d-md-flex align-items-center m-0 mr-4 p-0 aabtn" href="https://sysahelper.ru/">
|
|||
|
|
<img alt="sysahelper" class="logo mr-1" src="data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMvaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0NSA3OS4xNjM0OTksIDIwMTgvMDgvMTMtMTY6NDA6MjIgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozRkM2MUVGMjFDQTcxMUVBQjY4QUQ0ODQ0QTJCNzg3NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozRkM2MUVGMzFDQTcxMUVBQjY4QUQ0ODQ0QTJCNzg3NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjNGQzYxRUYwMUNBNzExRUFCNjhBRDQ4NDRBMkI3ODc3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjNGQzYxRUYxMUNBNzExRUFCNjhBRDQ4NDRBMkI3ODc3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJ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
|
|||
|
|
</a>
|
|||
|
|
<div class="primary-navigation">
|
|||
|
|
<nav class="moremenu navigation">
|
|||
|
|
<ul class="nav more-nav navbar-nav" id="moremenu-69fc974b8378b-navbar-nav" role="menubar">
|
|||
|
|
<li class="nav-item" data-forceintomoremenu="false" data-key="home" role="none">
|
|||
|
|
<a class="nav-link" href="https://sysahelper.ru/" role="menuitem" tabindex="-1">
|
|||
|
|
В начало
|
|||
|
|
</a>
|
|||
|
|
</li>
|
|||
|
|
<li class="nav-item dropdown dropdownmoremenu d-none" data-region="morebutton" role="none">
|
|||
|
|
<a aria-expanded="false" aria-haspopup="true" class="dropdown-toggle nav-link" data-toggle="dropdown" href="#" id="moremenu-dropdown-69fc974b8378b" role="menuitem" tabindex="-1">
|
|||
|
|
Дополнительно
|
|||
|
|
</a>
|
|||
|
|
<ul aria-labelledby="moremenu-dropdown-69fc974b8378b" class="dropdown-menu dropdown-menu-left" data-region="moredropdown" 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 class="navbar-nav ml-auto" id="usernavigation">
|
|||
|
|
<div class="navbarcallbacks">
|
|||
|
|
</div>
|
|||
|
|
<div class="simplesearchform" id="searchinput-navbar-69fc974b8587369fc974b83fa83">
|
|||
|
|
<div class="collapse" id="searchform-navbar">
|
|||
|
|
<form accept-charset="utf-8" action="https://sysahelper.ru/search/index.php" autocomplete="off" class="mform form-inline searchform-navbar" method="get">
|
|||
|
|
<input name="context" type="hidden" value="1019"/>
|
|||
|
|
<div class="input-group">
|
|||
|
|
<label for="searchinput-69fc974b8587369fc974b83fa83">
|
|||
|
|
<span class="sr-only">Найти</span>
|
|||
|
|
</label>
|
|||
|
|
<input aria-label="Найти" autocomplete="off" class="form-control withclear" data-region="input" id="searchinput-69fc974b8587369fc974b83fa83" name="q" placeholder="Найти" type="text"/>
|
|||
|
|
<a class="btn btn-close" data-action="closesearch" data-toggle="collapse" href="#searchform-navbar" role="button">
|
|||
|
|
<i aria-hidden="true" class="icon fa fa-times fa-fw"></i>
|
|||
|
|
<span class="sr-only">Закрыть</span>
|
|||
|
|
</a>
|
|||
|
|
<div class="input-group-append">
|
|||
|
|
<button class="btn btn-submit" data-action="submit" type="submit">
|
|||
|
|
<i aria-hidden="true" class="icon fa fa-search fa-fw"></i>
|
|||
|
|
<span class="sr-only">Найти</span>
|
|||
|
|
</button>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</form>
|
|||
|
|
</div>
|
|||
|
|
<a aria-controls="searchform-navbar" aria-expanded="false" class="btn btn-open rounded-0 nav-link" data-action="opensearch" data-toggle="collapse" href="#searchform-navbar" role="button" title="Изменить данные поисковой строки">
|
|||
|
|
<i aria-hidden="true" class="icon fa fa-search fa-fw"></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 aria-controls="lang-action-menu" aria-haspopup="true" aria-label="Язык" class="btn dropdown-toggle" data-toggle="dropdown" href="#" id="lang-menu-toggle" role="button">
|
|||
|
|
<i aria-hidden="true" class="icon fa fa-language fa-fw mr-1"></i>
|
|||
|
|
<span class="langbutton">
|
|||
|
|
Русский (ru)
|
|||
|
|
</span>
|
|||
|
|
<b class="caret"></b>
|
|||
|
|
</a>
|
|||
|
|
<div aria-labelledby="lang-menu-toggle" class="dropdown-menu dropdown-menu-right" id="lang-action-menu" role="menu">
|
|||
|
|
<a aria-current="true" class="dropdown-item pl-5" href="#" role="menuitem">
|
|||
|
|
Русский (ru)
|
|||
|
|
</a>
|
|||
|
|
<a class="dropdown-item pl-5" href="https://sysahelper.ru/mod/page/view.php?id=651&lang=en" 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 not-initialized" data-close-on-resize="1" data-forceopen="0" data-preference="" data-region="fixed-drawer" data-state="show-drawer-primary" id="theme_moove-drawers-primary">
|
|||
|
|
<div class="drawerheader">
|
|||
|
|
<button class="btn drawertoggle icon-no-margin hidden" data-action="closedrawer" data-placement="right" data-target="theme_moove-drawers-primary" data-toggle="tooltip" data-toggler="drawers" title="Закрыть панель">
|
|||
|
|
<i aria-hidden="true" class="icon fa fa-times fa-fw"></i>
|
|||
|
|
</button>
|
|||
|
|
<div class="drawerheadercontent hidden">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="drawercontent drag-container" data-usertour="scroller">
|
|||
|
|
<div class="list-group">
|
|||
|
|
<a class="list-group-item list-group-item-action" href="https://sysahelper.ru/">
|
|||
|
|
В начало
|
|||
|
|
</a>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="drawer drawer-left show d-print-none not-initialized" data-close-on-resize="0" data-forceopen="0" data-preference="drawer-open-index" data-region="fixed-drawer" data-state="show-drawer-left" id="theme_boost-drawers-courseindex">
|
|||
|
|
<div class="drawerheader">
|
|||
|
|
<button class="btn drawertoggle icon-no-margin hidden" data-action="closedrawer" data-placement="right" data-target="theme_boost-drawers-courseindex" data-toggle="tooltip" data-toggler="drawers" title="Закрыть оглавление курса">
|
|||
|
|
<i aria-hidden="true" class="icon fa fa-times fa-fw"></i>
|
|||
|
|
</button>
|
|||
|
|
<div class="drawerheadercontent hidden">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="drawercontent drag-container" data-usertour="scroller">
|
|||
|
|
<nav class="courseindex" id="courseindex">
|
|||
|
|
<div id="courseindex-content">
|
|||
|
|
<div aria-hidden="true" data-region="loading-placeholder-content" id="course-index-placeholder">
|
|||
|
|
<ul class="media-list">
|
|||
|
|
<li class="media">
|
|||
|
|
<div class="media-body col-md-6 p-0 d-flex align-items-center">
|
|||
|
|
<div class="bg-pulse-grey rounded-circle mr-2"></div>
|
|||
|
|
<div class="bg-pulse-grey w-100"></div>
|
|||
|
|
</div>
|
|||
|
|
</li>
|
|||
|
|
<li class="media">
|
|||
|
|
<div class="media-body col-md-6 p-0 d-flex align-items-center">
|
|||
|
|
<div class="bg-pulse-grey rounded-circle mr-2"></div>
|
|||
|
|
<div class="bg-pulse-grey w-100"></div>
|
|||
|
|
</div>
|
|||
|
|
</li>
|
|||
|
|
<li class="media">
|
|||
|
|
<div class="media-body col-md-6 p-0 d-flex align-items-center">
|
|||
|
|
<div class="bg-pulse-grey rounded-circle mr-2"></div>
|
|||
|
|
<div class="bg-pulse-grey w-100"></div>
|
|||
|
|
</div>
|
|||
|
|
</li>
|
|||
|
|
<li class="media">
|
|||
|
|
<div class="media-body col-md-6 p-0 d-flex align-items-center">
|
|||
|
|
<div class="bg-pulse-grey rounded-circle mr-2"></div>
|
|||
|
|
<div class="bg-pulse-grey w-100"></div>
|
|||
|
|
</div>
|
|||
|
|
</li>
|
|||
|
|
</ul>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</nav>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="drawers show-drawer-left drag-container" data-region="mainpage" data-usertour="scroller" id="page">
|
|||
|
|
<header class="moove-container-fluid" id="page-header">
|
|||
|
|
<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 alt="" aria-hidden="true" class="icon activityicon" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA3NC40IDc0LjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDc0LjQgNzQuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWlkIG1lZXQiPgo8Zz4KCTxwYXRoIGQ9Ik02Ni41LDE1LjFMNTIuNCwxYy0wLjctMC43LTEuNi0xLTIuNi0xSDEwLjNDOC4yLDAsNi42LDEuNiw2LjYsMy43bDAsMHY2N2MwLDIuMSwxLjYsMy43LDMuNywzLjdsMCwwSDY0CgkJYzIuMSwwLDMuNy0xLjYsMy43LTMuN2wwLDBWMTcuOEM2Ny41LDE2LjgsNjcuMiwxNS44LDY2LjUsMTUuMXogTTQ4LjQsNi43bDEyLjUsMTIuNUg0OC40VjYuN3ogTTExLjksNjkuMlY1aDMwLjl2MTUuNgoJCWMwLDIuMiwxLjcsMy44LDMuOCwzLjhoMTUuNnY0NC43TDExLjksNjkuMkwxMS45LDY5LjJ6Ii8+Cgk8cGF0aCBkPSJNNTQuMyw0M0gxOS43Yy0xLjQsMC0yLjYsMS4yLTIuNiwyLjZzMS4yLDIuNiwyLjYsMi42aDM0LjZjMS40LDAsMi42LTEuMiwyLjYtMi42QzU3LDQ0LjIsNTUuOCw0Myw1NC4zLDQzeiIvPgoJPHBhdGggZD0iTTU0LjMsNTMuNUgxOS43Yy0xLjQsMC0yLjYsMS4yLTIuNiwyLjZzMS4yLDIuNiwyLjYsMi42aDM0LjZjMS40LDAsMi42LTEuMiwyLjYtMi42UzU1LjgsNTMuNSw1NC4zLDUzLjV6Ii8+Cgk8cGF0aCBkPSJNMTkuOCwzNy44aDIwLjljMS40LDAsMi42LTEuMiwyLjYtMi42YzAtMS40LTEuMi0yLjYtMi42LTIuNkgxOS44Yy0xLjQsMC0yLjYsMS4yLTIuNiwyLjZTMTguNCwzNy44LDE5LjgsMzcuOHoiLz4KPC9nPgo8L3N2Zz4K"/></div></div><div class="page-header-headings"><h1 class="h2">14) Настройка Keepalived (keepalive_deploy_playbook.yml)</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=39#section-1" title="SEMIFINAL2025">SF25</a>
|
|||
|
|
</li>
|
|||
|
|
<li class="breadcrumb-item"><span>14) Настройка Keepalived (keepalive_deploy_playbook.yml)</span></li>
|
|||
|
|
</ol>
|
|||
|
|
</nav>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</header>
|
|||
|
|
<div class="main-inner" id="topofscroll">
|
|||
|
|
<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-action="toggle" data-placement="right" data-target="theme_boost-drawers-courseindex" data-toggle="tooltip" data-toggler="drawers" title="Открыть оглавление курса">
|
|||
|
|
<span class="sr-only">Открыть оглавление курса</span>
|
|||
|
|
<i aria-hidden="true" class="icon fa fa-list fa-fw"></i>
|
|||
|
|
</button>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="d-print-block" id="page-content">
|
|||
|
|
<div id="region-main-box">
|
|||
|
|
<section aria-label="Содержимое" id="region-main">
|
|||
|
|
<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 class="activity-information" data-activityname="14) Настройка Keepalived (keepalive_deploy_playbook.yml)" data-region="activity-information">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div role="main"><div class="box py-3 generalbox center clearfix"><div class="no-overflow"><h3>Задание:</h3>
|
|||
|
|
<p class="docData;DOCY;v5;4247;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
|
|||
|
|
<ul>
|
|||
|
|
<li>1. Режим работы: <strong>Active-Backup</strong>;</li>
|
|||
|
|
<li>2. <strong style="text-align: initial;">Cloud-HA01</strong><span style="text-align: initial;">: Активный узел (приоритет </span><strong style="text-align: initial;">100</strong><span style="text-align: initial;">);</span></li>
|
|||
|
|
<li>3. <strong style="text-align: initial;">Cloud-HA02</strong><span style="text-align: initial;">: Резервный узел (приоритет </span><strong style="text-align: initial;">90</strong><span style="text-align: initial;">);</span></li>
|
|||
|
|
<li>4. Настроить <strong style="text-align: initial;">виртуальный IP</strong><span style="text-align: initial;"> (VIP) для отказоустойчивости, используйте первый не занятый IP-адрес из подсети </span><strong style="text-align: initial;">Internal-Net</strong><span style="text-align: initial;">;</span></li>
|
|||
|
|
<li>5. Настроить <strong style="text-align: initial;">аутентификацию</strong><span style="text-align: initial;"> между узлами с использованием общего секретного ключа (в текущей вариации задания VIP — должен просто быть, и корректно переезжать между Активным и Резервным узлом, использовать VIP — для настройки какого-либо иного функционала не требуется).</span></li>
|
|||
|
|
</ul>
|
|||
|
|
<h3 id="yui_3_18_1_1_1750325037307_207">Вариант реализации:</h3>
|
|||
|
|
<h3>Cloud-ADM:</h3>
|
|||
|
|
<ul>
|
|||
|
|
<li>Вся дальнейшая работа реализуется в контексте директории <strong>/home/altlinux/bin/ansible</strong>:</li>
|
|||
|
|
</ul>
|
|||
|
|
<pre class="language-markup"><code>cd /home/altlinux/bin/ansible</code></pre>
|
|||
|
|
<ul>
|
|||
|
|
<li>Создадим файл '<strong>keepalive_deploy_playbook.yml</strong>', в котором последовательно будем описывать всё что касается настройки серверов <strong>Cloud-HA01</strong> и <strong>Cloud-HA02</strong> в контексте данного задания:</li>
|
|||
|
|
</ul>
|
|||
|
|
<pre class="language-markup"><code>vim keepalive_deploy_playbook.yml</code></pre>
|
|||
|
|
<ul>
|
|||
|
|
<li style="list-style-type: none;">
|
|||
|
|
<ul>
|
|||
|
|
<li>Добавляем следующее содержимое:<br/>
|
|||
|
|
<ul>
|
|||
|
|
<li>см. комментарии в коде;</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
</ul>
|
|||
|
|
<pre class="language-markup"><code>---
|
|||
|
|
- name: Install Keepalive
|
|||
|
|
hosts: ha
|
|||
|
|
become: true
|
|||
|
|
|
|||
|
|
tasks:
|
|||
|
|
# Установка пакета "keepalived"
|
|||
|
|
- name: Install Keepalive
|
|||
|
|
community.general.apt_rpm:
|
|||
|
|
name: keepalived
|
|||
|
|
state: present
|
|||
|
|
update_cache: true
|
|||
|
|
|
|||
|
|
# Включение функции перессылки пакетов (forwarding)
|
|||
|
|
- name: Enable IPv4 forwarding
|
|||
|
|
ansible.posix.sysctl:
|
|||
|
|
name: net.ipv4.ip_forward
|
|||
|
|
value: '1'
|
|||
|
|
sysctl_set: yes
|
|||
|
|
state: present
|
|||
|
|
reload: yes
|
|||
|
|
ignoreerrors: true
|
|||
|
|
failed_when: false
|
|||
|
|
|
|||
|
|
# Настройка Cloud-HA01
|
|||
|
|
- hosts: Cloud-HA01
|
|||
|
|
become: true
|
|||
|
|
|
|||
|
|
tasks:
|
|||
|
|
# Копирование конфигурационного файла "keepalived.conf" из шаблона
|
|||
|
|
- name: Copy file 'keepalived.conf'
|
|||
|
|
ansible.builtin.template:
|
|||
|
|
src: templates/ha01_keepalived.conf.j2
|
|||
|
|
dest: /etc/keepalived/keepalived.conf
|
|||
|
|
notify:
|
|||
|
|
- Restarted Keepalive
|
|||
|
|
|
|||
|
|
# Включение и добавление в автозагрузку Keepalive
|
|||
|
|
- name: Started and enabled Keepalive
|
|||
|
|
ansible.builtin.systemd:
|
|||
|
|
name: keepalived
|
|||
|
|
state: started
|
|||
|
|
enabled: true
|
|||
|
|
|
|||
|
|
handlers:
|
|||
|
|
- name: Restarted Keepalive
|
|||
|
|
ansible.builtin.systemd:
|
|||
|
|
name: keepalived
|
|||
|
|
state: restarted
|
|||
|
|
|
|||
|
|
# Настройка Cloud-HA01
|
|||
|
|
- hosts: Cloud-HA02
|
|||
|
|
become: true
|
|||
|
|
|
|||
|
|
tasks:
|
|||
|
|
# Копирование конфигурационного файла "keepalived.conf" из шаблона
|
|||
|
|
- name: Copy file 'keepalived.conf'
|
|||
|
|
ansible.builtin.template:
|
|||
|
|
src: templates/ha02_keepalived.conf.j2
|
|||
|
|
dest: /etc/keepalived/keepalived.conf
|
|||
|
|
notify:
|
|||
|
|
- Restarted Keepalive
|
|||
|
|
|
|||
|
|
# Включение и добавление в автозагрузку Keepalive
|
|||
|
|
- name: Started and enabled Keepalive
|
|||
|
|
ansible.builtin.systemd:
|
|||
|
|
name: keepalived
|
|||
|
|
state: started
|
|||
|
|
enabled: true
|
|||
|
|
|
|||
|
|
handlers:
|
|||
|
|
- name: Restarted Keepalive
|
|||
|
|
ansible.builtin.systemd:
|
|||
|
|
name: keepalived
|
|||
|
|
state: restarted</code></pre>
|
|||
|
|
<ul>
|
|||
|
|
<li>В директории <strong>templates</strong> создаём файл шаблона "<strong>ha01_keepalived.conf.j2</strong>":</li>
|
|||
|
|
</ul>
|
|||
|
|
<pre class="language-markup"><code>vim templates/ha01_keepalived.conf.j2</code></pre>
|
|||
|
|
<ul>
|
|||
|
|
<li style="list-style-type: none;">
|
|||
|
|
<ul>
|
|||
|
|
<li>и указываем следующее содержимое:</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
</ul>
|
|||
|
|
<pre class="language-markup"><code>global_defs {
|
|||
|
|
router_id HAProxy_Cluster_Master
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
vrrp_instance VI_1 {
|
|||
|
|
state MASTER
|
|||
|
|
interface eth1
|
|||
|
|
virtual_router_id 51
|
|||
|
|
priority 100
|
|||
|
|
advert_int 1
|
|||
|
|
authentication {
|
|||
|
|
auth_type PASS
|
|||
|
|
auth_pass P@ssw0rd
|
|||
|
|
}
|
|||
|
|
virtual_ipaddress {
|
|||
|
|
192.168.10.7
|
|||
|
|
}
|
|||
|
|
}</code></pre>
|
|||
|
|
<ul>
|
|||
|
|
<li>В директории <strong>templates</strong> создаём файл шаблона "<strong>ha02_keepalived.conf.j2</strong>":</li>
|
|||
|
|
</ul>
|
|||
|
|
<pre class="language-markup"><code>vim templates/ha02_keepalived.conf.j2</code></pre>
|
|||
|
|
<ul>
|
|||
|
|
<li style="list-style-type: none;">
|
|||
|
|
<ul>
|
|||
|
|
<li>и указываем следующее содержимое:</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
</ul>
|
|||
|
|
<pre class="language-markup"><code>global_defs {
|
|||
|
|
router_id HAProxy_Cluster_Backup
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
vrrp_instance VI_1 {
|
|||
|
|
state BACKUP
|
|||
|
|
interface eth1
|
|||
|
|
virtual_router_id 51
|
|||
|
|
priority 90
|
|||
|
|
advert_int 1
|
|||
|
|
authentication {
|
|||
|
|
auth_type PASS
|
|||
|
|
auth_pass P@ssw0rd
|
|||
|
|
}
|
|||
|
|
virtual_ipaddress {
|
|||
|
|
192.168.10.7
|
|||
|
|
}
|
|||
|
|
}</code></pre>
|
|||
|
|
<ul>
|
|||
|
|
<li>Запускаем <strong>playbook</strong> для настройки веб-серверов:</li>
|
|||
|
|
</ul>
|
|||
|
|
<pre class="language-markup"><code>ansible-playbook keepalive_deploy_playbook.yml</code></pre>
|
|||
|
|
<ul>
|
|||
|
|
<li style="list-style-type: none;">
|
|||
|
|
<ul>
|
|||
|
|
<li>Результат:</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
</ul>
|
|||
|
|
<p><img height="842" src="data:image/png;base64,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
|
|||
|
|
<ul>
|
|||
|
|
<li>Проверить наличие виртуального IP-адреса на <strong>Cloud-HA01</strong>:</li>
|
|||
|
|
</ul>
|
|||
|
|
<p><img src="data:image/png;base64,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
|
|||
|
|
<ul>
|
|||
|
|
<li>Остановить службу <strong>keepalived</strong> на <strong>Cloud-HA01</strong> и проверить наличие виртуального IP на <strong>Cloud-HA02</strong>:</li>
|
|||
|
|
</ul>
|
|||
|
|
<p><img src="data:image/png;base64,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
|
|||
|
|
</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 class="btn btn-link" href="https://sysahelper.ru/mod/page/view.php?id=650&forceview=1" id="prev-activity-link">13) Настройка HAProxy (haproxy_deploy_playbook.yml)</a>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="col-md-4"> <div class="mdl-align">
|
|||
|
|
<div class="urlselect">
|
|||
|
|
<form action="https://sysahelper.ru/course/jumpto.php" class="form-inline" id="url_select_f69fc974b83fa84" method="post">
|
|||
|
|
<input name="sesskey" type="hidden" value="I78ejZljGV"/>
|
|||
|
|
<label class="sr-only" for="jump-to-activity">
|
|||
|
|
Перейти на...
|
|||
|
|
</label>
|
|||
|
|
<select class="custom-select urlselect" id="jump-to-activity" name="jump">
|
|||
|
|
<option selected="" value="">Перейти на...</option>
|
|||
|
|
<option value="/mod/folder/view.php?id=572&forceview=1">Материалы</option>
|
|||
|
|
<option value="/mod/folder/view.php?id=578&forceview=1">WebApp</option>
|
|||
|
|
<option value="/mod/page/view.php?id=579&forceview=1">1) Подготовка машины Cloud-ADM (создание инстанса, доступ по SSH)</option>
|
|||
|
|
<option value="/mod/page/view.php?id=580&forceview=1">2) Подготовка машины Cloud-ADM (доступ по RDP)</option>
|
|||
|
|
<option value="/mod/page/view.php?id=581&forceview=1">3) Развёртывание облачной инфраструктуры (установка необходимых инструментов)</option>
|
|||
|
|
<option value="/mod/page/view.php?id=582&forceview=1">4) Развёртывание облачной инфраструктуры (cloudinit.conf)</option>
|
|||
|
|
<option value="/mod/page/view.php?id=583&forceview=1">5) Развёртывание облачной инфраструктуры (Разбираемся с сетями 'network.tf')</option>
|
|||
|
|
<option value="/mod/page/view.php?id=584&forceview=1">6) Развёртывание облачной инфраструктуры (Разбираемся с виртуальными машинами (инстансами) 'instance.tf')</option>
|
|||
|
|
<option value="/mod/page/view.php?id=585&forceview=1">7) Развёртывание облачной инфраструктуры (Разбираемся с балансировщиком нагрузки 'loadbalancer.tf')</option>
|
|||
|
|
<option value="/mod/page/view.php?id=586&forceview=1">8) Развёртывание облачной инфраструктуры (Разбираемся с плавающим IP 'floatingip.tf')</option>
|
|||
|
|
<option value="/mod/page/view.php?id=587&forceview=1">9) Реализация скрипта автоматизации (deploy-cloudinfra.sh)</option>
|
|||
|
|
<option value="/mod/page/view.php?id=588&forceview=1">10) Настройка облачной инфраструктуры (Основные моменты и подготовка к работе)</option>
|
|||
|
|
<option value="/mod/page/view.php?id=648&forceview=1">11) Настройка веб-серверов (apache2_deploy_playbook.yml)</option>
|
|||
|
|
<option value="/mod/page/view.php?id=649&forceview=1">12) Настройка серверов баз данных (postgresql_deploy_playbook.yml)</option>
|
|||
|
|
<option value="/mod/page/view.php?id=650&forceview=1">13) Настройка HAProxy (haproxy_deploy_playbook.yml)</option>
|
|||
|
|
<option value="/mod/page/view.php?id=652&forceview=1">15) Реализация скрипта автоматизации (configure-cloudinfra.sh)</option>
|
|||
|
|
<option value="/mod/page/view.php?id=653&forceview=1">16) Удаление автоматически созданных ресурсов</option>
|
|||
|
|
</select>
|
|||
|
|
<noscript>
|
|||
|
|
<input class="btn btn-secondary ml-1" type="submit" value="Применить"/>
|
|||
|
|
</noscript>
|
|||
|
|
</form>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="col-md-4"> <div id="next-activity">
|
|||
|
|
<div class="text">
|
|||
|
|
<span class="nav-guide">
|
|||
|
|
Следующий элемент курса
|
|||
|
|
</span>
|
|||
|
|
<a class="btn btn-link" href="https://sysahelper.ru/mod/page/view.php?id=652&forceview=1" id="next-activity-link">15) Реализация скрипта автоматизации (configure-cloudinfra.sh)</a>
|
|||
|
|
</div>
|
|||
|
|
<div class="rarrow">
|
|||
|
|
<i class="icon-arrow-right"></i>
|
|||
|
|
</div>
|
|||
|
|
</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 aria-label="Показать нижний колонтитул" class="btn btn-icon bg-secondary icon-no-margin btn-footer-popover" data-action="footer-popover">
|
|||
|
|
<i aria-hidden="true" class="icon fa fa-question fa-fw"></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 alt="Conecti.me" src="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE0NiIgdmlld0JveD0iMCAwIDU3MiAxNDYiIHdpZHRoPSI1NzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJtMTg4LjA1NTk4IDEwMS40MzA4NGM1LjIzNTEyIDAgOS41OTc3Mi0xLjYyMzg1NjcgMTMuMDg3OC00Ljg3MTU3LjU4MTY4LS41ODE2OC44NzI1Mi0xLjIzNjA3Ljg3MjUyLTEuOTYzMTcgMC0uOTY5NDY2Ny0uNDYwNDk3LTEuODQxOTg2Ny0xLjM4MTQ5LTIuNjE3NTYtLjU4MTY4LS40MzYyNi0xLjIxMTgzMy0uNjU0MzktMS44OTA0Ni0uNjU0MzktLjg3MjUyIDAtMS43NjkyNzcuMzM5MzEzMy0yLjY5MDI3IDEuMDE3OTQtMi4wMzU4OCAxLjY5NjU2NjctNC43MDE5MTMgMi41NDQ4NS03Ljk5ODEgMi41NDQ4NS0yLjUyMDYxMyAwLTQuNzYyNTA1LS41ODE2OC02LjcyNTY3NS0xLjc0NTA0cy0zLjQ5MDA4LTIuNzc1MDk4My00LjU4MDczLTQuODM1MjE1LTEuNjM1OTc1LTQuMzk4OTU1LTEuNjM1OTc1LTcuMDE2NTE1YzAtNC4xMjAyMzMzIDEuMTYzMzYtNy40Mjg1MzgzIDMuNDkwMDgtOS45MjQ5MTVzNS4zNTYzMDMtMy43NDQ1NjUgOS4wODg3NS0zLjc0NDU2NWMxLjg0MTk4NyAwIDMuNDc3OTYyLjMwMjk1ODMgNC45MDc5MjUuOTA4ODc1czIuNzUwODYyIDEuNTYzMjY1IDMuOTYyNjk1IDIuODcyMDQ1Yy43NzU1NzMuODcyNTIgMS43MjA4MDMgMS4zMDg3OCAyLjgzNTY5IDEuMzA4NzguNjMwMTUzIDAgMS4xODc1OTctLjE2OTY1NjcgMS42NzIzMy0uNTA4OTcgMS4wNjY0MTMtLjcyNzEgMS41OTk2Mi0xLjYyMzg1NjcgMS41OTk2Mi0yLjY5MDI3IDAtLjcyNzEtLjI0MjM2Ny0xLjM1NzI1MzMtLjcyNzEtMS44OTA0Ni0zLjc4MDkyLTQuMzYyNi04LjUzMTMwNy02LjU0MzktMTQuMjUxMTYtNi41NDM5LTMuNzgwOTIgMC03LjE3NDA1My44NjA0MDE3LTEwLjE3OTQgMi41ODEyMDVzLTUuMzQ0MTg1IDQuMTIwMjMzMy03LjAxNjUxNSA3LjE5ODI5LTIuNTA4NDk1IDYuNTU2MDE4My0yLjUwODQ5NSAxMC40MzM4ODVjMCAzLjc4MDkyLjg2MDQwMiA3LjIxMDQwODMgMi41ODEyMDUgMTAuMjg4NDY1czQuMTA4MTE1IDUuNDg5NjA1IDcuMTYxOTM1IDcuMjM0NjQ1IDYuNDk1NDI3IDIuNjE3NTYgMTAuMzI0ODIgMi42MTc1NnptNDMuNjk4NzEgMGMzLjg3Nzg2NyAwIDcuMzMxNTkyLS44NjA0MDIgMTAuMzYxMTc1LTIuNTgxMjA1IDMuMDI5NTgzLTEuNzIwODAzMyA1LjM5MjY1OC00LjEwODExNSA3LjA4OTIyNS03LjE2MTkzNXMyLjU0NDg1LTYuNTE5NjYzMyAyLjU0NDg1LTEwLjM5NzUzYzAtMy45MjYzNC0uODYwNDAyLTcuNDE2NDItMi41ODEyMDUtMTAuNDcwMjRzLTQuMDk1OTk3LTUuNDQxMTMxNy03LjEyNTU4LTcuMTYxOTM1LTYuNDU5MDcyLTIuNTgxMjA1LTEwLjI4ODQ2NS0yLjU4MTIwNWMtMy44Nzc4NjcgMC03LjM0MzcxLjg2MDQwMTctMTAuMzk3NTMgMi41ODEyMDVzLTUuNDI5MDEzIDQuMTA4MTE1LTcuMTI1NTggNy4xNjE5MzUtMi41NDQ4NSA2LjU0MzktMi41NDQ4NSAxMC40NzAyNGMwIDMuODc3ODY2Ny44NDgyODMgNy4zNDM3MSAyLjU0NDg1IDEwLjM5NzUzczQuMDcxNzYgNS40NDExMzE3IDcuMTI1NTggNy4xNjE5MzVjMy4wNTM4MiAxLjcyMDgwMyA2LjUxOTY2MyAyLjU4MTIwNSAxMC4zOTc1MyAyLjU4MTIwNXptMC02LjU0MzljLTIuNDcyMTQgMC00LjY4OTc5NS0uNTgxNjgtNi42NTI5NjUtMS43NDUwNHMtMy41MDIxOTgtMi43NzUwOTgzLTQuNjE3MDg1LTQuODM1MjE1LTEuNjcyMzMtNC4zOTg5NTUtMS42NzIzMy03LjAxNjUxNS41NTc0NDMtNC45Njg1MTY3IDEuNjcyMzMtNy4wNTI4NyAyLjY1MzkxNS0zLjcwODIxIDQuNjE3MDg1LTQuODcxNTcgNC4xODA4MjUtMS43NDUwNCA2LjY1Mjk2NS0xLjc0NTA0IDQuNjg5Nzk1LjU4MTY4IDYuNjUyOTY1IDEuNzQ1MDQgMy40OTAwOCAyLjc4NzIxNjcgNC41ODA3MyA0Ljg3MTU3IDEuNjM1OTc1IDQuNDM1MzEgMS42MzU5NzUgNy4wNTI4Ny0uNTQ1MzI1IDQuOTU2Mzk4My0xLjYzNTk3NSA3LjAxNjUxNS0yLjYxNzU2IDMuNjcxODU1LTQuNTgwNzMgNC44MzUyMTUtNC4xODA4MjUgMS43NDUwNC02LjY1Mjk2NSAxLjc0NTA0em02NC42MzkxOSA2LjMyNTc3YzEuMDY2NDEzIDAgMS45NTEwNTItLjM1MTQzMiAyLjY1MzkxNS0xLjA1NDI5NS43MDI4NjMtLjcwMjg2MzMgMS4wNTQyOTUtMS41ODc1MDE3IDEuMDU0Mjk1LTIuNjUzOTE1di0xNy44ODY2NmMwLTMuOTI2MzQtLjc1MTMzNy03LjI4MzExODMtMi4yNTQwMS0xMC4wNzAzMzVzLTMuNTg3MDI3LTQuOTA3OTI1LTYuMjUzMDYtNi4zNjIxMjUtNS42NzEzOC0yLjE4MTMtOS4wMTYwNC0yLjE4MTNjLTIuNDIzNjY3IDAtNC43MDE5MTMuNDI0MTQxNy02LjgzNDc0IDEuMjcyNDI1cy0zLjk3NDgxMyAyLjA0Nzk5ODMtNS41MjU5NiAzLjU5OTE0NXYtLjc5OTgxYzAtMS4xMTQ4ODY3LS4zMzkzMTMtMi4wMTE2NDMzLTEuMDE3OTQtMi42OTAyN3MtMS41NzUzODMtMS4wMTc5NC0yLjY5MDI3LTEuMDE3OTRjLTEuMDY2NDEzIDAtMS45NTEwNTIuMzM5MzEzMy0yLjY1MzkxNSAxLjAxNzk0cy0xLjA1NDI5NSAxLjU3NTM4MzMtMS4wNTQyOTUgMi42OTAyN3YzMi40Mjg2NmMwIDEuMDY2NDEzMy4zNTE0MzIgMS45NTEwNTE3IDEuMDU0Mjk1IDIuNjUzOTE1LjcwMjg2My43MDI4NjMgMS41ODc1MDIgMS4wNTQyOTUgMi42NTM5MTUgMS4wNTQyOTUgMS4xMTQ4ODcgMCAyLjAxMTY0My0uMzUxNDMyIDIuNjkwMjctMS4wNTQyOTUuNjc4NjI3LS43MDI4NjMzIDEuMDE3OTQtMS41ODc1MDE3IDEuMDE3OTQtMi42NTM5MTV2LTIwLjUwNDIyYzAtMS43NDUwNC40NzI2MTUtMy4zMjA0MjMzIDEuNDE3ODQ1LTQuNzI2MTVzMi4yNTQwMS0yLjUyMDYxMzMgMy45MjYzNC0zLjM0NDY2IDMuNTI2NDM1LTEuMjM2MDcgNS41NjIzMTUtMS4yMzYwN2MzLjQ5MDA4IDAgNi4yODk0MTUgMS4wMDU4MjE3IDguMzk4MDA1IDMuMDE3NDY1czMuMTYyODg1IDQuOTgwNjM1IDMuMTYyODg1IDguOTA2OTc1djE3Ljg4NjY2Yz
|
|||
|
|
</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 alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" style="position:absolute; left:-9999px;"/></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="https://sysahelper.ru/lib/javascript.php/1703880200/lib/requirejs/require.min.js"></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("39", {"editing":false,"supportscomponents":true,"statekey":"1763961859_1778160112","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-69fc974b8378b-navbar-nav'));
|
|||
|
|
});
|
|||
|
|
;
|
|||
|
|
|
|||
|
|
require(
|
|||
|
|
[
|
|||
|
|
'jquery',
|
|||
|
|
],
|
|||
|
|
function(
|
|||
|
|
$
|
|||
|
|
) {
|
|||
|
|
var uniqid = "69fc974b851c869fc974b83fa82";
|
|||
|
|
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 = "69fc974b8587369fc974b83fa83";
|
|||
|
|
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_f69fc974b83fa84').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(1019, []); 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="https://cdn.jsdelivr.net/npm/mathjax@2.7.9/MathJax.js?delayStartupUntil=configured"></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('random69fc974b83fa85'); Y.on('domready', function() { M.util.js_complete("init"); M.util.js_complete('random69fc974b83fa85'); });
|
|||
|
|
})();
|
|||
|
|
//]]>
|
|||
|
|
</script>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</body></html>
|