Files

671 lines
206 KiB
HTML
Raw Permalink Normal View History

2026-05-07 19:20:10 +05:00
<!DOCTYPE html>
<html dir="ltr" lang="ru" xml:lang="ru">
<head>
<title>RG25: Подготовка облачной инфраструктуры (Установка Terraform и OpenStack) | 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, RG25: Подготовка облачной инфраструктуры (Установка Terraform и OpenStack) | 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":35,"courseContextId":808,"contextid":914,"contextInstanceId":550,"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-35 context-914 cmid-550 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-69fc96458ed14-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-69fc96458ed14" role="menuitem" tabindex="-1">
Дополнительно
</a>
<ul aria-labelledby="moremenu-dropdown-69fc96458ed14" 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-69fc9645906d469fc96458f3043">
<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="914"/>
<div class="input-group">
<label for="searchinput-69fc9645906d469fc96458f3043">
<span class="sr-only">Найти</span>
</label>
<input aria-label="Найти" autocomplete="off" class="form-control withclear" data-region="input" id="searchinput-69fc9645906d469fc96458f3043" 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=550&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">Подготовка облачной инфраструктуры (Установка Terraform и OpenStack)</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=35#section-3" title="REGION2025">RG25</a>
</li>
<li class="breadcrumb-item"><span>Подготовка облачной инфраструктуры (Установка Terraform и OpenStack)</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="Подготовка облачной инфраструктуры (Установка Terraform и OpenStack)" data-region="activity-information">
</div>
</div>
<div role="main"><div class="box py-3 generalbox center clearfix"><div class="no-overflow"><h3>Задача:</h3>
<ul>
<li>Установить Terraform на ControlVM</li>
<li>Установить openstack-cli на Control VM</li>
</ul>
<h3>Вариант реализации:</h3>
<h4>ControlVM:</h4>
<ul>
<li>Устанавляваем <strong>wget </strong>и <strong>unzip</strong>:</li>
</ul>
<pre class="language-markup"><code>sudo apt-get update &amp;&amp; sudo apt-get install -y wget unzip</code></pre>
<ul>
<li>Скачиваем архив с <strong>Terraform</strong>:
<ul>
<li>С Зеркала Яндекса:</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>wget <a class="_blanktarget" href="https://hashicorp-releases.yandexcloud.net/terraform/1.10.3/terraform_1.10.3_linux_arm64.zip">https://hashicorp-releases.yandexcloud.net/terraform/1.10.3/terraform_1.10.3_linux_arm64.zip</a></code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>С Зеркала VK Cloud</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>wget <a class="_blanktarget" href="https://hashicorp-releases.mcs.mail.ru/terraform/1.10.3/terraform_1.10.3_linux_amd64.zip">https://hashicorp-releases.mcs.mail.ru/terraform/1.10.3/terraform_1.10.3_linux_amd64.zip</a></code></pre>
<ul>
<li>Распаковываем его в каталог <strong>/usr/local/bin</strong>:</li>
</ul>
<pre class="language-markup"><code>sudo unzip terraform_1.10.3_linux_amd64.zip -d /usr/local/bin/</code></pre>
<ul>
<li>Проверяем:</li>
</ul>
<p><img src="data:image/png;base64,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
<ul>
<li>Установим <strong>openstack-cli</strong>:</li>
</ul>
<pre class="language-markup"><code>sudo apt-get install -y python3-module-openstackclient python3-module-pip</code></pre>
<ul>
<li>Проверяем:</li>
</ul>
<p><img src="data:image/png;base64,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
<ul>
<li>Установим необходимые модули для работы:
<ul>
<li><strong>python-octaviaclient</strong> - компонент для работы с облачными балансировщиками нагрузки;</li>
<li><strong>python-cinderclient</strong> - компонент для работы блочного хранилища и расширений;</li>
<li><strong>python-novaclient</strong> - компонент для работы облачных вычислений (ВМ) и расширений;</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>pip3 install python-octaviaclient</code></pre>
<pre class="language-markup"><code>pip3 install python-cinderclient</code></pre>
<pre class="language-markup"><code>pip3 install python-novaclient</code></pre></div></div><div class="modified">Последнее изменение: среда, 1 января 2025, 13:23</div></div>
</section>
</div>
</div>
</div>
<div class="moove-container-fluid p-0 mb-4">
<div class="card activity-navigation mdl-bottom">
<div class="card-body">
<div class="row">
<div class="col-md-4"> <div id="prev-activity">
<div class="larrow">
<i class="icon-arrow-left"></i>
</div>
<div class="text">
<span class="nav-guide">
Предыдущий элемент курса
</span>
<a class="btn btn-link" href="https://sysahelper.ru/mod/page/view.php?id=507&amp;forceview=1" id="prev-activity-link">Подготовка машины ControlVM (на базе Альт Рабочая станция)</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_f69fc96458f3044" 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=459&amp;forceview=1">Материалы</option>
<option value="/mod/page/view.php?id=461&amp;forceview=1">Базовая настройка (имена устройств)</option>
<option value="/mod/page/view.php?id=462&amp;forceview=1">Базовая настройка (адреса устройств)</option>
<option value="/mod/page/view.php?id=499&amp;forceview=1">Настройка FW-DT (Ideco NGFW) для доступа в веб-интерфейс</option>
<option value="/mod/page/view.php?id=500&amp;forceview=1">Настройка FW-DT (Ideco NGFW) назначение IP-адресов на локальные интерфейсы</option>
<option value="/mod/page/view.php?id=468&amp;forceview=1">Настройте подключения маршрутизаторов к провайдеру (подключения R-HQ)</option>
<option value="/mod/page/view.php?id=467&amp;forceview=1">Настройте подключения маршрутизаторов к провайдеру (подключения R-DT)</option>
<option value="/mod/page/view.php?id=470&amp;forceview=1">Настройка динамической трансляции адресов (HQ)</option>
<option value="/mod/page/view.php?id=469&amp;forceview=1">Настройка динамической трансляции адресов (DT)</option>
<option value="/mod/page/view.php?id=464&amp;forceview=1">Настройка коммутации (SW1-HQ, SW2-HQ, SW3-HQ VLAN-ы)</option>
<option value="/mod/page/view.php?id=465&amp;forceview=1">Настройка коммутации (протокол основного дерева)</option>
<option value="/mod/page/view.php?id=466&amp;forceview=1">Настройка коммутации (коммутатор SW-DT)</option>
<option value="/mod/page/view.php?id=472&amp;forceview=1">Настройка протокола динамической конфигурации хостов (HQ)</option>
<option value="/mod/page/view.php?id=471&amp;forceview=1">Настройка протокола динамической конфигурации хостов (DT)</option>
<option value="/mod/page/view.php?id=473&amp;forceview=1">Между офисами DT и HQ необходимо сконфигурировать ip туннель</option>
<option value="/mod/page/view.php?id=474&amp;forceview=1">Настройте динамическую маршрутизацию OSPF (DT и HQ)</option>
<option value="/mod/page/view.php?id=475&amp;forceview=1">Настройте динамическую маршрутизацию OSPF (R-DT и FW-DT)</option>
<option value="/mod/page/view.php?id=501&amp;forceview=1">Настройка авторизации на FW-DT (Ideco NGFW) для доступа в сеть Интернет из офиса DT</option>
<option value="/mod/page/view.php?id=463&amp;forceview=1">Базовая настройка (пользователь sshuser)</option>
<option value="/mod/page/view.php?id=476&amp;forceview=1">Настройка DNS для SRV1-HQ и SRV1-DT (основной DNS сервер)</option>
<option value="/mod/page/view.php?id=477&amp;forceview=1">Настройка DNS для SRV1-HQ и SRV1-DT (резервный DNS сервер)</option>
<option value="/mod/page/view.php?id=478&amp;forceview=1">Настройка DNS для SRV1-HQ и SRV1-DT (устройства должны быть настроены)</option>
<option value="/mod/page/view.php?id=479&amp;forceview=1">Настройте синхронизацию времени между сетевыми устройствами по протоколу NTP (SRV1-HQ)</option>
<option value="/mod/page/view.php?id=480&amp;forceview=1">Настройте синхронизацию времени между сетевыми устройствами по протоколу NTP (устройства должны синхронизировать)</option>
<option value="/mod/page/view.php?id=481&amp;forceview=1">Реализация доменной инфраструктуры SAMBA AD (основной доменный контроллер)</option>
<option value="/mod/page/view.php?id=502&amp;forceview=1">Добавление всех необходимые записей типа A, PTR и CNAME средствами samba-tool</option>
<option value="/mod/page/view.php?id=482&amp;forceview=1">Реализация доменной инфраструктуры SAMBA AD (пользователи, группы, подразделения)</option>
<option value="/mod/page/view.php?id=483&amp;forceview=1">Реализация доменной инфраструктуры SAMBA AD (резервный контроллер домена)</option>
<option value="/mod/page/view.php?id=503&amp;forceview=1">Реализация доменной инфраструктуры SAMBA AD (Ввод клиентов в домен)</option>
<option value="/mod/page/view.php?id=484&amp;forceview=1">Реализация доменной инфраструктуры SAMBA AD (общая папка)</option>
<option value="/mod/page/view.php?id=488&amp;forceview=1">Реализация бекапа общей папки на сервере SRV1-HQ с использованием systemctl (юнит типа service)</option>
<option value="/mod/page/view.php?id=489&amp;forceview=1">Реализация бекапа общей папки на сервере SRV1-HQ с использованием systemctl (юнит типа timer)</option>
<option value="/mod/page/view.php?id=485&amp;forceview=1">Управление доменом с помощью ADMC (изменения рабочего стола)</option>
<option value="/mod/page/view.php?id=486&amp;forceview=1">Управление доменом с помощью ADMC (подключение общей папки)</option>
<option value="/mod/page/view.php?id=490&amp;forceview=1">Развертывание приложений в Docker на SRV2-DT (локальный Docker Registry)</option>
<option value="/mod/page/view.php?id=491&amp;forceview=1">Развертывание приложений в Docker на SRV2-DT (Dockerfile для приложения web)</option>
<option value="/mod/page/view.php?id=492&amp;forceview=1">Развертывание приложений в Docker на SRV2-DT (Docker контейнер)</option>
<option value="/mod/page/view.php?id=493&amp;forceview=1">Настройка системы централизованного мониторинга (используйте Zabbix)</option>
<option value="/mod/page/view.php?id=494&amp;forceview=1">Настройка системы централизованного мониторинга (узел системы централизованного мониторинга)</option>
<option value="/mod/page/view.php?id=495&amp;forceview=1">Настройте веб-сервер nginx как обратный прокси-сервер на SRV1-DT</option>
<option value="/mod/page/view.php?id=496&amp;forceview=1">Настройка узла управления Ansible (Инвентарь)</option>
<option value="/mod/page/view.php?id=497&amp;forceview=1">Настройка узла управления Ansible (доступ ко всем устройствам)</option>
<option value="/mod/page/view.php?id=498&amp;forceview=1">Настройка резервного копирования (установка сервера управления)</option>
<option value="/mod/page/view.php?id=504&amp;forceview=1">Настройка резервного копирования (Настройка организации и пользователя)</option>
<option value="/mod/page/view.php?id=505&amp;forceview=1">Настройка резервного копирования (установка агента)</option>
<option value="/mod/page/view.php?id=506&amp;forceview=1">Настройка резервного копирования (подключить в качестве устройства хранения)</option>
<option value="/mod/page/view.php?id=487&amp;forceview=1">Настройка межсетевого экрана</option>
<option value="/mod/page/view.php?id=532&amp;forceview=1">Развёртывание Кибер Инфраструктура (в качестве ВМ на базе Альт PVE)</option>
<option value="/mod/page/view.php?id=533&amp;forceview=1">Создание кластера хранилища</option>
<option value="/mod/page/view.php?id=534&amp;forceview=1">Настройка Вычислений в кластере Вычисления</option>
<option value="/mod/page/view.php?id=535&amp;forceview=1">Настройка учётных записей и проектов для участников</option>
<option value="/mod/page/view.php?id=570&amp;forceview=1">Потребляемые ресурсы</option>
<option value="/mod/page/view.php?id=507&amp;forceview=1">Подготовка машины ControlVM (на базе Альт Рабочая станция)</option>
<option value="/mod/page/view.php?id=551&amp;forceview=1">Подготовка облачной инфраструктуры (Подключение Terraform к провайдеру OpenStack)</option>
<option value="/mod/page/view.php?id=552&amp;forceview=1">Подготовка облачной инфраструктуры</option>
<option value="/mod/page/view.php?id=565&amp;forceview=1">Создание и настройка скрипта на машине ControlVM</option>
<option value="/mod/page/view.php?id=566&amp;forceview=1">Развертывание приложений в Docker (Развертывание Python-скрипта в Docker)</option>
<option value="/mod/page/view.php?id=567&amp;forceview=1">Развертывание приложений в Docker (азвертывание WordPress с использованием Docker Compose)</option>
<option value="/mod/page/view.php?id=568&amp;forceview=1">Развертывание базового стека ELK</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=551&amp;forceview=1" id="next-activity-link">Подготовка облачной инфраструктуры (Подключение Terraform к провайдеру OpenStack)</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("35", {"editing":false,"supportscomponents":true,"statekey":"1771561096_1778160107","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-69fc96458ed14-navbar-nav'));
});
;
require(
[
'jquery',
],
function(
$
) {
var uniqid = "69fc96459025b69fc96458f3042";
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 = "69fc9645906d469fc96458f3043";
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_f69fc96458f3044').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(914, []); 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('random69fc96458f3045'); Y.on('domready', function() { M.util.js_complete("init"); M.util.js_complete('random69fc96458f3045'); });
})();
//]]>
</script>
</div>
</div>
</body></html>