До списку уроків
11 клас · Урок 1 з 14

Операційні системи, Linux і твій сервер

виконано0%
Крок 1

Сьогодні твоя сторінка вперше з’явиться в інтернеті — на справжньому сервері

Модуль I · IT Skills (Cloud Services & Design) · наскрізний проєкт STARTUP LAUNCH · 120 хвилин

Наступні 14 уроків — один продукт: сайт з однієї сторінки за твоєю адресою.

Три слова. VPS — орендований комп’ютер, який працює цілодобово. Лендинг — одна сторінка про продукт. Сабдомен — твоя адреса всередині шкільної: 91.219.61.4/s/твій-логін.

Сьогодні ти отримуєш логін і пароль до сервера 91.219.61.4 і кладеш туди файл index.html. Цей файл ти добудовуєш усі 14 уроків і показуєш журі на Demo Day.

Сервер, адреса 91.219.61.4/s/<логін> і WinSCP для заливки файлів — це інфраструктура. Усі три ти отримаєш сьогодні.

Головна думка уроку На таких самих серверах працюють справжні продукти — цілодобово, за реальні гроші. Сьогодні ти дізнаєшся вартість такого місця. Це число знадобиться на уроці 4 і на Demo Day.

Після уроку ти вмієш

SSH, SFTP і uptime розберемо тоді, коли знадобляться.

Хід уроку

ЕтапХвЩо робимо
Вхід у проєкт STARTUP LAUNCH10чужий готовий лендинг на сабдомені, формат Demo Day
Що таке операційна система15шари «залізо → ядро → процеси», диспетчер завдань і ps
Linux проти Windows15опорна таблиця по 8 критеріях, Readme.txt проти readme.txt
Сервер, VPS і вартість продукту15чужа платформа vs свій сервер, прайси, калькулятор витрат
Практика: перше підключення по SSH20відбиток хоста, passwd, whoami, pwd
Практика: домашня тека і права15ls -l ~, чому data/ не віддається по HTTP
Практика: FTP-клієнт і правила15профіль WinSCP, ліміти файлів, правила спільного сервера
Практика: каркас index.html10робоча назва продукту, заливка по FTP
Автоперевірка й рефлексія5check11 1, перший сегмент ракети
Важке роби на комп’ютері, на сервер клади легке Важке — картинки, відео, звук, генерація AI-медіа. На сервер їде тільки текст: .html .css .js .json .csv .md .txt .sh .svg .py і зображення до 500 КБ. Відео й аудіо сервер не прийме, учитель подивиться їх очно. Перевіряє критерій no_media.
Крок 2

Операційна система: хто керує комп’ютером

Програма не керує залізом напряму — вона просить систему

Програма не звертається до диска чи мережі сама. Вона просить ядро (kernel) — центральну частину операційної системи.

Такий запит називається системний виклик: open відкриває файл, read читає, write записує.

Ядро розподіляє процесор і пам’ять, зберігає файли на диску, перевіряє права. На сервері працює весь клас, тому права там головні.

Процеси користувачів — те, що ти запускаєш і бачиш nginx sshd твій редактор твій скрипт віддає index.html твоя SSH-сесія nano, vim report.sh межа системних викликів: open() · read() · write() · fork() · kill() Ядро (kernel) планувальник кому зараз CPU пам’ять кому скільки МБ файлова система де лежать байти права кому що можна Залізо: процесор · оперативна пам’ять · диск · мережева карта жоден процес не має прямої лінії до заліза — усі стрілки проходять крізь ядро
Прямої лінії до заліза не має жоден процес: дозвіл дає ядро.

У Windows процеси показує диспетчер завдань, у Linux — команда ps.

термінал сервера
$ ps -eo pid,user,%cpu,comm --sort=-%cpu | head -6 PID USER %CPU COMMAND 912 www-data 1.4 nginx 1180 root 0.6 sshd 4471 shevchuk 0.3 node 743 root 0.2 systemd-journal 1055 postfix 0.1 master

Вивід ілюстративний: числа й імена свої.

Питання

Ти написав скрипт і поклав його на сервер. Скрипт намагається відкрити файл однокласника. Хто саме забороняє це зробити і в який момент?

Крок 3

Linux і Windows: вісім відмінностей, які ти помітиш одразу

