Установка OpenBSD 7.3 на облачный сервер Simple-Server

    Команда Simple-Server
    03.06.2026
    12 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Операционная система OpenBSD

    Когда речь заходит об использовании операционной системы для веб-сервера, то, как правило, выбор ограничивается самыми распространёнными вариантами — Windows или одним из дистрибутивов Linux. Я хочу познакомить вас с ещё одной операционной системой, заслуживающей особого внимания — это OpenBSD.

    Разработка OpenBSD началась в 1995 году, а спустя год вышел первый официальный релиз операционной системы. И с тех пор сообщество разработчиков радует нас стабильными релизами приблизительно каждые полгода. Под стабильными релизами я подразумеваю не столько периодичность выпусков новых версий, сколько стабильность самой операционной системы и поставляемых с ней прикладных программ. Это и неудивительно, ведь одними из основных целей проекта разработчики OpenBSD называют создание надёжных и безопасных программ, строгое следование и реализация стандартов, поддержка как можно большего числа аппаратных платформ и устройств, а также стремление сделать OpenBSD самой безопасной операционной системой.

    Кроме того, к другим сильным сторонам OpenBSD пользователи относят:

    • простоту, минимализм и предсказуемость операционной системы;
    • конфигурационные параметры по умолчанию, установленные в безопасные значения;
    • исключительное отношение к документации — ошибки в справочной информации считаются такими же серьезными, как и ошибки в программном коде и исправляются незамедлительно.

    Из недр сообщества разработчиков OpenBSD вышли также другие программы и системы, завоевавшие популярность в других операционных системах:

    • Файрвол PF (Packet Filter)
    • Система удалённого доступа OpenSSH
    • Библиотека LibreSSL
    • Консольный мультиплексор tmux

    Изначально мы писали эту статью для OpenBSD 7.2, но позднее актуализировали для более новой версии — 7.3.

    Если вы решили опробовать эту операционную систему для своего веб-сервера, воспользуйтесь этим руководством, и уже через несколько минут в вашем распоряжении будет виртуальный сервер с поддержкой HTTPS (через Let’s Encrypt) и установленным PHP.

    В качестве платформы для нашего виртуального сервера мы будем использовать облако Simple-Server. Если вы ещё не являетесь пользователем этой платформы, зарегистрируйте аккаунт.

    Несмотря на то, что OpenBSD не поддерживается напрямую облачной платформой, то есть виртуальную машину с OpenBSD невозможно создать через панель управления, установить OpenBSD на виртуальную машину в облаке Simple-Server всё же возможно. Для этого нам надо запустить виртуальную машину с… Ubuntu!

    Ubuntu в качестве промежуточной системы

    Мы будем использовать Ubuntu в качестве промежуточного звена для последующей установки OpenBSD на виртуальную машину. Создайте новый «чистый» облачный сервер и выберите в качестве операционной системы Ubuntu. Для этого на главной странице панели нажмите «Добавить» справа вверху. Дополнительные инструкции вы можете найти в документации.

    После успешной настройки и установки виртуальной машины вам на электронную почту должно прийти письмо с параметрами доступа: IP-адресом и паролем пользователя root. Используйте эти данные для подключения к облачному серверу по протоколу SSH или через веб-консоль.

    Установка загрузчика OpenBSD

    Для того, чтобы чтобы при следующей перезагрузке виртуальной машины, запустилась установка OpenBSD, а не загрузка Ubuntu, необходимо сделать следующее:

    1. Скачать ramdisk ядро OpenBSD.
    2. Настроить загрузчик GRUB на запуск ramdisk ядра.
    3. Перезагрузить виртуальную машину и произвести установку OpenBSD.

    Установщик OpenBSD использует специальное ramdisk ядро (bsd.rd), которое создает live-среду, полностью загружаемую в память. Эта среда содержит установочные скрипты и небольшое количество утилит, необходимых для процесса установки. Скачаем его с «зеркала» Яндекса и сохраним в директорию /boot:

    wget https://mirror.yandex.ru/openbsd/7.3/amd64/bsd.rd -O /boot/bsd.rd

    После этого нам необходимо внести изменения в два файла конфигурации загрузчика GRUB:

    1. В самый конец файла /etc/grub.d/40_custom нужно добавить:
    menuentry "bsd.rd" { set root=(hd0,msdos1) kopenbsd /boot/bsd.rd }
    1. В файле /etc/default/grub в качестве значения параметра GRUB_DEFAULT необходимо указать только что созданный пункт меню:

    Далее необходимо выполнить команду update-grub и перезагрузить виртуальную машину командой reboot.

    После перезагрузки запустится установщик операционной системы OpenBSD. Установку и первоначальную настройку мы будем производить в веб-консоли панели управления Simple-Server, так как сервис sshd ещё не запущен и подключение по протоколу SSH невозможно.

    Операционная система OpenBSD отличается довольно простой процедурой установки — практически все значения, предлагаемые мастером установки, не требуют внесения изменений. Поэтому об установке OpenBSD часто шутят: «Несколько раз нажми Enter — и всё готово!»

    После очередной перезагрузки облачного сервера будет запущена уже операционная система OpenBSD. Обратите внимание, что иконка сервера в панели по-прежнему будет отображать логотип Ubuntu — той системы, которая была установлена на сервер автоматически.

    Теперь можно приступать к настройке.

    Первым делом, необходимо установить обновления. Для этого надо выполнить команду syspatch в консоли и еще раз перезагрузиться (командой reboot), чтобы запустить обновленное ядро.

    Интеграция с панелью управления Simple-Server

    Для обеспечения взаимодействия панели управления Simple-Server и нашей виртуальной машины, а так же для того, чтобы собирать статистику использования ресурсов нам необходимо установить и сконфигурировать два сервиса: QEMU Guest Agent и Zabbix.

    QEMU Guest Agent — это программа-демон, которая запускается внутри виртуальной машины для помощи в управлении. В OpenBSD эта программа устанавливается командой:

    Затем надо отредактировать конфигурационный файл /etc/qemu/qemu-ga.conf так, чтобы он выглядел следующим образом:

    [general] method=isa-serial path=/dev/cua00

    После этого, запустим сервис командой:

    И добавим его в автозагрузку:

    Zabbix — это система мониторинга с открытым исходным кодом. Что установить программу-агент Zabbix в OpenBSD, нужно выполнить команду:

    Конфигурационный файл агента, расположенный в /etc/zabbix/zabbix_agentd.conf, должен содержать следующее:

    Server=92.53.116.12,92.53.116.111,92.53.116.119 StartAgents=3 PidFile=/var/run/zabbix/zabbix_agentd.pid LogType=system DebugLevel=3 AllowRoot=0 Timeout=30 DenyKey=system.run[*] UserParameter=timeweb_config_version,echo 127

    Запуск и автозагрузка сервиса осуществляется командами:

    rcctl start zabbix_agentd rcctl enable zabbix_agentd

    Виртуальная машина с установленной и настроенной операционной системой — это, конечно, хорошо, но пользы от такого сервера мало. Для того, чтобы наш облачный сервер начал приносить пользу, давайте настроим его так, чтобы на нём можно было разместить простой статический сайт.

    За отдачу статического контента по протоколу HTTP в OpenBSD отвечает веб-сервер httpd. Его не нужно устанавливать, он идёт в базовой установке операционной системы.

    Другие популярные веб-серверы (Apache, NGINX) можно установить из пакетов. Информация об их установке и настройке выходит за рамки этого руководства.

    Давайте создадим файл /var/www/htdocs/index.html следующего содержания:

    Конфигурационный файл веб-сервера должен находиться в /etc/httpd.conf. Изначально он отсутствует, его следует создать и записать в нём следующее:

    server "default" { listen on egress port http }

    Добавим веб-сервер в автозагрузку и запустим его:

    rcctl enable httpd rcctl start httpd

    Если набрать в браузере IP-адрес нашей виртуальной машины (узнать его можно в панели управления или из письма об изначальной установке), то вы должны увидеть приветствие, которое мы предварительно создали.

    Настройка HTTPS соединения при помощи acme-client и relayd

    Обращение к сайту по IP-адресу и по протоколу HTTP хоть и возможно, но не совсем удобно. Давайте внесем изменения в конфигурацию так, чтобы наш сайт-приветствие открывался на домене и через защищённое соединение HTTPS.

    Первым делом нам необходимо зарегистрировать новый домен или внести изменения в настройку DNS-зон уже существующего домена так, чтобы A-запись указывала на IP-адрес нашей виртуальной машины. В панели управления доменами облачной платформы Simple-Server это можно сделать в разделе «Домены». В случае возникновения вопросов изучите справочную информацию или обратитесь в службу поддержки. После внесения изменений в DNS-записи домена должно пройти какое-то время, пока записи обновятся на серверах имен. Рекомендую воспользоваться сервисом DNS Propagation Checker для получения информации.

    Далее, мы будем использовать www.example.com в качестве доменного имени. Замените его на ваше доменное имя в конфигурационных параметрах.

    Let’s Encrypt — некоммерческий Центр сертификации, предоставляющий сертификаты TLS — использует ACME-протокол для подтверждения прав на доменное имя, а также для выпуска сертификата для него. Чтобы получить сертификат Let’s Encrypt, необходимо использовать ACME-клиент. В OpenBSD он так и называется acme-client и входит в базовую установку операционной системы.

    Прежде чем начать конфигурацию acme-client, внесем необходимые изменения в конфигурацию веб-сервера в файле /etc/httpd.conf. Файл должен выглядеть, как показано ниже:

    Проверим, что в конфигурационном файле веб-сервера нет ошибок или опечаток:

    Создадим конфигурационный файл /etc/acme-client.conf:

    Теперь, когда мы внесли изменения в конфигурационный файл веб-сервера и создали конфигурацию для клиента ACME, пришло время перезапустить веб-сервер и запросить сертификат:

    acme-client www.example.com

    Команды должны выполниться без ошибок. Проверим, что файл сертификата действительно создан:

    ls /etc/ssl/www.example.com.fullchain.pem

    Сгенерируем сертификат в формате OCSP из формата PEM:

    ocspcheck -No /etc/ssl/www.example.com.ocsp /etc/ssl/www.example.com.fullchain.pem

    Срок действия сертификата на ваш домен в формате PEM истекает через 90 дней, а его ответ в формате OCSP — через неделю. Для того, чтобы автоматизировать процесс обновления сертификатов, добавьте следующий скрипт в файл /etc/daily.local, и тогда проверки валидности сертификата будут проходить ежедневно, сертификаты будут обновляться при необходимости:

    #!/bin/ksh dir=/etc/ssl domain=www.example.com /usr/sbin/acme-client $domain if [ $? -eq 0 ] ; then /usr/sbin/ocspcheck -No $dir/$domain.ocsp $dir/$domain.fullchain.pem /usr/sbin/rcctl restart relayd fi /usr/sbin/ocspcheck -i $dir/$domain.ocsp $dir/$domain.fullchain.pem if [ $? -eq 1 ] ; then /usr/sbin/ocspcheck -No $dir/$domain.ocsp $dir/$domain.fullchain.pem /usr/sbin/rcctl restart relayd fi exit 0

    relayd — это балансировщик нагрузки, шлюз уровня приложения, прозрачный прокси, SSL/TLS-шлюз. Именно он (в связке с веб-сервером httpd) отвечает за HTTPS-соединение. Создадим конфигурационный файл /etc/relayd.conf следующего содержания:

    log state changes log connection prefork 10 table <www> { 127.0.0.1 } http protocol "https" { tls keypair "www.example.com" return error match request header set "X-Forwarded-For" value "$REOTE_ADDR" match request header set "X-Forwarded-Port" value "$REMOTE_PORT" match method GET tag ok match method HEAD tag ok block pass tagged ok forward to <www> } relay "https" { listen on egress port https tls protocol "https" forward to <www> port https }

    Маска файлов, по которой relayd ищет сертификаты и файлы ключей, подразумевает, что один и тот же сертификат может использоваться на разных портах. Самый простой способ удовлетворить этому требованию — использовать символьные ссылки:

    cd /etc/ssl ln -s www.example.com.fullchain.pem www.example.com:443.crt ln -s www.example.com.ocsp www.example.com:443.ocsp cd private ln -s www.example.com.key www.example.com:443.key

    Проверим конфигурацию relayd на корректность:

    Теперь можно запустить relayd:

    rcctl enable relayd rcctl start relayd

    Теперь наш сайт-приветствие открывается по домену и по протоколу HTTPS:

    Для некоторых задач простого веб-сервера, пусть даже и с поддержкой HTTPS, может быть недостаточно. Нужна поддержка серверных языков программирования. И такое возможно настроить в OpenBSD. Рассмотрим на примере языка PHP.

    Первым делом установим пакет PHP:

    На выбор будет предложена установка одной из нескольких версий. В моём случае это были php-8.0.28p1, php-8.1.19 и php-8.2.6. Я выбрал последнюю, так как это версия с самым долгим сроком поддержки.

    Вместе с пакетом php также был установлен менеджер процессов FastCGI (FPM). Давайте добавим этот сервис в автозагрузку и запустим его:

    rcctl enable php82_fpm rcctl start php82_fpm

    Теперь нам надо добавить обработку PHP-скриптов на стороне веб-сервера httpd. Для это отредактируем конфигурационный файл /etc/httpd и изменим вторую запись server так, чтобы она выглядела следующим образом:

    server "www.example.com" { listen on lo port https log style forwarded location "*.php" { fastcgi socket "/run/php-fpm.sock" } }

    Не забудьте перезапустить веб-сервер после внесения изменений в файл конфигурации:

    Пора проверить, как работают PHP-скрипты в нашей конфигурации. Создайте файл /var/www/htdocs/info.php следующего содержания:

    При переходе на страницу info.php на нашем домене должна появиться информация об установленной версии PHP:

    В этом материале мы познакомились с операционной системой OpenBSD. С помощью данной инструкции можно установить операционную систему на облачный сервер Simple-Server, а также произвести базовую настройку веб-сервера для размещения сайта с поддержкой PHP. Помимо этого сервер так же работает по защищенному протоколу HTTPS и использует для этого сертификат Let’s Encrypt. Конфигурация сервера позволяет обновлять сертификат автоматически.


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490₽

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190₽

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны