-
- 3.1 Файловые системы в НАЙС ОС
- 3.2 Монтирование устройств в НАЙС ОС
- 3.3 Каталоги файловой системы НАЙС ОС
- 3.4 Основные команды для работы с файлами и файловой системой НАЙС ОС
- 3.5 Мягкие и жесткие ссылки в НАЙС ОС
- 3.6 Конфигурационный файл limits.conf в НАЙС ОС
- 3.7 Перенаправление стандартного вывода и вывода ошибок в НАЙС ОС
- 3.8 Управление задачами в командной строке в НАЙС ОС
- 3.9 Знакомство с командной строкой в НАЙС ОС
- 3.10 Работа с текстовыми редакторами (nano, vim) в НАЙС ОС
- 3.11 Использование оболочки (bash, zsh) в НАЙС ОС
- 3.12 Основы скриптования в НАЙС ОС
- 3.13 Использование man и info страниц
- 3.14 Введение в Markdown и текстовые форматы документации
- 3.15 Работа с архивами
- 3.16 Управление и настройка swap
-
- 4.1 Система управления пакетами TDNF и DNF в НАЙС ОС
- 4.2 Основные команды DNF в НАЙС ОС
- 4.3 Основные команды TDNF в НАЙС ОС
- 4.4 Работа с историей DNF в НАЙС ОС
- 4.5 Создание и управление локальными репозиториями в НАЙС ОС
- 4.6 Решение проблем с зависимостями в НАЙС ОС
- 4.7 Управление пакетами из исходных кодов в НАЙС ОС
-
- 5.1 Пользователи и привилегии, команды su и sudo в НАЙС ОС
- 5.2 Добавление нового пользователя в НАЙС ОС
- 5.3 Модификация пользовательских записей в НАЙС ОС
- 5.4 Удаление пользователей в НАЙС ОС
- 5.5 Группы пользователей в НАЙС ОС
- 5.6 Создание и настройка собственного default-профиля пользователя при помощи SKEL в НАЙС ОС
- 5.7 Управление сеансами пользователей с помощью systemd-logind в НАЙС ОС
-
- 8.1 Управление правами доступа
- 8.2 Настройка файервола (firewalld, iptables)
- 8.3 Конфигурация SELinux
- 8.4 Настройка SSH
- 8.5 Обнаружение и предотвращение вторжений (IDS/IPS)
- 8.6 Шифрование данных
- 8.7 Управление политиками безопасности
- 8.8 Настройка двухфакторной аутентификации
- 8.9 Настройка и использование AppArmor
- 8.10 Управление сертификатами и криптографией: OpenSSL и Let's Encrypt
- 8.11 Введение в SIEM (Security Information and Event Management)
-
- 9.1 Управление процессами и службами
- 9.2 Настройка системных журналов (journald, rsyslog)
- 9.3 Мониторинг системы (top, htop, iostat)
- 9.4 Настройка cron и systemd timers
- 9.5 Автоматизация задач с помощью скриптов
- 9.6 Управление и анализ производительности системы (sysstat, sar)
- 9.7 Настройка и управление системными уведомлениями
- 9.8 Использование средств диагностики (strace, lsof)
- 9.9 Резервное копирование и восстановление
- 9.10 Настройка ротации логов
- 9.11 Использование cron
-
- 10.1 Использование системных журналов для диагностики
- 10.2 Поиск и исправление ошибок загрузки
- 10.3 Диагностика сетевых проблем
- 10.4 Решение проблем с производительностью
- 10.5 Восстановление поврежденных файловых систем
- 10.6 Работа с ядром и модульной системой
- 10.7 Управление и диагностика проблем с драйверами
-
- 11.1 Настройка ядра и модулей
- 11.2 Настройка кэширования
- 11.3 Анализ и устранение узких мест
- 11.4 Управление потреблением ресурсов
- 11.5 Использование профилировщиков производительности (perf, eBPF)
- 11.6 Оптимизация сетевой производительности
- 11.7 Оптимизация и настройка MySQL/PostgreSQL
- 11.8 Оптимизация работы с большими данными и высоконагруженными системами
-
- 12.1 Основные сетевые команды
- 12.2 Настройка сети
- 12.3 Устранение неполадок сети
- 12.4 Использование и настройка Netplan
- 12.5 Настройка и управление сетевыми интерфейсами
- 12.6 Настройка и управление сетевыми интерфейсами с помощью systemd-networkd
- 12.7 Настройка и управление сетевыми мостами и агрегированием интерфейсов (bonding)
-
- 13.1 Установка и настройка веб-сервера (Apache, Nginx)
- 13.2 Установка и настройка базы данных (MySQL, PostgreSQL)
- 13.3 Установка и настройка почтового сервера (Postfix, Dovecot)
- 13.4 Установка и Настройка vsftp сервера
- 13.5 Установка и настройка OpenVpn
- 13.6 Установка и настройка StrongSwan
- 13.7 Установка и настройка WireGuard VPN
- 13.8 Установка и настройка LDAP
- 13.9 Настройка и управление Redis
- 13.10 Настройка и управление RabbitMQ
- 13.11 Установка и настройка Docker
- 13.12 Установка и настройка Kubernetes
- 13.13 Установка и настройка GitLab
- 13.14 Установка и настройка Jenkins
- 13.15 Установка и настройка Prometheus
- 13.16 Установка и настройка Grafana
- 13.17 Установка и настройка Zabbix
- 13.18 Установка и настройка Ansible
- 13.19 Установка и настройка Terraform
- 13.20 Установка и настройка HAProxy
- 13.21 Установка и настройка Apache Kafka
- 13.22 Установка и настройка MongoDB
- 13.23 Установка и настройка Cassandra
- 13.24 Установка и настройка Memcached
- 13.25 Установка и настройка OpenStack
- 13.26 Установка и настройка Ceph
- 13.27 Установка и настройка GlusterFS
- 13.28 Установка и настройка Nextcloud
- 13.29 Установка и настройка Mattermost
- 13.30 Установка и настройка Elasticsearch Stack (ELK Stack)
- 13.31 Установка и настройка Graylog
- 13.32 Установка и настройка Fluentd
- 13.33 Установка и настройка TimescaleDB
- 13.34 Установка и настройка InfluxDB
- 13.35 Установка и настройка Keycloak
- 13.36 Установка и настройка SonarQube
- 13.37 Установка и настройка Nexus Repository
- 13.38 Установка и настройка Rundeck
- 13.39 Установка и настройка AWX/Ansible Tower
- 13.40 Установка и настройка Syncthing
- 13.41 Установка и настройка Bacula
- 13.42 Установка и настройка Netdata
- 13.43 Установка и настройка OpenNMS
- 13.44 Установка и настройка Cacti
- 13.45 Установка и настройка Observium
- 13.46 Настройка SQUID для обхода ограничений для западных репозиториев
-
- 14.1 Утилита passwd в НАЙС ОС
- 14.2 Источники программ (репозитории) НАЙС ОС
- 14.3 Назначение RPM в НАЙС ОС
- 14.4 Модули ядра в НАЙС ОС
- 14.5 zswap в НАЙС ОС
- 14.6 Dracut - ПО для создания загрузочного образа (initramfs) в НАЙС ОС
- 14.7 Общие рекомендации соблюдения безопасности в НАЙС ОС
- 14.8 Протокол Secure Shell в рамках безопасности в НАЙС ОС
- 14.9 Аудит в НАЙС ОС
- 14.10 Права доступа к файлам и каталогам в контексте безопасности в НАЙС ОС
- 14.11 Использование ClamAV для обеспечения безопасности в НАЙС ОС
- 14.12 Использование ClamAV для обеспечения безопасности в НАЙС ОС
- 14.13 Использование списков контроля доступа (ACL) для обеспечения безопасности в НАЙС ОС
- 14.14 Использование SELinux для обеспечения безопасности в НАЙС ОС
- 14.15 Использование Pluggable Authentication Modules (PAM) для обеспечения безопасности в НАЙС ОС
- 14.16 Использование Rsyslog для обеспечения безопасности в НАЙС ОС
- 14.17 Использование Afick для обеспечения безопасности в НАЙС ОС
- 14.18 Использование AMTU для обеспечения безопасности в НАЙС ОС
- 14.19 Использование ntpdate для обеспечения безопасности в НАЙС ОС
- 14.20 Настройка отказоустойчивого кластера в контексте безопасности в НАЙС ОС
- 14.21 Изменение приоритета процесса в контексте безопасности в НАЙС ОС
- 14.22 Управление дисковыми квотами в контексте безопасности в НАЙС ОС
- 14.23 Ограничение ресурсов пользователя в контексте безопасности в НАЙС ОС
- 14.24 Шифрование дисков и отдельных файлов в контексте безопасности в НАЙС ОС
- 14.25 Использование Polkit в контексте безопасности в НАЙС ОС
- 14.26 Модуль PAM_USB - двухфакторная аутентификация в контексте безопасности в НАЙС ОС
- 14.27 Использование ГОСТ в OpenSSL в контексте безопасности в НАЙС ОС
- 14.28 Расчет контрольных сумм файлов в контексте безопасности в НАЙС ОС
- 14.29 Защитное преобразование файлов и каталогов по ГОСТ Р 34.12–2015
- 14.30 Задание хешей паролей в соответствии с ГОСТ Р 34.11-2012
- 14.31 Использование OpenSCAP в контексте безопасности в НАЙС ОС
- 14.32 Локальная аутентификация с использованием Рутокен MFA
- 14.33 Проверка файловой системы на наличие ошибок в НАЙС ОС
- 14.34 Восстановление загрузчика GRUB2 в НАЙС ОС
- 14.35 Тестирование оперативной памяти в НАЙС ОС
- 14.36 Рекомендации по анализу журналов и дампов в НАЙС ОС
- 14.37 Модули ядра в НАЙС ОС
-
- 15.1 Введение в виртуализацию и контейнеризацию
- 15.2 Установка и настройка KVM
- 15.3 Управление виртуальными машинами с помощью libvirt
- 15.4 Введение в Docker
- 15.5 Использование Kubernetes для оркестрации
- 15.6 Настройка и управление LXC/LXD
- 15.7 Виртуализация с использованием OpenVZ
- 15.8 Настройка и управление Vagrant
- 15.9 Виртуализация с использованием Xen
- 15.10 Продвинутые возможности Docker
- 15.11 Инструменты мониторинга и управления виртуализацией
- 15.12 Сравнение различных технологий виртуализации и контейнеризации
- 15.13 Лучшие практики и сценарии использования виртуализации и контейнеризации
Установка и настройка веб-сервера (Apache, Nginx)
Добро пожаловать в подробное руководство по установке и настройке веб-сервера в НАЙС ОС. В этом документе мы рассмотрим установку и базовую настройку двух популярных веб-серверов: Apache и Nginx. Эти веб-серверы широко используются для обслуживания веб-сайтов и приложений, и понимание их настройки является важным навыком для системных администраторов и разработчиков.
Установка и настройка Apache
Apache HTTP Server, или просто Apache, является одним из самых популярных и широко используемых веб-серверов в мире. Он обеспечивает мощные и гибкие возможности для обслуживания веб-сайтов и приложений.
Установка Apache
Для установки Apache в НАЙС ОС используйте пакетный менеджер tdnf. Выполните следующую команду:
tdnf install httpd
Запуск и остановка Apache
После установки вы можете запустить Apache с помощью systemd:
systemctl start httpd
Для автоматического запуска Apache при загрузке системы выполните команду:
systemctl enable httpd
Для остановки Apache используйте команду:
systemctl stop httpd
Проверка состояния Apache
Чтобы проверить состояние Apache, выполните команду:
systemctl status httpd
Эта команда выведет информацию о состоянии службы Apache, включая её текущее состояние и последние журналы.
Настройка Apache
Файл конфигурации Apache по умолчанию находится в /etc/httpd/conf/httpd.conf
. Рассмотрим основные параметры конфигурации.
Основные параметры конфигурации
Listen
: Указывает, на каких IP-адресах и портах Apache будет принимать запросы. По умолчанию установленоListen 80
для HTTP.ServerName
: Указывает имя сервера. Например,ServerName www.example.com
.DocumentRoot
: Указывает каталог, из которого будут обслуживаться файлы. По умолчанию это/var/www/html
.Directory
: Указывает настройки для конкретного каталога. Например:
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
Создание виртуальных хостов
Виртуальные хосты позволяют обслуживать несколько сайтов на одном сервере. Рассмотрим пример настройки виртуального хоста.
Создайте новый файл конфигурации для виртуального хоста в /etc/httpd/conf.d/
:
nano /etc/httpd/conf.d/example.com.conf
Добавьте следующую конфигурацию:
ServerAdmin webmaster@example.com
ServerName www.example.com
DocumentRoot /var/www/example.com
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
Создайте каталог для сайта и добавьте тестовый файл:
mkdir -p /var/www/example.com
echo "Hello, World!" > /var/www/example.com/index.html
Перезапустите Apache, чтобы применить изменения:
systemctl restart httpd
Управление модулями Apache
Apache поддерживает различные модули для расширения функциональности. Модули можно загружать и отключать с помощью директивы LoadModule
в конфигурационном файле. Например, для загрузки модуля rewrite
добавьте строку:
LoadModule rewrite_module modules/mod_rewrite.so
После изменения конфигурации перезапустите Apache:
systemctl restart httpd
Обеспечение безопасности Apache
Безопасность веб-сервера является критически важной задачей. Рассмотрим несколько основных настроек для обеспечения безопасности Apache.
Ограничение доступа к каталогам
Для ограничения доступа к определенным каталогам используйте директиву Directory
с параметром Require
. Например, для ограничения доступа к административному разделу:
Require ip 192.168.1.0/24
Настройка HTTPS
Для настройки HTTPS используйте модуль mod_ssl
. Установите его с помощью команды:
tdnf install mod_ssl
Добавьте следующий блок в конфигурацию виртуального хоста:
ServerAdmin webmaster@example.com
ServerName www.example.com
DocumentRoot /var/www/example.com
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/example.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/example.com.key
Перезапустите Apache для применения изменений:
systemctl restart httpd
Установка и настройка Nginx
Nginx — это легкий и высокопроизводительный веб-сервер, который часто используется для обслуживания статических файлов и в качестве обратного прокси-сервера. Он также предоставляет множество возможностей для масштабирования и балансировки нагрузки.
Установка Nginx
Для установки Nginx в НАЙС ОС используйте пакетный менеджер tdnf. Выполните следующую команду:
tdnf install nginx
Запуск и остановка Nginx
После установки вы можете запустить Nginx с помощью systemd:
systemctl start nginx
Для автоматического запуска Nginx при загрузке системы выполните команду:
systemctl enable nginx
Для остановки Nginx используйте команду:
systemctl stop nginx
Проверка состояния Nginx
Чтобы проверить состояние Nginx, выполните команду:
systemctl status nginx
Эта команда выведет информацию о состоянии службы Nginx, включая её текущее состояние и последние журналы.
Настройка Nginx
Основной файл конфигурации Nginx находится в /etc/nginx/nginx.conf
. Рассмотрим основные параметры конфигурации.
Основные параметры конфигурации
worker_processes
: Указывает количество рабочих процессов. Рекомендуется установить значение равным числу ядер процессора.events
: Блок конфигурации событий, в котором можно задать количество соединений, обрабатываемых каждым рабочим процессом.http
: Основной блок конфигурации HTTP, содержащий настройки серверов и местоположений.
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
include /etc/nginx/conf.d/*.conf;
}
Создание виртуальных хостов
Виртуальные хосты в Nginx настраиваются с помощью блоков server
внутри блока http
. Рассмотрим пример настройки виртуального хоста.
Создайте новый файл конфигурации для виртуального хоста в /etc/nginx/conf.d/
:
nano /etc/nginx/conf.d/example.com.conf
Добавьте следующую конфигурацию:
server {
listen 80;
server_name www.example.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
Создайте каталог для сайта и добавьте тестовый файл:
mkdir -p /usr/share/nginx/html/example.com
echo "Hello, World!" > /usr/share/nginx/html/example.com/index.html
Перезапустите Nginx, чтобы применить изменения:
systemctl restart nginx
Управление модулями Nginx
В отличие от Apache, Nginx компилирует модули статически, поэтому для добавления или удаления модуля требуется перекомпиляция сервера. Однако, большинство необходимых модулей уже включены в стандартную сборку Nginx.
Обеспечение безопасности Nginx
Безопасность веб-сервера является критически важной задачей. Рассмотрим несколько основных настроек для обеспечения безопасности Nginx.
Ограничение доступа к каталогам
Для ограничения доступа к определенным каталогам используйте директиву location
с параметрами allow
и deny
. Например, для ограничения доступа к административному разделу:
server {
...
location /admin {
allow 192.168.1.0/24;
deny all;
}
...
}
Настройка HTTPS
Для настройки HTTPS используйте модуль ngx_http_ssl_module
. Убедитесь, что он включен в вашей сборке Nginx. Добавьте следующий блок в конфигурацию виртуального хоста:
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/pki/tls/certs/example.com.crt;
ssl_certificate_key /etc/pki/tls/private/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
Перезапустите Nginx для применения изменений:
systemctl restart nginx
Мониторинг и журналирование
Оба веб-сервера поддерживают журналирование доступа и ошибок, что является важным для мониторинга и отладки.
Настройка журналов в Apache
В Apache журналирование настраивается с помощью директив ErrorLog
и CustomLog
. Пример настройки:
...
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
...
Настройка журналов в Nginx
В Nginx журналирование настраивается с помощью директив error_log
и access_log
. Пример настройки:
server {
...
error_log /var/log/nginx/example.com-error.log;
access_log /var/log/nginx/example.com-access.log;
...
}
Анализ журналов
Для анализа журналов можно использовать различные инструменты, такие как goaccess
, logrotate
и другие.
Оптимизация производительности
Оптимизация производительности веб-сервера является важной задачей для обеспечения быстрого отклика и стабильной работы сайтов.
Оптимизация Apache
- Модули: Отключите ненужные модули для уменьшения потребления ресурсов.
- KeepAlive: Установите
KeepAlive On
для уменьшения нагрузки на сервер за счет повторного использования существующих соединений. - MaxClients: Установите
MaxClients
в зависимости от доступных ресурсов для предотвращения перегрузки сервера.
Оптимизация Nginx
- Worker Processes: Установите
worker_processes
в значение, равное количеству ядер процессора. - Worker Connections: Установите
worker_connections
в значение, достаточное для обработки большого количества соединений. - Cache: Включите кэширование для статических файлов для уменьшения нагрузки на сервер.
Заключение
Мы рассмотрели основные аспекты установки и настройки веб-серверов Apache и Nginx в НАЙС ОС. Эти веб-серверы предоставляют мощные возможности для обслуживания веб-сайтов и приложений, и понимание их настройки является важным навыком для системных администраторов. Продолжайте изучать и применять эти знания на практике для создания стабильных и производительных веб-серверов.