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"