Що ламається, коли переносиш звички з Windows на сервер

Обидві системи керують обладнанням. Windows роблять під людину з мишею, Linux — під машину без монітора.

КритерійLinuxWindows
Шлях до файлуОдин корінь /: /home/<логін>/www/index.htmlЛітери дисків: C:\Users\<ім’я>\www\index.html
Роздільник у шляхуПряма скісна /Зворотна \
Чутливість до регіструReadme.txt і readme.txt — два різні файлиЦе один і той самий файл
Як визначається тип файлуЗа вмістом (утиліта file), розширення — лише підказка людиніЗдебільшого за розширенням, воно ж обирає програму
Права доступуrwx для власника / групи / інших, змінюються chmod, chownACL і властивості файлу через графічний інтерфейс
Де живуть налаштуванняТекстові конфіги в /etc і ~/.config — читаються будь-яким редакторомЗначною мірою реєстр — бінарне сховище, потрібен regedit
ТерміналОсновний спосіб роботи; на сервері часто єдинийДопоміжний; більшість задач — мишею
Ліцензія і вартістьВільна й безкоштовна, ставиться на будь-яку кількість серверівКомерційна ліцензія, для серверної редакції — окрема плата

Три причини тримати сервер на Linux.

Ліцензія. Linux безкоштовний на будь-якій кількості машин.

Налаштування — текстові файли. Відкрив редактором, повторив на іншій машині слово в слово.

Робота без графіки. У дата-центрі немає ні монітора, ні клавіатури.

Через текстові конфіги сервер піднімають одним скриптом.

Звичка з Windows, через яку ламається сайт На ноутбуці Style.css і style.css — один файл, на сервері — два різні. Правило на весь модуль: у ~/www/ лише малі латинські літери, без пробілів і кирилиці.
Питання

Лендинг ідеально працює у тебе локально. Заливаєш на сабдомен — сторінка відкривається, але без оформлення й без логотипа. У коді: <link href="Brand.css"> і <img src="Assets/Logo.SVG">. Що сталося?

Крок 4

Навіщо продукту власний сервер

Питання не в тому, де швидше зробити сторінку, а що лишиться твоїм через рік

Лендинг на безкоштовному конструкторі — п’ятнадцять хвилин. Свій домен і сервер — кілька доларів на місяць. Різниця видно, коли платформа піднімає тариф, вмикає рекламу або закривається.

Три речі, які ти отримуєш разом із власним сервером

Контроль. Безкоштовний тариф лишає платформі банер, логотип унизу й адресу в рядку браузера.

Дані. Заявки з форми уроку 11 у чужій базі забрати можна не завжди.

Можливість перенести. Продукт твій настільки, наскільки тобі належать домен і файли. Поки домен твій, сервер міняєш будь-коли.

Продукт на чужій безкоштовній платформі Продукт на власному домені й сервері ТВОЄ текст картинки ПЛАТФОРМИ адреса сайту шаблон і вигляд реклама на сторінці база заявок правила гри — і право змінити їх завтра платформа закрилася → продукт зник змінила тариф → або платиш, або йдеш перенести неможливо: адреса лишається їй ТВОЄ домен (адреса) усі файли сайту дані форм і логи вигляд і код рішення, що буде на сторінці завтра ПРОВАЙДЕРА залізо в дата-центрі провайдер підняв ціну → береш іншого копіюєш файли, перемикаєш домен адреса не змінилася — користувач нічого не помітив
Ліворуч адреса сайту належить платформі, праворуч — тобі. Файли переїжджають за годину, адреса — ні.
Мінуси власного сервера Ти платиш щомісяця, сам оновлюєш систему й робиш резервні копії. Конструктор забирає ці клопоти разом із контролем.
Питання

Твій лендинг живе на безкоштовному конструкторі за адресою myapp.free-builder.example. Конструктор оголосив: із наступного місяця на всіх безкоштовних сторінках показується його реклама. Що ти можеш і чого не можеш зробити?

Питання

Через рік ти вирішуєш перевезти продукт з одного VPS на інший, дешевший. Що потрібно, щоб користувачі, у яких твоя адреса в закладках, нічого не помітили?

Крок 5

Три способи розмістити сайт в інтернеті

Що більше налаштовуєш сам, то більше й відповідаєш

Спільний хостинг. Тека для файлів і панель керування. Систему й оновлення тримає провайдер. Root і термінала не дадуть.

VPS (virtual private server) — ціла віртуальна машина. Систему, вебсервер і сертифікат HTTPS ставиш і оновлюєш сам. Зате маєш root: користувача з повними правами. На VPS працює наш шкільний сервер.

Хмара (cloud) — окремі послуги: сховище, база даних, обчислення. Потужність зростає під навантаження, рахунок наперед невідомий.

МЕНШЕ КОНТРОЛЮ · МЕНШЕ КЛОПОТУ БІЛЬШЕ КОНТРОЛЮ · БІЛЬШЕ ВІДПОВІДАЛЬНОСТІ Спільний хостинг VPS Хмара тека й панель ціла віртуальна машина послуги окремими блоками залізо операційна система вебсервер і PHP оновлення безпеки твої файли залізо операційна система вебсервер і сертифікат оновлення безпеки твої файли залізо й віртуалізація конфігурація сервісів масштабування й ліміти контроль рахунка твої файли й дані 2–5 $ / міс 4–12 $ / міс за спожите фіксована ціна фіксована ціна рахунок наперед невідомий сірим — тримає провайдер кольором — тримаєш ти для лендинга стартапу вистачає найдешевшого VPS ціни — орієнтир на вересень 2026 за публічними прайсами; конкретні числа — у таблиці нижче
Що правіше, то більше рядків твої.
ПитанняХостингVPSХмара
Є root і терміналнітактак, але керуєш сервісами, не машиною
Хто оновлює системупровайдертичастину — провайдер, частину — ти
Хто винен, якщо сайт лігпровайдертизалежить від сервісу
Можна поставити довільну програмунітактак
Скільки коштуватиме наступного місяцярівно стільки жрівно стільки жзалежить від трафіку й навантаження
Скільки часу на запускхвилинигодина-двівід години до кількох днів

Хостинг — коли треба швидко. VPS — коли треба своє. Хмара — коли навантаження стрибає.

Питання

Твій продукт — лендинг зі статичними сторінками й однією формою відгуків. Раз на добу треба запускати скрипт, що збирає звіт. Хостинг за 3 $ дає теку й панель, VPS за 6 $ дає машину з root. Що обираєш і чому?

Крок 6

Скільки коштує тримати продукт онлайн

П’ять витрат, які треба знати напам’ять: про них питають на Demo Day

Перше питання інвесторів і журі: «Скільки коштує ваш продукт?»

«Недорого» — не відповідь. Відповідь — це число з розбивкою по рядках, зібране з відкритих прайсів.

Що оплачуєшНа місяцьНа рікЗвідки число
VPS 512 МБ / 1 vCPU / 10 ГБ SSD / 500 ГБ трафіку4,00 $48,00 $DigitalOcean, базовий тариф
VPS 1 ГБ / 1 vCPU / 25 ГБ SSD / 1 ТБ трафіку6,00 $72,00 $DigitalOcean, наступний тариф
VPS 2 vCPU / 4 ГБ / 40 ГБ SSD (Європа)≈ 6,00 $≈ 72,00 $Hetzner CX23, 5,49 € без ПДВ
Домен .com за собівартістю0,87 $10,44 $Cloudflare Registrar, без націнки
TLS-сертифікат (HTTPS)0,00 $0,00 $Let’s Encrypt, поновлюється автоматично
Резервні копії, щотижня+20 % VPS9,60–14,40 $DigitalOcean, знімок диска
Резервні копії, щодня+30 % VPS14,40–21,60 $DigitalOcean, знімок диска
Пошта hello@твійдомен, 1 скринька1,00 $12,00 $Zoho Mail Lite, річна оплата
Те саме в Google Workspace7,00 $84,00 $Business Starter, річна оплата
Мінімальна конфігурація5,67 $68,04 $VPS 4 $ + домен + тижневі бекапи
Комфортна конфігурація9,67 $116,04 $VPS 6 $ + домен + щоденні бекапи + пошта
Ціни змінюються — перевіряй їх перед показом У таблиці — прайси на вересень 2026. Домен .com з 1 листопада 2026 дорожчає з 10,44 до 11,15 $ на рік. Запам’ятовуй порядок: 6–10 $ на місяць, 70–120 $ на рік.
Куди йдуть гроші продукту за рік одна шкала для обох смуг — довжина порівнювана Мінімум 68,04 $ / рік VPS 48,00 $ 9,60 10,44 ← сюди все й закінчується Комфорт 116,04 $ / рік VPS 72,00 $ бекапи 21,60 12,00 10,44 VPS — 65–70 % усього бюджету резервні копії пошта на домені домен TLS-сертифікат: 0,00 $ — його немає на схемі, бо він нічого не займає Домен — найдешевший рядок бюджету і водночас єдиний, що дає змогу перевезти продукт кудись іще.
Більшість грошей іде на сервер. Домен найдешевший, але тільки він дає змогу змінити сервер і зберегти адресу.
Питання

