Rocky Linux. Установка сервера

Установка базисного сервера на Rocky Linux.

Содержание

1 Общая информация

1.1 Дополнительные стандартные репозитории

Таблица 1: Стандартные дополнительные репозитории
RepositoryRocky 8Rocky 9ВключёнПримечание
ExtrasYesYesYesДополнительные функции, не нарушающие совместимость исходного кода
PlusYesYesNoЛибо заменяет стандартный компонент, либо под одну архитектуру
RT (real time)YesYesNoПакеты для
NFVYesTBDNo
SAP / SAP HANANoTBDNo
Devel / develYesYesNo

1.2 Репозитории сообщества

  • Дополнительные пакеты для Enterprise Linux (EPEL):
    • документация: http://fedoraproject.org/wiki/EPEL;
    • наиболее часто используемй репозиторий;
    • сборки пакетов Fedora для каждого поддерживаемого корпоративного Linux;
    • пакеты не заменяют базовые;
    • установка:
      1dnf config-manager --set-enabled crb
      2dnf install epel-release
      
  • Репозиторий Community Enterprise Linux (ELRepo):
    • фокусируется на более новых ядрах и пакетах драйверов kmod для улучшения поддержки оборудования;
    • репозитории ядра должны быть включены для его использования;
    • установка:
      1dnf install elrepo-release
      
  • RPM Fusion:
    • программное обеспечение, которое Fedora Project или Red Hat не хотят поставлять в Enterprise Linux и Fedora;
    • базовые пакеты не заменяются;
    • установка:
      1dnf install rpmfusion-free-release
      
  • Репозиторий Remi:
    • сайт: http://rpms.remirepo.net/;
    • поддерживает большую коллекцию RPM, включая, среди прочего, последние версии PHP;
    • это коллекция репозиториев;
    • документация: http://blog.remirepo.net/pages/English-FAQ;
    • может конфликтовать с другими сторонними репозиториями.
  • GhettoForge:
    • документация: http://ghettoforge.org/index.php/Usage;
    • пакеты, которых нет в других сторонних репозиториях;
    • пакеты, перезаписывающие базу, будут в репозитории gf-plus.

2 Установка образа

3 После установки

  • Здесь даны общие шаги для большей части серверов.

3.1 Обновления

  • Обновить все пакеты
    1dnf -y update
    

3.2 Установка локализации

  • Проверьте текущую локализацию:
    1localectl status
    
  • Посмотрите доступные локализации:
    1localectl list-locales
    
  • Если нет необходимой, установите её:
    1dnf -y install glibc-langpack-ru
    
  • Установите нужную локализацию:
    1localectl set-locale ru_RU.UTF-8
    
  • Проверьте текущую локализацию:
    1localectl status
    

3.3 Дополнительные репозитории

  • Установим EPEL:
    1dnf config-manager --set-enabled crb
    2dnf -y install epel-release
    

3.4 Установка часового пояса

  • Просмотрите список всех часовых поясов:
    1timedatectl list-timezones
    
  • Установите часовой пояс (например, UTC):
    1timedatectl set-timezone Etc/UTC
    

3.5 Синхронизация времени

  • Запустите демон:
    1systemctl enable --now chronyd
    
  • Проверьте работу демона chronyd:
    1chronyc -a tracking
    
  • Включите сетевую синхронизацию времени:
    1timedatectl set-ntp true
    
  • Проверьте, работает ли он:
    1timedatectl status
    

3.6 Разрешение имён

3.6.1 systemd-resolved

  • Можно установить кеширующий локальный name-server systemd-resolved:
    1dnf -y install systemd-resolved
    
  • Файл настройки: /etc/systemd/resolved.conf.
  • Можно в нём ничего не менять.
  • Запустим службу:
    1systemctl enable --now systemd-resolved.service
    
  • Установите резольвер:
    1ln -snf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    
  • Проверить работу можно командой:
    1resolvectl
    

3.7 Повышение комфорта работы

  • Программы для удобства работы в консоли:
    1dnf -y install tmux perl-DateTime-HiRes mc kitty-terminfo
    
  • Программы мониторинга:
    1dnf -y install htop lsof
    
  • Утилита для ssh:
    1dnf -y install mosh
    
  • Удобство работы с bash:
    1dnf -y install bash-completion bash-color-prompt
    
  • Разные утилиты:
    1dnf -y install wget git tar zstd p7zip
    

