Compare commits
10 Commits
b539ea74bf
...
7ba26a932b
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7ba26a932b | ||
![]() |
79d8bf8af3 | ||
![]() |
79880dd425 | ||
![]() |
72a8cedbf4 | ||
![]() |
d901af5e10 | ||
![]() |
de0b234121 | ||
![]() |
9e48423a6d | ||
![]() |
9a86f4b370 | ||
![]() |
4b5f4cf466 | ||
![]() |
7b4e093c05 |
@ -0,0 +1,179 @@
|
||||
---
|
||||
title: Настройка SMTP-сервера на Debian
|
||||
slug: администрирование/настройка-smtp-сервера-на-debian
|
||||
---
|
||||
# 📋 Полная инструкция настройки SMTP-сервера на Debian/Ubuntu для начинающих
|
||||
|
||||
✅ Выполняй всё пошагово — и твой сервер заработает правильно!
|
||||
|
||||
---
|
||||
|
||||
## 📏 Шаг 1. Создание отдельного SMTP-пользователя
|
||||
|
||||
Чтобы безопасно отправлять письма через сервер, создадим отдельного пользователя.
|
||||
|
||||
### Команды:
|
||||
|
||||
Создать пользователя без доступа к SSH:
|
||||
```bash
|
||||
adduser smtpuser --shell /usr/sbin/nologin
|
||||
```
|
||||
(задай пароль)
|
||||
|
||||
Проверить пользователя:
|
||||
```bash
|
||||
id smtpuser
|
||||
```
|
||||
|
||||
Если нужно поменять пароль позже:
|
||||
```bash
|
||||
passwd smtpuser
|
||||
```
|
||||
|
||||
✅ Теперь пользователь `smtpuser` будет использоваться для аутентификации в SMTP.
|
||||
|
||||
---
|
||||
|
||||
## 📏 Шаг 2. Установка и настройка Postfix
|
||||
|
||||
### Установка Postfix:
|
||||
```bash
|
||||
apt update
|
||||
apt install postfix mailutils libsasl2-modules sasl2-bin
|
||||
```
|
||||
|
||||
При установке выбери:
|
||||
- Тип: **Internet Site**
|
||||
- Имя системы почты: `mail.yourdomain.com`
|
||||
|
||||
### Базовая настройка Postfix (`/etc/postfix/main.cf`):
|
||||
|
||||
Добавить или проверить:
|
||||
```ini
|
||||
myhostname = mail.yourdomain.com
|
||||
mydestination = localhost
|
||||
inet_interfaces = all
|
||||
inet_protocols = ipv4
|
||||
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.yourdomain.com/fullchain.pem
|
||||
smtpd_tls_key_file = /etc/letsencrypt/live/mail.yourdomain.com/privkey.pem
|
||||
smtpd_use_tls = yes
|
||||
smtpd_tls_security_level = may
|
||||
smtp_tls_security_level = may
|
||||
|
||||
# Аутентификация
|
||||
smtpd_sasl_auth_enable = yes
|
||||
smtpd_sasl_security_options = noanonymous
|
||||
smtpd_sasl_local_domain = $myhostname
|
||||
broken_sasl_auth_clients = yes
|
||||
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
|
||||
```
|
||||
|
||||
### Настроить SASL:
|
||||
Создай файл `/etc/postfix/sasl/smtpd.conf`:
|
||||
```bash
|
||||
mkdir -p /etc/postfix/sasl
|
||||
nano /etc/postfix/sasl/smtpd.conf
|
||||
```
|
||||
Вставить в файл:
|
||||
```
|
||||
pwcheck_method: saslauthd
|
||||
mech_list: plain login
|
||||
```
|
||||
|
||||
### Включить и запустить saslauthd:
|
||||
```bash
|
||||
systemctl enable saslauthd
|
||||
systemctl start saslauthd
|
||||
```
|
||||
|
||||
Перезапустить Postfix:
|
||||
```bash
|
||||
systemctl restart postfix
|
||||
```
|
||||
|
||||
✅ Теперь сервер готов принимать письма по SMTP с авторизацией!
|
||||
|
||||
---
|
||||
|
||||
## 📏 Шаг 3. Получение SSL-сертификата Let's Encrypt (если ещё нет)
|
||||
|
||||
### Установка certbot:
|
||||
```bash
|
||||
apt install certbot
|
||||
```
|
||||
|
||||
Остановить Postfix на время получения:
|
||||
```bash
|
||||
systemctl stop postfix
|
||||
```
|
||||
|
||||
Получить сертификат:
|
||||
```bash
|
||||
certbot certonly --standalone -d mail.yourdomain.com
|
||||
```
|
||||
|
||||
Запустить обратно Postfix:
|
||||
```bash
|
||||
systemctl start postfix
|
||||
```
|
||||
|
||||
✅ Теперь сервер использует безопасное шифрование TLS.
|
||||
|
||||
---
|
||||
|
||||
## 📏 Шаг 4. Подключение к SMTP-серверу в других сервисах
|
||||
|
||||
Когда сервер готов, можно использовать его для отправки писем с сайтов, CRM и скриптов.
|
||||
|
||||
### Данные для подключения к SMTP:
|
||||
|
||||
| Параметр | Значение |
|
||||
|:---------|:---------|
|
||||
| SMTP сервер (host) | mail.yourdomain.com |
|
||||
| Порт | 587 |
|
||||
| Шифрование | STARTTLS |
|
||||
| Логин | smtpuser |
|
||||
| Пароль | пароль от smtpuser |
|
||||
|
||||
✅ Теперь можно настроить любой сервис на отправку через ваш сервер.
|
||||
|
||||
---
|
||||
|
||||
## 📏 Пример: настройка отправки писем через SMTP в Gitea
|
||||
|
||||
В `app.ini` Gitea нужно прописать:
|
||||
|
||||
```ini
|
||||
[mailer]
|
||||
ENABLED = true
|
||||
PROTOCOL = smtp
|
||||
SMTP_ADDR = mail.yourdomain.com
|
||||
SMTP_PORT = 587
|
||||
USER = smtpuser
|
||||
PASSWD = пароль
|
||||
FROM = Gitea <noreply@yourdomain.com>
|
||||
SKIP_VERIFY = false
|
||||
USE_TLS = true
|
||||
```
|
||||
|
||||
После перезапуска Gitea сервер будет отправлять уведомления через ваш SMTP!
|
||||
|
||||
Перезапуск Gitea:
|
||||
```bash
|
||||
systemctl restart gitea
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# ✅ ИТОГО
|
||||
|
||||
| Шаг | Статус |
|
||||
|:----|:-------|
|
||||
| Создан пользователь SMTP | ✅ |
|
||||
| Установлен и настроен Postfix | ✅ |
|
||||
| Настроена аутентификация SASL | ✅ |
|
||||
| Получен SSL сертификат | ✅ |
|
||||
| Подключение сервисов через SMTP | ✅ |
|
||||
|
||||
🚀 Теперь ваш собственный SMTP-сервер полностью готов к работе!
|
||||
|
@ -0,0 +1,131 @@
|
||||
---
|
||||
title: Основные каталоги Debian Linux
|
||||
slug: администрирование/основные-каталоги-debian-linux
|
||||
---
|
||||
|
||||
> Эта структура почти одинакова для всех дистрибутивов Linux. Эти каталоги используются для чёткого разделения ролей файлов и упрощения администрирования серверов.
|
||||
|
||||
---
|
||||
|
||||
# 📁 Подробное описание всех каталогов
|
||||
|
||||
## `/`
|
||||
Корневая директория всей файловой системы.
|
||||
- Все каталоги и файлы находятся внутри `/`.
|
||||
- Удаление или повреждение `/` критично для всей системы.
|
||||
|
||||
## `/bin`
|
||||
Базовые системные утилиты.
|
||||
- Программы, необходимые для работы системы даже в аварийном режиме: `ls`, `cp`, `mv`, `rm`, `cat`.
|
||||
|
||||
## `/boot`
|
||||
Файлы загрузки системы.
|
||||
- Ядро Linux (`vmlinuz`), начальный RAM-диск (`initrd.img`), конфигурация загрузчика GRUB (`/boot/grub/`).
|
||||
|
||||
## `/dev`
|
||||
Файлы устройств.
|
||||
- Представляют устройства как файлы: диски, терминалы, USB-устройства.
|
||||
- Управляются системой через `udev`.
|
||||
|
||||
## `/etc`
|
||||
Конфигурационные файлы системы и программ.
|
||||
- Все настройки сервисов: `nginx`, `ssh`, `cron`, `network`, `fstab`.
|
||||
- Ключевая директория для резервного копирования.
|
||||
|
||||
## `/home`
|
||||
Домашние каталоги пользователей.
|
||||
- Личные файлы и настройки.
|
||||
- Часто сохраняется отдельно при переустановке системы.
|
||||
|
||||
## `/lib`
|
||||
Системные библиотеки.
|
||||
- Файлы `.so`, которые используют программы из `/bin` и `/sbin`.
|
||||
|
||||
## `/media`
|
||||
Точки автоматического монтирования внешних носителей.
|
||||
- USB-флешки, внешние диски, CD/DVD.
|
||||
|
||||
## `/mnt`
|
||||
Временная точка монтирования.
|
||||
- Используется для ручного монтирования дополнительных файловых систем.
|
||||
|
||||
## `/opt`
|
||||
Каталог для сторонних приложений.
|
||||
- ПО, установленное вручную, минуя систему пакетов (`apt`).
|
||||
|
||||
## `/proc`
|
||||
Виртуальная файловая система с данными о процессах.
|
||||
- Отображает состояние ядра и процессов в реальном времени.
|
||||
|
||||
## `/root`
|
||||
Домашний каталог суперпользователя `root`.
|
||||
- Используется для хранения личных данных администратора.
|
||||
|
||||
## `/run`
|
||||
Данные текущего сеанса работы системы.
|
||||
- PID-файлы, сокеты и другая временная информация.
|
||||
|
||||
## `/sbin`
|
||||
Системные утилиты для управления.
|
||||
- Программы для настройки сети, управления дисками, восстановления системы.
|
||||
|
||||
## `/srv`
|
||||
Данные для сервисов.
|
||||
- Например, веб-сайты, базы данных FTP/HTTP-серверов.
|
||||
|
||||
## `/sys`
|
||||
Виртуальная файловая система для управления устройствами и драйверами.
|
||||
- Позволяет взаимодействовать с ядром.
|
||||
|
||||
## `/tmp`
|
||||
Каталог для временных файлов.
|
||||
- Часто очищается при перезагрузке.
|
||||
|
||||
## `/usr`
|
||||
Пользовательские приложения и библиотеки.
|
||||
- `/usr/bin/` — программы.
|
||||
- `/usr/lib/` — библиотеки.
|
||||
- `/usr/share/` — статические ресурсы (документация, локализация).
|
||||
|
||||
## `/var`
|
||||
Динамические данные системы.
|
||||
- Логи (`/var/log/`), кэш (`/var/cache/`), базы данных и очереди почты.
|
||||
|
||||
---
|
||||
|
||||
# 📁 Каталоги и их краткое назначение
|
||||
|
||||
| Каталог | Описание |
|
||||
|:---|:---|
|
||||
| `/` | Корень всей файловой системы. |
|
||||
| `/bin` | Базовые утилиты: `ls`, `cp`, `mv`, `rm`, `cat`. |
|
||||
| `/boot` | Файлы загрузки: ядро, initrd.img, grub. |
|
||||
| `/dev` | Устройства в виде файлов: диски, USB, терминалы. |
|
||||
| `/etc` | Конфигурации системы и сервисов. |
|
||||
| `/home` | Домашние каталоги пользователей. |
|
||||
| `/lib` | Библиотеки для приложений и утилит. |
|
||||
| `/media` | Точки монтирования USB и CD. |
|
||||
| `/mnt` | Временное ручное монтирование. |
|
||||
| `/opt` | Сторонние программы (не через apt). |
|
||||
| `/proc` | Виртуальные файлы процессов и ядра. |
|
||||
| `/root` | Личный каталог root-пользователя. |
|
||||
| `/run` | Текущие сессионные данные системы. |
|
||||
| `/sbin` | Системные утилиты (монтирование, сеть). |
|
||||
| `/srv` | Данные сервисов: сайты, базы. |
|
||||
| `/sys` | Доступ к устройствам и модулям ядра. |
|
||||
| `/tmp` | Временные файлы приложений. |
|
||||
| `/usr` | Приложения, библиотеки, статические ресурсы. |
|
||||
| `/var` | Логи, кэши, базы данных, очереди. |
|
||||
|
||||
---
|
||||
|
||||
# 📋 Важные каталоги для бэкапа
|
||||
|
||||
- `/etc/` — все настройки серверов.
|
||||
- `/var/` — базы, логи, кэши.
|
||||
- `/home/` — личные данные пользователей.
|
||||
- `/opt/` — сторонние приложения.
|
||||
- `/root/` — файлы администратора.
|
||||
|
||||
---
|
||||
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
title: Профиль для принудительного согласования (УЗГА)
|
||||
---
|
||||
|
||||
`(РТК) Принудительное согласование задачи`
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
title: Настройка ролей согласования УХ
|
||||
---
|
||||
|
||||
Смотри РС `ОтветственныеПоОбъектам`
|
@ -599,7 +599,7 @@ slug: примеры-сниппеты-бсп-и-типовые-работа-с-
|
||||
|
||||
ТекстЗаполнения = НормализованныйТекстДляHTML(ТекстЗаголовка);
|
||||
|
||||
Шаблон = "<th style=""width = [ШиринаКолонкиПикселей]px; font-family: [ТелоШрифт]; border: [ЯчейкаГраница]; padding: [КонтентВнутреннийОтступ]; font-size: [КонтентРазмерШрифта]; line-height: [КонтентМежстрочныйИнтервал]; text-align: left;"">
|
||||
Шаблон = "<th style=""width: [ШиринаКолонкиПикселей]px; font-family: [ТелоШрифт]; border: [ЯчейкаГраница]; padding: [КонтентВнутреннийОтступ]; font-size: [КонтентРазмерШрифта]; line-height: [КонтентМежстрочныйИнтервал]; text-align: left;"">
|
||||
| [ТекстЗаполнения]
|
||||
|</th>";
|
||||
|
||||
@ -629,7 +629,7 @@ slug: примеры-сниппеты-бсп-и-типовые-работа-с-
|
||||
|
||||
ТекстЗаполнения = НормализованныйТекстДляHTML(ТекстЯчейки);
|
||||
|
||||
Шаблон = "<td style=""width = [ШиринаКолонкиПикселей]px; font-family: [ТелоШрифт]; border: [ЯчейкаГраница]; padding: [КонтентВнутреннийОтступ]; font-size: [КонтентРазмерШрифта]; line-height: [КонтентМежстрочныйИнтервал]; color: [КонтентЦветТекста];"">
|
||||
Шаблон = "<td style=""width: [ШиринаКолонкиПикселей]px; font-family: [ТелоШрифт]; border: [ЯчейкаГраница]; padding: [КонтентВнутреннийОтступ]; font-size: [КонтентРазмерШрифта]; line-height: [КонтентМежстрочныйИнтервал]; color: [КонтентЦветТекста];"">
|
||||
| [ЗначениеЯчейкиСтрокиТаблицы]
|
||||
|</td>";
|
||||
ПараметрыЗаполнения = Новый Структура;
|
||||
|
@ -0,0 +1,25 @@
|
||||
---
|
||||
title: Переопределение форм начальной страницы для разных видов клиента
|
||||
slug: примеры-сниппеты-общее-управляемые-формы/переопределение-форм-начальной-страницы
|
||||
---
|
||||
|
||||
# В модуле приложения
|
||||
|
||||
```bsl
|
||||
Процедура ПередНачаломРаботыСистемы(Отказ)
|
||||
|
||||
#Если МобильныйКлиент Тогда
|
||||
|
||||
НастройкиНачальнойСтраницы = Новый НастройкаНачальнойСтраницы;
|
||||
НовыйСоставФорм = Новый СоставФормНачальнойСтраницы;
|
||||
НовыйСоставФорм.ЛеваяКолонка.Добавить("Документ.РасчетКалорийностиБлюда.Форма.ФормаСписка");
|
||||
НастройкиНачальнойСтраницы.УстановитьСоставФорм(НовыйСоставФорм);
|
||||
|
||||
ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиНачальнойСтраницы", ,НастройкаНачальнойСтраницы);
|
||||
|
||||
ОбновитьИнтерфейс();
|
||||
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
```
|
@ -3,22 +3,130 @@ title: Обход блокировки Youtube с помощью vps
|
||||
slug: прочее/обход-блокировки-youtube-с-помощью-vps
|
||||
---
|
||||
|
||||
## Шаг 1. Подключение к серверу через SSH
|
||||
|
||||
+ Арендуйте vds, посмотрите список хостеров на vps.today. Нужно одно ядро и вот 512 мб оперативки, ну и локация конечно же не в РФ.
|
||||
|
||||
+ После того как нашли понравившийся, откройте правила хостера или раздел FAQ, поищите там, можно ли поднимать на минимальных тарифах свой vpn. Если ничего не сказано - то заказывайте. После разворачивания ОС, подключитесь по ssh с пользователем root.
|
||||
|
||||
+ Выполните 4 команды из [Openvpn Install by angristan](https://github.com/angristan/openvpn-install)
|
||||
```bash
|
||||
apt install curl
|
||||
ssh root@<IP-адрес сервера>
|
||||
```
|
||||
При первом подключении подтвердите доверие к серверу, введя `yes`, и введите пароль.
|
||||
|
||||
## Шаг 2. Обновление списка пакетов
|
||||
|
||||
```bash
|
||||
apt update
|
||||
```
|
||||
|
||||
## Шаг 3. Установка `curl`
|
||||
|
||||
```bash
|
||||
apt install curl -y
|
||||
```
|
||||
|
||||
## Шаг 4. Загрузка установочного скрипта OpenVPN
|
||||
|
||||
```bash
|
||||
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
|
||||
```
|
||||
|
||||
## Шаг 5. Дать права на исполнение скрипта
|
||||
|
||||
```bash
|
||||
chmod +x openvpn-install.sh
|
||||
```
|
||||
|
||||
## Шаг 6. Запуск скрипта установки
|
||||
|
||||
```bash
|
||||
bash openvpn-install.sh
|
||||
```
|
||||
|
||||
+ Если ошибок нет никаких, то в конце Вас будет ждать сообщение, что .ovpn файл сформирован и его можно забрать по такому-то адресу.
|
||||
## Шаг 7. Ответы на вопросы установщика
|
||||
|
||||
+ Качаете файл, устанавливаете [клиенты](https://openvpn.net/client/) (есть под все ОС, в том числе и под android) или под linux используете NetworkManager в настройках сетевых соединений (добавить новое соединение -> импортировать vpn соединение).
|
||||
- Укажите ваш публичный IPv4-адрес сервера (он подставляется автоматически).
|
||||
- Включить поддержку IPv6: **Y** (если требуется).
|
||||
- Порт для OpenVPN: **1194** (по умолчанию).
|
||||
- Протокол: **UDP** (быстрее TCP).
|
||||
- DNS-серверы для клиента: выберите **AdGuard DNS** (опция 11) или любой другой на выбор.
|
||||
- Отключить сжатие: **No**.
|
||||
- Не настраивать кастомные параметры шифрования: **No**.
|
||||
|
||||
## Шаг 8. Ожидание завершения установки
|
||||
|
||||
OpenVPN и все зависимости установятся автоматически. Также будет создана инфраструктура сертификации (PKI).
|
||||
|
||||
## Шаг 9. Создание клиента OpenVPN
|
||||
|
||||
Когда скрипт попросит ввести имя клиента, укажите, например:
|
||||
|
||||
```text
|
||||
artem_pc
|
||||
```
|
||||
|
||||
Когда спросит о защите файла паролем:
|
||||
- Выберите **1** — без пароля для файла `.ovpn`.
|
||||
|
||||
## Шаг 10. Скачивание конфигурационного файла клиента
|
||||
|
||||
Готовый файл для подключения к VPN находится в:
|
||||
|
||||
```bash
|
||||
/root/artem_pc.ovpn
|
||||
```
|
||||
|
||||
### Как скачать все `.ovpn` файлы на Windows через PowerShell
|
||||
|
||||
В PowerShell выполни команду:
|
||||
|
||||
```powershell
|
||||
scp root@<IP-адрес сервера>:/root/*.ovpn C:\Users\ТВОЙ_ПОЛЬЗОВАТЕЛЬ\Downloads\
|
||||
```
|
||||
|
||||
Где:
|
||||
- `<IP-адрес сервера>` — это IP твоего VPS.
|
||||
- `ТВОЙ_ПОЛЬЗОВАТЕЛЬ` — имя твоего пользователя Windows.
|
||||
|
||||
Тебя попросят ввести пароль от сервера.
|
||||
|
||||
Если команда `scp` отсутствует, установи OpenSSH-клиент командой:
|
||||
|
||||
```powershell
|
||||
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
|
||||
```
|
||||
|
||||
### Альтернативный способ — через WinSCP
|
||||
|
||||
- Скачай программу [WinSCP](https://winscp.net/eng/download.php).
|
||||
- Подключись по протоколу SFTP к серверу.
|
||||
- Найди файл `/root/artem_pc.ovpn` и скачай его на компьютер.
|
||||
|
||||
## Шаг 11. Импорт файла в OpenVPN клиент на Windows
|
||||
|
||||
- Скачай и установи [OpenVPN Connect](https://openvpn.net/client-connect-vpn-for-windows/).
|
||||
- Открой программу.
|
||||
- Нажми "Import Profile" → выбери файл `artem_pc.ovpn`.
|
||||
- Подключись!
|
||||
|
||||
---
|
||||
|
||||
# Готово!
|
||||
|
||||
Теперь вы можете подключаться к вашему серверу через OpenVPN используя файл `artem_pc.ovpn`.
|
||||
|
||||
|
||||
**Полезные команды для управления OpenVPN:**
|
||||
|
||||
- Перезапустить сервер OpenVPN:
|
||||
```bash
|
||||
systemctl restart openvpn@server
|
||||
```
|
||||
|
||||
- Проверить статус сервиса:
|
||||
```bash
|
||||
systemctl status openvpn@server
|
||||
```
|
||||
|
||||
- Добавить нового клиента позже:
|
||||
```bash
|
||||
bash openvpn-install.sh
|
||||
```
|
||||
(Скрипт позволяет добавлять и удалять клиентов после установки.)
|
||||
|
Loading…
x
Reference in New Issue
Block a user