Rocky Linux. Установка сервера
2022-08-12
·
5 мин. для прочтения
Установка базисного сервера на Rocky Linux.
Содержание
1 Общая информация
- Rocky Linux — сборка RedHat Linux, пришедший на смену Centos (см. Замена Centos).
- Сайт: https://rockylinux.org/.
- Образы:
1.1 Дополнительные стандартные репозитории
Таблица 1:
Стандартные дополнительные репозитории
| Repository | Rocky 8 | Rocky 9 | Включён | Примечание |
|---|---|---|---|---|
| Extras | Yes | Yes | Yes | Дополнительные функции, не нарушающие совместимость исходного кода |
| Plus | Yes | Yes | No | Либо заменяет стандартный компонент, либо под одну архитектуру |
| RT (real time) | Yes | Yes | No | Пакеты для |
| NFV | Yes | TBD | No | |
| SAP / SAP HANA | No | TBD | No | |
| Devel / devel | Yes | Yes | No |
1.2 Репозитории сообщества
- Дополнительные пакеты для Enterprise Linux (EPEL):
- документация: http://fedoraproject.org/wiki/EPEL;
- наиболее часто используемй репозиторий;
- сборки пакетов Fedora для каждого поддерживаемого корпоративного Linux;
- пакеты не заменяют базовые;
- установка:
dnf config-manager --set-enabled crb dnf install epel-release
- Репозиторий Community Enterprise Linux (ELRepo):
- фокусируется на более новых ядрах и пакетах драйверов kmod для улучшения поддержки оборудования;
- репозитории ядра должны быть включены для его использования;
- установка:
dnf install elrepo-release
- RPM Fusion:
- программное обеспечение, которое Fedora Project или Red Hat не хотят поставлять в Enterprise Linux и Fedora;
- базовые пакеты не заменяются;
- установка:
dnf 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 Обновления
- Обновить все пакеты
dnf -y update
3.2 Установка локализации
- Проверьте текущую локализацию:
localectl status - Посмотрите доступные локализации:
localectl list-locales - Если нет необходимой, установите её:
dnf -y install glibc-langpack-ru - Установите нужную локализацию:
localectl set-locale ru_RU.UTF-8 - Проверьте текущую локализацию:
localectl status
3.3 Дополнительные репозитории
- Установим EPEL:
dnf config-manager --set-enabled crb dnf -y install epel-release
3.4 Установка часового пояса
- Просмотрите список всех часовых поясов:
timedatectl list-timezones - Установите часовой пояс (например, UTC):
timedatectl set-timezone Etc/UTC
3.5 Синхронизация времени
- Запустите демон:
systemctl enable --now chronyd - Проверьте работу демона
chronyd:chronyc -a tracking - Включите сетевую синхронизацию времени:
timedatectl set-ntp true - Проверьте, работает ли он:
timedatectl status
3.6 Разрешение имён
3.6.1 systemd-resolved
- Можно установить кеширующий локальный name-server
systemd-resolved:dnf -y install systemd-resolved - Файл настройки:
/etc/systemd/resolved.conf. - Можно в нём ничего не менять.
- Запустим службу:
systemctl enable --now systemd-resolved.service - Установите резольвер:
ln -snf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf - Проверить работу можно командой:
resolvectl
3.7 Повышение комфорта работы
- Программы для удобства работы в консоли:
dnf -y install tmux perl-DateTime-HiRes mc kitty-terminfo - Программы мониторинга:
dnf -y install htop lsof - Утилита для ssh:
dnf -y install mosh - Удобство работы с bash:
dnf -y install bash-completion bash-color-prompt - Разные утилиты:
dnf -y install wget git tar zstd p7zip
3.8 Отключение графического интерфейса
- Посмотрите, в каком режиме загружается сервер:
systemctl get-default - Если результатом является
graphical.target, то отключите загрузку графического интерфейса. - Переключите на загрузку в терминальном многопользовательском режиме:
systemctl set-default multi-user.target
3.9 Безопасность
3.9.1 Fail2ban
Защита от атак:
dnf -y install fail2banСледует сконфигурировать (см. fail2ban. Основные настройки) и запустить:
systemctl enable --now fail2ban.serviceПроверьте работу:
tail -f /var/log/fail2ban.log
3.10 Администрирование
3.10.1 Автоматическое обновление
- При необходимости можно использовать автоматическое обновление (см. Автообновление систем на базе деривативов RedHat).
- Установка программного обеспечения:
dnf -y install dnf-automatic - Задаёте необходимую конфигурацию в файле
/etc/dnf/automatic.conf. - Запустите таймер:
systemctl enable --now dnf-automatic.timer
4 Установка дополнительного программного обеспечения
- Описываются дополнительные пакеты для специализированных серверов.
4.1 Утилиты
4.1.1 rsync
- Установим rsync:
dnf install rsync
4.2 Безопасность
4.2.1 Работа с Let’s Encrypt
- Установим certbot:
dnf install certbot - Установим модуль под Apache:
dnf install python3-certbot-apache - Если используется Nginx, установим модуль под Nginx:
install certbot python3-certbot-nginx
4.3 Синхронизация времени
4.3.1 systemd-timesyncd
- Можно использовать альтернативный метод синхронизации времени из пакета systemd.
- Установите демон синхронизации:
dnf install systemd-timesyncd - Запустите демон:
systemctl enable --now systemd-timesyncd - Включите сетевую синхронизацию времени:
timedatectl set-ntp true - Проверьте, работает ли он:
timedatectl status - Подробная информация:
timedatectl timesync-status
4.3.2 Сервер сетевого времени
В файле
/etc/chrony.confРазрешите подключение клиентов из локальной сети:allow 192.168.0.0/16Запустите сервер сетевого времени:
systemctl enable --now chronydПроверьте пулы NTP:
chronyc sourcesПроверьте состояние синхронизации NTP:
chronyc trackingЧтобы принимать входящие запросы клиентов, разрешите службу NTP через брандмауэр:
firewall-cmd --permanent --add-service=ntpПерезапустите брандмауэр:
firewall-cmd --reload
4.4 Вариации на тему стека LAMP (Linux, Apache, MySQL, PHP)
- Устанавливается, если необходимо поддерживать приложение на PHP.
- Обычно используются базы данных Mysql или Postgresql.
4.4.1 Apache
- Установка Apache:
dnf install httpd - Установка поддержки HTTPS:
dnf install mod_ssl
4.4.2 PHP
- Определим, какие версии php возможно установить:
sudo dnf module list php - Установим php-8.2:
sudo dnf module reset php sudo dnf module enable php:8.2 dnf install php sudo dnf -y update
4.4.3 Mysql
- Установим mariadb:
dnf install mariadb dnf install mariadb-server - Установим модуль для php:
dnf install php-mysqlnd
4.5 Администрирование
4.5.1 Резервное копирование
- Для резервного копирования используется restic:
dnf install restic
4.6 Файловые системы
4.6.1 GlusterFS
- Установите пакет для последнего релиза GlusterFS (см. https://wiki.centos.org/SpecialInterestGroup/Storage):
dnf install centos-release-gluster - Установка клиента GlusterFS:
dnf install glusterfs dnf install glusterfs-fuse
4.7 DNS сервера
4.8 Контроль версий
4.8.1 git
- Установите
git:dnf -y install git
4.8.2 cvs
- Установите
cvs:dnf -y install cvs
4.9 Средства разработки
- Установим группу средств разработки:
dnf -y group install "Development Tools"