From ac803e221ccf237b22a41146d1589ab4f209a249 Mon Sep 17 00:00:00 2001
From: Rocky Linux Automation
<75949597+rockylinux-auto@users.noreply.github.com>
Date: Thu, 14 Mar 2024 10:24:21 -0700
Subject: [PATCH 01/13] New translations basic_network_configuration.md
(Ukrainian)
---
docs/guides/network/basic_network_configuration.uk.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/guides/network/basic_network_configuration.uk.md b/docs/guides/network/basic_network_configuration.uk.md
index bc0ff25137..0447e6cd4e 100644
--- a/docs/guides/network/basic_network_configuration.uk.md
+++ b/docs/guides/network/basic_network_configuration.uk.md
@@ -529,7 +529,7 @@ tags:
[user@server ~]$ sudo nmcli connection modify enp1s0 ipv4.method manual
```
- !!!tip "Коли з’єднання оновлюється?"
+ !!! tip "Коли з’єднання оновлюється?"
`nmcli connection modify` не змінюватиме конфігурацію *runtime*, але оновлюватиме конфігурацію `/etc/sysconfig/network-scripts` файли з відповідними значеннями на основі того, що ви сказали `nmcli` налаштувати.
From 2ef7ea7fb391987a3db6f0b5fa9c9cee4142d33f Mon Sep 17 00:00:00 2001
From: Rocky Linux Automation
<75949597+rockylinux-auto@users.noreply.github.com>
Date: Thu, 14 Mar 2024 10:24:30 -0700
Subject: [PATCH 02/13] New translations learning_selinux.md (Ukrainian)
---
docs/guides/security/learning_selinux.uk.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/guides/security/learning_selinux.uk.md b/docs/guides/security/learning_selinux.uk.md
index 6833d3e3f7..5ffdd110b1 100644
--- a/docs/guides/security/learning_selinux.uk.md
+++ b/docs/guides/security/learning_selinux.uk.md
@@ -263,7 +263,7 @@ sudo reboot
Остерігайтеся зміни режиму SELinux!
-У дозволеному або вимкненому режимі новостворені файли не матимуть міток.
+У вимкненому режимі новостворені файли не матимуть міток.
Щоб повторно активувати SELinux, вам доведеться змінити розташування міток у всій системі.
From a89028383ae12d691a86c340b1b4b1fd37fb00c8 Mon Sep 17 00:00:00 2001
From: Rocky Linux Automation
<75949597+rockylinux-auto@users.noreply.github.com>
Date: Thu, 14 Mar 2024 10:24:35 -0700
Subject: [PATCH 03/13] New translations apache-sites-enabled.md (Ukrainian)
---
docs/guides/web/apache-sites-enabled.uk.md | 31 +++++++++++-----------
1 file changed, 15 insertions(+), 16 deletions(-)
diff --git a/docs/guides/web/apache-sites-enabled.uk.md b/docs/guides/web/apache-sites-enabled.uk.md
index ea55064a7b..4dc4621daa 100644
--- a/docs/guides/web/apache-sites-enabled.uk.md
+++ b/docs/guides/web/apache-sites-enabled.uk.md
@@ -31,13 +31,14 @@ tags:
Для тих, хто шукає подібне налаштування для Nginx, [перегляньте цей посібник](nginx-multisite.md).
## Встановіть Apache
+
Ймовірно, вам знадобляться інші пакети для вашого веб-сайту, такі як PHP, бази даних або інші пакети. Встановивши PHP разом із `http`, ви отримаєте останню версію зі сховищ Rocky Linux.
Просто пам’ятайте, що вам можуть знадобитися такі модулі, як `php-bcmath` або `php-mysqlind`. Специфікації вашої веб-програми визначатимуть, що вам потрібно. Ви можете встановити їх за потреби. Наразі ви встановите `http` і PHP, оскільки вони майже вирішені:
З командного рядка запустіть:
-```
+```bash
dnf install httpd php
```
@@ -47,7 +48,7 @@ dnf install httpd php
З командного рядка введіть:
-```
+```bash
mkdir -p /etc/httpd/sites-available /etc/httpd/sites-enabled
```
@@ -59,13 +60,13 @@ mkdir -p /etc/httpd/sites-available /etc/httpd/sites-enabled
Вам також потрібно додати рядок у нижню частину файлу `httpd.conf`. Для цього введіть:
-```
+```bash
vi /etc/httpd/conf/httpd.conf
```
і перейдіть у нижню частину файлу та додайте:
-```
+```bash
Include /etc/httpd/sites-enabled
```
@@ -89,7 +90,7 @@ Include /etc/httpd/sites-enabled
Спочатку вам потрібно створити цей файл конфігурації в *sites-available*:
-```
+```bash
vi /etc/httpd/sites-available/com.wiki.www
```
@@ -124,7 +125,7 @@ vi /etc/httpd/sites-available/com.wiki.www
У цьому прикладі завантаження вікі-сайту відбувається з підкаталогу «html» _назви хосту-вашого-сервера_, що означає, що шлях, який ви створили в _/var/www_ (вище) потребує додаткових каталогів, щоб задовольнити це:
-```
+```bash
mkdir -p /var/www/sub-domains/your-server-hostname/html
```
@@ -132,13 +133,13 @@ mkdir -p /var/www/sub-domains/your-server-hostname/html
Скопіюйте ваші файли на створений шлях:
-```
+```bash
cp -Rf wiki_source/* /var/www/sub-domains/your-server-hostname/html/
```
## Конфігурація `https` за допомогою сертифіката SSL/TLS
-Як зазначалося раніше, кожен створений сьогодні веб-сервер _має_ працювати з SSL/TLS (рівень захищених сокетів).
+Як зазначалося раніше, кожен створений сьогодні веб-сервер *має* працювати з SSL/TLS (рівень захищених сокетів).
Цей процес починається зі створення закритого ключа та CSR (запиту на підписання сертифіката) і надсилання CSR до центру сертифікації для придбання сертифіката SSL/TLS. Процес генерації цих ключів є дещо розширеним.
@@ -148,15 +149,15 @@ cp -Rf wiki_source/* /var/www/sub-domains/your-server-hostname/html/
### Розміщення ключів і сертифікатів SSL/TLS
-Оскільки у вас є ваші ключі та файли сертифікатів, ви повинні розмістити їх логічно у своїй файловій системі на веб-сервері. Як ви бачили у прикладі файлу конфігурації, ви розміщуєте свої веб-файли в _/var/www/sub-domains/your-server-hostname/html_.
+Оскільки у вас є ваші ключі та файли сертифікатів, ви повинні розмістити їх логічно у своїй файловій системі на веб-сервері. Як видно з прикладу файлу конфігурації, ви розміщуєте свої веб-файли в `/var/www/sub-domains/your-server-hostname/html`.
-Ви хочете розмістити свій сертифікат і ключові файли в домені, але за межами кореня документа, яким у даному випадку є папка _html_.
+Ви бажаєте розмістити свій сертифікат і ключові файли в домені, але за межами кореня документа, яким у даному випадку є папка *html*.
Ви ніколи не захочете розкрити свої сертифікати та ключі в Інтернеті. Це було б погано!
Натомість ви створите структуру каталогів для наших файлів SSL/TLS поза коренем документа:
-```
+```bash
mkdir -p /var/www/sub-domains/your-server-hostname/ssl/{ssl.key,ssl.crt,ssl.csr}`
```
@@ -166,9 +167,9 @@ mkdir -p /var/www/sub-domains/your-server-hostname/ssl/{ssl.key,ssl.crt,ssl.csr}
Попереднє зауваження: зберігати файл із запитом на підписання сертифіката (CSR) у дереві непотрібно, але це спрощує деякі речі. Якщо вам колись знадобиться повторно видати сертифікат від іншого постачальника, гарною ідеєю буде мати збережену копію файлу CSR. Виникає питання, де ви можете зберегти це, щоб запам’ятати, і логічно зберігати його в дереві вашого веб-сайту.
-Якщо припустити, що ви назвали файли ключа, csr і crt (сертифікат) іменем свого сайту та зберегли їх у _/root_, ви скопіюєте їх до місця розташування:
+Якщо припустити, що ви назвали файли ключа, csr і crt (сертифікат) іменем свого сайту та зберегли їх у */root*, ви скопіюєте їх до місця розташування:
-```
+```bash
cp /root/com.wiki.www.key /var/www/sub-domains/your-server-hostname/ssl/ssl.key/
cp /root/com.wiki.www.csr /var/www/sub-domains/your-server-hostname/ssl/ssl.csr/
cp /root/com.wiki.www.crt /var/www/sub-domains/your-server-hostname/ssl/ssl.crt/
@@ -182,7 +183,6 @@ cp /root/com.wiki.www.crt /var/www/sub-domains/your-server-hostname/ssl/ssl.crt/
Ви хочете, щоб вони переходили на порт 443 (або «захищений `http`», більш відомий як SSL/TLS або `https`). Наш розділ конфігурації порту 80 буде мінімальним:
-
```apache
ServerName your-server-hostname
@@ -254,11 +254,10 @@ cp /root/com.wiki.www.crt /var/www/sub-domains/your-server-hostname/ssl/ssl.crt/
Це передбачено задумом, тож ви можете видалити речі, коли `httpd` не вдається перезапустити. Щоб увімкнути наш файл конфігурації, вам потрібно створити символічне посилання на цей файл у *sites-enabled* і запустити або перезапустити веб-службу. Для цього ви використовуєте цю команду:
-```
+```bash
ln -s /etc/httpd/sites-available/your-server-hostname /etc/httpd/sites-enabled/
```
-
Це створить посилання на файл конфігурації в *sites-enabled*, як ми хочемо.
Тепер просто запустіть `httpd` за допомогою `systemctl start httpd`. Або перезапустіть його, якщо він уже запущений: `systemctl restart httpd`, і припустімо, що веб-служба перезапуститься, тепер ви можете піти й провести тестування на своєму сайті.
From 7498b8a6f56f74b92dad13fcf93f7d3e8574a623 Mon Sep 17 00:00:00 2001
From: Rocky Linux Automation
<75949597+rockylinux-auto@users.noreply.github.com>
Date: Thu, 14 Mar 2024 10:26:13 -0700
Subject: [PATCH 04/13] New translations modsecurity.md (Ukrainian)
---
.../modsecurity.uk.md | 32 +++++++++++--------
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/docs/guides/web/apache_hardened_webserver/modsecurity.uk.md b/docs/guides/web/apache_hardened_webserver/modsecurity.uk.md
index 95d28ddc56..e783696892 100644
--- a/docs/guides/web/apache_hardened_webserver/modsecurity.uk.md
+++ b/docs/guides/web/apache_hardened_webserver/modsecurity.uk.md
@@ -36,7 +36,7 @@ tags:
Щоб встановити базовий пакет, використовуйте цю команду. Він встановить усі відсутні залежності. Вам також потрібен `wget`, якщо він не встановлений:
-```
+```bash
dnf install mod_security wget
```
@@ -54,40 +54,42 @@ dnf install mod_security wget
4. На вашому сервері перейдіть до каталогу конфігурації Apache:
- ```
+ ```bash
cd /etc/httpd/conf
```
5. Введіть `wget` і вставте своє посилання. Приклад:
- ```
+ ```bash
wget https://github.com/coreruleset/coreruleset/archive/refs/tags/v3.3.5.tar.gz
```
6. Розпакуйте файл:
- ```
+ ```bash
tar xzvf v3.3.5.tar.gz
```
+
Це створює каталог із інформацією про випуск у назві. Приклад: "coreruleset-3.3.5"
7. Створіть символічне посилання «crs» на каталог випуску. Приклад:
- ```
+ ```bash
ln -s coreruleset-3.3.5/ /etc/httpd/conf/crs
```
8. Видаліть файл `tar.gz`. Приклад:
- ```
+ ```bash
rm -f v3.3.5.tar.gz
```
9. Скопіюйте тимчасову конфігурацію, щоб вона завантажувалася під час запуску:
- ```
+ ```bash
cp crs/crs-setup.conf.example crs/crs-setup.conf
```
+
Цей файл можна редагувати, але вам, імовірно, не потрібно буде вносити жодних змін.
Тепер діють правила `mod_security`.
@@ -98,12 +100,13 @@ dnf install mod_security wget
`mod_security` вже має файл конфігурації, розташований у `/etc/httpd/conf.d/mod_security.conf`. Вам потрібно буде змінити цей файл, щоб включити правила OWASP. Для цього відредагуйте файл конфігурації:
-```
+```bash
vi /etc/httpd/conf.d/mod_security.conf
```
+
Додайте наступний вміст безпосередньо перед кінцевим тегом (`
Date: Thu, 14 Mar 2024 10:26:14 -0700
Subject: [PATCH 05/13] New translations ossec-hids.md (Ukrainian)
---
.../ossec-hids.uk.md | 24 +++++++++----------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/docs/guides/web/apache_hardened_webserver/ossec-hids.uk.md b/docs/guides/web/apache_hardened_webserver/ossec-hids.uk.md
index d2461f2447..ce23b58d74 100644
--- a/docs/guides/web/apache_hardened_webserver/ossec-hids.uk.md
+++ b/docs/guides/web/apache_hardened_webserver/ossec-hids.uk.md
@@ -33,13 +33,13 @@ tags:
Для завантаження репозиторію потрібен `wget`. Спочатку встановіть це, а потім інсталюйте репозиторій EPEL, якщо він у вас ще не встановлений, за допомогою:
-```
+```bash
dnf install wget epel-release
```
Завантажте та ввімкніть безкоштовний репозиторій Atomicorp:
-```
+```bash
wget -q -O - https://www.atomicorp.com/installers/atomic | sh
```
@@ -51,17 +51,17 @@ wget -q -O - https://www.atomicorp.com/installers/atomic | sh
Вам потрібен лише атомарний репозиторій для кількох пакунків. З цієї причини ви збираєтеся змінити репозиторій і вказати лише потрібні пакети:
-```
+```bash
vi /etc/yum.repos.d/atomic.repo
```
Додайте цей рядок під «enabled = 1» у верхній частині:
-```
+```bash
includepkgs = ossec* GeoIP* inotify-tools
```
-Це єдина зміна, яка вам потрібна. Збережіть зміни та вийдіть зі сховища (у `vi` це ++esc++ для входу в командний режим, потім ++shift+:+wq++ для збереження та виходу).
+Це єдина зміна, яка вам потрібна. Збережіть зміни та вийдіть із сховища (у `vi` це ++esc++ для входу в командний режим, потім ++shift+двокрапка+"wq"++ для збереження та виходу).
Це обмежує репозиторій Atomicorp лише для встановлення та оновлення цих пакетів.
@@ -69,7 +69,7 @@ includepkgs = ossec* GeoIP* inotify-tools
З налаштованим репозиторієм вам потрібно встановити пакунки:
-```
+```bash
dnf install ossec-hids-server ossec-hids inotify-tools
```
@@ -81,13 +81,13 @@ dnf install ossec-hids-server ossec-hids inotify-tools
Щоб відредагувати файл конфігурації, введіть:
-```
+```bash
vi /var/ossec/etc/ossec.conf
```
Автор розбере цю конфігурацію, показуючи зміни в рядку та пояснюючи їх:
-```
+```bash
yes
admin1@youremaildomain.com
@@ -108,7 +108,7 @@ vi /var/ossec/etc/ossec.conf
Розділи `` стосуються локальної IP-адреси сервера та «загальнодоступної» IP-адреси (пам’ятайте, що ми замінюємо приватну IP-адресу) брандмауера, з якого відображатимуться всі з’єднання в довіреній мережі. Ви можете додати багато записів ``.
-```
+```bash
86400
@@ -122,7 +122,7 @@ vi /var/ossec/etc/ossec.conf
Змінення `` для виконання `` на один раз кожні 24 години (86400 секунд) замість 22 годин за замовчуванням є необов’язковою зміною.
-```
+```bash
apache
/var/log/httpd/*access_log
@@ -137,7 +137,7 @@ vi /var/ossec/etc/ossec.conf
Вам потрібно додати розташування журналів Apache і додати їх як символи підстановки, оскільки ви можете мати купу журналів для багатьох різних веб-клієнтів.
-```
+```bash
firewalld-drop
firewall-drop.sh
@@ -157,7 +157,7 @@ vi /var/ossec/etc/ossec.conf
Увімкніть і запустіть службу після завершення всіх змін конфігурації. Якщо все розпочато правильно, ви готові рухатися далі:
-```
+```bash
systemctl enable ossec-hids
systemctl start ossec-hids
```
From 084f76f338069274863bb3fa1826da8f0319c37a Mon Sep 17 00:00:00 2001
From: Rocky Linux Automation
<75949597+rockylinux-auto@users.noreply.github.com>
Date: Thu, 14 Mar 2024 10:26:19 -0700
Subject: [PATCH 06/13] New translations rkhunter.md (Ukrainian)
---
.../apache_hardened_webserver/rkhunter.uk.md | 26 +++++++------------
1 file changed, 9 insertions(+), 17 deletions(-)
diff --git a/docs/guides/web/apache_hardened_webserver/rkhunter.uk.md b/docs/guides/web/apache_hardened_webserver/rkhunter.uk.md
index 4d5b784812..3571bae20b 100644
--- a/docs/guides/web/apache_hardened_webserver/rkhunter.uk.md
+++ b/docs/guides/web/apache_hardened_webserver/rkhunter.uk.md
@@ -15,6 +15,8 @@ tags:
Rootkit hunter (`rkhunter`) — добре відомий інструмент для перевірки вразливостей, руткітів, бекдорів і можливих локальних експлойтів на сервері. Його можна використовувати на _будь-якому_ сервері, який використовується з _будь-якою_ метою. Після налаштування та автоматизації він може повідомляти про будь-яку підозрілу активність системному адміністратору. У цій процедурі описано встановлення, налаштування та використання rootkit hunter.
+`rkhunter` — це лише одна з можливих частин надійного налаштування сервера. Використовуйте його окремо або з іншими інструментами для максимального захисту.
+
## Передумови
* Вміння працювати з редактором командного рядка (у цьому прикладі використовується `vi`)
@@ -24,14 +26,6 @@ Rootkit hunter (`rkhunter`) — добре відомий інструмент
Цей документ був спочатку написаний разом із захищеними програмами веб-сервера Apache, але однаково добре працює на сервері, на якому запущено будь-яке програмне забезпечення.
-## Вступ
-
-`rkhunter` (Root Kit Hunter) — це інструмент на базі Unix, який сканує руткіти, бекдори та можливі локальні експлойти. Це гарна частина захищеного сервера та швидко сповістить адміністратора, коли щось підозріле станеться у файловій системі сервера, якщо її правильно налаштовано.
-
-`rkhunter` — це лише одна з можливих частин посиленого налаштування веб-сервера Apache. Використовуйте його окремо або з іншими інструментами для максимального захисту. Якщо ви бажаєте скористатися цим та іншими інструментами захисту, зверніться до [посібника з надійного веб-сервера Apache](index.md).
-
-У цьому документі також використовуються всі припущення та умовності, викладені в цьому оригінальному документі. Перш ніж продовжити, варто переглянути його.
-
## Загальні кроки
1. встановлення `rkhunter`
@@ -44,13 +38,13 @@ Rootkit hunter (`rkhunter`) — добре відомий інструмент
Для `rkhunter` потрібен репозиторій EPEL (Extra Packages for Enterprise Linux). Встановіть цей репозиторій, якщо він у вас ще не встановлений:
-```
+```bash
dnf install epel-release
```
Встановіть `rkhunter`:
-```
+```bash
dnf install rkhunter
```
@@ -62,16 +56,15 @@ dnf install rkhunter
Модифікація _будь-якого_ файлу конфігурації в Linux несе ризик. Перш ніж змінювати **будь-який** файл конфігурації в Linux, рекомендується створити резервну копію _оригінального_ файлу.
-
Щоб змінити файл конфігурації, виконайте:
-```
+```bash
vi /etc/rkhunter.conf
```
Знайдіть:
-```
+```bash
#MAIL-ON-WARNING=me@mydomain root@mydomain
```
@@ -81,8 +74,7 @@ vi /etc/rkhunter.conf
Ймовірно, ви також захочете видалити зауваження (і відредагувати рядок відповідно до ваших потреб) із рядка `MAIL-CMD`:
-
-```
+```bash
MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}"
```
@@ -96,7 +88,7 @@ MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}"
Якщо ви хочете перевірити `rkhunter` перед початком роботи, включаючи всі функції електронної пошти, запустіть `rkhunter --check` з командного рядка. Якщо встановлено та функціонує належним чином, ви маєте отримати подібний до наступного результату:
-```
+```bash
[root@sol admin]# rkhunter --check
[Rootkit Hunter version 1.4.6]
@@ -252,7 +244,7 @@ Performing file properties checks
Відкладіть виконання решти кроків, якщо виникають проблеми з налаштуванням електронної пошти. Коли підтвердження електронної пошти працює, але перед тим, як дозволити `rkhunter` запускатися автоматично, знову запустіть команду вручну з прапорцем «--propupd», щоб створити файл `rkhunter.dat`. Це забезпечує розпізнавання вашого середовища та конфігурації:
-```
+```bash
rkhunter --propupd
```
From d0e50678cb52a9ef44d547d23b3b9bb4e144000b Mon Sep 17 00:00:00 2001
From: Rocky Linux Automation
<75949597+rockylinux-auto@users.noreply.github.com>
Date: Thu, 14 Mar 2024 10:28:20 -0700
Subject: [PATCH 07/13] New translations 02-basic-email-system.md (Ukrainian)
---
docs/guides/email/02-basic-email-system.uk.md | 337 ++++++++++--------
1 file changed, 194 insertions(+), 143 deletions(-)
diff --git a/docs/guides/email/02-basic-email-system.uk.md b/docs/guides/email/02-basic-email-system.uk.md
index a486879eda..2a658e0725 100644
--- a/docs/guides/email/02-basic-email-system.uk.md
+++ b/docs/guides/email/02-basic-email-system.uk.md
@@ -1,12 +1,12 @@
---
title: Базова система електронної пошти
-auther: tianci li
-contributors: Ganna Zhyrnova
+author: tianci li
+contributors: Ganna Zhyrnova, Neel Chauhan
---
# Огляд
-Цей документ має на меті надати читачеві детальне розуміння різних компонентів системи електронної пошти, включаючи встановлення, базову конфігурацію та зв’язок. Рекомендовано використовувати сервер(и) електронної пошти з відкритим кодом у робочому середовищі.
+Цей документ має на меті надати читачеві детальне розуміння різних компонентів системи електронної пошти, включаючи її встановлення та базову конфігурацію.
Усі команди в цьому документі виконуються за допомогою **root(uid=0)**.
@@ -20,17 +20,19 @@ contributors: Ganna Zhyrnova
!!! info "Інформація"
- Без бази даних поєднання postfix+dovecot створить робочу систему електронної пошти.
+ Postfix і Dovecot все ще можуть працювати для невеликої установки без бази даних.
### Встановіть і налаштуйте `bind`
+Спочатку встановіть BIND:
+
```bash
Shell(192.168.100.7) > dnf -y install bind bind-utils
```
+Далі відредагуйте `/etc/named.conf`:
+
```bash
-# Змініть основний файл конфігурації
-Shell(192.168.100.7) > vim /etc/named.conf
options {
listen-on port 53 { 192.168.100.7; };
...
@@ -40,14 +42,17 @@ options {
...
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
+```
+Перевірте, чи правильна конфігурація BIND.
+
+```bash
Shell(192.168.100.7) > named-checkconf /etc/named.conf
```
+Тепер відредагуйте `/etc/named.rfc1912.zones`:
+
```bash
-# Змініть файл зони
-## На практиці ви можете замінити rockylinux.me своїм доменним іменем, наприклад rockylinux.org
-Shell(192.168.100.7) > vim /etc/named.rfc1912.zones
zone "rockylinux.me" IN {
type master;
file "rockylinux.localhost";
@@ -57,10 +62,11 @@ zone "rockylinux.me" IN {
!!! question "Питання"
- **Що таке зона DNS?** Зона DNS — це конкретна частина простору імен DNS, розміщена на сервері DNS. Зона DNS містить записи ресурсів, а сервер DNS відповідає на запити щодо записів у цьому просторі імен. DNS-сервер може мати кілька зон DNS. Простіше кажучи, зона DNS є еквівалентом каталогу книг.
+ **Що таке зона DNS?** Зона DNS — це частина простору імен DNS, розміщена на сервері DNS. Зона DNS містить записи ресурсів, а сервер DNS відповідає на запити щодо записів у цьому просторі імен. DNS-сервер може мати кілька зон DNS. Простіше кажучи, зона DNS аналогічна каталогу книг.
+
+Спочатку ініціалізуйте BIND:
```bash
-# Змінити файл даних
Shell(192.168.100.7) > cp -p /var/named/named.localhost /var/named/rockylinux.localhost
Shell(192.168.100.7) > vim /var/named/rockylinux.localhost
$TTL 1D
@@ -80,9 +86,13 @@ zone rockylinux.me/IN: loaded serial 0
OK
```
-Запустіть службу зв’язування - `systemctl start named.service`
+Тепер запустіть BIND:
-Ми можемо перевірити, чи можуть хости під доменним іменем правильно розпізнавати.
+```bash
+Shell(192.168.100.7) > systemctl start named.service
+```
+
+Ми можемо перевірити, чи працює роздільна здатність DNS нашого сервера:
```bash
Shell(192.168.100.7) > systemctl start named.service
@@ -106,9 +116,11 @@ dns.rockylinux.me. 86400 IN A 192.168.100.7
!!! info "Інформація"
- одне доменне ім’я не може представляти конкретний хост.
+ Наше доменне ім’я не може бути ім’ям хоста нашого сервера.
+
+### Встановлення та налаштування MySQL
-### Встановіть і налаштуйте `Mysql`
+По-перше, давайте тепер встановимо MySQL з джерела:
```bash
Shell(192.168.100.5) > groupadd mysql && useradd -r -g mysql -s /sbin/nologin mysql
@@ -127,9 +139,11 @@ Shell(192.168.100.5) > cd /usr/local/src/mysql-8.0.33 && mkdir build && cd build
-DMYSQL_TCP_PORT=3306 \
-DWITH_BOOST=/usr/local/src/mysql-8.0.33/boost/ \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-&& make && make install
+&& make && make install
```
+Далі ініціалізуємо MySQL:
+
```bash
Shell(192.168.100.5) > chown -R mysql:mysql /usr/local/mysql
Shell(192.168.100.5) > chmod -R 755 /usr/local/mysql
@@ -140,8 +154,9 @@ Shell(192.168.100.5) > /usr/local/mysql/bin/mysqld --initialize --user=mysql
2023-07-14T14:46:51.305307Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: pkqaXRuTn1/N
```
+Потім відредагуйте конфігурацію `/etc/my.cnf` наступним чином:
+
```bash
-Shell(192.168.100.5) > vim /etc/my.cnf
[client]
port=3306
socket=/tmp/mysql.sock
@@ -154,11 +169,17 @@ basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
user=mysql
log-error=/usr/local/mysql/data/mysql_log.error
+```
+Тепер увімкніть і увійдіть у MySQL:
+
+```bash
Shell(192.168.100.5) > /usr/local/mysql/bin/mysqld_safe --user=mysql &
Shell(192.168.100.5) > /usr/local/mysql/bin/mysql -u root --password="pkqaXRuTn1/N"
```
+Тоді давайте додамо ваші доменні записи в MySQL:
+
```sql
Mysql > ALTER USER 'root'@'localhost' IDENTIFIED BY 'rockylinux.me';
@@ -169,10 +190,12 @@ Mysql > grant all privileges on *.* to 'mailrl'@'%' with grant option;
!!! info "Інформація"
- Вам не обов’язково використовувати той самий метод, що й автор. Також можливе встановлення Mysql зі сховища або докера.
+ Ви також можете встановити MySQL зі сховища або контейнера `dnf`.
#### Створіть таблиці та вставте дані
+Давайте тепер створимо таблиці MySQL, необхідні для Dovecot:
+
```sql
Shell(192.168.100.5) > /usr/local/mysql/bin/mysql -u mailrl --password="mail.rockylinux.me"
@@ -200,9 +223,7 @@ Mysql > create table if not exists virtual_aliases (
destination varchar(100) NOT NULL,
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
);
-```
-```sql
Mysql > insert into virtual_domains(id,name) values(1,'mail.rockylinux.me'),(2,'rockylinux.me');
Mysql > insert into virtual_aliases(id,domain_id,source,destination) values(1,1,'all@mail.rockylinux.me','frank@mail.rockylinux.me');
@@ -210,22 +231,20 @@ Mysql > insert into virtual_aliases(id,domain_id,source,destination) values(1,1,
Mysql > insert into virtual_aliases(id,domain_id,source,destination) values(2,1,'all@mail.rockylinux.me','leeo@mail.rockylinux.me');
```
-Тут я не вставив зашифрований пароль для відповідних користувачів електронної пошти, який потребує використання команди `doveadm pw -s SHA512-crypt -p twotestandtwo`. Перегляньте [тут](#ap1)
+Записи паролів для відповідних користувачів електронної пошти тут не показані, оскільки для цього потрібно використовувати команду `doveadm pw -s SHA512-crypt -p twotestandtwo`. Перегляньте [тут](#ap1)
#### Знання SHA512 (SHA-2)
-SHA-2 (Secure Hash Algorithm 2): стандарт алгоритму криптографічної хеш-функції. Він є наступником SHA-1.
-
-Основні стандарти:
+Основні алгоритми хешування паролів:
* SHA-0
* SHA-1
-* SHA-2: містить -- SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256
+* SHA-2: включає SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, та SHA-512/256
* SHA-3
-У стандарті шифрування SHA-2 число в алгоритмі означає довжину дайджесту в бітах.
+У стандарті хешування SHA-2 число в алгоритмі відноситься до довжини дайджесту в бітах.
-Добре відомо, що в RockyLinux 8 та інших варіантах RHEL 8 для шифрування паролів користувачів використовується алгоритм SHA-512.
+Добре відомо, що в Rocky Linux 8 та інших варіантах RHEL 8 стандартним алгоритмом шифрування паролів користувачів є SHA-512. Щоб отримати заданий алгоритм:
```bash
Shell(192.168.100.5) > grep -i method /etc/login.defs
@@ -239,7 +258,7 @@ Shell(192.168.100.5) > grep -i root /etc/shadow | cut -f 2 -d ":"
$6$8jpmvCw8RqNfHYW4$pOlsEZG066eJuTmNHoidtvfWHe/6HORrKkQPwv4eyFxqGXKEXhep6aIRxAtv7FDDIq/ojIY1SfWAQkk7XACeZ0
```
-Використовуйте знак $, щоб розділити вихідну текстову інформацію.
+Інформація, яка відображається в хеші (розділена $), наступна:
* 6: Це означає ідентифікатор. Для алгоритму шифрування SHA-512 він встановлений на 6.
* 8jpmvCw8RqNfHYW4: також відомий як "salt". Його основна функція полягає в підвищенні безпеки та покращенні складності злому. Система може генерувати його випадковим чином або вказати вручну.
@@ -247,23 +266,25 @@ $6$8jpmvCw8RqNfHYW4$pOlsEZG066eJuTmNHoidtvfWHe/6HORrKkQPwv4eyFxqGXKEXhep6aIRxAtv
### Встановіть і налаштуйте `postfix`
+Тепер ми встановимо Postfix:
+
```bash
Shell(192.168.100.6) > dnf -y install postfix postfix-mysql
```
-Після встановлення Postfix необхідно знати такі файли:
+Після встановлення Postfix необхідно змінити наступні файли:
-* **/etc/postfix/main.cf**. Основний і найважливіший конфігураційний файл
-* **/etc/postfix/master.cf**. Використовується для встановлення параметрів виконання для кожного компонента. Загалом, жодних змін не потрібно, за винятком випадків, коли потрібна оптимізація продуктивності.
-* **/etc/postfix/access**. Файл контролю доступу для SMTP.
-* **/etc/postfix/transport**. Відображає адреси електронної пошти для хостів ретрансляції.
+* `/etc/postfix/main.cf`. Основний і найважливіший конфігураційний файл
+* `/etc/postfix/master.cf`. Використовується для встановлення параметрів виконання для кожного компонента. Цей файл використовується, якщо ми хочемо ввімкнути фільтрацію спаму або інші порти SMTP.
+* `/etc/postfix/access`. Файл контролю доступу для SMTP.
+* `/etc/postfix/transport`. Відображає адреси електронної пошти для хостів ретрансляції.
Вам потрібно знати ці двійкові виконувані файли:
-* /**usr/sbin/postalias**. Інструкція створення бази даних псевдонімів. Після виконання цієї команди /etc/aliases.db створюється на основі файлу /etc/aliases
-* **/usr/sbin/postcat**. Ця команда використовується для перегляду вмісту пошти в черзі пошти.
-* **/usr/sbin/postconf**. Запит конфігураційної інформації.
-* **/usr/sbin/postfix**. Основні команди демона. Його можна використовувати наступним чином:
+* `/usr/sbin/postalias`: ця програма створює базу даних псевдонімів у `/etc/aliases.db` на основі файлу /etc/aliases.
+* `/usr/sbin/postcat` переглядає вміст пошти в черзі пошти.
+* `/usr/sbin/postconf` запитує конфігурацію Postfix.
+* `/usr/sbin/postfix` є головним демоном. Його можна використовувати наступним чином:
* `postfix check`
* `postfix start`
@@ -273,10 +294,12 @@ Shell(192.168.100.6) > dnf -y install postfix postfix-mysql
!!! tip "Підказка"
- Ви можете вказати MTA за замовчуванням за допомогою команди `alternatives -config mta`, якщо у вас більше одного MTA на вашому сервері.
+ Якщо ваш сервер має більше ніж один MTA, ви можете вказати MTA за замовчуванням за допомогою команди `alternatives -config mta`.
#### Пояснення до файлу /etc/postfix/main.cf
+Конфігураційний файл Postfix можна переглянути наступним чином:
+
```bash
Shell(192.168.100.6) > egrep -v "^#|^$" /etc/postfix/main.cf
compatibility_level = 2
@@ -313,38 +336,40 @@ meta_directory = /etc/postfix
shlib_directory = /usr/lib64/postfix
```
-* **compatibility_level = 2**. Новий механізм, представлений у Postfix 3, розроблено для сумісності з попередніми версіями.
-* **data_directory = /var/lib/postfix**. Каталог, де зберігаються кешовані дані.
-* **myhostname = host.domain.tld**. Важливі параметри, які були закоментовані. Вам потрібно змінити його на ім’я хосту вашого доменного імені.
-* **mydomain = domain.tld**. Важливі параметри, які були закоментовані. Вам потрібно змінити його на ваше доменне ім’я.
-* **myorigin = \$myhostname** та **myorigin = $mydomain**. Важливі параметри, які були закоментовані. Основна функція — доповнити поштовий суфікс відправника. **\$** представляє змінну параметра посилання.
-* **inet_interfaces = localhost**. Під час отримання пошти цей параметр вказує адресу, яку потрібно прослухати. Значення зазвичай змінюється на "all".
-* **inet_protocols = all**. Увімкніть IPv4 та IPv6, якщо підтримується
-* **mydestination = \$myhostname, localhost.\$mydomain, localhost**. Вказує, звідки ви можете отримувати пошту.
-* **unknown_local_recipient_reject_code = 550**. Код помилки повертається під час надсилання на обліковий запис, який не існує в локальному домені, або відхилення електронного листа.
-* **mynetworks =**. Встановіть електронні листи яких хостів можна пересилати.
-* **relay_domains = $mydestination**. Установіть електронні листи доменів, які можна пересилати.
-* **alias_maps = hash:/etc/aliases**. Він використовується для визначення псевдонімів користувачів і потребує підтримки бази даних.
-* **alias_database = hash:/etc/aliases**. База даних має використовуватися за псевдонімами.
-* **home_mailbox = Maildir/**. Важливі параметри, які були закоментовані. Це вказує, де зберігається локальна поштова скринька.
-* **debug_peer_level = 2**. Рівень журнальних записів.
-* **setgid_group = postdrop**. Ідентифікатор групи використовується для надсилання електронних листів або керування чергами.
-
-За винятком елементів параметрів, згаданих або показаних вище, деякі параметри приховані, і їх можна переглянути за допомогою команди `postconf`. Найбільш важливими параметрами є:
-
-* **message_size_limit = 10240000**. Установіть розмір одного електронного листа (включаючи тіло та вкладення). Одиницею вимірювання є B (байт).
-* **mailbox_size_limit = 1073741824**. Встановіть обмеження ємності для однієї поштової скриньки користувача.
-* **smtpd_sasl_type = cyrus**. Тип автентифікації SASL (проста автентифікація та рівень безпеки). Ви можете використовувати `postconf -a` для перегляду.
-* **smtpd_sasl_auth_enable = no**. Чи вмикати автентифікацію SASL.
-* **smtpd_sasl_security_options = noanonymous**. Параметри безпеки для SASL. Анонімну автентифікацію вимкнено за умовчанням.
-* **smtpd_sasl_local_domain =**. Ім'я локального домену.
-* **smtpd_recipient_restrictions =**. Фільтрація одержувачів. Значення за замовчуванням порожнє.
+Пояснення цих параметрів:
+
+* `compatibility_level = 2`: Забезпечує сумісність із конфігураціями Postfix 2.x.
+* `data_directory = /var/lib/postfix`. Каталог кешу Postfix.
+* `myhostname = host.domain.tld`: **Важливо:** Вам потрібно змінити його на ім’я хосту вашого доменного імені.
+* `mydomain = domain.tld`: **Важливо:** Вам потрібно змінити його на ваше доменне ім’я.
+* `myorigin = $myhostname` and `myorigin = $mydomain`: **Важливо:** параметри, які були закоментовані. Основна функція — доповнити поштовий суфікс відправника. `$` представляє змінну еталонного параметра.
+* `inet_interfaces = localhost`: Інтерфейси для прослуховування. Зазвичай це значення змінюється на «all».
+* `inet_protocols = all`: Вмикає IPv4 та IPv6, якщо адресу знайдено.
+* `mydestination = \$myhostname, localhost.\$mydomain, localhost`: Вказує хости призначення поштового сервера.
+* `unknown_local_recipient_reject_code = 550`: Код помилки повертається під час отримання електронного листа невідомому адресату або відхилення електронного листа.
+* `mynetworks =`: Встановлює, з яких мереж приймати електронні листи.
+* `relay_domains = $mydestination`: Встановлює, з яких доменів ми повинні ретранслювати електронні листи.
+* `alias_maps = hash:/etc/aliases`: Список псевдонімів нашого сервера електронної пошти.
+* `alias_database = hash:/etc/aliases`: База даних має використовуватися за псевдонімами.
+* `home_mailbox = Maildir/`: **Important**: Розташування локальної поштової скриньки.
+* `debug_peer_level = 2`: Рівень журнальних записів.
+* `setgid_group = postdrop`: Група Unix для керування чергами Postfix.
+
+За винятком елементів параметрів, згаданих або показаних вище, деякі параметри приховані, і їх можна переглянути за допомогою команди `postconf`. Найпомітніші параметри:
+
+* `message_size_limit = 10240000`. Максимальний розмір одного повідомлення в байтах.
+* `mailbox_size_limit = 1073741824`: Максимальний розмір поштової скриньки користувача.
+* `smtpd_sasl_type = cyrus`: Програмне забезпечення сервера IMAP використовується для автентифікації SASL. Ви можете використовувати `postconf -a` для перегляду.
+* `smtpd_sasl_auth_enable = no`: Чи вмикати автентифікацію SASL.
+* `smtpd_sasl_security_options = noanonymous`. Параметри безпеки для SASL. Анонімну автентифікацію вимкнено за умовчанням.
+* `smtpd_sasl_local_domain =`. Ім'я локального домену.
+* `smtpd_recipient_restrictions`. Фільтрація одержувачів. Значення за замовчуванням порожнє.
#### Модифікація /etc/postfix/main.cf
+Після встановлення пакетів вам потрібно налаштувати Postfix. Зробіть такі зміни в `/etc/postfix/main.cf`:
+
```bash
-Shell(192.168.100.6) > vim /etc/postfix/main.cf
-...
myhostname = mail.rockylinux.me
mydomain = rockylinux.me
myorigin = $myhostname
@@ -361,10 +386,9 @@ virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-virtual-email2email.cf
-...
```
-Остаточний вміст файлу виглядає так:
+Остаточна конфігурація має виглядати так:
```text
compatibility_level = 2
@@ -414,31 +438,41 @@ meta_directory = /etc/postfix
shlib_directory = /usr/lib64/postfix
```
-Створіть файл і запишіть відповідний вміст:
+Створіть і відредагуйте такі файли:
+
+В `/etc/postfix/mysql-virtual-mailbox-domains.cf`:
```bash
-Shell(192.168.100.6) > vim /etc/postfix/mysql-virtual-mailbox-domains.cf
user = mailrl
password = mail.rockylinux.me
hosts = 192.168.100.5
dbname = mailserver
query = SELECT 1 FROM virtual_domains WHERE name='%s'
+```
-Shell(192.168.100.6) > vim /etc/postfix/mysql-virtual-mailbox-maps.cf
+В `/etc/postfix/mysql-virtual-mailbox-maps.cf`:
+
+```bash
user = mailrl
password = mail.rockylinux.me
hosts = 192.168.100.5
dbname = mailserver
query = SELECT 1 FROM virtual_users WHERE email='%s'
+```
-Shell(192.168.100.6) > vim /etc/postfix/mysql-virtual-alias-maps.cf
+В `/etc/postfix/mysql-virtual-alias-maps.cf`:
+
+```bash
user = mailrl
password = mail.rockylinux.me
hosts = 192.168.100.5
dbname = mailserver
query = SELECT destination FROM virtual_aliases WHERE source='%s'
+```
+
+В `/etc/postfix/mysql-virtual-email2email.cf`:
-Shell(192.168.100.6) > vim /etc/postfix/mysql-virtual-email2email.cf
+```bash
user = mailrl
password = mail.rockylinux.me
hosts = 192.168.100.5
@@ -448,9 +482,9 @@ query = SELECT email FROM virtual_users WHERE email='%s'
!!! warning "Важливо"
- Якщо ви зіткнулися з такою помилкою після запуску `systemctl start postfix.service` -- "fatal: open lock file /var/lib/postfix/master.lock: unable to set exclusive lock: Resource temporarily unavailable." Видаліть наявний файл **/var/lib/postfix/master.lock**
+ Якщо ви зіткнулися з такою помилкою після запуску `systemctl start postfix.service`: `fatal: відкрити файл блокування /var/lib/postfix/master.lock: неможливо встановити ексклюзивне блокування: ресурс тимчасово недоступний.` Видаліть наявний ` /var/lib/postfix/master.lock` файл
-Тестування конфігурації Postfix:
+Тестування нашої конфігурації Postfix:
```bash
Shell(192.168.100.6) > systemctl start postfix.service
@@ -472,10 +506,9 @@ frank@mail.rockylinux.me,leeo@mail.rockylinux.me
#### Модифікація /etc/postfix/master.cf
-Змінений файл виглядає так:
+Змінений файл `/etc/postfix/master.cf` виглядає так:
```bash
-Shell(192.168.100.6) > egrep -v "^#|^$" /etc/postfix/master.cf
smtp inet n - n - - smtpd
submission inet n - n - - smtpd
-o syslog_name=postfix/submission
@@ -500,10 +533,9 @@ smtps inet n - n - - smtpd
-o smtpd_recipient_restrictions=
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
-...
```
-Нарешті виконайте команду `systemctl restart postfix.service`. На цьому налаштування postfix закінчено.
+Нарешті, запустіть `systemctl restart postfix.service`. На цьому етапі ми налаштували Postfix.
### Встановлення і налаштування `dovecot`
@@ -511,7 +543,7 @@ smtps inet n - n - - smtpd
Shell(192.168.100.6) > dnf config-manager --enable devel && dnf -y install dovecot dovecot-devel dovecot-mysql
```
-Без зміни будь-яких файлів вихідна структура каталогу виглядає так:
+Без зміни файлів стандартна структура каталогів Dovecot така:
```bash
Shell(192.168.100.6) > tree /etc/dovecot/
@@ -545,68 +577,78 @@ Shell(192.168.100.6) > tree /etc/dovecot/
└── dovecot.conf
```
-Так, і Postfix, і Dovecot мають дуже складні конфігурації, тому більшості системних адміністраторів GNU/Linux рекомендується використовувати сервери електронної пошти з відкритим кодом.
-
-Як і у випадку з postfix, введіть команду `doveconf`, щоб переглянути повну інформацію про налаштування.
+Як і у випадку з Postfix, введіть команду `doveconf`, щоб переглянути повну конфігурацію.
Опис файлу такий:
-* **dovecot.conf**: основний файл конфігурації dovecot.
+* `dovecot.conf` є основним конфігураційним файлом Dovecot.
- * Завантажте файли підконфігурації за допомогою методу `!include conf.d/*.conf`. Dovecot не хвилює, які налаштування в яких файлах.
- * Цифровий префікс підфайлу конфігурації призначений для полегшення розуміння людиною порядку його аналізу.
- * Через історичні причини все ще є деякі конфігураційні файли, зовнішні для основного `dovecot.conf`, які зазвичай називаються `*.conf.ext`.
- * У файлі конфігурації можна використовувати змінні, які поділено на **глобальні змінні** та **змінні користувача**, починаючи з `%`. Див. [тут](https://doc.dovecot.org/configuration_manual/config_file/config_variables/#config-variables).
+ * Завантажте інші конфігураційні файли через `!include conf.d/*.conf`.
+ * Цифровий префікс файлу підконфігурації полегшує розуміння людиною порядку його аналізу.
+ * Через історичні причини деякі конфігураційні файли досі є окремими, зазвичай мають назву `*.conf.ext`.
+ * У файлі конфігурації ви можете використовувати змінні, розділені на **Глобальні змінні** та **Змінні користувача**, починаючи з `%`. Див. [тут](https://doc.dovecot.org/configuration_manual/config_file/config_variables/#config-variables).
-* **10-auth.conf**. Конфігурація, пов’язана з автентифікацією особи.
-* **10-logging.conf**. Конфігурація, пов'язана з журналом. Це може бути корисним для аналізу продуктивності, налагодження програмного забезпечення тощо.
-* **10-mail.conf**. Конфігурація розташування поштових скриньок і просторів імен. За замовчуванням значення розташування поштової скриньки користувача порожнє, що означає, що Dovecot автоматично шукає розташування поштової скриньки. Якщо у користувача немає пошти, ви повинні явно повідомити Dovecot розташування всіх поштових скриньок.
-* **10-metrics.conf**. Конфігурація, пов'язана зі статистичною інформацією.
-* **15-mailboxes.conf**. Конфігурація визначення поштової скриньки.
-* **auth-sql.conf.ext**. Аутентифікація для користувачів SQL.
+* `10-auth.conf`: Конфігурація автентифікації.
+* `10-logging.conf`. Конфігурація, пов'язана з журналом.
+* `10-mail.conf`. Конфігурація розташування поштових скриньок і просторів імен. За замовчуванням значення розташування поштової скриньки користувача порожнє, що означає, що Dovecot автоматично шукає розташування поштової скриньки. Якщо у користувача немає пошти, ви повинні явно повідомити Dovecot розташування всіх поштових скриньок.
+* `10-metrics.conf`. Конфігурація, пов'язана зі статистичною інформацією.
+* `15-mailboxes.conf`. Конфігурація визначення поштової скриньки.
+* `auth-sql.conf.ext`. Аутентифікація для користувачів SQL.
#### Деякі важливі параметри конфігураційного файлу
-* `protocols = imap pop3 lmtp submission`. Dovecot підтримує протоколи.
-* `listen = *, ::`. Відокремлений комами список IP-адрес або хостів, на яких слід прослуховувати з’єднання. «*» прослуховує всі інтерфейси IPv4, «::» прослуховує всі інтерфейси IPv6.
-* `disable_plaintext_auth = yes`. Чи вимкнути відкритий пароль для автентифікації.
-* `auth_mechanisms =`. Тип механізму автентифікації, значення якого можуть бути кількома та розділені пробілами. Значення: plain, login, digest-md5, cram-md5, ntlm, rpa, apop, anonymous, gssapi, otp, skey, gss-spnego.
-* `login_trusted_networks=`. Яким клієнтам (MUA) дозволено використовувати Dovecot. Це може бути окрема IP-адреса, це може бути сегмент мережі, або вона може бути змішана та розділена пробілами. Ось так-- `login_trusted_networks = 10.1.1.0/24 192.168.100.2`
-* `mail_location =`. Якщо значення порожнє, Dovecot намагається автоматично знайти поштові скриньки (переглядаючи ~/Maildir, /var/mail/username, ~/mail і ~/Mail у такому порядку). Однак автоматичне виявлення зазвичай не вдається користувачам, чий поштовий каталог ще не створено, тому ви повинні чітко вказати тут повне місцезнаходження, якщо це можливо.
-* `mail_privileged_group =`. Ця група тимчасово ввімкнена для привілейованих операцій. Це використовується лише з INBOX, коли його початкове створення або точкове блокування не вдається. Як правило, це значення "mail" для доступу до/var/mail.
+* `protocols = imap pop3 lmtp submission`: Список протоколів, які будуть використовуватися.
+* `listen = *, ::`. Відокремлений комами список IP-адрес або хостів, на яких слід прослуховувати з’єднання. `*` listens in all IPv4 interfaces, `::` слухає в усіх інтерфейсах IPv6.
+* `disable_plaintext_auth = yes`: Чи вимкнути автентифікацію відкритого тексту.
+* `auth_mechanisms =`: Тип механізму автентифікації, який буде використовуватися. Можна вказати кілька значень і розділити їх пробілами. Значення: plain, login, digest-md5, cram-md5, ntlm, rpa, apop, anonymous, gssapi, otp, skey, gss-spnego.
+* `login_trusted_networks=`: Яким IP-мережам дозволено використовувати Dovecot. Це може бути одна IP-адреса, сегмент мережі або обидва. Як приклад: `login_trusted_networks = 10.1.1.0/24 192.168.100.2`
+* `mail_location =`: Якщо значення пусте, Dovecot намагається автоматично знайти поштові скриньки (переглядаючи `~/Maildir`, `/var/mail/username`, `~/mail` і `~/Mail` у такому порядку). Однак автоматичне виявлення зазвичай не вдається користувачам, чий поштовий каталог ще не створено, тому вам слід явно вказати тут повне місцезнаходження, якщо це можливо.
+* `mail_privileged_group =`: Ця група тимчасово ввімкнена для привілейованих операцій. Це використовується лише з INBOX, коли його початкове створення або блокування не вдається. Зазвичай для доступу до `/var/mail` встановлюється значення `mail`.
#### Модифікація декількох файлів
+Спочатку відредагуйте конфігурацію Dovecot у `/etc/dovecot/dovecot.conf`:
+
```bash
-Shell(192.168.100.6) > vim /etc/dovecot/dovecot.conf
-...
protocols = imap pop3 lmtp
listen = 192.168.100.6
-...
```
+Згодом відредагуйте конфігурацію сховища електронної пошти в `/etc/dovecot/conf.d/10-mail.conf`:
+
```bash
-Shell(192.168.100.6) > vim /etc/dovecot/conf.d/10-mail.conf
-...
-# %u - ім'я користувача
-# %n - частина користувача в user@domain, те саме, що %u, якщо домену немає
-# %d - доменна частина в user@domain, пуста, якщо домену немає
-# %h - домашній каталог
-mail_location = maildir:/var/mail/vhosts/%d/%n...
+# %u - username
+# %n - user part in user@domain, same as %u if there's no domain
+# %d - domain part in user@domain, empty if there's no domain
+# %h - home directory
+mail_location = maildir:/var/mail/vhosts/%d/%n
mail_privileged_group = mail
-...
```
-Створіть пов’язані каталоги -- `mkdir -p /var/mail/vhosts/rockylinux.me`. `rockylinx.me` відноситься до доменного імені, на яке ви подали заявку (в електронній пошті називається доменом або локальним доменом).
+Створіть поштовий каталог:
-Додайте пов’язаних користувачів і вкажіть домашній каталог -- `groupadd -g 2000 vmail && useradd -g vmail -u 2000 -d /var/mail/ vmail`
+```bash
+Shell(192.168.100.7) > mkdir -p /var/mail/vhosts/rockylinux.me
+```
-Змінити власника та групу -- `chown -R vmail:vmail /var/mail/`
+`rockylinux.me` відноситься до доменного імені, яке ви розміщуєте.
-Скасувати відповідні коментарі до файлу:
+Додайте користувача Dovecot і домашній каталог:
+
+```bash
+Shell(192.168.100.7) > groupadd -g 2000 vmail
+Shell(192.168.100.7) > useradd -g vmail -u 2000 -d /var/mail/ vmail
+```
+
+Змінити власника та групу:
+
+```bash
+Shell(192.168.100.7) > chown -R vmail:vmail /var/mail/
+```
+
+Увімкніть бази даних імен користувачів і паролів у `/etc/dovecot/conf.d/auth-sql.conf.ext`:
```bash
-Shell(192.168.100.6) > vim /etc/dovecot/conf.d/auth-sql.conf.ext
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
@@ -615,40 +657,43 @@ userdb {
driver = static
args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
}
-...
```
!!! warning "Важливо"
- Не пишіть наведену вище граматику в один рядок, наприклад «userdb {driver = sql args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n}». Інакше не вийде.
+ Не пишіть наведену вище граматику в один рядок, наприклад `userdb {driver = sql args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n}`. Інакше не вийде.
-Створіть файл /etc/dovecot/dovecot-sql.conf.ext і запишіть відповідний вміст:
+Відредагуйте файл `/etc/dovecot/dovecot-sql.conf.ext` із таким вмістом:
```bash
-Shell(192.168.100.6) > vim /etc/dovecot/dovecot-sql.conf.ext
driver = mysql
connect = host=192.168.100.5 dbname=mailserver user=mailrl password=mail.rockylinux.me
default_pass_scheme = SHA512-CRYPT
password_query = SELECT password FROM virtual_users WHERE email='%u'
```
-Змінити власника та групу -- `chown -R vmail:dovecot /etc/dovecot`
+Тепер змініть власника та групу:
+```bash
+Shell(192.168.100.7) > chown -R vmail:dovecot /etc/dovecot
+```
+
+Потім змініть дозволи папки:
+
+```bash
+Shell(192.168.100.7) > chmod -R 770 /etc/dovecot
+```
-Змінити дозволи папки -- `chmod -R 770 /etc/dovecot`
+Тепер до конфігурації `/etc/dovecot/conf.d/10-auth.conf` додайте наступне:
```bash
-Shell(192.168.100.6) > vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes
-...
auth_mechanisms = plain login
-...
-#!include auth-system.conf.ext
!include auth-sql.conf.ext
```
+До `/etc/dovecot/conf.d/10-master.conf` додайте наступне:
+
```bash
-Shell(192.168.100.6) > vim /etc/dovecot/conf.d/10-master.conf
-...
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
@@ -656,7 +701,6 @@ service lmtp {
group = postfix
}
}
-...
service auth {
unix_listener auth-userdb {
mode = 0600
@@ -674,16 +718,19 @@ service auth {
service auth-worker {
user = vmail
}
-...
```
-Гаразд, використовуйте команду, щоб запустити службу-- `systemctl start dovecot.service`
+Тепер увімкніть Dovecot:
-!!! info "Інформація"
+```bash
+Shell(192.168.100.7) > systemctl enable --now dovecot
+```
- Під час ініціалізації dovecot файл **/usr/libexec/dovecot/mkcert.sh** виконується для створення самопідписаного сертифіката.
+!!! info "Інформація"
+
+ Під час ініціалізації Dovecot файл **/usr/libexec/dovecot/mkcert.sh** виконується для створення самопідписаного сертифіката.
-Ви можете перевірити зайнятість порту за допомогою такої команди:
+Ви можете перевірити порти прослуховування за допомогою такої команди:
```bash
Shell(192.168.100.6) > ss -tulnp
@@ -702,9 +749,12 @@ tcp LISTEN 0 100 192.168.100.6:465
tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=732,fd=4))
```
-Порти зайняті postfix -- 25, 587, 465 Порти зайняті dovecot -- 993, 995, 110, 143
+У наведеному вище виводі використовуються такі порти:
-Ви можете використати команду `doveadm`, щоб створити відповідний зашифрований пароль і вставити його в таблицю virtual_users.
+ * Postfix: 25, 587, 465
+ * Dovecot: 993, 995, 110, 143
+
+Ви можете використати команду `doveadm`, щоб створити відповідний зашифрований пароль і вставити його в таблицю virtual\_users.
@@ -716,9 +766,10 @@ Shell(192.168.100.6) > doveadm pw -s SHA512-crypt -p twotestandtwo
{SHA512-CRYPT}$6$TF7w672arYUk.fGC$enDafylYnih4q140B2Bu4QfEvLCQAiQBHXpqDpHQPHruil4j4QbLXMvctWHdZ/MpuwvhmBGHTlNufVwc9hG34/
```
-Вставте відповідні дані на хості 192.168.100.5.
+Вставте відповідні дані на хост 192.168.100.5:
```sql
+Shell(192.168.100.5) > /usr/local/mysql/bin/mysql -u root --password="pkqaXRuTn1/N"
Mysql > use mailserver;
Mysql > insert into virtual_users(id,email,password,domain_id) values(1,'frank@mail.rockylinux.me','$6$dEqUVsCirHzV8kHw$hgC0x0ufah.N0PzUVvhLEMnoww5lo.JBmeLSsRNDkgWVylC55Gk6zA1KWsn.SiIAAIDEqHxtugGZWHl1qMex..',1);
@@ -730,9 +781,9 @@ Mysql > insert into virtual_users(id,email,password,domain_id) values(2,'leeo@ma
#### Аутентифікація користувача
-Скористайтеся іншим комп’ютером з Windows 10 і змініть бажаний DNS на 192.168.100.7. Як поштовий клієнт тут автор використовує foxmail.
+Використовуйте клієнтську машину та змініть бажаний DNS на 192.168.100.7. Тут автор використовує Foxmail у Windows 10 як поштовий клієнт.
-На головному екрані виберіть «Інша поштова скринька» --> «Вручну» --> Введіть відповідний вміст для завершення. --> "Створити"
+На головному екрані виберіть **Інша поштова скринька** --> **Посібник** --> Введіть відповідні поля та виберіть **Створити**:

@@ -740,7 +791,7 @@ Mysql > insert into virtual_users(id,email,password,domain_id) values(2,'leeo@ma
#### Надіслати електронний лист
-Використовуйте цього користувача, щоб спробувати надіслати електронний лист користувачеві leeo.
+Використовуйте користувача **frank**, щоб спробувати надіслати електронний лист користувачеві **leeo**.

@@ -750,5 +801,5 @@ Mysql > insert into virtual_users(id,email,password,domain_id) values(2,'leeo@ma
### Додатковий опис
-* Ви повинні мати законне доменне ім’я (домен)
-* Вам слід подати заявку на сертифікат SSL/TLS для вашої системи електронної пошти
+* Ви повинні мати доменне ім’я або внутрішній запис DNS із записами MX, які вказують на ваш сервер.
+* Ви повинні отримати сертифікат SSL через [Let's Encrypt](https://docs.rockylinux.org/guides/security/generating_ssl_keys_lets_encrypt/) або інше джерело.
From 7dd35192e334622cca95c85d0d3b976c9d8c3b72 Mon Sep 17 00:00:00 2001
From: Rocky Linux Automation
<75949597+rockylinux-auto@users.noreply.github.com>
Date: Thu, 14 Mar 2024 10:28:46 -0700
Subject: [PATCH 08/13] New translations caddy.md (Ukrainian)
---
docs/guides/web/caddy.uk.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/guides/web/caddy.uk.md b/docs/guides/web/caddy.uk.md
index 91d35f3ba5..366c57b69c 100644
--- a/docs/guides/web/caddy.uk.md
+++ b/docs/guides/web/caddy.uk.md
@@ -73,7 +73,7 @@ sudo firewall-cmd --permanent --zone=public --add-service=https
- `–-zone=public` вказує брандмауеру дозволити вхідні підключення до цього порту від усіх.
- Нарешті, `--add-service=http` і `--add-service=https` вказують `firewalld` передавати весь трафік HTTP і HTTPS на сервер.
-These configurations won’t take effect until you force the issue. Для цього скажіть `firewalld` перезавантажити свої конфігурації:
+Ці конфігурації не почнуть діяти, доки ви не примусово усунете проблему. Для цього скажіть `firewalld` перезавантажити свої конфігурації:
```bash
sudo firewall-cmd --reload
@@ -89,7 +89,7 @@ systemctl restart firewalld
```
````
-Щоб забезпечити доступність портів, запустіть `firewall-cmd --list-all`. A properly-configured firewall will look a bit like this:
+Щоб забезпечити доступність портів, запустіть `firewall-cmd --list-all`. Правильно налаштований брандмауер виглядатиме приблизно так:
```bash
public (active)
From abc7cbaf830537e98581d3a33fc659e0b6703133 Mon Sep 17 00:00:00 2001
From: Rocky Linux Automation
<75949597+rockylinux-auto@users.noreply.github.com>
Date: Thu, 14 Mar 2024 10:29:07 -0700
Subject: [PATCH 09/13] New translations cockpit-machines.md (Ukrainian)
---
docs/guides/virtualization/cockpit-machines.uk.md | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/docs/guides/virtualization/cockpit-machines.uk.md b/docs/guides/virtualization/cockpit-machines.uk.md
index c3ea923d68..3e51dce354 100644
--- a/docs/guides/virtualization/cockpit-machines.uk.md
+++ b/docs/guides/virtualization/cockpit-machines.uk.md
@@ -1,7 +1,7 @@
---
title: Cockpit KVM Dashboard
author: Neel Chauhan
-contributors: null
+contributors: Ganna Zhrynova
tested on: 9.3
tags:
- віртуалізація
@@ -23,13 +23,13 @@ Cockpit — це інструмент адміністрування серве
Cockpit встановлюється за замовчуванням у Rocky Linux. Однак підтримка KVM не встановлена з коробки. Ми встановимо його через `dnf`:
```bash
-dnf install -y cockpit-machine
+dnf install -y cockpit-machines
```
Також встановіть `libvirtd`:
```bash
-dnf install -y libvirtd
+dnf install -y libvirt
```
## Увімкнення `cockpit`
@@ -37,10 +37,10 @@ dnf install -y libvirtd
Щоб увімкнути віртуалізацію KVM і Cockpit, увімкніть служби `systemd`:
```bash
-systemctl enable --now libvirtd cockpit
+systemctl enable --now libvirtd cockpit.socket
```
-Увімкнувши `cockpit`, відкрийте браузер за адресою http\://ip_address:9090 (примітка: замініть "ip_address" на IP-адресу вашого сервера):
+Увімкнувши `cockpit`, відкрийте браузер за адресою **http\://ip_address:9090** (примітка: замініть **ip_address** на IP-адресу вашого сервера):

From 1eb7d3e72c78a5f295d67a0c6fbf721e9e0ce036 Mon Sep 17 00:00:00 2001
From: Rocky Linux Automation
<75949597+rockylinux-auto@users.noreply.github.com>
Date: Thu, 14 Mar 2024 10:29:08 -0700
Subject: [PATCH 10/13] New translations tor_onion_service.md (Ukrainian)
---
docs/guides/web/tor_onion_service.uk.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/guides/web/tor_onion_service.uk.md b/docs/guides/web/tor_onion_service.uk.md
index 87a41fbda0..a3638a7280 100644
--- a/docs/guides/web/tor_onion_service.uk.md
+++ b/docs/guides/web/tor_onion_service.uk.md
@@ -1,7 +1,7 @@
---
title: Сервіс Tor Onion
author: Neel Chauhan
-contributors: null
+contributors: Ganna Zhrynova
tested_with: 9.3
tags:
- web
From d8c2f0a5c76a006148415035d3b710bcab45146a Mon Sep 17 00:00:00 2001
From: Rocky Linux Automation
<75949597+rockylinux-auto@users.noreply.github.com>
Date: Thu, 14 Mar 2024 12:31:00 -0700
Subject: [PATCH 11/13] New translations php.md (Ukrainian)
---
docs/guides/web/php.uk.md | 202 ++++++++++++++++++++++++++------------
1 file changed, 140 insertions(+), 62 deletions(-)
diff --git a/docs/guides/web/php.uk.md b/docs/guides/web/php.uk.md
index ff4b6450eb..c82a3434f9 100644
--- a/docs/guides/web/php.uk.md
+++ b/docs/guides/web/php.uk.md
@@ -1,8 +1,8 @@
---
title: PHP та PHP-FPM
author: Antoine Le Morvan
-contributors: Steven Spencer, Ganna Zhyrnova
-tested_with: 8.9
+contributors: Steven Spencer, Ganna Zhyrnova, Joseph Brinkman
+tested_with: 9.3, 8.9
tags:
- web
- php
@@ -11,11 +11,7 @@ tags:
# PHP та PHP-FPM
-!!! warning "Написано для Rocky Linux 8.x"
-
- Ця процедура була спочатку опублікована, коли Rocky Linux 8.x була єдиною версією. Цю процедуру необхідно протестувати та переписати для Rocky Linux 9.x.
-
-**PHP** (**P**HP **H**ypertext **P**reprocessor) — вихідна мова сценаріїв, спеціально розроблена для розробки веб-додатків. У 2021 році PHP становив трохи менше 80% веб-сторінок, створених у світі. PHP має відкритий код і є ядром найвідоміших CMS (WordPress, Drupal, Joomla!, Magento, ...).
+**PHP** (**P**HP **H**ypertext **P**reprocessor) — вихідна мова сценаріїв, спеціально розроблена для розробки веб-додатків. У 2024 році PHP становив трохи менше 80% веб-сторінок, створених у світі. PHP має відкритий код і є ядром найвідоміших CMS (WordPress, Drupal, Joomla!, Magento, ...).
**PHP-FPM** (**F**astCGI **P**rocess **M**anager) інтегровано в PHP з версії 5.3.3. Версія PHP FastCGI надає додаткові функції.
@@ -43,46 +39,84 @@ Rocky Linux, як і його вихідна версія, пропонує ба
Щоб отримати список доступних версій, просто введіть наступну команду:
-```bash
-$ sudo dnf module list php
+=== "9.3 Список модулів PHP"
-Rocky Linux 8 - AppStream
-Name Stream Profiles Summary
-php 7.2 [d] common [d], devel, minimal PHP scripting language
-php 7.3 common [d], devel, minimal PHP scripting language
-php 7.4 common [d], devel, minimal PHP scripting language
-php 8.0 common [d], devel, minimal PHP scripting language
+ ```bash
+ $ sudo dnf module list php
-Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
-```
+ Rocky Linux 9 - AppStream
+ Name Stream Profiles Summary
+ php 8.1 [d] common [d], devel, minimal
-Rocky надає зі свого репозиторію AppStream різні модулі PHP.
+ Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
+ ```
-Ви зауважите, що стандартною версією Rocky 8.9 є 7.2, термін служби якої вже закінчився на момент написання статті.
-Ви можете активувати новіший модуль, ввівши таку команду:
+ Репозиторій Remi пропонує новіші версії PHP, ніж репозиторій Appstream, включаючи версії 8.2 і 8.3.
+
+ Щоб установити репозиторій Remi, виконайте таку команду:
-```bash
-sudo dnf module enable php:8.0
-==============================================================================================
- Package Architecture Version Repository Size
-==============================================================================================
-Enabling module streams:
- httpd 2.4
- nginx 1.14
- php 8.0
+ ```bash
+ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
+ ```
-Transaction Summary
-==============================================================================================
-Is this ok [y/N]:
+ Після встановлення репозиторію Remi увімкніть його, виконавши таку команду.
-Transaction Summary
-==============================================================================================
+ ```bash
+ sudo dnf config-manager --set-enabled remi
+ ```
-Is this ok [y/N]: y
-Complete!
-```
+
+ Тепер ви можете активувати новіший модуль (PHP 8.3), ввівши таку команду:
+
+ ```bash
+ sudo dnf module enable php:remi-8.3
+ ```
+
+=== "8.9 Список модулів PHP"
+
+ ```bash
+ $ sudo dnf module list php
+
+ Rocky Linux 8 - AppStream
+ Name Stream Profiles Summary
+ php 7.2 [d] common [d], devel, minimal PHP scripting language
+ php 7.3 common [d], devel, minimal PHP scripting language
+ php 7.4 common [d], devel, minimal PHP scripting language
+ php 8.0 common [d], devel, minimal PHP scripting language
+
+ Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
+ ```
+
+
+ Rocky надає зі свого репозиторію AppStream різні модулі PHP.
+
+ Ви зауважите, що стандартною версією Rocky 8.9 є 7.2, термін служби якої вже закінчився на момент написання статті.
+
+ Ви можете активувати новіший модуль, ввівши таку команду:
+
+ ```bash
+ sudo dnf module enable php:8.0
+ ==============================================================================================
+ Package Architecture Version Repository Size
+ ==============================================================================================
+ Enabling module streams:
+ httpd 2.4
+ nginx 1.14
+ php 8.0
+
+ Transaction Summary
+ ==============================================================================================
+
+ Is this ok [y/N]:
+
+ Transaction Summary
+ ==============================================================================================
+
+ Is this ok [y/N]: y
+ Complete!
+ ```
Тепер можна переходити до встановлення движка PHP.
@@ -96,19 +130,65 @@ Complete!
У наведеному нижче прикладі встановлюється PHP із модулями, які зазвичай встановлюються разом із ним.
-```bash
-sudo dnf install php php-cli php-gd php-curl php-zip php-mbstring
-```
+=== "9.3 встановлення PHP"
+
+ ```bash
+ sudo dnf install php php-cli php-gd php-curl php-zip php-mbstring
+ ```
+
+
+ Вам буде запропоновано імпортувати ключі GPG для сховищ epel9 (додаткові пакети для Enterprise Linux 9) і Remi під час встановлення. Введіть y, щоб імпортувати ключі:
+
+ ```bash
+ Extra Packages for Enterprise Linux 9 - x86_64
+ Importing GPG key 0x3228467C:
+ Userid : "Fedora (epel9) "
+ Fingerprint: FF8A D134 4597 106E CE81 3B91 8A38 72BF 3228 467C
+ From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
+ Is this ok [y/N]: y
+ Key imported successfully
+ Remi's RPM repository for Enterprise Linux 9 - x86_64
+ Importing GPG key 0x478F8947:
+ Userid : "Remi's RPM repository (https://rpms.remirepo.net/) "
+ Fingerprint: B1AB F71E 14C9 D748 97E1 98A8 B195 27F1 478F 8947
+ From : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi.el9
+ Is this ok [y/N]: y
+ Key imported successfully
+ Running transaction check
+ Transaction check succeeded.
+ Running transaction test
+ Transaction test succeeded.
+
+ Complete!
+ ```
+
+=== "8.9 встановлення PHP"
+
+ ```bash
+ sudo dnf install php php-cli php-gd php-curl php-zip php-mbstring
+ ```
Ви можете перевірити, чи відповідає встановлена версія очікуваній:
-```bash
-$ php -v
-PHP 7.4.19 (cli) (built: May 4 2021 11:06:37) ( NTS )
-Copyright (c) The PHP Group
-Zend Engine v3.4.0, Copyright (c) Zend Technologies
+=== "9.3 перевірка версії PHP"
+
+ ```bash
+ $ php -v
+ PHP 8.3.2 (cli) (built: Jan 16 2024 13:46:41) (NTS gcc x86_64)
+ Copyright (c) The PHP Group
+ Zend Engine v4.3.2, Copyright (c) Zend Technologies
+ with Zend OPcache v8.3.2, Copyright (c), by Zend Technologies
+ ```
+
+=== "8.9 перевірка версії PHP"
+
+ ```bash
+ $ php -v
+ PHP 7.4.19 (cli) (built: May 4 2021 11:06:37) ( NTS )
+ Copyright (c) The PHP Group
+ Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.19, Copyright (c), by Zend Technologies
-```
+ ```
### Конфігурація
@@ -118,24 +198,23 @@ Zend Engine v3.4.0, Copyright (c) Zend Technologies
* Встановлення:
-```bash
-sudo dnf install httpd
-```
+ ```bash
+ sudo dnf install httpd
+ ```
-* Активація:
+ * Активація:
-```bash
-sudo systemctl enable httpd
-sudo systemctl start httpd
-sudo systemctl status httpd
-```
+ ```bash
+ sudo systemctl enable --now httpd
+ sudo systemctl status httpd
+ ```
* Не забудьте налаштувати брандмауер:
-```bash
-sudo firewall-cmd --add-service=http --permanent
-sudo firewall-cmd --reload
-```
+ ```bash
+ sudo firewall-cmd --add-service=http --permanent
+ sudo firewall-cmd --reload
+ ```
Vhost за замовчуванням має працювати з коробки. PHP надає функцію `phpinfo()`, яка генерує зведену таблицю його конфігурації. Дуже корисно перевірити ефективність PHP. Однак будьте обережні, щоб не залишати такі тестові файли на своїх серверах. Вони становлять величезний ризик для безпеки вашої інфраструктури.
@@ -168,8 +247,7 @@ sudo dnf install php-fpm
Оскільки php-fpm є системною службою, її необхідно активувати та запустити:
```bash
-sudo systemctl enable php-fpm
-sudo systemctl start php-fpm
+sudo systemctl enable --now php-fpm
sudo systemctl status php-fpm
```
@@ -189,7 +267,7 @@ daemonize = yes
Конфігураційні файли php-fpm широко коментуються. Ідіть і подивіться!
-Як бачите, файли в каталозі `/etc/php-fpm/` із розширеннями `.conf` завжди включені.
+Як бачите, файли в каталозі `/etc/php-fpm.d/` із розширенням `.conf` завжди включені.
За замовчуванням пул процесів PHP під назвою `www` оголошено в `/etc/php-fpm.d/www.conf`.
From 236ca008e8fc2e07b7308dd35ef07ab190dd4cf3 Mon Sep 17 00:00:00 2001
From: Rocky Linux Automation
<75949597+rockylinux-auto@users.noreply.github.com>
Date: Thu, 14 Mar 2024 12:31:02 -0700
Subject: [PATCH 12/13] New translations nginx-mainline.md (Ukrainian)
---
docs/guides/web/nginx-mainline.uk.md | 52 +++++++---------------------
1 file changed, 13 insertions(+), 39 deletions(-)
diff --git a/docs/guides/web/nginx-mainline.uk.md b/docs/guides/web/nginx-mainline.uk.md
index 2367fa9ff4..976dba4b8a 100644
--- a/docs/guides/web/nginx-mainline.uk.md
+++ b/docs/guides/web/nginx-mainline.uk.md
@@ -24,19 +24,7 @@ tags:
* Підтримка FastCGI
* І, звичайно, IPv6
-Це чудово! Тож просто `sudo dnf install nginx`, чи не так? Ну не зовсім так. Спершу ми повинні ввімкнути відповідний модуль, щоб дозволити гілку «mainline», щоб ви могли мати останню версію Nginx.
-
-!!! Note "Примітка"
-
- Є ще одна гілка під назвою «стабільна», але вона трохи застаріла для більшості випадків використання. Він не отримає жодних нових функцій у міру їх розробки, лише найнеобхідніші виправлення помилок і оновлення безпеки.
-
- Розробники Nginx вважають «основну» гілку добре перевіреною та стабільною для загального використання, *оскільки вона отримує абсолютно нові функції, усі виправлення безпеки та всі виправлення помилок.*
-
- Єдині причини використання «стабільної» гілки:
- * Ви *справді* хочете бути впевнені, що нові функції та значні виправлення не порушать будь-який сторонній чи власний код.
- * Ви хочете використовувати лише сховища програмного забезпечення Rocky Linux.
-
- У підручнику в кінці цього посібника буде докладно описано, як увімкнути та встановити «стабільну» гілку з мінімальними зусиллями.
+Це чудово! Тож просто `sudo dnf install nginx`, чи не так? Так, це приблизно так, але ми включили кілька корисних порад, які допоможуть вам почати.
## Передумови та припущення
@@ -47,7 +35,7 @@ tags:
* Можливість запускати команди від імені root, або від імені root-користувача, або за допомогою `sudo`.
* Текстовий редактор на ваш вибір, будь то графічний або заснований на командному рядку. Для цього підручника я використовую `nano`.
-## Встановлення репозиторію та ввімкнення модуля
+## Встановлення та запуск Nginx
По-перше, переконайтеся, що ваша машина оновлена:
@@ -55,43 +43,29 @@ tags:
sudo dnf update
```
-Потім інсталюйте репозиторій програмного забезпечення `epel-release`:
-
-```bash
-sudo dnf install epel-release
-```
-
-Потім увімкніть відповідний модуль для останньої версії `nginx`. Цей модуль завжди називатиметься `nginx:manline`, тому просто ввімкніть його за допомогою `dnf` так:
-
-```bash
-sudo dnf module enable nginx:mainline
-```
-
-Ви отримаєте звичайне запитання: "Ви впевнені, що хочете це зробити?" але це не 2-е видання D&D із самим Гері Гігаксом, тому так. Звичайно, що так. Натисніть ++y++ для підтвердження.
-
-## Встановлення та запуск Nginx
-
-Потім встановіть пакет `nginx` із раніше доданого репозиторію:
+Потім встановіть пакет `nginx`:
```bash
sudo dnf install nginx
```
-Термінал запитає, чи можна встановити ключ GPG сховища. Вам це потрібно, тому виберіть `Y` для встановлення.
-
-Після завершення встановлення запустіть службу `nginx` і ввімкніть її для автоматичного створення під час перезавантаження «все в одному»:
+Після завершення встановлення запустіть службу `nginx` і ввімкніть її автоматичний запуск після перезавантаження:
```bash
sudo systemctl enable --now nginx
```
-Щоб перевірити, чи встановлено останню версію *Nginx*, виконайте:
+Щоб перевірити, чи встановлено останню версію *Nginx* (принаймні, останню версію зі сховищ Rocky), виконайте:
```bash
nginx -v
```
-Ви можете почати перекидати HTML-файли в каталог `/usr/share/nginx/html/`, щоб створити простий статичний веб-сайт. Файл конфігурації веб-сайту/віртуального хосту за умовчанням називається «nginx.conf» і знаходиться в `/etc/nginx/`. Він також містить кілька інших базових конфігурацій сервера Nginx, тому навіть якщо ви перемістите фактичну конфігурацію веб-сайту в інший файл, ви, ймовірно, залишите решту "nginx.conf" недоторканою.
+Звідти ви можете просто почати перекидати HTML-файли в каталог `/usr/share/nginx/html/`, щоб створити простий статичний веб-сайт. Файл конфігурації веб-сайту/віртуального хосту за умовчанням називається «nginx.conf» і знаходиться в `/etc/nginx/`. Він також містить кілька інших базових конфігурацій сервера Nginx, тому навіть якщо ви перемістите фактичну конфігурацію веб-сайту в інший файл, ви, ймовірно, залишите решту "nginx.conf" недоторканою.
+
+!!! Note "Примітка"
+
+ У старих версіях цього посібника детально описано, як встановити пакет nginx-mainline з ERLepo. Однак це вже не є опцією. У більшості випадків версії Nginx у сховищах Rocky більш ніж достатньо, забезпечуючи стабільну базу з портованими виправленнями безпеки. Ті, хто все ще хоче використовувати гілку nginx-mainline, можуть слідувати [цьому посібнику від LinuxCapable](https://www.linuxcapable.com/how-to-install-nginx-mainline-on-rocky-linux/). Зауважте, що використання nginx-mainline зазвичай цілком життєздатне, але не підтримується.
## Налаштування брандмауера
@@ -115,7 +89,7 @@ sudo firewall-cmd --permanent --zone=public --add-service=http
* `–zone=public` повідомляє брандмауеру приймати вхідні підключення до цього порту від усіх.
* Нарешті, `--add-service=http` повідомляє `firewalld` пропускати весь HTTP-трафік до сервера.
-Тепер ось ручний спосіб зробити це. Це майже те саме, за винятком того, що ви спеціально відкриваєте порт 80, який використовує HTTP.
+Now here's the manual way to do it. Це майже те саме, за винятком того, що ви спеціально відкриваєте порт 80, який використовує HTTP.
```bash
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
@@ -170,7 +144,7 @@ public (active)

-Це зовсім небагато, але це означає, що сервер працює. Ви також можете перевірити, чи ваша веб-сторінка працює з командного рядка за допомогою:
+It’s not much at all, but it means the server is working. Ви також можете перевірити, чи ваша веб-сторінка працює з командного рядка за допомогою:
```bash
curl -I http://[your-ip-address]
@@ -277,7 +251,7 @@ sudo find /usr/share/nginx/html/www -type d -exec chmod 555 "{}" \;
sudo find /usr/share/nginx/html/www -type f -exec chmod 444 "{}" \;
```
-Це дає кожному право переглядати файли на сервері, але не змінювати їх. Це можуть зробити лише користувачі root і сервер.
+That basically gives everyone the right to look at files on the server, but not modify them. Це можуть зробити лише користувачі root і сервер.
## Отримання SSL-сертифікатів для вашого сайту
From 3f872793657a8633fc43637711f85ef968c1a03b Mon Sep 17 00:00:00 2001
From: Rocky Linux Automation
<75949597+rockylinux-auto@users.noreply.github.com>
Date: Thu, 14 Mar 2024 12:33:18 -0700
Subject: [PATCH 13/13] New translations podman.md (Ukrainian)
---
docs/gemstones/containers/podman.uk.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/gemstones/containers/podman.uk.md b/docs/gemstones/containers/podman.uk.md
index 297691b8ad..90fd396bb5 100644
--- a/docs/gemstones/containers/podman.uk.md
+++ b/docs/gemstones/containers/podman.uk.md
@@ -1,7 +1,7 @@
---
title: Podman
author: Neel Chauhan
-contributors: Steven Spencer
+contributors: Steven Spencer, Ganna Zhyrnova
date: 2024-03-07
tags:
- docker