Files
SYSAHELPER/sysahelper/SEMIFINAL2025/downloaded_pages/page_650_embedded.html

749 lines
687 KiB
HTML
Raw Normal View History

2026-05-07 19:20:10 +05:00
<!DOCTYPE html>
<html dir="ltr" lang="ru" xml:lang="ru">
<head>
<title>SF25: 13) Настройка HAProxy (haproxy_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: 13) Настройка HAProxy (haproxy_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":1018,"contextInstanceId":650,"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&amp;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-1018 cmid-650 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-69fc9748af70b-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-69fc9748af70b" role="menuitem" tabindex="-1">
Дополнительно
</a>
<ul aria-labelledby="moremenu-dropdown-69fc9748af70b" 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-69fc9748b189c69fc9748afecb3">
<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="1018"/>
<div class="input-group">
<label for="searchinput-69fc9748b189c69fc9748afecb3">
<span class="sr-only">Найти</span>
</label>
<input aria-label="Найти" autocomplete="off" class="form-control withclear" data-region="input" id="searchinput-69fc9748b189c69fc9748afecb3" 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=650&amp;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">13) Настройка HAProxy (haproxy_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>13) Настройка HAProxy (haproxy_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="13) Настройка HAProxy (haproxy_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;5204;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
<ul>
<li>i. Установить и настроить <strong>HAProxy</strong>:
<ul>
<li>1. Настроить frontend для прослушивания портов <strong style="text-align: initial;">80</strong><span style="text-align: initial;"> (HTTP) и </span><strong style="text-align: initial;">443</strong><span style="text-align: initial;"> (HTTPS);</span></li>
<li>2. Настроить backend с балансировкой между веб-серверами <strong style="text-align: initial;">Cloud-WEB01</strong><span style="text-align: initial;"> и </span><strong style="text-align: initial;">Cloud-WEB02</strong><span style="text-align: initial;">, с использованием сети </span><strong style="text-align: initial;">Internal-Net</strong><span style="text-align: initial;">;</span></li>
<li>3. Использовать алгоритм балансировки <strong style="text-align: initial;">round-robin</strong><span style="text-align: initial;">;</span></li>
<li>4. При обращении на IP-адреса <strong style="text-align: initial;">Cloud-HA01</strong><span style="text-align: initial;"> и </span><strong style="text-align: initial;">Cloud-HA02</strong><span style="text-align: initial;"> из сети </span><strong style="text-align: initial;">Management-Net</strong><span style="text-align: initial;"> с инстанса </span><strong style="text-align: initial;">Cloud-ADM</strong><span style="text-align: initial;">, как на порт </span><strong style="text-align: initial;">80</strong><span style="text-align: initial;"> так и на порт </span><strong style="text-align: initial;">443</strong><span style="text-align: initial;">, должно выводиться содержимое веб-приложения развёрнутого на </span><strong style="text-align: initial;">Cloud-WEB01</strong><span style="text-align: initial;"> и </span><strong style="text-align: initial;">Cloud-WEB2</strong><span style="text-align: initial;">, в случае обращения на порт </span><strong style="text-align: initial;">443</strong><span style="text-align: initial;"> у </span><strong style="text-align: initial;">Cloud-ADM</strong><span style="text-align: initial;"> не должно возникать никаких проблем с сертификатами (не допускается использование </span><strong style="text-align: initial;">«Добавления исключений</strong><span style="text-align: initial;">»).</span></li>
</ul>
</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>haproxy_deploy_playbook.yml</strong>', в котором последовательно будем описывать всё что касается настройки серверов <strong>Cloud-HA01</strong> и <strong>Cloud-HA02</strong> в контексте данного задания:</li>
</ul>
<pre class="language-markup"><code>vim haproxy_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 HAProxy
hosts: ha
become: true
tasks:
# Установка пакета "haproxy"
- name: Install HAProxy
community.general.apt_rpm:
name: haproxy
state: present
update_cache: true
# Копирование конфигурационного файла 'haproxy.cfg' из шаблона
- name: Copy file 'haproxy.cfg'
ansible.builtin.template:
src: templates/haproxy.cfg.j2
dest: /etc/haproxy/haproxy.cfg
notify:
- Restarted HAProxy
# Копирование сертификата для haproxy
- name: Copy certificate for HAProxy
ansible.builtin.copy:
src: files/www.pem
dest: /var/lib/ssl/www.pem
notify:
- Restarted HAProxy
# Запуск и добавление в автозагрузку haproxy
- name: Started and enabled HAProxy
ansible.builtin.systemd:
name: haproxy
state: restarted
enabled: true
handlers:
- name: Restarted HAProxy
ansible.builtin.systemd:
name: haproxy
state: restarted</code></pre>
<ul>
<li>В директории <strong>templates</strong> создаём файл шаблона "<strong>haproxy.cfg.j2</strong>":</li>
</ul>
<pre class="language-markup"><code>vim templates/haproxy.cfg.j2</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>и указываем следующее содержимое:</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>global
log /dev/log daemon
chroot /var/lib/haproxy
pidfile /run/haproxy.pid
maxconn 4000
user _haproxy
group _haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
frontend http_front
bind *:80
bind *:443 ssl crt /var/lib/ssl/www.pem
default_backend http_back
frontend pg_frontend
bind *:5432
mode tcp
default_backend pg_backend
backend http_back
balance roundrobin
server cloud-web01 192.168.10.3:80 check
server cloud-web02 192.168.10.4:80 check
backend pg_backend
mode tcp
balance leastconn
option tcp-check
server db_master 192.168.10.5:5432 check port 5432 inter 2s rise 2 fall 3
server db_replica 192.168.10.6:5432 check port 5432 inter 2s rise 2 fall 3 backup</code></pre>
<ul>
<li>Создаём сертификат для <strong>haproxy</strong>:</li>
</ul>
<pre class="language-markup"><code>openssl genrsa -out files/www.key 2048</code></pre>
<pre class="language-markup"><code>openssl req -key files/www.key -new -out files/www.csr</code></pre>
<pre class="language-markup"><code>cat &lt;&lt;EOF &gt; files/www.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
subjectAltName=@alt_names
[alt_names]
DNS.1=<a class="_blanktarget" href="http://www.au.team">www.au.team</a>
IP.1=192.168.10.65
IP.2=192.168.10.66
IP.3=192.168.10.7
EOF</code></pre>
<pre class="language-markup"><code>openssl x509 -req -CA ca.crt -CAkey ca.key -in files/www.csr -out files/www.crt -days 365 -CAcreateserial -extfile files/www.ext</code></pre>
<pre class="language-markup"><code>cat files/www.key files/www.crt &gt; files/www.pem</code></pre>
<ul>
<li>Запускаем <strong>playbook</strong> для настройки веб-серверов:</li>
</ul>
<pre class="language-markup"><code>ansible-playbook haproxy_deploy_playbook.yml</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Результат:</li>
</ul>
</li>
</ul>
<p><img src="data:image/png;base64,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
<ul id="yui_3_18_1_1_1750335040886_227">
<li>В файл <strong>/etc/hosts</strong> добавляем <strong>2</strong> записи на <strong>Cloud-ADM:</strong></li>
</ul>
<p><strong><img src="data:image/png;base64,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
<ul>
<li>Приложение должно быть доступно по <strong><a class="_blanktarget" href="https://www.au.team">https://www.au.team</a></strong> а также выполнено подключение к БД:</li>
</ul>
<p><img height="639" src="data:image/png;base64,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
<ul>
<li>При повторном обращении отрабатывает балансировка:</li>
</ul>
<p><img height="651" 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=649&amp;forceview=1" id="prev-activity-link">12) Настройка серверов баз данных (postgresql_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_f69fc9748afecb4" 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&amp;forceview=1">Материалы</option>
<option value="/mod/folder/view.php?id=578&amp;forceview=1">WebApp</option>
<option value="/mod/page/view.php?id=579&amp;forceview=1">1) Подготовка машины Cloud-ADM (создание инстанса, доступ по SSH)</option>
<option value="/mod/page/view.php?id=580&amp;forceview=1">2) Подготовка машины Cloud-ADM (доступ по RDP)</option>
<option value="/mod/page/view.php?id=581&amp;forceview=1">3) Развёртывание облачной инфраструктуры (установка необходимых инструментов)</option>
<option value="/mod/page/view.php?id=582&amp;forceview=1">4) Развёртывание облачной инфраструктуры (cloudinit.conf)</option>
<option value="/mod/page/view.php?id=583&amp;forceview=1">5) Развёртывание облачной инфраструктуры (Разбираемся с сетями 'network.tf')</option>
<option value="/mod/page/view.php?id=584&amp;forceview=1">6) Развёртывание облачной инфраструктуры (Разбираемся с виртуальными машинами (инстансами) 'instance.tf')</option>
<option value="/mod/page/view.php?id=585&amp;forceview=1">7) Развёртывание облачной инфраструктуры (Разбираемся с балансировщиком нагрузки 'loadbalancer.tf')</option>
<option value="/mod/page/view.php?id=586&amp;forceview=1">8) Развёртывание облачной инфраструктуры (Разбираемся с плавающим IP 'floatingip.tf')</option>
<option value="/mod/page/view.php?id=587&amp;forceview=1">9) Реализация скрипта автоматизации (deploy-cloudinfra.sh)</option>
<option value="/mod/page/view.php?id=588&amp;forceview=1">10) Настройка облачной инфраструктуры (Основные моменты и подготовка к работе)</option>
<option value="/mod/page/view.php?id=648&amp;forceview=1">11) Настройка веб-серверов (apache2_deploy_playbook.yml)</option>
<option value="/mod/page/view.php?id=649&amp;forceview=1">12) Настройка серверов баз данных (postgresql_deploy_playbook.yml)</option>
<option value="/mod/page/view.php?id=651&amp;forceview=1">14) Настройка Keepalived (keepalive_deploy_playbook.yml)</option>
<option value="/mod/page/view.php?id=652&amp;forceview=1">15) Реализация скрипта автоматизации (configure-cloudinfra.sh)</option>
<option value="/mod/page/view.php?id=653&amp;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=651&amp;forceview=1" id="next-activity-link">14) Настройка Keepalived (keepalive_deploy_playbook.yml)</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-69fc9748af70b-navbar-nav'));
});
;
require(
[
'jquery',
],
function(
$
) {
var uniqid = "69fc9748b12eb69fc9748afecb2";
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 = "69fc9748b189c69fc9748afecb3";
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_f69fc9748afecb4').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(1018, []); 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('random69fc9748afecb5'); Y.on('domready', function() { M.util.js_complete("init"); M.util.js_complete('random69fc9748afecb5'); });
})();
//]]>
</script>
</div>
</div>
</body></html>