Однокласник каже: «Навіщо платити за сертифікат HTTPS, якщо сайт навчальний». Що в цій фразі не так?

Калькулятор вартості твого продукту

Обери сервер, домен, пошту, резервні копії. Калькулятор покаже витрати на місяць і на рік та кількість продажів, після якої заробіток дорівнює витратам.

Рядок fixed_costs скопіюй у ~/notes/costs.md: він потрібен у analytics.html на уроці 4 і на Demo Day.

Постійні витрати продукту
сервердомен бекапипошта і трафік
на місяць0,00 $
на рік0,00 $
маржа з продажі0,00 $
продажів у нуль

fixed_costs

      

На уроці 4 перевірка ділить витрати за місяць на прибуток з продажі й округлює вгору — число має збігтися з тутешнім.

У коді: fixed_costs — постійні витрати, margin — прибуток з продажі, break_even_units — продажів у нуль, ceil(...) — округлення вгору.

Питання

Ти порахував: постійні витрати — 9,67 $ на місяць, маржа з однієї продажі — 2 $. На Demo Day журі питає: «Скільки клієнтів вам треба, щоб не працювати в мінус?» Що ти відповідаєш? І що з цього випливає для ціни?

Крок 7

Скільки коштують години простою

Uptime — це частка часу, коли сайт доступний

Різниця між 99 % і 99,9 % на слух мала, а в годинах простою — майже вдесятеро. Дивись таблицю.

UptimeПростій за місяцьПростій за рікЯк це виглядає
99 %7 год 12 хв3 доби 15 годсайт лежить майже цілий робочий день щомісяця
99,5 %3 год 36 хв1 доба 19 гододин зіпсований вечір на місяць
99,9 %43 хв 12 с8 год 46 хвпланка для маленького продукту
99,99 %4 хв 19 с52 хв 34 сдві машини й балансувальник

Рахунок від 30-денного місяця і 365-денного року.

Годин простою за рік 99 % 99,5 % 99,9 % 99,99 % 87,6 год 43,8 год 8,8 год 0,9 год Кожна наступна дев’ятка коштує приблизно вдесятеро дорожче. 99,9 % — один сервер із бекапом. 99,99 % — дві машини й балансувальник.
Для лендинга бери 99,9 % — це близько 9 годин на рік. Більше з одним сервером не обіцяй.

Бекап

Копія диска раз на добу коштує 1–2 $ на місяць. У найгіршому випадку ти втрачаєш дані за одну добу.

Копія на тій самій машині не рахується Тримай теку ~/www/ ще й у Git. Тоді сайт піднімається заново за десять хвилин на будь-якій машині.
Питання

У пітчі ти пишеш «наш сервіс доступний 99,99 % часу». Журі уточнює, як це забезпечено. У тебе один VPS за 6 $ і щоденний бекап. Що чесно сказати?

Крок 8

Твій акаунт на сервері: підключення, пароль, теки

Шкільний сервер — це такий самий VPS, як у таблиці вище

Підключення і пароль

1. Відкрий Windows Terminal. SSH там уже вбудований, логін і стартовий пароль — на аркуші.

2. Набери команду підключення зі своїм логіном. Побачиш відбиток ключа сервера.

твій комп’ютер
$ ssh <логін>@91.219.61.4 The authenticity of host '91.219.61.4' can't be established. ED25519 key fingerprint is SHA256:9zK1n0R7pXqW4mLbT2yF8vHcE6sJdA3gQ5uY1oI0nBw. Are you sure you want to continue connecting (yes/no/[fingerprint])?

3. Звір рядок SHA256:… з дошкою. Це доказ, що сервер наш; не збігається — поклич учителя.

4. Набери yes, потім пароль. Символи не видно — це нормально.

SSH працює через порт 22 — це число знадобиться в програмі для файлів.

Перша дія на сервері — змінити пароль Стартовий пароль знає ще й той, хто його видавав. Поки він стартовий, роботу не приймуть.

5. Набери passwd. Спитає старий пароль, потім двічі новий; успіх — рядок password updated successfully, помилка — повтори з початку.

6. Перевір, хто ти і де ти. Маєш побачити свій логін і /home/<логін>.

термінал сервера
$ passwd Changing password for <логін>. Current password: New password: Retype new password: passwd: password updated successfully $ whoami && pwd <логін> /home/<логін>

Чотири теки: що публічне, а що ні

Тека www/ віддається в інтернет. Три інші — ні.

/home/koval.d.11a/ — твоя домашня тека вхід тільки по SSH і FTP під твоїм паролем Що бачить інтернет, а що — лише ти www/ ПУБЛІЧНЕ index.html brief.html brand.css assets/ kb/ data/ — публічні CSV upload/ data/ notes/ ПРИЙМАЛЬНЯ ПРИВАТНЕ ПРИВАТНЕ сюди FTP-клієнт кладе файли звідси ти розкладаєш їх сам відповіді форм, логи, чернетки по HTTP не віддається ніколи твої нотатки, команди уроку сюди не кладуть пароль nginx → інтернет 91.219.61.4/s/koval.d.11a ✕ не віддається ✕ не віддається ✕ не віддається маршрут файлу: ноутбук → upload/ → www/
Файл в ~/upload/ не опублікований, доки не перенесеш його у ~/www/.

7. Створи чотири теки і виведи список. Наявні теки команда не чіпає.

термінал сервера
$ mkdir -p ~/www ~/upload ~/data ~/notes && ls -l ~ drwxr-xr-x 2 <логін> <логін> 4096 Sep 2 10:14 data drwx------ 2 <логін> <логін> 4096 Sep 2 10:14 notes drwxr-xr-x 2 <логін> <логін> 4096 Sep 2 10:14 upload drwxr-xr-x 3 <логін> <логін> 4096 Sep 2 10:14 www

8. Прочитай перший стовпчик. d — тека, далі права: твої, групи, інших; r — читати, w — змінювати, x — заходити.

Тому www має drwxr-xr-x — інакше вебсервер не віддасть index.html, а notes має drwx------ (це 755 і 700).

Питання

Термінал пише WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! — відбиток ключа інший. Твої дії?

Два різні «data» — не переплутай ~/www/data/ — публічні таблиці проєкту, market.csv. ~/data/ без www — приватне: логи й персональні дані.
Питання

У файлі — імена й телефони 14 тестувальників. Файл має бути на сервері. Куди його класти?

Крок 9

Як покласти файл на сервер і правила спільного сервера

Перенеси файл з ноутбука в теку ~/www/

1. Встанови WinSCP або FileZilla. Ліворуч у вікні твій комп’ютер, праворуч сервер.

2. Відкрий нове з’єднання і заповни поля за таблицею. У полі «Протокол» вибери SFTP, не FTP.

Поле у програміЩо вписати
ПротоколSFTP
Хост91.219.61.4
Порт22
Ім’я користувачатвій логін, напр. koval.d.11a
Парольтой, що ти поставив командою passwd
Віддалена тека/home/<логін>/upload

3. Натисни «Увійти». Праворуч з’являться теки upload і www. Якщо бачиш «Access denied» — набери логін і пароль ще раз.

4. Перетягни index.html з лівої панелі в теку upload. Ім’я файла з’явиться праворуч.

5. Відкрий SSH-сесію і перенеси файл у www:

термінал сервера
$ mv ~/upload/index.html ~/www/ && ls -l ~/www -rw-r--r-- 1 <логін> <логін> 612 Sep 2 10:31 index.html

Має вийти рядок з index.html. Якщо бачиш «No such file» — набери ls ~/upload і звір ім’я файла.

6. Відкрий свій сабдомен у браузері. Сторінка має відкритися. Якщо віддає 404 — повтори крок 5.

Що сервер прийме, а що ні

МожнаНе можна
.html .css .js .json .csv .md .txt .sh .svg .py і зображення до 500 КБ .mp4 .mov .avi .mkv .webm .mp3 .wav .flac і файли понад 2 МБ

Заборонений файл просто не з’явиться на сервері. Це перевіряє критерій no_media. Прибрав зайве — перевіряй ще раз.

Кодування файлів Зберігай усе в UTF-8, інакше кирилиця стане нечитабельною. У PowerShell вказуй кодування явно:
команда | Out-File -Encoding utf8 notes.txt — PowerShell;
команда > notes.txt — Git Bash, macOS, Linux.

Правила спільного сервера — діють весь модуль

Питання

Ти залив index.html по SFTP, клієнт показав «передано, 100 %», але сабдомен віддає 404. Файл у переліку на сервері видно. Найімовірніша причина?

Крок 10

Що ти зробиш сьогодні: перша сторінка сайту

Файл, який ти пишеш сьогодні, здаватимеш на Demo Day

Результат уроку: один файл ~/www/index.html у кодуванні UTF-8.

1. Придумай назву продукту. «Мій сайт» і «Проєкт» автоперевірка не приймає.

2. Створи файл index.html — назва малими літерами, кодування UTF-8.

3. Натисни «копіювати» і встав код у файл.

4. Заміни <логін> на свій логін, RepairMate — на свою назву в <title> і <h1>.

5. Звір перелік: lang="uk", charset, viewport, author, <title>, <h1>, секції hero, problem, solution.

Секції не видаляй Урок 2 додасть brief.html, урок 5 — brand.css, урок 13 — дані з market.csv.
~/www/index.html — каркас
<!DOCTYPE html>
<html lang="uk">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="author" content="<логін>">   <!-- твій логін на сервері -->
  <title>RepairMate</title>                    <!-- назва продукту -->
</head>
<body>
  <h1>RepairMate</h1>                          <!-- та сама назва -->

  <section id="hero">
    <!-- урок 13: одне речення про продукт і кнопка дії -->
  </section>

  <section id="problem">
    <!-- урок 2: проблема з brief.html -->
  </section>

  <section id="solution">
    <!-- уроки 4 і 13: рішення й числа з analytics.html -->
  </section>
</body>
</html>

6. Залий файл по SFTP у ~/upload/, перенеси у ~/www/.

7. Відкрий http://91.219.61.4/s/<логін>/ — побачиш свою назву великими літерами. 404: файл не в ~/www/ або названий не index.html. Знаки питання замість літер: збережи в UTF-8 і залий ще раз.

Питання

Однокласник назвав файл Index.HTML, у <title> написав «Мій сайт», <h1> лишив порожнім, сабдомен віддає 404. Скільки пунктів автоперевірки він не пройде?

Крок 11

Практика: заходимо на сервер і публікуємо свою сторінку

Виконуй по черзі. Галочки зберігаються, тож сторінку можна закрити.

Докладно про кожен крок

Порядок той самий, що й у списку з галочками вище.

Відкрий Windows Terminal. Замість <логін> постав свій логін з аркуша.

твій комп’ютер
$ ssh <логін>@91.219.61.4 ED25519 key fingerprint is SHA256:9zK1n0R7pXqW4mLbT2yF8vHcE6sJdA3gQ5uY1oI0nBw.

Звір SHA256:… з дошкою, набери yes, потім пароль. Символів не видно. Не збіглося — поклич учителя.

Постав власний пароль. Програма спитає спершу старий пароль, потім двічі новий. Усі три набираються наосліп: на екрані не з’явиться нічого — ні символів, ні зірочок. Успіх — рядок password updated successfully. Інакше повтори команду.

термінал сервера
$ passwd

Перевір, хто ти і де ти. Побачиш свій логін і /home/<логін>.

термінал сервера
$ whoami && pwd <логін> /home/<логін>

Створи чотири теки. У списку мають бути www, upload, data, notes.

термінал сервера
$ mkdir -p ~/www ~/upload ~/data ~/notes && ls -l ~

Напиши index.html у себе на комп’ютері, у будь-якому редакторі. Підійде і Блокнот. Каркас не набирай руками: натисни «копіювати» на вкладці «Каркас продукту» і встав код у файл. Заміни <логін> у <meta name="author"> на свій, а RepairMate — на назву свого продукту в <title> і <h1>. Рядки <!DOCTYPE html>, <html lang="uk"> і три секції hero, problem, solution лишаються на місці — не видаляй їх, автоперевірка їх шукає. Збережи в UTF-8, ім’я файлу малими літерами.

Відкрий WinSCP або FileZilla: SFTP, 91.219.61.4, порт 22, тека /home/<логін>/upload. Перетягни туди файл; «Access denied» — набери пароль ще раз.

Повернись у вікно SSH і перенеси файл у www. Побачиш рядок з index.html. «No such file» — звір ім’я командою ls ~/upload.

термінал сервера
$ mv ~/upload/index.html ~/www/ && ls -l ~/www

Відкрий http://91.219.61.4/s/<логін>/ у браузері. Побачиш назву продукту. 404 — файл не в ~/www/ або названий не так.

Натисни «Перевірити мою роботу» на вкладці «Перевірка». Червоний критерій показує, що доробити.

Що робиш у себе на комп’ютері, а що кладеш на сервер Файл index.html ти пишеш у себе на комп’ютері, у будь-якому редакторі. Зберігаєш у UTF-8. По SFTP кладеш його у ~/upload/. Звідти переносиш у ~/www/. Пароль змінюєш у терміналі, а не у WinSCP. Рядок fixed_costs із калькулятора зберігаєш у ~/notes/costs.md. Він знадобиться на уроці 4.
Крок 12

Автоперевірка check11 1

Система зайде у твій акаунт від твого імені. Зробить справжній запит на твій сабдомен. І подивиться, що ти реально зробив. Спроби не обмежені.

Демонстраційний режим: результат згенеровано для показу. На сервері ця кнопка запускає check11 1 від імені учня. Потім читає ~/.progress/11-1.json.

Про два обов’язкові критерії pw_changed і no_media блокують оцінку. Перший — тому що акаунт зі стартовим паролем ще не твій акаунт. Другий діє весь модуль. У ~/www/ і ~/upload/ не має бути файлів .mp4 .mov .avi .mkv .webm .mp3 .wav .flac. Не має бути й нічого важчого за 2 МБ. На уроці 14 check11 8 прожене ці перевірки ще раз. Зламане по дорозі буде видно.

Що вчитель дивиться на екрані

Крок 13

Твій результат і рекомендований бал

Це те, що бачить учитель, коли виставляє оцінку.

СкладникВагаРезультат
Виконано
0%
Рекомендований бал за 12-бальною

Домашнє завдання

  1. Допиши в ~/www/index.html абзац «Про що мій продукт» — щонайменше 200 символів. Постав його в секцію id="hero". Перезалий файл по SFTP.
  2. Створи ~/notes/server-notes.md. Запиши туди п’ять команд, які ти виконував на уроці. Поясни кожну своїми словами.
  3. Створи ~/notes/costs.md. Запиши свою конфігурацію з калькулятора, витрати на місяць і на рік та рядок fixed_costs. Додай одне речення: скільки продажів на місяць треба, щоб вийти в нуль.
Анонс уроку 2 Наступного разу — хмара і спільна робота. Рівні доступу до документа, режим «Пропонування змін», взаємне рецензування. І головне — бриф твого стартапу. Це коротке описання продукту: проблема, аудиторія, рішення, цінність, конкуренти. Він ляже на сервер поруч із сьогоднішнім каркасом як brief.html.
Джерела

Звідки взяті факти й ціни

Кожне число, яке можна перевірити, має посилання. Перевіряти дозволено й корисно: прайси змінюються.

Простій для 99 / 99,5 / 99,9 / 99,99 % порахував автор сторінки. Основа розрахунку — 30-денний місяць (43 200 хв) і 365-денний рік (525 600 хв).

Приклади виводу команд складені як типові для навчального сервера. Це стосується відбитка ключа, PID, дат і розмірів файлів. На твоєму акаунті числа будуть свої.

Повний список джерел із поясненнями — у файлі urok-01-джерела.md поруч із цією сторінкою.