Найти в Дзене

Опёнок, часть вторая или Как установить и настроить OpenBSD.

Итак, я создал виртуалку с диском на 16 гигабайт, гигабайтом оперативной памяти и одним ядром процессора. Вы можете это делать на физическом компьютере. Первое что система предложит после загрузки: установка, обновление, автоустановка, выход в командную строку. Для выбора первого варианта надо нажать букву i (install). Далее отвечаем на вопросы: раскладка клавиатуры (keyboard layout): ru имя компьютера (hostname): wwwx.myhome.local Сетевой интерфейс (em0 по умолчанию): enter (оставляем по умолчанию) IPv4 адрес (по умолчанию DHCP - autoconf): 192.168.137.160 Сетевая маска (по умолчанию 255.255.255.0): enter (оставляем по умолчанию) IPv6 адрес (по умолчанию нет): enter (оставляем по умолчанию) Мы всё указали для сети (по умолчанию DONE): enter (оставляем по умолчанию) IPv4 маршрут по умолчанию (default route): 192.168.137.1 Доменный суффикс - уже по умолчанию предлагает из доменного имени myhome.local - enter (оставляем по умолчанию) DNS серверы укажем Яндекса (конечно, если у вас дома

Итак, я создал виртуалку с диском на 16 гигабайт, гигабайтом оперативной памяти и одним ядром процессора. Вы можете это делать на физическом компьютере. Первое что система предложит после загрузки: установка, обновление, автоустановка, выход в командную строку. Для выбора первого варианта надо нажать букву i (install).

Далее отвечаем на вопросы:

раскладка клавиатуры (keyboard layout): ru

имя компьютера (hostname): wwwx.myhome.local

Сетевой интерфейс (em0 по умолчанию): enter (оставляем по умолчанию)

IPv4 адрес (по умолчанию DHCP - autoconf): 192.168.137.160

Сетевая маска (по умолчанию 255.255.255.0): enter (оставляем по умолчанию)

IPv6 адрес (по умолчанию нет): enter (оставляем по умолчанию)

Мы всё указали для сети (по умолчанию DONE): enter (оставляем по умолчанию)

IPv4 маршрут по умолчанию (default route): 192.168.137.1

Доменный суффикс - уже по умолчанию предлагает из доменного имени

myhome.local - enter (оставляем по умолчанию)

-2

DNS серверы укажем Яндекса (конечно, если у вас дома нет своих)

77.88.8.8 77.88.8.1 (указываем через пробел)

Два раза вводим пароль рута (одинаково!) Внимание, пароли на экране не показываются (не отображаются).

Запускать службу sshd (да)? : enter (оставляем по умолчанию)

Запускать графический X-сервер? (yes): no - графика нам не нужна.

Хотите добавить пользователя? (no): user - пишем логин пользователя

Полное имя пользователя? (по умолчанию user) - пока не меняем.

Два раза вводим пароль пользователя (одинаково!) Внимание, пароли на экране не показываются (не отображаются).

Предупреждение: под рутом вход по ssh небезопасен,

разрешить? (no): enter (оставляем по умолчанию)

Установка временной зоны (Europe/Moscow) - соглашаемся или указываем свою, знак вопроса для вывода списка зон.

Доступные диски (sd0) какой диск редактируем? (sd0) enter

Зашифровать диск (no) enter

нет метки MBR или GPT, использовать весь диск? (редактировать, GPT, весь с MBR - whole) enter

-3

(предлагает авторазбиение) Использовать автоматическое разбиение, редактировать или создать своё (custom)? (a): c

-4

После этого мы попадаем в редактор. Команды простые: посмотреть что у нас получилось - p g, записать изменения на диск - w, выход q, добавить раздел a

Теперь касательно зарезервированных букв.

  • c -весь диск
  • b - раздел подкачки
  • остальные как угодно, но a обычно загрузочный (корневой)
-5

как видим, 512m - половина гигабайта, 1g - гигабайт. Мы создали разделы / и /tmp по 512 мегабайт, 1 гигабайт раздел для пользователей (у нас один пользователь) и 2 гигабайта раздел подкачки. Посмотрим...

Свободно ещё 12 гигабайт, но...

-6

Создаём разделы /var (данные), /var/mysql (база данных), /var/www/web (для веб-страниц). 3, 2 и 2 = 7 гигабайт. Остаётся 5 на раздел программ (/usr). Обычно хватает и 3, но это же наш первый сервер OpenBSD, вдруг мы захотим поставить что-то ещё?

-7

После того как мы вышли из редактора разбиения, система отформатирует разделы и предложит нам установку.

Выбираем установку с компакт-диска
Выбираем установку с компакт-диска

Где находятся файлы для установки(cd0 disk http nfs) (по умолчанию cd0)

Путь к файлам (7.6/amd64) тоже не меняем. А вот дальше всё чудеснее...

Нам предлагается набор паттернов (пакетов) для установки. Компонентов системы. Мы договорились, что графики у нас нет, поэтому компоненты Xсервера не нужны. Кроме базовых, которые в том числе используются некоторыми программами. Игры не нужны. Теоретически можно всё так и оставить,, но нет. Мы откажемся от игр, от иксов, но добавим базовые компоненты иксов. Команда будет выглядеть так:

-g* -x* +xb*

Как видим, новое предложение уже со снятыми галочками. Соглашаемся. Теперь новая напасть - не найдена сигнатура подписи. Продолжить установке без верификации (по умолчанию no), но мы скажем yes

-9

Пошла установка. Потом спросит, всё или есть ещё наборы (done). Теперь время неверное. Установить верное? (yes). Завершающие операции, после которых он попросит ребут. Не забудьте извлечь компакт-диск, чтобы загрузка пошла с винчестера.

-10

Установка завершена. Нам осталось несколько хитрых операций по начальной настройке. Но теперь консоль не нужна. Независимо от того, виртуалка у вас была или физический монитор, копипаста там не работает. В отличие от PuTTY.

Качаем, ставим, если она у вас ещё не установлена. Соединяемся.

-11

В первый раз он спросит, принять ли ключ. Надо принять (нажать кнопку Accept).

-12

После соединения он запросит пароль user который мы задали в процессе установки. Вводим и получаем доступ. Теперь нам нужны права рута.

su root

Запрашивает пароль рута, его мы тоже устанавливали. Напомню, что если входить сразу под рутом, сервер даст отлуп - вход под рутом не разрешён.

-13

Ну вот теперь можно приступать. В линуксе есть утилита sudo, здесь она тоже есть, но предпочтительнее использовать её встроенный аналог doas - включим его. echo "permit nopass keepenv :wheel" > /etc/doas.conf

Обратите внимание: самый большой недостаток UNIX-систем состоит в том, что команда в командной строке не может занимать больше чем два миллиона символов. Суть в том, что команды можно объединять так: && Эта последовательность - логическое И, если первая команда успешно выполнена, то И вторая будет выполнена. Теперь нам для настройки может понадобиться несколько типовых программ. Установим их.

pkg_add ee curl mc wget && mcedit /etc/login.conf

И сразу же поправим login.conf, прописав после default две строки для русификации (сохранить F2, выход F10):

default:\

:charset=UTF-8:\

:lang=ru_RU.UTF-8:\

-14

Обратите внимание, программы скачиваются и устанавливаются с интернета. С зарубежных серверов. Пока. И сейчас мы это изменим.

Обработаем login.conf отключим файрволл и создадим файл профиля.

cap_mkdb /etc/login.conf && pfctl -d && mcedit /etc/profile

содержимое файла профиля:

export PKG_PATH="https://mirror.yandex.ru/openbsd/7.6/packages/amd64/"

export LANG="ru_RU.UTF-8"

export LC_CTYPE="ru_RU.UTF-8"

export LC_MESSAGES="ru_RU.UTF-8"

export LC_ALL="ru_RU.UTF-8"

Первая команда указывает, откуда качать программы (каталог доступен для просмотра), остальные отвечают за русификацию.

-15
-16

Теперь нам надо выключить файрволл не временно, а навсегда. И не только его.

Открываем файл /etc/rc.conf

mcedit /etc/rc.conf

Нам нужно поставить после равно NO для следующих программ: dhcpleased_flags= (у нас статика) pflogd_flags= (если файрволл отключен, то и логи ни к чему) slaacd_flags= (демон автоконфигурации адресов без сохранения состояния - не нужен) smtpd_flags= (почту мы отправлять не планируем) sndiod_flags= (наслаждаться звуком тоже не собираемся) pf=NO (YES заменить на NO)

-17

Даже в новой системе находят дыры. И закрывают их заплатками. Применим и мы заплатки.

syspatch

Эта команда скачивает заплатки и устраняет уязвимости системы.

-18

Ну вот, а теперь можно reboot - только пока не закрывайте окно PuTTY - после того как пройдёт перезагрузка, делаем магию под названием "рестарт сессии":

-19

после входа делаем doas su и завершающий штрих - меняем имя пользователя:

usermod -c "Пользователь" user

-20

Можем проверить, запустив mc - обратите внимание, он стал русским.

-21

Всё, система установлена и настроена. Благодарю тех, кто дочитал до конца. Следующая статья - о развёртывании MariaDB, PHP и nginx. Впрочем, nginx нужен не всегда - в OpenBSD встроен свой веб-сервер под названием httpd - раньше это был форк Apache, но сейчас он довольно сильно перепилен. Поэтому начнём с классики. Ждите следующую статью.