3.8 Отключение графического интерфейса

  • Посмотрите, в каком режиме загружается сервер:
    1systemctl get-default
    
  • Если результатом является graphical.target, то отключите загрузку графического интерфейса.
  • Переключите на загрузку в терминальном многопользовательском режиме:
    1systemctl set-default multi-user.target
    

3.9 Безопасность

3.9.1 Fail2ban

  • Защита от атак:

    1dnf -y install fail2ban
    
  • Следует сконфигурировать (см. fail2ban. Основные настройки) и запустить:

    1systemctl enable --now fail2ban.service
    
  • Проверьте работу:

    1tail -f /var/log/fail2ban.log
    

3.10 Администрирование

3.10.1 Автоматическое обновление

  • При необходимости можно использовать автоматическое обновление (см. Автообновление систем на базе деривативов RedHat).
  • Установка программного обеспечения:
    1dnf -y install dnf-automatic
    
  • Задаёте необходимую конфигурацию в файле /etc/dnf/automatic.conf.
  • Запустите таймер:
    1systemctl enable --now dnf-automatic.timer
    

4 Установка дополнительного программного обеспечения

  • Описываются дополнительные пакеты для специализированных серверов.

4.1 Утилиты

4.1.1 rsync

  • Установим rsync:
    1dnf install rsync
    

4.2 Безопасность

4.2.1 Работа с Let’s Encrypt

  • Установим certbot:
    1dnf install certbot
    
  • Установим модуль под Apache:
    1dnf install python3-certbot-apache
    
  • Если используется Nginx, установим модуль под Nginx:
    1install certbot python3-certbot-nginx
    

4.3 Синхронизация времени

4.3.1 systemd-timesyncd

  • Можно использовать альтернативный метод синхронизации времени из пакета systemd.
  • Установите демон синхронизации:
    1dnf install systemd-timesyncd
    
  • Запустите демон:
    1systemctl enable --now systemd-timesyncd
    
  • Включите сетевую синхронизацию времени:
    1timedatectl set-ntp true
    
  • Проверьте, работает ли он:
    1timedatectl status
    
  • Подробная информация:
    1timedatectl timesync-status
    

4.3.2 Сервер сетевого времени

  • В файле /etc/chrony.conf Разрешите подключение клиентов из локальной сети:

    1allow 192.168.0.0/16
    
  • Запустите сервер сетевого времени:

    1systemctl enable --now chronyd
    
  • Проверьте пулы NTP:

    1chronyc sources
    
  • Проверьте состояние синхронизации NTP:

    1chronyc tracking
    
  • Чтобы принимать входящие запросы клиентов, разрешите службу NTP через брандмауэр:

    1firewall-cmd --permanent --add-service=ntp
    
  • Перезапустите брандмауэр:

    1firewall-cmd --reload
    

4.4 Вариации на тему стека LAMP (Linux, Apache, MySQL, PHP)

  • Устанавливается, если необходимо поддерживать приложение на PHP.
  • Обычно используются базы данных Mysql или Postgresql.

4.4.1 Apache

  • Установка Apache:
    1dnf install httpd
    
  • Установка поддержки HTTPS:
    1dnf install mod_ssl
    

4.4.2 PHP

  • Определим, какие версии php возможно установить:
    1sudo dnf module list php
    
  • Установим php-8.2:
    1sudo dnf module reset php
    2sudo dnf module enable php:8.2
    3dnf install php
    4sudo dnf -y update
    

4.4.3 Mysql

  • Установим mariadb:
    1dnf install mariadb
    2dnf install mariadb-server
    
  • Установим модуль для php:
    1dnf install php-mysqlnd
    

4.5 Администрирование

4.5.1 Резервное копирование

  • Для резервного копирования используется restic:
    1dnf install restic
    

4.6 Файловые системы

4.6.1 GlusterFS

  • Установите пакет для последнего релиза GlusterFS (см. https://wiki.centos.org/SpecialInterestGroup/Storage):
    1dnf install centos-release-gluster
    
  • Установка клиента GlusterFS:
    1dnf install glusterfs
    2dnf install glusterfs-fuse
    

4.7 DNS сервера

4.8 Контроль версий

4.8.1 git

  • Установите git:
    1dnf -y install git
    

4.8.2 cvs

  • Установите cvs:
    1dnf -y install cvs
    

4.9 Средства разработки

  • Установим группу средств разработки:
    1dnf -y group install "Development Tools"
    

4.10 Виртуализация и контейнеры


Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие