Translate documentation to Russian

devel
Alexey Berezhok 6 months ago
parent 2c2399b24b
commit 92f77aceca

@ -33,8 +33,8 @@ export default defineConfig({
outline: [2, 3],
footer: {
message: 'Released under the GPLv3 License.',
copyright: 'Copyright © 2019-present Hestia Control Panel and some RPM based components belongs to bayrepo',
message: 'Выпущена под лицензией GPLv3.',
copyright: 'Copyright © 2019-present Hestia Control Panel и некоторые RPM based компоненты принадлежат bayrepo',
},
},
@ -43,9 +43,9 @@ export default defineConfig({
/** @returns {import("vitepress").DefaultTheme.NavItem[]} */
function nav() {
return [
{ text: 'Features', link: '/features.md' },
{ text: 'Install', link: '/install.md' },
{ text: 'Documentation', link: '/docs/introduction/getting-started.md', activeMatch: '/docs/' },
{ text: 'Характеристики', link: '/features.md' },
{ text: 'Установка', link: '/install.md' },
{ text: 'Документация', link: '/docs/introduction/getting-started.md', activeMatch: '/docs/' },
{
text: `v${version}`,
items: [
@ -54,11 +54,11 @@ function nav() {
link: 'https://dev.brepo.ru/bayrepo/hestiacp/src/branch/master/CHANGELOG.md',
},
{
text: 'Contributing',
text: 'Содействие в разработке',
link: 'https://dev.brepo.ru/bayrepo/hestiacp/src/branch/master/CONTRIBUTING.md',
},
{
text: 'Security policy',
text: 'Политика безопасности',
link: 'https://dev.brepo.ru/bayrepo/hestiacp/src/branch/master/SECURITY.md',
},
],
@ -69,64 +69,64 @@ function nav() {
function sidebarDocs() {
return [
{
text: 'Introduction',
text: 'Знакомство',
collapsed: false,
items: [
{ text: 'Getting started', link: '/docs/introduction/getting-started.md' },
{ text: 'Best practices', link: '/docs/introduction/best-practices.md' },
{ text: 'С чего начать', link: '/docs/introduction/getting-started.md' },
{ text: 'Рекомендации', link: '/docs/introduction/best-practices.md' },
],
},
{
text: 'User guide',
text: 'Инструкция пользователя',
collapsed: false,
items: [
{ text: 'Account', link: '/docs/user-guide/account.md' },
{ text: 'Backups', link: '/docs/user-guide/backups.md' },
{ text: 'Cron jobs', link: '/docs/user-guide/cron-jobs.md' },
{ text: 'Databases', link: '/docs/user-guide/databases.md' },
{ text: 'Аккаунт', link: '/docs/user-guide/account.md' },
{ text: 'Резервные копии', link: '/docs/user-guide/backups.md' },
{ text: 'Cron задачи', link: '/docs/user-guide/cron-jobs.md' },
{ text: 'Базы данных', link: '/docs/user-guide/databases.md' },
{ text: 'DNS', link: '/docs/user-guide/dns.md' },
{ text: 'File manager', link: '/docs/user-guide/file-manager.md' },
{ text: 'Mail domains', link: '/docs/user-guide/mail-domains.md' },
{ text: 'Notifications', link: '/docs/user-guide/notifications.md' },
{ text: 'Packages', link: '/docs/user-guide/packages.md' },
{ text: 'Statistics', link: '/docs/user-guide/statistics.md' },
{ text: 'Users', link: '/docs/user-guide/users.md' },
{ text: 'Web domains', link: '/docs/user-guide/web-domains.md' },
{ text: 'Менеджер файлов', link: '/docs/user-guide/file-manager.md' },
{ text: 'Почтовые домены', link: '/docs/user-guide/mail-domains.md' },
{ text: 'Оповещения', link: '/docs/user-guide/notifications.md' },
{ text: 'Пакеты', link: '/docs/user-guide/packages.md' },
{ text: 'Статистика', link: '/docs/user-guide/statistics.md' },
{ text: 'Пользователи', link: '/docs/user-guide/users.md' },
{ text: 'Веб домены', link: '/docs/user-guide/web-domains.md' },
],
},
{
text: 'Server administration',
text: 'Администрирование сервера',
collapsed: false,
items: [
{ text: 'Backup & restore', link: '/docs/server-administration/backup-restore.md' },
{ text: 'Configuration', link: '/docs/server-administration/configuration.md' },
{ text: 'Customisation', link: '/docs/server-administration/customisation.md' },
{ text: 'Databases & phpMyAdmin', link: '/docs/server-administration/databases.md' },
{ text: 'DNS clusters & DNSSEC', link: '/docs/server-administration/dns.md' },
{ text: 'Создание резервных копий и восстановление', link: '/docs/server-administration/backup-restore.md' },
{ text: 'Конфигурация', link: '/docs/server-administration/configuration.md' },
{ text: 'Персональная настройка', link: '/docs/server-administration/customisation.md' },
{ text: 'Базы данных и phpMyAdmin', link: '/docs/server-administration/databases.md' },
{ text: 'DNS кластера & DNSSEC', link: '/docs/server-administration/dns.md' },
{ text: 'Email', link: '/docs/server-administration/email.md' },
{ text: 'File manager', link: '/docs/server-administration/file-manager.md' },
{ text: 'Менеджер файлов', link: '/docs/server-administration/file-manager.md' },
{ text: 'Firewall', link: '/docs/server-administration/firewall.md' },
{ text: 'OS upgrades', link: '/docs/server-administration/os-upgrades.md' },
{ text: 'Обновления ОС', link: '/docs/server-administration/os-upgrades.md' },
{ text: 'Rest API', link: '/docs/server-administration/rest-api.md' },
{ text: 'SSL certificates', link: '/docs/server-administration/ssl-certificates.md' },
{ text: 'Web templates & caching', link: '/docs/server-administration/web-templates.md' },
{ text: 'SSL сертификаты', link: '/docs/server-administration/ssl-certificates.md' },
{ text: 'Веб шаблоны и кэширование', link: '/docs/server-administration/web-templates.md' },
{ text: 'Troubleshooting', link: '/docs/server-administration/troubleshooting.md' },
],
},
{
text: 'Contributing',
text: 'Содейтсвие в разработке',
collapsed: false,
items: [
{ text: 'Building Packages', link: '/docs/contributing/building.md' },
{ text: 'Development', link: '/docs/contributing/development.md' },
{ text: 'Documentation', link: '/docs/contributing/documentation.md' },
{ text: 'Quick install app', link: '/docs/contributing/quick-install-app.md' },
{ text: 'Testing', link: '/docs/contributing/testing.md' },
{ text: 'Translations', link: '/docs/contributing/translations.md' },
{ text: 'Сборка пакетов', link: '/docs/contributing/building.md' },
{ text: 'Разработка', link: '/docs/contributing/development.md' },
{ text: 'Документация', link: '/docs/contributing/documentation.md' },
{ text: 'Установка приложений', link: '/docs/contributing/quick-install-app.md' },
{ text: 'Тестирование', link: '/docs/contributing/testing.md' },
{ text: 'Переводы', link: '/docs/contributing/translations.md' },
],
},
{
text: 'Community',
text: 'Сообщество',
collapsed: false,
items: [
{ text: 'Hestia Nginx Cache', link: '/docs/community/hestia-nginx-cache.md' },
@ -134,11 +134,11 @@ function sidebarDocs() {
text: 'Ioncube installer for Hestia',
link: '/docs/community/ioncube-hestia-installer.md',
},
{ text: 'Install script generator', link: '/docs/community/install-script-generator.md' },
{ text: 'Генератор установочной команды', link: '/docs/community/install-script-generator.md' },
],
},
{
text: 'Reference',
text: 'Ссылки',
collapsed: false,
items: [
{ text: 'API', link: '/docs/reference/api.md' },
@ -146,10 +146,10 @@ function sidebarDocs() {
],
},
{
text: 'Extensions',
text: 'Дополнения',
collapsed: false,
items: [
{ text: 'PHP cli selector', link: '/docs/extensions/php-cli-selector.md' },
{ text: 'PHP cli селектор', link: '/docs/extensions/php-cli-selector.md' },
],
},
];

@ -2,19 +2,19 @@
/** @type {FeatureListItem[]} */
export const users = [
{ text: 'Support for SFTP chroot jails' },
{ text: 'Two-Factor Authentication support for the Admin Panel' },
{ text: 'SSH keys for login via SFTP and SSH' },
{ text: 'Поддержка SFTP chroot изоляции' },
{ text: 'Поддержка двухфакторной авторизации' },
{ text: 'SSH ключи для входа по SFTP и SSH' },
];
/** @type {FeatureListItem[]} */
export const webDomains = [
{ text: 'Nginx FastCGI cache support for Nginx + PHP-FPM' },
{ text: 'Nginx Proxy cache support for Nginx + Apache2' },
{ text: 'Per-domain TLS certificates for web domains' },
{ text: 'MultiIP support for Web/Mail/DNS' },
{ text: 'Поддержка Nginx FastCGI кэш Nginx + PHP-FPM' },
{ text: 'Поддержка Nginx Proxy кэш для Nginx + Apache2' },
{ text: 'TLS сертификация для каждого веб домена' },
{ text: 'Поддержка MultiIP для Web/Mail/DNS' },
{
text: 'MultiPHP support for',
text: 'Поддержка MultiPHP',
items: [
{ text: "PHP 7.4 (<a href='https://www.php.net/supported-versions.php'>EOL</a>)" },
{ text: 'PHP 8.0' },
@ -29,33 +29,33 @@ export const webDomains = [
/** @type {FeatureListItem[]} */
export const mail = [
{
text: 'Per-domain TLS certificates for inbound and outbound mail services (Exim 4, Dovecot, Webmail)',
text: 'Для каждого домена TLS сертификаты для входящей и исходящей почты (Exim 4, Dovecot, Webmail)',
},
{ text: 'SMTP relay setup for Exim in case port 25 is blocked by the provider' },
{ text: 'Rate limit adjustable per user or email account' },
{ text: 'Lets Encrypt support for mail domains' },
{ text: 'Latest version of Roundcube' },
{ text: 'Optional SnappyMail installation' },
{ text: 'Настройка ретрансляции SMTP для Exim на случай, если провайдер заблокирует порт 25' },
{ text: 'Ограничение скорости настраивается для каждого пользователя или учетной записи электронной почты' },
{ text: 'Поддержка Lets Encrypt для почтовых доменов' },
{ text: 'Последняя версия Roundcube' },
{ text: 'Дополнительная установка SnappyMail' },
];
/** @type {FeatureListItem[]} */
export const dns = [
{ text: 'Create your own nameservers' },
{ text: 'Easy DNS cluster setup' },
{ text: 'Support for DNSSEC on domains' },
{ text: 'Создавайте свои собственные NS' },
{ text: 'Легкая установка DNS кластера' },
{ text: 'Поддержка DNSSEC для длменов' },
];
/** @type {FeatureListItem[]} */
export const databases = [
{ text: 'Support for MariaDB 10.2 -> 10.11 with 10.11 as default' },
{ text: 'Support for MySQL 8' },
{ text: 'Support for PostgreSQL' },
{ text: 'Latest version of phpMyAdmin and phpPgAdmin' },
{ text: 'Поддержка MariaDB 10.2 -> 10.11 с 10.11 по-умолчанию' },
{ text: 'Поддержка MySQL 8' },
{ text: 'Поддержка PostgreSQL' },
{ text: 'Последняя версия phpMyAdmin и phpPgAdmin' },
];
/** @type {FeatureListItem[]} */
export const serverAdmin = [
{
text: "Automated backups to SFTP, FTP and via Rclone with 50+ <a href='https://rclone.org/overview/'>Cloud storage providers</a>",
text: "Автоматическое резервное копирование на SFTP, FTP и посредством Rclone с 50+ <a href='https://rclone.org/overview/'>Cloud storage providers</a>",
},
];

@ -3,7 +3,7 @@ export const options = [
name: ' --port',
id: 'port',
param: '--port',
desc: 'Change Hestia Port',
desc: 'Изменить порт Hestia',
selected: true,
text: '8083',
textField: true,
@ -22,7 +22,7 @@ export const options = [
name: ' --hostname',
id: 'hostname',
param: '--hostname',
desc: 'Set hostname',
desc: 'Установить имя хоста',
selected: false,
text: '',
textField: true,
@ -31,7 +31,7 @@ export const options = [
name: ' --email',
id: 'email',
param: '--email',
desc: 'Set admin email',
desc: 'Установить почту адмнистратора',
selected: false,
text: '',
textField: true,
@ -40,7 +40,7 @@ export const options = [
name: ' --password',
id: 'password',
param: '--password',
desc: 'Set admin password',
desc: 'Установить пароль администратора',
selected: false,
text: '',
textField: true,
@ -49,22 +49,22 @@ export const options = [
name: ' --apache',
id: 'apache',
param: '--apache',
desc: 'Web server with htaccess support.',
desc: 'Веб сервер с поддержкой .htaccess',
selected: true,
},
{ name: ' --phpfpm', id: 'phpfpm', param: '--phpfpm', desc: 'Install PHP-FPM.', selected: true },
{ name: ' --phpfpm', id: 'phpfpm', param: '--phpfpm', desc: 'Установить PHP-FPM.', selected: true },
{
name: ' --multiphp',
id: 'multiphp',
param: '--multiphp',
desc: 'Allows installing multiple PHP versions.',
desc: 'Разрешить использовать несколько PHP версий.',
selected: true,
},
{
name: ' --vsftpd',
id: 'vsftpd',
param: '--vsftpd',
desc: 'Lightweight, minimalist and secure FTP server.',
desc: 'Легковесный, минималистичный и безопасный FTP сервер.',
selected: true,
conflicts: 'proftpd',
},
@ -72,7 +72,7 @@ export const options = [
name: ' --proftpd',
id: 'proftpd',
param: '--proftpd',
desc: 'Advanced, modular FTP server that supports LDAP.',
desc: 'Продвинутый, модульный FTP сервер с поддержкой LDAP.',
selected: false,
conflicts: 'vsftpd',
},
@ -80,14 +80,14 @@ export const options = [
name: ' --named',
id: 'named',
param: '--named',
desc: 'Custom DNS name server.',
desc: 'Собственный DNS сервер.',
selected: true,
},
{
name: ' --mariadb',
id: 'mariadb',
param: '--mariadb',
desc: 'Fork of MySQL with additional features and improvements.',
desc: 'Ответление MySQL с дополнительными усовершенствованиями.',
selected: true,
conflicts: 'mysql8',
},
@ -95,7 +95,7 @@ export const options = [
name: ' --mysql8',
id: 'mysql8',
param: '--mysql8',
desc: 'Open-source database system.',
desc: 'База данных с открытым исходным кодом',
selected: false,
conflicts: 'mariadb',
},
@ -103,21 +103,21 @@ export const options = [
name: ' --postgresql',
id: 'postgresql',
param: '--postgresql',
desc: 'Open-source database system.',
desc: 'База данных с открытым исходным кодом',
selected: false,
},
{
name: ' --exim',
id: 'exim',
param: '--exim',
desc: 'Allows sending emails from webmail or via SMTP.',
desc: 'Позволить отправлять почту по SMTP.',
selected: true,
},
{
name: ' --dovecot',
id: 'dovecot',
param: '--dovecot',
desc: 'Receive emails and connect with email clients via IMAP/POP3.',
desc: 'Принимать почту и отправлять по IMAP/POP3.',
selected: true,
depends: 'exim',
},
@ -125,7 +125,7 @@ export const options = [
name: ' --sieve',
id: 'sieve',
param: '--sieve',
desc: 'Manage your own custom email filters.',
desc: 'Управлять собственными фильтрами почты.',
selected: false,
depends: 'dovecot',
},
@ -133,7 +133,7 @@ export const options = [
name: ' --clamav',
id: 'clamav',
param: '--clamav',
desc: 'Scans your email inbox for viruses.',
desc: 'Сканировать почту на вирусы.',
selected: true,
depends: 'exim',
},
@ -141,7 +141,7 @@ export const options = [
name: ' --spamassassin',
id: 'spamassassin',
param: '--spamassassin',
desc: 'Filter out spam emails from your inbox.',
desc: 'Фильтровать почту на спам.',
selected: true,
depends: 'exim',
},
@ -149,21 +149,21 @@ export const options = [
name: ' --iptables',
id: 'iptables',
param: '--iptables',
desc: 'Manage your firewall within Hestia.',
desc: 'Управлять фаерволом.',
selected: true,
},
{
name: ' --fail2ban',
id: 'fail2ban',
param: '--fail2ban',
desc: 'Provides Bruteforce protection for SSH, Email, FTP, database.',
desc: 'Предотвращение Bruteforce атак на SSH, Email, FTP, БД.',
selected: true,
},
{
name: ' --quota',
id: 'quota',
param: '--quota',
desc: 'Use hard disk space limits on user packages.',
desc: 'Использовать квоты на пользовательские аккаунты.',
selected: false,
},
{ name: ' --api', id: 'api', param: '--api', desc: 'Activate API.', selected: true },
@ -171,8 +171,8 @@ export const options = [
name: ' --interactive',
id: 'interactive',
param: '--interactive',
desc: 'Interactive install.',
desc: 'Интерактивная установка.',
selected: true,
},
{ name: ' --force', id: 'force', param: '--force', desc: 'Force installation.', selected: false },
{ name: ' --force', id: 'force', param: '--force', desc: 'Принудительная установка.', selected: false },
];

@ -1,33 +1,33 @@
# Building packages
# Сборка пакетов
::: info
For building `hestia-nginx` or `hestia-php`, at least 2 GB of memory is required!
Для сборки `hestia-nginx` или `hestia-php` требуется не менее 2 ГБ памяти!
:::
Here is more detailed information about the build scripts that are run from `src`:
Вот более подробная информация о скриптах сборки, которые запускаются из `src`:
## Installing Hestia from a branch
## Установка Hestia из ветки
The following is useful for testing a Pull Request or a branch on a fork.
Следующее полезно для тестирования запроса на извлечение или ветки в форке.
1. Install Node.js [Download](https://nodejs.org/en/download) or use [Node Source APT](https://github.com/nodesource/distributions)
1. Установите Node.js [Загрузить](https://nodejs.org/en/download) или используйте [Node Source APT](https://github.com/nodesource/distributions)
```bash
# Replace with https://github.com/username/hestiacp.git if you want to test a branch that you created yourself
# Замените на https://github.com/username/hestiacp.git, если хотите протестировать ветку, которую создали сами
git clone https://github.com/hestiacp/hestiacp.git
cd ./hestiacp/
# Replace main with the branch you want to test
# Замените main на ветку, которую хотите протестировать
git checkout main
# Install Dependencies
# Установите зависимости
npm install
# Build
# Сборка
npm run build
cd ./src/
# Compile packages
# Скомпилируйте пакеты
./hst_autocompile.sh --all --noinstall --keepbuild '~localsrc'
cd ../install
@ -35,59 +35,59 @@ cd ../install
bash hst-install-{os}.sh --with-debs /tmp/hestiacp-src/deb/
```
Any option can be appended to the installer command. [See the complete list](../introduction/getting-started#list-of-installation-options).
К команде установщика можно добавить любую опцию. [См. полный список](../introduction/getting-started#list-of-installation-options).
## Build packages only
## Только сборка пакетов
```bash
# Only Hestia
# Только Hestia
./hst_autocompile.sh --hestia --noinstall --keepbuild '~localsrc'
```
```bash
# Hestia + hestia-nginx and hestia-php
# Hestia + hestia-nginx и hestia-php
./hst_autocompile.sh --all --noinstall --keepbuild '~localsrc'
```
## Build and install packages
## Сборка и установка пакетов
::: info
Use if you have Hestia already installed, for your changes to take effect.
Используйте, если у вас уже установлена Hestia, чтобы изменения вступили в силу.
:::
```bash
# Only Hestia
# Только Hestia
./hst_autocompile.sh --hestia --install '~localsrc'
```
```bash
# Hestia + hestia-nginx and hestia-php
# Hestia + hestia-nginx и hestia-php
./hst_autocompile.sh --all --install '~localsrc'
```
## Updating Hestia from GitHub
## Обновление Hestia с GitHub
The following is useful for pulling the latest staging/beta changes from GitHub and compiling the changes.
Следующее полезно для извлечения последних изменений staging/beta с GitHub и компиляции изменений.
::: info
The following method only supports building the `hestia` package. If you need to build `hestia-nginx` or `hestia-php`, use one of the previous commands.
Следующий метод поддерживает только сборку пакета `hestia`. Если вам нужно собрать `hestia-nginx` или `hestia-php`, используйте одну из предыдущих команд.
:::
1. Install Node.js [Download](https://nodejs.org/en/download) or use [Node Source APT](https://github.com/nodesource/distributions)
1. Установите Node.js [Загрузить](https://nodejs.org/en/download) или используйте [Node Source APT](https://github.com/nodesource/distributions)
```bash
v-update-sys-hestia-git [USERNAME] [BRANCH]
v-update-sys-hestia-git [ИМЯ ПОЛЬЗОВАТЕЛЯ] [ВЕТКА]
```
**Note:** Sometimes dependencies will get added or removed when the packages are installed with `dpkg`. It is not possible to preload the dependencies. If this happens, you will see an error like this:
**Примечание:** Иногда зависимости добавляются или удаляются при установке пакетов с помощью `dpkg`. Предварительная загрузка зависимостей невозможна. Если это произойдет, вы увидите ошибку, подобную этой:
```bash
dpkg: error processing package hestia (install):
dependency problems - leaving unconfigured
dpkg: ошибка при обработке пакета hestia (install):
проблемы с зависимостями - оставляем ненастроенным
```
To solve this issue, run:
Чтобы решить эту проблему, выполните:
```bash
apt install -f
```
```

@ -1,21 +1,21 @@
# Contributing to Hestias development
# Вклад в разработку Hestia
Hestia is an open-source project, and we welcome contributions from the community. Please read the [contributing guidelines](https://github.com/hestiacp/hestiacp/blob/main/CONTRIBUTING.md) for additional information.
Hestia — проект с открытым исходным кодом, и мы приветствуем вклад сообщества. Пожалуйста, прочтите [руководство по вкладу](https://github.com/hestiacp/hestiacp/blob/main/CONTRIBUTING.md) для получения дополнительной информации.
Hestia is designed to be installed on a web server. To develop Hestia on your local machine, a virtual machine is recommend.
Hestia предназначена для установки на веб-сервер. Для разработки Hestia на локальном компьютере рекомендуется виртуальная машина.
::: warning
Development builds are unstable. If you encounter a bug please [report it via GitHub](https://github.com/hestiacp/hestiacp/issues/new/choose) or [submit a Pull Request](https://github.com/hestiacp/hestiacp/pulls).
Сборки для разработки нестабильны. Если вы столкнулись с ошибкой, [сообщите о ней через GitHub](https://github.com/hestiacp/hestiacp/issues/new/choose) или [отправьте запрос на извлечение](https://github.com/hestiacp/hestiacp/pulls).
:::
## Creating a virtual machine for development
## Создание виртуальной машины для разработки
These are example instructions for creating a virtual machine running Hestia for development.
Это примеры инструкций по созданию виртуальной машины, на которой запущена Hestia для разработки.
These instructions use [Multipass](https://multipass.run/) to create the VM. Feel free to adapt the commands for any virtualization software you prefer.
В этих инструкциях для создания виртуальной машины используется [Multipass](https://multipass.run/). Вы можете адаптировать команды для любого программного обеспечения виртуализации, которое вам нравится.
::: warning
Sometimes the mapping between the source code directory on your local machine to the directory in the VM can be lost with a "failed to obtain exit status for remote process" error. If this happens simply unmount and remount e.g.
Иногда сопоставление между каталогом исходного кода на локальной машине и каталогом в виртуальной машине может быть потеряно с ошибкой «не удалось получить статус выхода для удаленного процесса». Если это произошло, просто размонтируйте и перемонтируйте, например,
```bash
multipass unmount hestia-dev
@ -24,150 +24,150 @@ multipass mount $HOME/projects/hestiacp hestia-dev:/home/ubuntu/hestiacp
:::
1. [Install Multipass](https://multipass.run/install) for your OS.
1. [Установите Multipass](https://multipass.run/install) для вашей ОС.
1. [Fork Hestia](https://github.com/hestiacp/hestiacp/fork) and clone the repository to your local machine
1. [Fork Hestia](https://github.com/hestiacp/hestiacp/fork) и клонируйте репозиторий на локальную машину
```bash
git clone https://github.com/YourUsername/hestiacp.git $HOME/projects
```
```bash
git clone https://github.com/YourUsername/hestiacp.git $HOME/projects
```
1. Create an Ubuntu VM with at least 2G of memory and 15G of disk space
1. Создайте виртуальную машину Ubuntu с объемом памяти не менее 2 ГБ и дисковым пространством 15 ГБ
```bash
multipass launch --name hestia-dev --memory 2G --disk 15G
```
```bash
multipass launch --name hestia-dev --memory 2G --disk 15G
```
1. Map your cloned repository to the VM's home directory
1. Сопоставьте клонированный репозиторий с домашним каталогом виртуальной машины
```bash
multipass mount $HOME/projects/hestiacp hestia-dev:/home/ubuntu/hestiacp
```
```bash
multipass mount $HOME/projects/hestiacp hestia-dev:/home/ubuntu/hestiacp
```
1. SSH into the VM as root and install some required packages
1. Подключитесь к виртуальной машине по SSH как root и установите некоторые необходимые пакеты
```bash
multipass exec hestia-dev -- sudo bash
sudo apt update && sudo apt install -y jq libjq1
```
```bash
multipass exec hestia-dev -- sudo bash
sudo apt update && sudo apt install -y jq libjq1
```
1. Outside of the VM (in a new terminal) ensure [Node.js](https://nodejs.org/)
16 or later is installed
1. За пределами виртуальной машины (в новом терминале) убедитесь, что установлен [Node.js](https://nodejs.org/)
16 или более поздней версии
```bash
node --version
```
```bash
node --version
```
1. Install dependencies and build the theme files:
1. Установите зависимости и соберите файлы темы:
```bash
npm install
npm run build
```
```bash
npm install
npm run build
```
1. Back in the VM terminal, navigate to `/src` and build Hestia packages
1. Вернитесь в терминал виртуальной машины, перейдите в `/src` и соберите пакеты Hestia
```bash
cd src
./hst_autocompile.sh --hestia --noinstall --keepbuild '~localsrc'
```
```bash
cd src
./hst_autocompile.sh --hestia --noinstall --keepbuild '~localsrc'
```
1. Navigate to `/install` and install Hestia
1. Перейдите в `/install` и установите Hestia
_(update the [installation flags](../introduction/getting-started#list-of-installation-options) to your liking, note that login credentials are set here)_
_(обновите [install flags](../introduction/getting-started#list-of-installation-options) по своему вкусу, обратите внимание, что учетные данные для входа задаются здесь)_
```bash
cd ../install
bash hst-install-ubuntu.sh -D /tmp/hestiacp-src/deb/ --interactive no --email admin@example.com --password Password123 --hostname demo.hestiacp.com -f
```
```bash
cd ../install
bash hst-install-ubuntu.sh -D /tmp/hestiacp-src/deb/ --interactive no --email admin@example.com --password Password123 --hostname demo.hestiacp.com -f
```
1. Reboot the VM (and exit SSH session)
1. Перезагрузите ВМ (и выйдите из сеанса SSH)
```bash
reboot
```
```bash
reboot
```
1. Find the IP address of the VM
1. Найдите IP-адрес ВМ
```bash
multipass list
```
```bash
multipass list
```
1. Visit the VM's IP address in your browser using the default Hestia port and login with `admin`/`Password123`
1. Перейдите по IP-адресу ВМ в своем браузере, используя порт Hestia по умолчанию, и войдите с помощью `admin`/`Password123`
_(proceed past any SSL errors you see when loading the page)_
_(пропустите любые ошибки SSL, которые вы видите при загрузке страницы)_
```bash
e.g. https://192.168.64.15:8083
```
```bash
например https://192.168.64.15:8083
```
Hestia is now running in a virtual machine. If you'd like to make changes to the source code and test them in your browser, please continue to the next section.
Hestia теперь работает на виртуальной машине. Если вы хотите внести изменения в исходный код и протестировать их в браузере, перейдите к следующему разделу.
## Making changes to Hestia
## Внесение изменений в Hestia
After setting up Hestia in a VM you can now make changes to the source code at `$HOME/projects/hestiacp` on your local machine (outside of the VM) using your editor of choice.
После настройки Hestia на виртуальной машине вы теперь можете вносить изменения в исходный код в `$HOME/projects/hestiacp` на локальной машине (вне виртуальной машины) с помощью редактора по вашему выбору.
The following are example instructions for making a change to Hestia's UI and testing it locally.
Ниже приведены примеры инструкций по внесению изменений в пользовательский интерфейс Hestia и его локальному тестированию.
1. At the root of the project on your local machine, ensure the latest packages are installed
1. В корне проекта на локальной машине убедитесь, что установлены последние пакеты
```bash
npm install
```
```bash
npm install
```
1. Make a change to a file that we can later test, then build the UI assets
1. Внесите изменения в файл, который мы сможем протестировать позже, затем соберите ресурсы пользовательского интерфейса
_e.g. change the body background color to red in `web/css/src/base.css` then run:_
апример измените цвет фона тела на красный в `web/css/src/base.css`, затем запустите:_
```bash
npm run build
```
```bash
npm run build
```
1. SSH into the VM as root and navigate to `/src`
1. Подключитесь к виртуальной машине по SSH как root и перейдите в `/src`
```bash
multipass exec hestia-dev -- sudo bash
cd src
```
```bash
multipass exec hestia-dev -- sudo bash
cd src
```
1. Run the Hestia build script
1. Запустите скрипт сборки Hestia
```bash
./hst_autocompile.sh --hestia --install '~localsrc'
```
```bash
./hst_autocompile.sh --hestia --install '~localsrc'
```
1. Reload the page in your browser to see your changes
1. Перезагрузите страницу в браузере, чтобы увидеть изменения
::: info
A backup is created each time the Hestia build script is run. If you run this a lot it can fill up your VM's disk space.
You can delete the backups by running `rm -rf /root/hst_backups` as root user on the VM.
Резервная копия создается каждый раз при запуске скрипта сборки Hestia. Если вы запускаете его часто, он может заполнить дисковое пространство вашей виртуальной машины.
Вы можете удалить резервные копии, запустив `rm -rf /root/hst_backups` как пользователь root на виртуальной машине.
:::
Please refer to the [contributing guidelines](https://github.com/hestiacp/hestiacp/blob/main/CONTRIBUTING.md) for more details on submitting code changes for review.
Дополнительную информацию об отправке изменений кода на проверку см. в [руководстве по внесению изменений](https://github.com/hestiacp/hestiacp/blob/main/CONTRIBUTING.md).
## Running automated tests
## Запуск автоматизированных тестов
We currently use [Bats](https://github.com/bats-core/bats-core) to run our automated tests.
В настоящее время мы используем [Bats](https://github.com/bats-core/bats-core) для запуска наших автоматизированных тестов.
### Install
### Установка
```bash
# Clone Hestia repo with testing submodules
# Клонирование репозитория Hestia с тестовыми подмодулями
git clone --recurse-submodules https://github.com/hestiacp/hestiacp
# Or, using an existing local repo with an up-to-date main branch
# Или использование существующего локального репозитория с актуальной основной веткой
git submodule update --init --recursive
# Install Bats
# Установка Bats
test/test_helper/bats-core/install.sh /usr/local
```
### Run
### Запуск
::: danger
Do not run any testing script on a live server. It might cause issues or downtime!
Не запускайте никаких тестовых скриптов на рабочем сервере. Это может вызвать проблемы или простои!
:::
```bash
# Run Hestia tests
# Запуск тестов Hestia
test/test.bats
```
```

@ -1,15 +1,15 @@
# Contributing to Hestias documentation
# Внесение вклада в документацию Hestia
The documentation is built using [VitePress](https://vitepress.vuejs.org). There are a couple of requirements to contribute to it.
Документация создана с использованием [VitePress](https://vitepress.vuejs.org). Для внесения вклада есть несколько требований.
## Requirements
## Требования
- Node.js 16 or higher
- A code editor with Vue and Markdown support. We suggest [Visual Studio Code](https://code.visualstudio.com).
- Node.js 16 или выше
- Редактор кода с поддержкой Vue и Markdown. Мы рекомендуем [Visual Studio Code](https://code.visualstudio.com).
## Viewing your changes locally
## Просмотр изменений локально
1. Open the project folder in your terminal.
2. If the dependencies are not installed yet, install them by running `npm install`.
3. Run `npm run docs:dev`.
4. Navigate to `http://localhost:5173` in your browser.
1. Откройте папку проекта в терминале.
2. Если зависимости еще не установлены, установите их, запустив `npm install`.
3. Запустите `npm run docs:dev`.
4. Перейдите по адресу `http://localhost:5173` в браузере.

@ -1,76 +1,74 @@
# Quick install app
# Приложение для быстрой установки
One of Hestias most requested feature is to add support for Softaculous. However, due to the required use of Ioncube in hestia-php and because we are against the use of proprietary software, we have instead developed our own **Quick install app** solution.
Одной из самых востребованных функций Hestia является добавление поддержки Softaculous. Однако из-за необходимости использования Ioncube в hestia-php и из-за того, что мы против использования проприетарного программного обеспечения, мы вместо этого разработали собственное решение **Приложение для быстрой установки**.
More information can be found in the [hestia-quick-install repo](https://github.com/hestiacp/hestia-quick-install/blob/main/Example/ExampleSetup.php)
Дополнительную информацию можно найти в репозитории [hestia-quick-install](https://dev.brepo.ru/brepo/hestia-quick-install/src/branch/main/Example/ExampleSetup.php)
## Creating a new app
## Создание нового приложения
1. Make a new folder called `Example` in `/usr/local/hestia/web/src/app/WebApp/Installers/`
2. Create a file named `ExampleSetup.php`.
3. Copy the [example files content](https://github.com/hestiacp/hestia-quick-install/blob/main/Example/ExampleSetup.php) into your new file.
1. Создайте новую папку с именем `Example` в `/usr/local/hestia/web/src/app/WebApp/Installers/`
2. Создайте файл с именем `ExampleSetup.php`.
This will add an app called “Example” when you open the **Quick install app** page.
3. Скопируйте [содержимое файла примера](https://dev.brepo.ru/brepo/hestia-quick-install/src/branch/main/Example/ExampleSetup.php) в новый файл.
## Info
Это добавит приложение с именем «Example» при открытии страницы **Быстрая установка приложения**.
The following settings are required to display the info on the **Quick install app** list:
## Информация
- Name: Display name of the application. Please be aware that the naming of your app should follow the following regex: `[a-zA-Z][a-zA-Z0,9]`. Otherwise, it will not register as a working app!
- Group: Currently not used, but we might add features that use it in the future. Currently used: `cms`, `ecommerce`, `framework`.
- Enabled: Whether or not to show the app in the **Quick install app** page. Default set to `true`.
- Version: `x.x.x` or `latest`.
- Thumbnail: The image file for the app icon, include it in the same folder. The max size is 300px by 300px.
Следующие настройки необходимы для отображения информации в списке **Быстрая установка приложения**:
## Settings
- Имя: Отображаемое имя приложения. Обратите внимание, что наименование вашего приложения должно соответствовать следующему регулярному выражению: `[a-zA-Z][a-zA-Z0,9]`. В противном случае оно не будет зарегистрировано как рабочее приложение!
- Группа: В настоящее время не используется, но мы можем добавить функции, которые используют его в будущем. В настоящее время используются: `cms`, `ecommerce`, `framework`.
- Включено: Показывать или нет приложение на странице **Быстрая установка приложения**. По умолчанию установлено значение `true`.
### Form fields
- Версия: `x.x.x` или `latest`.
- Миниатюра: файл изображения для значка приложения, включите его в ту же папку. Максимальный размер 300 на 300 пикселей.
The following fields are available:
## Настройки
- Text input
- Selection dropdown
- Checkbox
- Radio button
### Поля формы
Since this is quite a complex feature, please check our existing apps for usage examples.
Доступны следующие поля:
### Database
- Ввод текста
- Раскрывающийся список выбора
- Флажок
- Радиокнопка
Flag to enable database auto-creation. If enabled, a checkbox is shown, allowing the user to automatically create a new database, as well as the 3 following fields:
Поскольку это довольно сложная функция, пожалуйста, проверьте наши существующие приложения на наличие примеров использования.
- Database Name
- Database User
- Database Password
### База данных
### Downloading the apps source code
Флаг для включения автоматического создания базы данных. Если включено, отображается флажок, позволяющий пользователю автоматически создать новую базу данных, а также 3 следующих поля:
Currently the following methods of download are supported:
- Имя базы данных
- Пользователь базы данных
- Пароль базы данных
- Download a archive from a URL.
- Via [Composer](https://getcomposer.org).
- Via [WP-CLI](https://wp-cli.org).
### Загрузка исходного кода приложения
### Server settings
В настоящее время поддерживаются следующие методы загрузки:
Enables you to set app requirements and web server templates. For example, some apps require a specific Nginx template or will only run on PHP 8.0 or higher.
- Загрузка архива с URL-адреса.
- Через [Composer](https://getcomposer.org).
- Через [WP-CLI](https://wp-cli.org).
- Nginx: Template used for Nginx + PHP-FPM setup.
- Apache2: Template used for Apache2 setup. Can be usually be omitted.
- PHP version: Array of all supported PHP versions.
### Настройки сервера
## Installing the web application
Позволяет вам устанавливать требования к приложению и шаблоны веб-сервера. Например, некоторые приложения требуют определенного шаблона Nginx или будут работать только на PHP 8.0 или выше.
There are multiple ways to install and configure the web app after it is has been downloaded.
- Nginx: Шаблон, используемый для настройки Nginx + PHP-FPM.
- Apache2: Шаблон, используемый для настройки Apache2. Обычно может быть опущен.
- Версия PHP: Массив всех поддерживаемых версий PHP.
- Manipulation of config files.
- Run commands. For example, use `drush` to install [Drupal](https://github.com/hestiacp/hestiacp/blob/88598deb49cec6a39be4682beb8e9b8720d59c7b/web/src/app/WebApp/Installers/Drupal/DrupalSetup.php#L56-L65).
- Using curl to provide configure the app over HTTP.
## Установка веб-приложения
::: warning
To prevent any issues, make that all commands are executed as the user, instead of `root` or `admin`. All the commands that are supplied by HestiaCP do this by default.
:::
Существует несколько способов установки и настройки веб-приложения после его загрузки.
## Sharing
- Манипулирование файлами конфигурации.
- Выполнение команд. Например, используйте `drush` для установки [Drupal](https://dev.brepo.ru/bayrepo/hestiacp/src/branch/master/web/src/app/WebApp/Installers/Drupal/DrupalSetup.php#L56-L65).
- Использование curl для настройки приложения по HTTP.
Once you are done, you can [submit a Pull Request](https://github.com/hestiacp/hestiacp/pulls) and we will review the code. If it meets our standards, we will include in the next release.
::: warning
Чтобы избежать проблем, сделайте так, чтобы все команды выполнялись от имени пользователя, а не `root` или `admin`. Все команды, предоставляемые HestiaCP, делают это по умолчанию.
:::

@ -1,54 +1,3 @@
# Beta and release candidate testing
# Тестовые версии
::: tip
If there is a beta or release candidate available, we will announce it via our Discord server or our forum.
:::
In the last few months, we have seen a growing number of issues when releasing minor and major updates. To prevent this from happening, we have decided to setup a beta apt server so we can push more regular updates, enabling us to test at a larger scale than only 4 or 5 users.
## Activating the beta repo on an existing install
::: danger
Betas and release candidates might still contain bugs and can possibly break your server. We cannot guarantee it will be fixed directly! Please be careful when testing on servers in production or containing important data!
:::
Run the following commands as root:
```bash
# Collecting system data
ARCH=$(arch)
case $(arch) in x86_64) ARCH="amd64" ;; aarch64) ARCH="arm64" ;; esac
codename="$(lsb_release -s -c)"
apt="/etc/apt/sources.list.d"
# Add the beta repo to hestia.list
sed -i 's/^/#/' $apt/hestia.list
echo "deb [arch=$ARCH signed-by=/usr/share/keyrings/hestia-beta-keyring.gpg] https://beta-apt.hestiacp.com/ $codename main" >> $apt/hestia.list
curl -s "https://beta-apt.hestiacp.com/pubkey.gpg" | gpg --dearmor | tee /usr/share/keyrings/hestia-beta-keyring.gpg > /dev/null 2>&1
# Update to the beta version
apt update && apt upgrade
```
## Install from beta repo
If you want to install a new Hestia installation form the beta server.
```bash
# Debian
wget https://beta-apt.hestiacp.com/hst-install-debian.sh
# or Ubuntu
wget https://beta-apt.hestiacp.com/hst-install-ubuntu.sh
```
Then install via bash hst-install-debian.sh or bash hst-install-ubuntu.sh
## Disabling the beta repo
Edit `/etc/apt/sources.list.d/hestia.list` and remove the `#` in front of `apt.hestiacp.com`, and add a `#` in front of `beta-apt.hestiacp.com`.
Once thats done, run `apt update && apt upgrade` to rollback to the regular release.
## Reporting bugs
If you encounter a bug, please [open an issue](https://github.com/hestiacp/hestiacp/issues/new/choose) or [submit a Pull Request](https://github.com/hestiacp/hestiacp/pulls). You can also report it on our forum or our Discord server
Раздел в разработке

@ -1,3 +1,3 @@
# Contributing to Hestias translations
# Участие в переводах Hestia
If you are a non-English speaker and would like to improve the quality of the translations used in Hestias web interface, please go to [Hestia Translate](https://translate.hestiacp.com/projects/) to review the translations database. For more information, please read [How to contribute with Translations](https://forum.hestiacp.com/t/how-to-contribute-with-translations/1664) on our forum.
Раздел в разработке

@ -1,16 +1,15 @@
# PHP cli selector
PHP cli selector replace system php - `/usr/bin/php` with link to the tool, which analyze HestiaCP config for user and exec needed for user php.
PHP cli селектор заменяет системный - `/usr/bin/php` ссылкой на утилиту, которая анализирует конфигурационный файл пользователя HestiaCP и запускает установленную для пользователя версию PHP.
Example:
Пример:
```
# readlink -f /usr/bin/php
/usr/bin/hestiacp-php-selector
```
By default php cli selector disbaled and system php points to default php binary.
For enabling PHP cli selector got ot "Server Options"->"Options"->"Web-server".
Find selector "System PHP" and under the selector set checkbox "Use PHP cli selector".
По умолчанию php cli селектор отключен и системным PHP является стандартный бинарный файл PHP приносимый пакетами системы.
Для включения PHP cli селектора необходимо перейти в "Server Options"->"Options"->"Web-server".
Найти селектор "Syetem PHP" и под селектором установить чекбокс "Use PHP cli selector".
![php_cli_selector](/images/php_cli_selector.png)

@ -1,57 +1,62 @@
# Documentation
# Документация
## Getting started
## Начало работы
- [Getting started](/docs/introduction/getting-started.md)
- [Best practices](/docs/introduction/best-practices.md)
- [С чего начать](/docs/introduction/getting-started.md)
- [Рекомендации](/docs/introduction/best-practices.md)
## User Guide
## Инструкция пользователя
- [Account](/docs/user-guide/account.md)
- [Backups](/docs/user-guide/backups.md)
- [Cron jobs](/docs/user-guide/cron-jobs.md)
- [Databases](/docs/user-guide/databases.md)
- [Аккаунт](/docs/user-guide/account.md)
- [Резервные копии](/docs/user-guide/backups.md)
- [Cron задачи](/docs/user-guide/cron-jobs.md)
- [Базы данных](/docs/user-guide/databases.md)
- [DNS](/docs/user-guide/dns.md)
- [File manager](/docs/user-guide/file-manager.md)
- [Mail domains](/docs/user-guide/mail-domains.md)
- [Notifications](/docs/user-guide/notifications.md)
- [Packages](/docs/user-guide/packages.md)
- [Statistics](/docs/user-guide/statistics.md)
- [Users](/docs/user-guide/users.md)
- [Web domains](/docs/user-guide/web-domains.md)
## Server administration
- [Backup & restore](/docs/server-administration/backup-restore.md)
- [Configuration](/docs/server-administration/configuration.md)
- [Customisation](/docs/server-administration/customisation.md)
- [Databases & phpMyAdmin](/docs/server-administration/databases.md)
- [DNS clusters & DNSSEC](/docs/server-administration/dns.md)
- [Менеджер файлов](/docs/user-guide/file-manager.md)
- [Почтовые домены](/docs/user-guide/mail-domains.md)
- [Оповещения](/docs/user-guide/notifications.md)
- [Пакеты](/docs/user-guide/packages.md)
- [Статистика](/docs/user-guide/statistics.md)
- [Пользователи](/docs/user-guide/users.md)
- [Веб домены](/docs/user-guide/web-domains.md)
## Администрирование сервера
- [Создание резервных копий и восстановление](/docs/server-administration/backup-restore.md)
- [Конфигурация](/docs/server-administration/configuration.md)
- [Настройка](/docs/server-administration/customisation.md)
- [БД и phpMyAdmin](/docs/server-administration/databases.md)
- [DNS кластеры & DNSSEC](/docs/server-administration/dns.md)
- [Email](/docs/server-administration/email.md)
- [File manager](/docs/server-administration/file-manager.md)
- [Менеджер файлов](/docs/server-administration/file-manager.md)
- [Firewall](/docs/server-administration/firewall.md)
- [OS upgrades](/docs/server-administration/os-upgrades.md)
- [Обновление ОС](/docs/server-administration/os-upgrades.md)
- [Rest API](/docs/server-administration/rest-api.md)
- [SSL certificates](/docs/server-administration/ssl-certificates.md)
- [Web templates & caching](/docs/server-administration/web-templates.md)
- [SSL сертификаты](/docs/server-administration/ssl-certificates.md)
- [Веб шаблоны и кеш](/docs/server-administration/web-templates.md)
- [Troubleshooting](/docs/server-administration/troubleshooting.md)
## Contributing
## Содействие в разработке
- [Building Packages](/docs/contributing/building.md)
- [Development](/docs/contributing/development.md)
- [Documentation](/docs/contributing/documentation.md)
- [Quick install app](/docs/contributing/quick-install-app.md)
- [Testing](/docs/contributing/testing.md)
- [Translations](/docs/contributing/translations.md)
- [Сборка пакетов](/docs/contributing/building.md)
- [Разработка](/docs/contributing/development.md)
- [Документация](/docs/contributing/documentation.md)
- [Установка приложений](/docs/contributing/quick-install-app.md)
- [Тестирование](/docs/contributing/testing.md)
- [Переводы](/docs/contributing/translations.md)
## Community
## Сообщество
- [Hestia Nginx Cache](/docs/community/hestia-nginx-cache.md)
- [Ioncube installer for Hestia](/docs/community/ioncube-hestia-installer.md)
- [Install script generator](/docs/community/install-script-generator.md)
## Reference
## Ссылки
- [API](/docs/reference/api.md)
- [CLI](/docs/reference/cli.md)
## Дополнения
- [PHP cli селектор](/docs/extensions/php-cli-selector.md')

@ -1,15 +1,16 @@
# Best Practices
# Лучшие практики
Managing a server is not easy. Here are some best practices you should try to adhere to while managing your Hestia server.
Управление сервером — непростая задача. Вот несколько лучших практик, которых следует придерживаться при управлении сервером Hestia.
## Use a regular user
## Используйте обычного пользователя
::: danger Never run a web or mail domain with the **admin** user
By default, the **admin** user has elevated privileges. This can pose a **security threat** to your server. For example, if you run WordPress under your **admin** user and a vulnerability is found in WordPress or a plugin, a malicious user might be able to run commands as **root**!
::: warning
Никогда не запускайте веб- или почтовый домен с правами пользователя **admin**
По умолчанию пользователь **admin** имеет повышенные привилегии. Это может представлять **угрозу безопасности** для вашего сервера. Например, если вы запускаете WordPress под своим пользователем **admin** и в WordPress или плагине обнаружена уязвимость, злоумышленник может запускать команды как **root**!
:::
Before adding any web or mail domain on your server, you should create a regular user. To do this, you can refer to our [User Management Guide](../user-guide/users.md#adding-a-user).
Перед добавлением любого веб- или почтового домена на ваш сервер следует создать обычного пользователя. Для этого вы можете обратиться к нашему [Руководству по управлению пользователями](../user-guide/users.md#adding-a-user).
## Enable two-factor authentication (2FA) for the _admin_ user
## Включить двухфакторную аутентификацию (2FA) для пользователя _admin_
Since the **admin** user has full control on the server, as well as elevated privileges, it is **greatly** recommended that you enable 2FA on this account. To do this, you can refer to our [Account Management](../user-guide/account.md#two-factor-authentication-2fa).
Поскольку пользователь **admin** имеет полный контроль на сервере, а также повышенные привилегии, **настоятельно** рекомендуется включить 2FA для этой учетной записи. Для этого вы можете обратиться к нашему [Управлению учетной записью](../user-guide/account.md#two-factor-authentication-2fa).

@ -1,81 +1,82 @@
# Getting Started
# Приступая к работе
This section will help you get Hestia installed on your server. If you already have Hestia installed and are just looking for options, you can skip this page.
Этот раздел поможет вам установить Hestia на ваш сервер. Если Hestia уже установлена и вы просто ищете дополнительные возможности, вы можете пропустить эту страницу.
::: warning
The installer needs to be run as **root**, either directly from the terminal or remotely, using SSH. If you do not do this, the installer will not proceed.
Установщик необходимо запустить как **root**, либо напрямую из терминала, либо удаленно, используя SSH. Если вы этого не сделаете, установщик не продолжит работу.
:::
## Requirements
## Требования
::: warning
Hestia must be installed on top of a fresh operating system installation to ensure proper functionality.
If on a VPS/KVM, and there is already an admin account, either delete that default admin ID, or use `--force` to continue with the installation. See custom installation below for further details.
Hestia необходимо установить поверх новой установки операционной системы, чтобы обеспечить надлежащую функциональность.
Если на VPS/KVM уже есть учетная запись администратора, либо удалите этот идентификатор администратора по умолчанию, либо используйте `--force`, чтобы продолжить установку. Дополнительные сведения см. в разделе «Выборочная установка» ниже.
:::
| | Minimum | Recommended |
| -------------------- | ---------------------------------------------- | ------------------------------------ |
| **CPU** | 1 core, 64-bit | 4 cores |
| **Memory** | 1 GB (no SpamAssassin and ClamAV) | 4 GB |
| **Disk** | 10 GB HDD | 40 GB SSD |
| **Operating System** | Debian 10, 11 or 12<br>Ubuntu 20.04, 22.04 LTS | Latest Debian <br> Latest Ubuntu LTS |
| | Минимум | Рекомендуется |
| -------------------- | --------------------------------------------- | ------------------------------------ |
| **ЦП** | 1 ядро, 64-разрядный | 4 ядра |
| **Память** | 1 ГБ (без SpamAssassin и ClamAV) | 4 ГБ |
| **Диск** | 10 ГБ HDD | 40 ГБ SSD |
| **Операционная система** | Debian 10, 11 или 12<br>Ubuntu 20.04, 22.04 LTS | Последняя версия Debian <br> Последняя версия Ubuntu LTS |
::: warning
Hestia only runs on AMD64 / x86_64 and ARM64 / aarch64 processors. It also requires a 64bit operating system!
We currently do not support i386 or ARM7-based processors.
Hestia работает только на процессорах AMD64 / x86_64 и ARM64 / aarch64. Также требуется 64-разрядная операционная система!
В настоящее время мы не поддерживаем процессоры на базе i386 или ARM7.
:::
### Supported operating systems
### Поддерживаемые операционные системы
- MSVSphere 9
- AlmaLinux 9
- Rocky Linux 9
## Regular installation
## Обычная установка
Interactive installer that will install the default Hestia software configuration.
Интерактивный установщик, который установит конфигурацию программного обеспечения Hestia по умолчанию.
### Step 1: Download
### Шаг 1: Загрузка
Download the installation script for the latest release:
Загрузите скрипт установки для последней версии:
```bash
wget https://dev.brepo.ru/bayrepo/hestiacp/raw/branch/master/install/hst-install.sh
```
If the download fails due to an SSL validation error, please be sure you've installed the ca-certificate package on your system - you can do this with the following command:
Если загрузка не удалась из-за ошибки проверки SSL, убедитесь, что вы установили пакет ca-certificate в своей системе — это можно сделать с помощью следующей команды:
```bash
yum install ca-certificates
```
### Step 2: Run
### Шаг 2: Запуск
To begin the installation process, simply run the script and follow the on-screen prompts:
Чтобы начать процесс установки, просто запустите скрипт и следуйте инструкциям на экране:
```bash
bash hst-install.sh
```
You will receive a welcome email at the address specified during installation (if applicable) and on-screen instructions after the installation is completed to log in and access your server.
Вы получите приветственное письмо по адресу, указанному во время установки (если применимо), а также инструкции на экране после завершения установки, чтобы войти в систему и получить доступ к вашему серверу.
## Custom installation
## Выборочная установка
If you want to customise which software gets installed, or want to run an unattended installation, you will need to run a custom installation.
Если вы хотите настроить, какое программное обеспечение будет установлено, или хотите запустить автоматическую установку, вам нужно будет запустить выборочную установку.
To view a list of available options, run
Чтобы просмотреть список доступных параметров, запустите
```bash
bash hst-install.sh -h
```
### List of installation options
### Список параметров установки
::: tip
An easier way to choose your installation options is by using the [Install string generator](/install.md).
Проще всего выбрать параметры установки с помощью [генератора строк установки](/install.md).
:::
To choose what software gets installed, you can provide flags to the installation script. You can view the full list of options below.
Чтобы выбрать, какое программное обеспечение будет установлено, вы можете указать флаги в скрипте установки. Полный список параметров можно просмотреть ниже.
```bash
-a, --apache Install Apache [yes|no] default: yes
@ -109,7 +110,7 @@ To choose what software gets installed, you can provide flags to the installatio
```
#### Example
#### Пример
```bash
bash hst-install.sh \
@ -124,18 +125,18 @@ bash hst-install.sh \
--spamassassin no
```
This command will install Hestia in French with the following software:
Эта команда установит Hestia на французском с такой конфигурацией:
- Nginx Web Server
- PHP-FPM Application Server
- MariaDB Database Server
- IPtables Firewall + Fail2Ban Intrusion prevention software
- Vsftpd FTP Server
- Exim Mail Server
- Dovecot POP3/IMAP Server
- Nginx веб сервер
- PHP-FPM сервер приложений
- MariaDB база данных
- IPtables фаервол + Fail2Ban
- Vsftpd FTP сервер
- Exim почтовый сервер
- Dovecot POP3/IMAP сервер
## Whats next?
## Что дальше?
By now, you should have a Hestia installation on your server. You are ready to add new users, so that you (or they) can add new websites on your server.
К настоящему моменту у вас должна быть установлена Hestia на вашем сервере. Вы готовы добавлять новых пользователей, чтобы вы (или они) могли добавлять новые веб-сайты на вашем сервере.
To access your control panel, navigate to `https://host.domain.tld:8083` or `http://your.public.ip.address:8083`
Чтобы получить доступ к панели управления, перейдите по адресу `https://host.domain.tld:8083` или `http://your.public.ip.address:8083`

@ -1,36 +1,36 @@
# API
::: info
This page is work in progress. A lot of information will be missing.
Эта страница находится в разработке. Много информации будет отсутствовать.
:::
## Examples
## Примеры
Examples can be found in a separate [repo](https://github.com/hestiacp/hestiacp-api-examples).
Примеры можно найти в отдельном [репозитории](https://dev.brepo.ru/brepo/hestiacp-api-examples).
## Upgrading from username/password authentication to access/secret keys
## Обновление с аутентификации по имени пользователя/паролю на доступ/секретные ключи
Replace the following code:
Замените следующий код:
```php
// Prepare POST query
// Подготовка запроса POST
$postvars = [
"user" => $hst_username,
"password" => $hst_password,
"returncode" => $hst_returncode,
"cmd" => $hst_command,
"arg1" => $username,
"user" => $hst_username,
"password" => $hst_password,
"returncode" => $hst_returncode,
"cmd" => $hst_command,
"arg1" => $username,
];
```
With the following:
С помощью следующего:
```php
// Prepare POST query
// Подготовить запрос POST
$postvars = [
"hash" => "access_code:secret_code",
"returncode" => $hst_returncode,
"cmd" => $hst_command,
"arg1" => $username,
"hash" => "access_code:secret_code",
"returncode" => $hst_returncode,
"cmd" => $hst_command,
"arg1" => $username,
];
```
```

@ -1,111 +1,111 @@
# Backup & Restore
# Резервное копирование и восстановление
## How do I move a user to a new server?
## Как переместить пользователя на новый сервер?
The current restore function accepts backups generated by both VestaCP
and HestiaCP.
Текущая функция восстановления принимает резервные копии, созданные как VestaCP
и HestiaCP.
1. Create a user backup on the old server.
1. Создайте резервную копию пользователя на старом сервере.
```bash
v-backup-user username
```
```bash
v-backup-user имя пользователя
```
2. Copy the generated tarball to the new server and place it in `/backup`.
2. Скопируйте сгенерированный tarball на новый сервер и поместите его в `/backup`.
```bash
scp /backup/username.2020.01.01-00-00.tar root@host.domain.tld:/backup/
```
```bash
scp /backup/имя пользователя.2020.01.01-00-00.tar root@host.domain.tld:/backup/
```
3. Restore the backup on the new server. You can restore to a different user by changing the username in the command.
3. Восстановите резервную копию на новом сервере. Вы можете выполнить восстановление для другого пользователя, изменив имя пользователя в команде.
```bash
v-restore-user username username.2020.01.01-00-00.tar
```
```bash
v-restore-user имя пользователя имя пользователя.2020.01.01-00-00.tar
```
User accounts that do not exist will be created.
Будут созданы учетные записи пользователей, которые не существуют.
## What kind of backups are able to be restored?
## Какие типы резервных копий можно восстановить?
Currently HestiaCP only support restoring backups made using:
В настоящее время HestiaCP поддерживает восстановление только резервных копий, созданных с помощью:
1. HestiaCP
2. VestaCP
## How to edit the number of backups?
## Как изменить количество резервных копий?
To edit the number of backups, please read the [Packages](../user-guide/packages.md) and [Users](../user-guide/users.md) documentation. You will need to create or edit a package, and assign it to the desired user.
Чтобы изменить количество резервных копий, прочтите документацию [Пакеты](../user-guide/packages.md) и [Пользователи](../user-guide/users.md). Вам нужно будет создать или изменить пакет и назначить его нужному пользователю.
## Not enough disk space available to preform the backup
## Недостаточно места на диске для выполнения резервного копирования
For safety reasons, Hestia takes into account 2x the users disk usage when creating a backup. Therefore, before starting a backup, we check how much disk usage a user has left. If you encounter this error, you can do one of the following to solve the issue:
В целях безопасности Hestia учитывает двукратное использование диска пользователем при создании резервной копии. Поэтому перед началом резервного копирования мы проверяем, сколько дискового пространства осталось у пользователя. Если вы столкнулись с этой ошибкой, вы можете выполнить одно из следующих действий для решения проблемы:
- Reduce the amount of backups saved per user saved.
- Move the backups to a remote storage.
- Move the backup folder to a different drive.
- Split up the user in multiple users.
- Exclude certain folders or mail accounts from the backup.
- Уменьшите количество резервных копий, сохраненных на одного сохраненного пользователя.
- Переместите резервные копии в удаленное хранилище.
- Переместите папку резервных копий на другой диск.
- Разделите пользователя на несколько пользователей.
- Исключите определенные папки или почтовые учетные записи из резервной копии.
## What is the difference between zstd and gzip
## В чем разница между zstd и gzip
zstd was developed by Facebook as a replacement for gzip. During our testing, we found a significant speed increase and lower disk space usage when compared to gzip.
zstd был разработан Facebook в качестве замены gzip. Во время нашего тестирования мы обнаружили значительное увеличение скорости и меньшее использование дискового пространства по сравнению с gzip.
For more information see [the zstd repo](https://github.com/facebook/zstd).
Для получения дополнительной информации см. [репозиторий zstd](https://github.com/facebook/zstd).
## What is the optimal compression ratio
## Какова оптимальная степень сжатия
The higher the number how better the compression ratio. During our testing, we discoverd that zstd level 3 is similar to level 9 for disk space, however it is much faster. zstd level 11 took about the same time, but gave us a smaller size. Levels higher than 19 should never be used, as zstd then becomes terribly slow.
Чем выше число, тем лучше степень сжатия. Во время нашего тестирования мы обнаружили, что zstd уровня 3 похож на уровень 9 по дисковому пространству, однако он намного быстрее. zstd уровня 11 занял примерно столько же времени, но дал нам меньший размер. Уровни выше 19 никогда не следует использовать, так как zstd тогда становится ужасно медленным.
## What kind of protocols are currently supported
## Какие протоколы поддерживаются в настоящее время
Currently supported backup protocols are:
В настоящее время поддерживаются следующие протоколы резервного копирования:
- FTP
- SFTP
- Rclone, which supports up to 50 different cloud providers. [See its documentation](https://rclone.org)
- Rclone, который поддерживает до 50 различных облачных провайдеров. [См. документацию](https://rclone.org)
## How to setup an FTP backup server
## Как настроить сервер резервного копирования FTP
Login via SSH and run the following command as root:
Войдите через SSH и выполните следующую команду как root:
```bash
v-add-backup-host 'ftp' 'remote.ftp-host.tld' 'backup-user' 'p4ssw0rd' '/path-backups/' 'port'
```
### How to setup an SFTP backup server
### Как настроить сервер резервного копирования SFTP
::: warning
Please note passwords are stored as **plain text** on the server. They are only accessible by the root user, but if you want to use a more secure authentication method, use public and private keys.
Обратите внимание, что пароли хранятся на сервере в виде **обычного текста**. Они доступны только пользователю root, но если вы хотите использовать более безопасный метод аутентификации, используйте открытые и закрытые ключи.
:::
Login via SSH and run the following command as root:
Войдите через SSH и выполните следующую команду как root:
```bash
v-add-backup-host 'sftp' 'remote.ftp-host.tld' 'backup-user' 'p4ssw0rd' '/path-backups/' 'port'
```
If using public and private keys (recommended):
Если используются открытые и закрытые ключи (рекомендуется):
```bash
v-add-backup-host 'sftp' 'remote.ftp-host.tld' 'backup-user' '/root/id_rsa' '/path-backups/' 'port'
```
## How to setup Rclone
## Как настроить Rclone
::: tip
Initial configuration can only be done via CLI. After that, you can update the settings via the web panel.
Первоначальную настройку можно выполнить только через CLI. После этого вы можете обновить настройки через веб-панель.
:::
First, [download Rclone](https://rclone.org/downloads/). The easiest method is to run this command:
Сначала [скачать Rclone](https://rclone.org/downloads/). Самый простой способ — запустить эту команду:
```bash
sudo -v
curl https://rclone.org/install.sh | sudo bash
```
Once the download and installation is complete, run `rclone config` and then `n`. Follow the instruction on the screen, then save when completed.
После завершения загрузки и установки запустите `rclone config`, а затем `n`. Следуйте инструкциям на экране, затем сохраните после завершения.
To verify if it is working run as intended:
Чтобы проверить, работает ли он, запустите, как задумано:
```bash
echo "test" > /tmp/backuptest.txt
@ -113,20 +113,20 @@ rclone cp /tmp/backuptest.txt $HOST:$FOLDER/backuptest.txt
rclone lsf $HOST:$FOLDER
```
And see the file has been uploaded
И увидите, что файл загружен
```bash
rclone delete $HOST:$FOLDER/backuptest.txt
```
Once the config has been saved you can setup Hestia with the following command:
После сохранения конфигурации вы можете настроить Hestia с помощью следующей команды:
```bash
v-add-backup-host 'rclone' 'remote-name' '' '' 'Bucket or Folder name' ''
```
::: tip
Configuration per endpoint might be different! Make sure to test it is working before relying on it. To verify it works run
Конфигурация для каждой конечной точки может отличаться! Убедитесь, что она работает, прежде чем полагаться на нее. Чтобы проверить, работает ли это, запустите
```bash
v-backup-user admin
@ -134,81 +134,83 @@ v-backup-user admin
:::
For example:
Например:
```bash
rclone config
Current remotes:
Текущие удаленные устройства:
Name Type
Имя Тип
==== ====
r2 s3
```
To use the "R2" endpoint use
Чтобы использовать конечную точку "R2", используйте
```bash
v-add-backup-host 'rclone' 'r2' '' '' 'folder'
```
For Blackblaze use
Для Blackblaze используйте
```bash
v-add-backup-host 'rclone' 'b2' '' '' 'hestiacp'
```
## How to change default backup folder
## Как изменить папку резервного копирования по умолчанию
For security reasons, symlinks are not allowed. To change the default backup folder, you can do the following:
В целях безопасности символические ссылки не допускаются. Чтобы изменить папку резервного копирования по умолчанию, вы можете сделать следующее:
1. Make sure backup folder is currently set to `/backup`.
2. If it has something in it, delete it and recreate it. You can use an FTP client or type `mkdir /backup` in the console.
3. Mount the desired folder to `/backup`, using `mount`:
1. Убедитесь, что папка резервного копирования в настоящее время установлена ​​на `/backup`.
```bash
mount --bind /path/to/new/backup/folder /backup
```
2. Если в нем что-то есть, удалите это и создайте заново. Вы можете использовать FTP-клиент или ввести `mkdir /backup` в консоли.
3. Смонтируйте нужную папку в `/backup`, используя `mount`:
For a permanent fix you should add a record to `fstab`, so this folder would mount on your system boot:
```bash
mount --bind /path/to/new/backup/folder /backup
```
1. Open `/etc/fstab`.
2. Add the following line to the end:
Для постоянного исправления следует добавить запись в `fstab`, чтобы эта папка монтировалась при загрузке системы:
```bash
/path/to/new/backup/folder /backup none defaults,bind 0 0
```
1. Откройте `/etc/fstab`.
2. Добавьте следующую строку в конец:
3. Save the file.
```bash
/path/to/new/backup/folder /backup none defaults,bind 0 0
```
## How to extract .zstd file
3. Сохраните файл.
Follow the instructions below or use WinRAR 6.10 or later to unpack .zst files.
## Как извлечь файл .zstd
### How to extract the domain_data.tar.zst in windows using zstd.exe
Следуйте инструкциям ниже или используйте WinRAR 6.10 или более поздней версии для распаковки файлов .zst.
1. Download and unzip zstd.exe. It is available on the [zstd GitHub](https://github.com/facebook/zstd/releases/).
2. To decompress the backup, use the following command:
### Как извлечь domain_data.tar.zst в Windows с помощью zstd.exe
```batch
{dir_to_zstd}\zstd.exe -o {dir_to_file}\{file}.tar.zst
```
1. Загрузите и распакуйте zstd.exe. Он доступен на [zstd GitHub](https://github.com/facebook/zstd/releases/).
For example:
2. Чтобы распаковать резервную копию, используйте следующую команду:
```batch
C:\Users\{user}\Downloads\zstd-v1.4.4-win64\zstd.exe -d c:\Users\{user}\Downloads\admin.2021-06-27_05-48-23\web\{domain}\domain_data.tar.zst
```
```batch
{dir_to_zstd}\zstd.exe -o {dir_to_file}\{file}.tar.zst
```
Output:
Например:
```batch
C:\Users\{user}\Downloads\admin.2021-06-27_05-48-23\web\{domain}\domain_data.tar.zst: 61440 bytes
```
```batch
C:\Users\{user}\Downloads\zstd-v1.4.4-win64\zstd.exe -d c:\Users\{user}\Downloads\admin.2021-06-27_05-48-23\web\{domain}\domain_data.tar.zst
```
Вывод:
```batch
C:\Users\{user}\Downloads\admin.2021-06-27_05-48-23\web\{domain}\domain_data.tar.zst: 61440 байт
```
3. Use your preferred program to untar the resulting tarball, and you are done.
In this case, the tar was outputted to:
3. Используйте предпочтительную программу для распаковки полученного tarball, и все готово.
В этом случае tar был выведен в:
```batch
C:\Users\{user}\Downloads\admin.2021-06-27_05-48-23\web\{domain}\domain_data.tar
```
```batch
C:\Users\{user}\Downloads\admin.2021-06-27_05-48-23\web\{domain}\domain_data.tar
```

@ -1,119 +1,116 @@
# Server configuration
# Конфигурация сервера
## I am not able to login
## Я не могу войти
For installing dependencies we use Composer. As are currently not able
to run it under hestia-php version. We install it via /usr/bin/php. Make
sure proc_open is allowed in the main php version. In the future we look
in methods to allow install via composer via hestia-php.
Для установки зависимостей мы используем Composer. Поскольку в настоящее время мы не можем запустить его под версией hestia-php. Мы устанавливаем его через /usr/bin/php. Убедитесь, что proc_open разрешен в основной версии php. В будущем мы рассмотрим методы, позволяющие установку через composer через hestia-php.
## Where can I find more information about the config files?
## Где я могу найти более подробную информацию о файлах конфигурации?
A good starting point for every software is to check the official docs:
Хорошей отправной точкой для любого программного обеспечения является проверка официальной документации:
- For Nginx: [NGINX Docs](https://nginx.org/en/docs/)
- For Apache2: [Apache Docs](http://httpd.apache.org/docs/2.4/)
- For PHP-FPM: [PHP Docs](https://www.php.net/manual/en/install.fpm.configuration.php)
- Для Nginx: [NGINX Docs](https://nginx.org/en/docs/)
- Для Apache2: [Apache Docs](http://httpd.apache.org/docs/2.4/)
- Для PHP-FPM: [PHP Docs](https://www.php.net/manual/en/install.fpm.configuration.php)
## Can I use HestiaCP behind Cloudflare CDN?
## Могу ли я использовать HestiaCP за Cloudflare CDN?
By default the [Cloudflare Proxy](https://developers.cloudflare.com/fundamentals/get-started/reference/network-ports/) supports only a limited number of ports. This means that Cloudflare will not forward port 8083, which is the default port for Hestia. To change the Hestia port to one that Cloudflare will forward, run this command:
По умолчанию [Cloudflare Proxy](https://developers.cloudflare.com/fundamentals/get-started/reference/network-ports/) поддерживает только ограниченное количество портов. Это означает, что Cloudflare не будет перенаправлять порт 8083, который является портом по умолчанию для Hestia. Чтобы изменить порт Hestia на тот, который будет перенаправлять Cloudflare, выполните следующую команду:
```bash
v-change-sys-port 2083
```
You can also disable Cloudflare proxy feature.
Вы также можете отключить функцию прокси-сервера Cloudflare.
## How to remove unused ethernet ports from RRD?
## Как удалить неиспользуемые порты Ethernet из RRD?
```bash
nano /usr/local/hestia/conf/hestia.conf
```
Add the following line:
Добавьте следующую строку:
```bash
RRD_IFACE_EXCLUDE='lo'
```
Add network ports as comma separated list
Добавьте сетевые порты в виде списка, разделенного запятыми
```bash
rm /usr/local/hestia/web/rrd/net/*
systemctl restart hestia
```
## What does the “Enforce subdomain ownership” policy mean?
## Что означает политика «Принудительное владение поддоменом»?
In Hestia <=1.3.5 and Vesta, it was possible for users to create subdomains from domains that were owned by other users. For example, user Bob could create `bob.alice.com`, even if `alice.com` is owned by Alice. This could cause security issues and therefor we have decided to add a policy to control this behaviour. By default, the policy is enabled.
В Hestia <=1.3.5 и Vesta пользователи могли создавать поддомены из доменов, которыми владели другие пользователи. Например, пользователь Боб может создать `bob.alice.com`, даже если `alice.com` принадлежит Алисе. Это может вызвать проблемы безопасности, поэтому мы решили добавить политику для управления этим поведением. По умолчанию политика включена.
You can tweak the policy for a specific domain and user, for example for a domain that has been used for testing:
Вы можете настроить политику для определенного домена и пользователя, например, для домена, который использовался для тестирования:
```bash
# to enable
# для включения
v-add-web-domain-allow-users user domain.tld
# to disable
# для отключения
v-delete-web-domain-allow-users user domain.tld
```
## Can I restrict access to the `admin` account?
## Могу ли я ограничить доступ к учетной записи `admin`?
In Hestia 1.3, we have made it possible to give another user Administrator access. In 1.4, we have given system administrators the option to limit access to the main **System Administrator** account to improve security.
В Hestia 1.3 мы сделали возможным предоставление другому пользователю прав администратора. В 1.4 мы предоставили системным администраторам возможность ограничить доступ к основной учетной записи **Системного администратора** для повышения безопасности.
## My server IP has changed, what do I need to do?
## Мой IP-адрес сервера изменился, что мне нужно сделать?
When a server IP changes, you need to run the following command, which will rebuild all config files:
При изменении IP-адреса сервера необходимо выполнить следующую команду, которая перестроит все файлы конфигурации:
```bash
v-update-sys-ip
```
## Unable to bind address
## Невозможно привязать адрес
In rare cases the network service might be slower than Apache2 and or Nginx. In that case, Nginx or Apache2 will refuse to successfully start. You can verify that this is the case by looking at the services status:
В редких случаях сетевая служба может работать медленнее, чем Apache2 и/или Nginx. В этом случае Nginx или Apache2 откажутся успешно запуститься. Вы можете убедиться в этом, посмотрев на статус службы:
```bash
systemctl status nginx
# Output
nginx: [emerg] bind to x.x.x.x:80 failed (99: cannot assign requested address)
# Вывод
nginx: [emerg] bind to x.x.x.x:80 failed (99: cannot assign asked address)
```
Or, in case of Apache2:
Или, в случае Apache2:
```bash
systemctl status httpd
# Output
(99)Cannot assign requested address: AH00072: make_sock: could not bind to address x.x.x.x:8443
# Вывод
(99)Cannot assign asked address: AH00072: make_sock: couldn't bind to address x.x.x.x:8443
```
The following command should allow services to assign to non existing IP addresses:
Следующая команда должна разрешить службам назначать несуществующие IP-адреса:
```bash
sysctl -w net.ipv4.ip_nonlocal_bind=1
```
## I am unable to monitor processes with Zabbix
## Я не могу отслеживать процессы с помощью Zabbix
For security reasons, users are not allowed to monitor processes from other users by default.
Из соображений безопасности пользователям по умолчанию не разрешено отслеживать процессы других пользователей.
To solve the issue if you use monitoring via Zabbix, edit `/etc/fstab` and modify it to the following, then reboot the server or remount `/proc`:
Чтобы решить проблему, если вы используете мониторинг через Zabbix, отредактируйте `/etc/fstab` и измените его следующим образом, затем перезагрузите сервер или перемонтируйте `/proc`:
```bash
proc /proc proc defaults,hidepid=2,gid=zabbix 0 0
```
## Error: 24: Too many open files
## Ошибка: 24: Слишком много открытых файлов
If you see an error similar to this:
Если вы видите ошибку, похожую на эту:
```bash
2022/02/21 15:04:38 [emerg] 51772#51772: open() "/var/log/apache2/domains/domain.tld.error.log" failed (24: Too many open files)
```
It means that there are too many open files with Nginx. To resolve this issue, edit the Nginx daemon config, then reload the daemons by running `systemctl daemon-reload`:
Это означает, что слишком много открытых файлов с Nginx. Чтобы решить эту проблему, отредактируйте конфигурацию демона Nginx, затем перезагрузите демоны, выполнив `systemctl daemon-reload`:
```bash
# /etc/systemd/system/nginx.service.d/override.conf
@ -121,15 +118,15 @@ It means that there are too many open files with Nginx. To resolve this issue, e
LimitNOFILE=65536
```
Add this to the Nginx config file (Needs to be smaller or equal to `LimitNOFILE`)
Добавьте это в файл конфигурации Nginx (должен быть меньше или равен `LimitNOFILE`)
```bash
# /etc/nginx/nginx.conf
worker_rlimit_nofile 16384
```
Restart Nginx with `systemctl restart nginx`, and verify the new limits by running:
Перезапустите Nginx с помощью `systemctl restart nginx` и проверьте новые ограничения, выполнив:
```bash
cat /proc/ < nginx-pid > /limits.
```
```

@ -1,58 +1,58 @@
# Customisation
# Настройка
::: warning
We currently only support changing the layout via CSS. You can customise HTML files and templates, but they **will** be overwritten during updates, so make sure to [set up hooks](#running-commands-before-and-after-updates) to restore your changes after an update.
В настоящее время мы поддерживаем изменение макета только через CSS. Вы можете настраивать файлы и шаблоны HTML, но они **будут** перезаписаны во время обновлений, поэтому не забудьте [настроить хуки](#running-commands-before-and-after-updates), чтобы восстановить изменения после обновления.
:::
## Adding a new theme
## Добавление новой темы
Create a new theme in `/usr/local/hestia/web/css/theme/custom/my_theme.css`
Создайте новую тему в `/usr/local/hestia/web/css/theme/custom/my_theme.css`
```css
.body-login,
.body-reset {
height: auto;
padding-top: 10%;
background: rgb(231, 102, 194) !important;
background: radial-gradient(circle, rgba(231, 102, 197, 1), rgba(174, 43, 177, 1)) !important;
height: auto;
padding-top: 10%;
background: rgb(231, 102, 194) !important;
background: radiatle-gradient(circle, rgba(231, 102, 197, 1), rgba(174, 43, 177, 1)) !important;
}
```
## Customising a default theme
## Настройка темы по умолчанию
Changes to default themes are always overwritten during updates. Custom CSS files can be uploaded to `/usr/local/hestia/web/css/custom` in `.css` or `.min.css` format.
Изменения тем по умолчанию всегда перезаписываются во время обновлений. Пользовательские файлы CSS можно загрузить в `/usr/local/hestia/web/css/custom` в формате `.css` или `.min.css`.
Please note that `default.css` base theme is always loaded. Other default and custom themes override the rules in this file.
Обратите внимание, что базовая тема `default.css` всегда загружается. Другие темы по умолчанию и пользовательские темы переопределяют правила в этом файле.
## Customising the _Domain not found_ page
## Настройка страницы _Домен не найден_
The _Domain not found_ page is located in `/var/www/html/index.html`. You can edit it using the following command:
Страница омен не найден_ находится в `/var/www/html/index.html`. Вы можете отредактировать его с помощью следующей команды:
```bash
nano /var/www/html/index.html
```
## Customising the default domain skeleton structure
## Настройка структуры скелета домена по умолчанию
The default structure that will be added to a domain when it gets created is located in `/usr/local/hestia/data/templates/web/skel/public_html`.
Структура по умолчанию, которая будет добавлена ​​к домену при его создании, находится в `/usr/local/hestia/data/templates/web/skel/public_html`.
## Running commands before and after updates
## Выполнение команд до и после обновлений
With the release of Hestia 1.4.6 we have added pre-install and post-install hooks. For example, you can use hooks to:
С выпуском Hestia 1.4.6 мы добавили предустановочные и послеустановочные хуки. Например, вы можете использовать хуки для:
- Disable and enable demo mode before and after an update.
- Restore a customised skeleton page.
- Отключения и включения демонстрационного режима до и после обновления.
- Восстановления настроенной страницы скелета.
Hooks are located in one of the following files:
Хуки находятся в одном из следующих файлов:
- `/etc/hestiacp/hooks/pre_install.sh`
- `/etc/hestiacp/hooks/post_install.sh`
::: tip
Dont forget to make the file executable by running `chmod +x /etc/hestiacp/hooks/[file].sh`.
Не забудьте сделать файл исполняемым, выполнив `chmod +x /etc/hestiacp/hooks/[file].sh`.
:::
For example, to disable demo mode on pre-install:
Например, чтобы отключить демонстрационный режим при предварительной установке:
```bash /etc/hestiacp/hooks/pre_install.sh
#!/bin/bash
@ -60,5 +60,5 @@ sed -i "s|^DEMO_MODE=.*'|DEMO_MODE='no'|g" $HESTIA/conf/hestia.conf
```
::: warning
If you use custom error documents you will have to rebuild all websites again!
:::
Если вы используете пользовательские документы ошибок, вам придется пересобрать все веб-сайты заново!
:::

@ -1,125 +1,126 @@
# Database & phpMyAdmin SSO
# База данных и phpMyAdmin SSO
## How to setup a remote database server
## Как настроить удаленный сервер базы данных
1. It is assumed you already have your second server up and running.
2. On your Hestia server run the following command (`mysql` may be replaced by `postgresql`):
1. Предполагается, что у вас уже есть второй сервер, который работает.
2. На сервере Hestia выполните следующую команду (`mysql` можно заменить на `postgresql`):
```bash
v-add-database-host mysql new-server.com root password
```
To make sure the host has been added, run the following command:
Чтобы убедиться, что хост добавлен, выполните следующую команду:
```bash
v-list-database-hosts
```
## Why I cant use `http://ip/phpmyadmin/`
## Почему я не могу использовать `http://ip/phpmyadmin/`
For security reasons, we have decided to disable this option. Please use `https://host.domain.tld/phpmyadmin/` instead.
В целях безопасности мы решили отключить эту опцию. Вместо этого используйте `https://host.domain.tld/phpmyadmin/`.
## How can I enable access to `http://ip/phpmyadmin/`
## Как включить доступ к `http://ip/phpmyadmin/`
### For Apache2
### Для Apache2
```bash
nano /etc/apache2/conf.d/ip.conf
# Add the following code before both </VirtualHost> closing tags
# Добавьте следующий код перед обоими закрывающимися тегами </VirtualHost>
IncludeOptional /etc/apache2/conf.d/*.inc
# Restart apache2
# Перезапустите apache2
systemctl restart apache2
# You can also add the following in /etc/apache2.conf instead
# Вы также можете добавить следующее в /etc/apache2.conf вместо этого
IncludeOptional /etc/apache2/conf.d/*.inc
```
### For httpd
### Для httpd
```bash
nano /etc/httpd/conf.h.d/ip.conf
# Add the following code before both </VirtualHost> closing tags
# Добавьте следующий код перед обоими закрывающимися тегами </VirtualHost>
IncludeOptional /etc/httpd/conf.h.d/*.inc
# Restart apache2
# Перезапустите apache2
systemctl restart httpd
# You can also add the following in /etc/apache2.conf instead
# Вы также можете добавить следующее в /etc/apache2.conf вместо этого
IncludeOptional /etc/httpd/conf.h.d/*.inc
```
### For Nginx
### Для Nginx
```bash
nano /etc/nginx/conf.d/ip.conf
# Replace the following
# Замените следующее
location /phpmyadmin/ {
alias /var/www/document_errors/;
return 404;
alias /var/www/document_errors/;
return 404;
}
location /phppgadmin/ {
alias /var/www/document_errors/;
return 404;
alias /var/www/document_errors/;
return 404;
}
# With the following
include /etc/nginx/conf.d/phpmyadmin.inc*;
include /etc/nginx/conf.d/phppgadmin.inc*;
# На следующее
include /etc/nginx/conf.d/phpmyadmin.inc*;
include /etc/nginx/conf.d/phppgadmin.inc*;
```
## How can I connect from a remote location to the database
## Как подключиться из удаленного расположения к базе данных
By default, connections to port 3306 are disabled in the firewall. Open
port 3306 in the firewall ([documentation](./firewall.md)), then edit `/etc/mysql/mariadb.conf.d/50-server.cnf`:
По умолчанию соединения с портом 3306 отключены в брандмауэре. Откройте
порт 3306 в брандмауэре ([документация](./firewall.md)), затем отредактируйте `/etc/mysql/mariadb.conf.d/50-server.cnf`:
```bash
nano /etc/mysql/mariadb.conf.d/50-server.cnf
# Set bind-address to one of the following
# Установите bind-address на одно из следующих значений
bind-address = 0.0.0.0
bind-address = "your.server.ip.address"
```
## PhpMyAdmin Single Sign On
### Unable to activate phpMyAdmin Single Sign on
### Не удалось активировать phpMyAdmin Single Sign on
Make sure the API is enabled and working properly. Hestias PhpMyAdmin Single Sign On function connects over the Hestia API.
Убедитесь, что API включен и работает правильно. Функция единого входа PhpMyAdmin Hestia подключается через API Hestia.
### When clicking the phpMyAdmin Single Sign On button, I am forwarded to the login page of phpMyAdmin
### При нажатии кнопки единого входа phpMyAdmin я перенаправляюсь на страницу входа в phpMyAdmin
Automated can sometimes cause issues. Login via SSH and open `/var/log/{webserver}/domains/{hostname.domain.tld.error.log` and look for one of the following error messages:
Иногда автоматизация может вызывать проблемы. Войдите через SSH и откройте `/var/log/{webserver}/domains/{hostname.domain.tld.error.log` и найдите одно из следующих сообщений об ошибке:
- `Unable to connect over API, please check API connection`
1. Check if the api has been enabled.
2. Add the public IP of your server to the allowed IPs in the **Server settings**.
- `Access denied: There is a security token mismatch`
1. Disable and then enable the phpMyAdmin SSO. This will refresh both keys.
2. If you are behind a firewall or proxy, you may want to disable it and try again.
- `Link has expired`
1. Refresh the database page and try again.
- `Невозможно подключиться через API, проверьте подключение API`
## Remote databases
1. Проверьте, включен ли API.
2. Добавьте публичный IP вашего сервера в разрешенные IP в **Настройках сервера**.
- `Отказано в доступе: несоответствие токена безопасности`
1. Отключите и снова включите единый вход phpMyAdmin. Это обновит оба ключа.
2. Если вы находитесь за брандмауэром или прокси-сервером, вы можете отключить его и повторить попытку.
- `Срок действия ссылки истек`
1. Обновите страницу базы данных и повторите попытку.
If needed you can simply host Mysql or Postgresql on a remote server.
## Удаленные базы данных
To add a remote database:
При необходимости вы можете просто разместить Mysql или Postgresql на удаленном сервере.
Чтобы добавить удаленную базу данных:
```bash
v-add-database-host TYPE HOST DBUSER DBPASS [MAX_DB] [CHARSETS] [TPL] [PORT]
```
For example:
Например:
```bash
v-add-database-host mysql db.hestiacp.com root mypassword 500
```
If you want you can setup phpMyAdmin on the host server to allow to connect to the database. Create a copy of `01-localhost` file in /etc/phpmyadmin/conf.d and change:
Если хотите, вы можете настроить phpMyAdmin на хост-сервере, чтобы разрешить подключение к базе данных. Создайте копию файла `01-localhost` в /etc/phpmyadmin/conf.d и измените:
```php
$cfg["Servers"][$i]["host"] = "localhost";
@ -130,6 +131,6 @@ $cfg["Servers"][$i]["controlpass"] = "random password";
$cfg["Servers"][$i]["bookmarktable"] = "pma__bookmark";
```
Please make sure to create aswell the phpmyadmin user and database.
Обязательно создайте также пользователя и базу данных phpmyadmin.
See `/usr/local/hestia/install/deb/phpmyadmin/pma.sh`
См. `/usr/local/hestia/install/deb/phpmyadmin/pma.sh`

@ -1,166 +1,173 @@
# DNS clusters and DNSSEC
# DNS-кластеры и DNSSEC
::: info
With the release of version 1.7.0, we have implemented support for DNSSEC. DNSSEC requires a Master -> Slave setup. IF the existing implementation is a Master <-> Master setup, it is not supported. DNSSEC also requires at least Ubuntu 22.04 or Debian 11!
С выпуском версии 1.7.0 мы реализовали поддержку DNSSEC. DNSSEC требует настройки Master -> Slave. ЕСЛИ существующая реализация — это настройка Master <-> Master, она не поддерживается. DNSSEC также требует как минимум Ubuntu 22.04 или Debian 11!
:::
## Host your DNS on Hestia
## Разместите свой DNS на Hestia
[Create a DNS Zone](../user-guide/dns.md#adding-a-dns-zone) with the **child-ns** template, then login to your domain registrars panel and change the name servers of the domain. Depending your registrar panel, you could be able to create glue records. You may need to wait for up to 24 hours before the name servers become active.
[Создайте зону DNS](../user-guide/dns.md#adding-a-dns-zone) с шаблоном **child-ns**, затем войдите в панель регистратора домена и измените серверы имен домена. В зависимости от панели регистратора вы можете создать связующие записи. Возможно, вам придется подождать до 24 часов, прежде чем серверы имен станут активными.
## DNS Cluster setup
## Настройка DNS-кластера
::: tip
Create for each server a unique user and assing them the "Sync DNS User" or "dns-cluster" role!
Создайте для каждого сервера уникального пользователя и назначьте ему роль «Sync DNS User» или «dns-cluster»!
:::
If you are looking at options to minimise DNS-related downtime or for a way to manage DNS across all your servers, you might consider setting up a DNS cluster.
Если вы ищете варианты минимизации простоев, связанных с DNS, или способа управления DNS на всех ваших серверах, вы можете рассмотреть возможность настройки DNS-кластера.
1. Whitelist your master server IP in **Configure Server** -> **Security** -> **Allowed IP addresses for API**, otherwise you will get an error when adding the slave server to the cluster.
2. Enable API access for admins (or all users).
3. Create an API key under the **admin** user with at least the **sync-dns-cluster** permission.
1. Добавьте IP-адрес вашего главного сервера в белый список в **Настройка сервера** -> **Безопасность** -> **Разрешенные IP-адреса для API**, в противном случае вы получите ошибку при добавлении подчиненного сервера в кластер.
2. Включите доступ к API для администраторов (или всех пользователей).
3. Создайте ключ API под пользователем **admin** с разрешением не ниже **sync-dns-cluster**.
::: info
With the release of 1.6.0, we have implemented a new API authentication system. We strongly suggest using this method instead of the old system, as it is more secure due to the length of the access key and secret key!
С выпуском 1.6.0 мы внедрили новую систему аутентификации API. Мы настоятельно рекомендуем использовать этот метод вместо старой системы, так как он более безопасен из-за длины ключа доступа и секретного ключа!
If you still want to use the legacy API to authenticate with **admin** username and the password make sure **Enable legacy API** access is set to **yes**.
Если вы все еще хотите использовать устаревший API для аутентификации с именем пользователя **admin** и паролем, убедитесь, что **Enable legacy API** access установлен на **yes**.
:::
### DNS Cluster with the Hestia API (Master <-> Master) "Default setup!"
### DNS-кластер с API Hestia (Master <-> Master) "Default setup!"
::: warning
This method does not support DNSSEC!
Этот метод не поддерживает DNSSEC!
:::
1. Create a new user on the Hestia server that will act as a “Slave”. Make sure it uses the username of "dns-cluster" or has the role `dns-cluster`
2. Run the following command to enable the DNS server.
1. Создайте нового пользователя на сервере Hestia, который будет действовать как "Slave". Убедитесь, что он использует имя пользователя "dns-cluster" или имеет роль `dns-cluster`
2. Выполните следующую команду, чтобы включить DNS-сервер.
```bash
v-add-remote-dns-host slave.yourhost.com 8083 'accesskey:secretkey' '' 'api' 'username'
```
Or if you still want to use admin and password authentication
Или если вы все еще хотите использовать аутентификацию администратора и пароля
```bash
v-add-remote-dns-host slave.yourhost.com 8083 'admin' 'strongpassword' 'api' 'username'
```
This way you can set up Master -> Slave or Master <-> Master <-> Master cluster.
Таким образом вы можете настроить кластер Master -> Slave или Master <-> Master <-> Master.
There is no limitation on how to chain DNS servers.
Нет ограничений на то, как сцеплять DNS-серверы.
### DNS Cluster with the Hestia API (Master -> Slave)
### DNS-кластер с API Hestia (Master -> Slave)
1. Create a new user on the Hestia server that will act as a “Slave”. Make sure it uses the username of "dns-user" or has the role `dns-cluster`
2. In `/usr/local/hestia/conf/hestia.conf`, change `DNS_CLUSTER_SYSTEM='hestia'` to `DNS_CLUSTER_SYSTEM='hestia-zone'`.
3. On the master server, open `/etc/bind/named.conf.options`, do the following changes, then restart bind9 with `systemctl restart bind9`.
1. Создайте нового пользователя на сервере Hestia, который будет действовать как «Slave». Убедитесь, что используется имя пользователя "dns-user" или роль `dns-cluster`
2. В `/usr/local/hestia/conf/hestia.conf` измените `DNS_CLUSTER_SYSTEM='hestia'` на `DNS_CLUSTER_SYSTEM='hestia-zone'`.
3. На главном сервере откройте `/etc/bind/named.conf.options`, внесите следующие изменения, затем перезапустите bind9 с помощью `systemctl restart bind9`.
```bash
# Change this line
allow-transfer { "none"; };
# To this
allow-transfer { your.slave.ip.address; };
# Or this, if adding multiple slaves
allow-transfer { first.slave.ip.address; second.slave.ip.address; };
# Add this line, if adding multiple slaves
also-notify { second.slave.ip.address; };
```
```bash
# Измените эту строку
allow-transfer { "none"; };
# На эту
allow-transfer { your.slave.ip.address; };
# Или на эту, если добавляете несколько подчиненных
allow-transfer { first.slave.ip.address; second.slave.ip.address; };
# Добавьте эту строку, если добавляете несколько подчиненных
also-notify { second.slave.ip.address; };
```
4. On the slave server, open `/etc/bind/named.conf.options`, do the following changes, then restart bind9 with `systemctl restart bind9`:
4. На подчиненном сервере откройте `/etc/bind/named.conf.options`, внесите следующие изменения, затем перезапустите bind9 с помощью `systemctl restart bind9`:
```bash
# Change this line
allow-recursion { 127.0.0.1; ::1; };
# To this
allow-recursion { 127.0.0.1; ::1; your.master.ip.address; };
# Add this line
allow-notify{ your.master.ip.address; };
```
```bash
# Измените эту строку
allow-recursion { 127.0.0.1; ::1; };
5. Run the following command to enable the DNS server:
# На эту
allow-recursion { 127.0.0.1; ::1; your.master.ip.address; };
# Добавьте эту строку
allow-notify{ your.master.ip.address; };
```
```bash
v-add-remote-dns-host slave.yourhost.com 8083 'accesskey:secretkey' '' 'api' 'user-name'
```
5. Выполните следующую команду, чтобы включить DNS-сервер:
If you still want to use admin and password authentication:
```bash
v-add-remote-dns-host slave.yourhost.com 8083 'accesskey:secretkey' '' 'api' 'user-name'
```
```bash
v-add-remote-dns-host slave.yourhost.com 8083 'admin' 'strongpassword' 'api' 'user-name'
```
Если вы все еще хотите использовать аутентификацию администратора и пароля:
### Converting an existing DNS cluster to Master -> Slave
```bash
v-add-remote-dns-host slave.yourhost.com 8083 'admin' 'strongpassword' 'api' 'user-name'
```
1. In `/usr/local/hestia/conf/hestia.conf`, change `DNS_CLUSTER_SYSTEM='hestia'` to `DNS_CLUSTER_SYSTEM='hestia-zone'`.
2. On the master server, open `/etc/bind/named.options`, do the following changes, then restart bind9 with `systemctl restart bind9`.
### Преобразование существующего DNS-кластера в Master -> Slave
```bash
# Change this line
allow-transfer { "none"; };
# To this
allow-transfer { your.slave.ip.address; };
# Or this, if adding multiple slaves
allow-transfer { first.slave.ip.address; second.slave.ip.address; };
# Add this line, if adding multiple slaves
also-notify { second.slave.ip.address; };
```
1. В `/usr/local/hestia/conf/hestia.conf` измените `DNS_CLUSTER_SYSTEM='hestia'` на `DNS_CLUSTER_SYSTEM='hestia-zone'`.
3. On the slave server, open `/etc/bind/named.options`, do the following changes, then restart bind9 with `systemctl restart bind9`:
2. На главном сервере откройте `/etc/bind/named.options`, внесите следующие изменения, затем перезапустите bind9 с помощью `systemctl restart bind9`.
```bash
# Change this line
allow-recursion { 127.0.0.1; ::1; };
# To this
allow-recursion { 127.0.0.1; ::1; your.master.ip.address; };
# Add this line
allow-notify{ your.master.ip.address; };
```
```bash
# Измените эту строку
allow-transfer { "none"; };
# На это
allow-transfer { your.slave.ip.address; };
# Или это, если добавляете несколько подчиненных
allow-transfer { first.slave.ip.address; second.slave.ip.address; };
# Добавьте эту строку, если добавляете несколько подчиненных
also-notify { second.slave.ip.address; };
```
3. На подчиненном сервере откройте `/etc/bind/named.options`, внесите следующие изменения, затем перезапустите bind9 с помощью `systemctl restart bind9`:
```bash
# Измените эту строку
allow-recursion { 127.0.0.1; ::1; };
# К этому
allow-recursion { 127.0.0.1; ::1; your.master.ip.address; };
# Добавьте эту строку
allow-notify{ your.master.ip.address; };
```
4. Update DNS with `v-sync-dns-cluster`
4. Обновите DNS с помощью `v-sync-dns-cluster`
## Enabling DNSSEC
## Включение DNSSEC
::: warning
DNSSEC cant be used when Hestia Cluster is active as Master <-> Master
DNSSEC нельзя использовать, когда Hestia Cluster активен как Master <-> Master
:::
To enable DNSSEC, check the checkbox in-front of DNSSEC and save.
Чтобы включить DNSSEC, установите флажок перед DNSSEC и сохраните.
To view the public key. Got to the list DNS domains and click the <i class="fas fas-key"></i> icon.
Чтобы просмотреть открытый ключ. Перейдите к списку доменов DNS и щелкните значок <i class="fas fas-key"></i>.
Depending on your registrar, you will either be able to create a new record based on the DNSKEY or based on DS key. After the DNSSEC public key has been added to the registrar, DNSSEC is enabled and live.
В зависимости от вашего регистратора вы сможете создать новую запись на основе DNSKEY или на основе ключа DS. После добавления открытого ключа DNSSEC к регистратору DNSSEC будет включен и запущен.
::: danger
Removing or disabling the private key in Hestia will make the domain inaccessble.
Удаление или отключение закрытого ключа в Hestia сделает домен недоступным.
:::
## Can I separate DNS accounts by users
## Могу ли я разделить учетные записи DNS по пользователям
Yes, you can just supply the user variable at the end of the command.
Да, вы можете просто указать переменную пользователя в конце команды.
````bash
v-add-remote-dns-host slave.yourhost.com 8083 'access_key:secret_key' '' '' 'username'```
````
or
или
```bash
v-add-remote-dns-host slave.yourhost.com 8083 admin p4sw0rd '' 'username'
```
With the new API system, you can also replace `api_key` with `access_key:secret_key`
С новой системой API вы также можете заменить `api_key` на `access_key:secret_key`
::: info
By default the user `dns-cluster` or user with the role `dns-cluster` are exempted from syncing to other DNS servers!
По умолчанию пользователь `dns-cluster` или пользователь с ролью `dns-cluster` освобождены от синхронизации с другими DNS-серверами!
:::
## I am not able to add a server as DNS host
## Я не могу добавить сервер как DNS-хост
When trying to add a DNS server for a cluster I get the following error:
При попытке добавить DNS-сервер для кластера я получаю следующую ошибку:
```bash
/usr/local/hestia/func/remote.sh: line 43: return: Error:: numeric argument required
Error: api connection to slave.domain.tld failed
/usr/local/hestia/func/remote.sh: строка 43: return: Ошибка:: требуется числовой аргумент
Ошибка: подключение API к slave.domain.tld не удалось
```
By default, API access has been disabled for non-local IP addresses. Please add your IP address to the **Allowed IP addresses for API** field in the server settings.
По умолчанию доступ API для нелокальных IP-адресов отключен. Добавьте свой IP-адрес в поле **Разрешенные IP-адреса для API** в настройках сервера.

@ -1,105 +1,105 @@
# Email and mail server
# Электронная почта и почтовый сервер
## How do I setup internal mail to be sent over SMTP?
## Как настроить внутреннюю почту для отправки через SMTP?
By default, emails generated by Hestia (Notifications, Forgot password, update logs, etc.) are sent the internal mail. If you want, you can setup mail to be send over a SMTP account.
По умолчанию электронные письма, созданные Hestia (уведомления, забытый пароль, журналы обновлений и т. д.), отправляются на внутреннюю почту. Если хотите, вы можете настроить отправку почты через учетную запись SMTP.
Execute the following script and follow the instructions:
Выполните следующий скрипт и следуйте инструкциям:
```bash
bash /usr/local/hestia/install/upgrade/manual/configure-server-smtp.sh
```
## I am unable to send email
## Я не могу отправить электронную почту
First, check that port 25 is open for outgoing traffic. A lot of providers block port 25 by default to combat spam.
Сначала проверьте, открыт ли порт 25 для исходящего трафика. Многие провайдеры блокируют порт 25 по умолчанию для борьбы со спамом.
To do so, run the following command:
Для этого выполните следующую команду:
```bash
telnet ASPMX.L.GOOGLE.COM 25
```
If the connection was successful you will see something similar to this:
Если подключение прошло успешно, вы увидите что-то похожее на это:
```bash
Trying 2a00:1450:400c:c00::1b...
Connected to ASPMX.L.GOOGLE.COM.
Escape character is '^]'.
Попытка 2a00:1450:400c:c00::1b...
Подключено к ASPMX.L.GOOGLE.COM.
Символ экранирования — '^]'.
220 mx.google.com ESMTP a7si1253985wrr.455 - gsmtp
```
If not, you have 2 options:
Если нет, у вас есть 2 варианта:
1. Contact you provider and ask them to open port 25 for outgoing traffic.
2. Setup a mail relay under the mail domain settings or set it up generally for the server in system settings. For this you need to use an SMTP relay service like:
- [Amazon SES](https://aws.amazon.com/ses/)
- [SMTP2GO](https://www.smtp2go.com)
- [Sendinblue](https://www.sendinblue.com)
1. Свяжитесь со своим провайдером и попросите его открыть порт 25 для исходящего трафика.
2. Настройте почтовый ретранслятор в настройках почтового домена или настройте его в целом для сервера в системных настройках. Для этого вам нужно использовать службу ретрансляции SMTP, например:
- [Amazon SES](https://aws.amazon.com/ses/)
- [SMTP2GO](https://www.smtp2go.com)
- [Sendinblue](https://www.sendinblue.com)
## What is an SMTP relay service and how to set it up
## Что такое служба ретрансляции SMTP и как ее настроить
SMTP mail relay is the process of transferring an email from one server to another for delivery. Often email from a server is blocked by de service provider due to fear of spam. Or the IP reputation is so low that all email go straight into the spam box. To prevent such issues a lot of companies offer a SMTP relay that takes care of the delivery part. As they send a lot email via the same ip addresses they have a better reputation.
Ретрансляция почты SMTP — это процесс передачи электронной почты с одного сервера на другой для доставки. Часто электронная почта с сервера блокируется поставщиком услуг из-за страха перед спамом. Или репутация IP настолько низкая, что вся почта сразу попадает в папку со спамом. Чтобы предотвратить такие проблемы, многие компании предлагают ретрансляцию SMTP, которая берет на себя часть доставки. Поскольку они отправляют много электронной почты через одни и те же IP-адреса, у них лучшая репутация.
To setup create a account by the provider you want or use and follow their instruction to update your DNS. When completed you can enter the SMTP user account they provider in the settings under "Global SMTP" or under the "Edit mail domain" -> "SMTP relay"
Для настройки создайте учетную запись у нужного вам провайдера или используйте его и следуйте его инструкциям по обновлению DNS. После завершения вы можете ввести учетную запись пользователя SMTP, которую они предоставляют, в настройках в разделе «Глобальный SMTP» или в разделе «Изменить почтовый домен» -> «SMTP-ретранслятор»
## I am unable to receive email
## Я не могу получать электронную почту
If you are unable to receive emails, make sure you have setup your DNS properly. If you are using Cloudflare, disable the use of the proxy for `mail.domain.tld`.
Если вы не можете получать электронную почту, убедитесь, что вы правильно настроили DNS. Если вы используете Cloudflare, отключите использование прокси для `mail.domain.tld`.
When you are done you can check the configuration via [MXToolBox](https://mxtoolbox.com/MXLookup.aspx).
После завершения вы можете проверить конфигурацию через [MXToolBox](https://mxtoolbox.com/MXLookup.aspx).
## How do I install SnappyMail?
## Как установить SnappyMail?
You can install SnappyMail by running the following command:
Вы можете установить SnappyMail, выполнив следующую команду:
```bash
v-add-sys-snappymail
```
## Can I login into the backend of SnappyMail
## Могу ли я войти в бэкэнд SnappyMail
In the root folder, there is a file called `.snappymail` containing the username and password:
В корневой папке есть файл с именем `.snappymail`, содержащий имя пользователя и пароль:
```bash
Username: admin_f0e5a5aa
Password: D0ung4naLOptuaa
Secret key: admin_f0e5a5aa
Имя пользователя: admin_f0e5a5aa
Пароль: D0ung4naLOptuaa
Секретный ключ: admin_f0e5a5aa
```
You can access the admin by navigating to `https://webmail.domain.tld/?admin_f0e5a5aa`, and login by using the data you found in the file. Once its not needed anymore, remove the file, for security reasons.
Вы можете получить доступ к администратору, перейдя по адресу `https://webmail.domain.tld/?admin_f0e5a5aa`, и войти, используя данные, которые вы нашли в файле. Когда он больше не понадобится, удалите файл из соображений безопасности.
## Can I use Cloudflare Proxy with email
## Могу ли я использовать прокси-сервер Cloudflare с электронной почтой
No, Cloudflares Proxy does not work with email. If you use email hosted on you server, make sure the proxy for the A record `mail.domain.tld` is switched off. Otherwise, you will not be able receive emails. The following records are suggested if you want to use Hestia as your mail server:
Нет, прокси-сервер Cloudflare не работает с электронной почтой. Если вы используете электронную почту, размещенную на вашем сервере, убедитесь, что прокси для записи A `mail.domain.tld` отключен. В противном случае вы не сможете получать электронные письма. Следующие записи рекомендуются, если вы хотите использовать Hestia в качестве почтового сервера:
- A record with name **mail** pointing to your server IP.
- A record with name **webmail** pointing to your server IP.
- MX record with name **@** with pointing to `mail.domain.tld`.
- TXT record with name **@** containing `v=spf1 a mx ip4:your ip; \~all`
- TXT record with name **\_domainkey** containing `t=y; o=~;`
- TXT record with name **mail.\_domainkey** containing `t=y; o=~DKIM key;`
- TXT record with name **\_dmarc** containing `v=DMARC1; p=quarantine; sp=quarantine; adkim=s; aspf=s;`
- Запись с именем **mail**, указывающая на IP вашего сервера.
- Запись с именем **webmail**, указывающая на IP вашего сервера.
- Запись MX с именем **@**, указывающая на `mail.domain.tld`.
- Запись TXT с именем **@**, содержащая `v=spf1 a mx ip4:your ip; \~all`
- Запись TXT с именем **\_domainkey**, содержащая `t=y; o=~;`
- Запись TXT с именем **mail.\_domainkey**, содержащая `t=y; o=~DKIM key;`
- Запись TXT с именем **\_dmarc**, содержащая `v=DMARC1; p=quarantine; sp=quarantine; adkim=s; aspf=s;`
The DKIM key and SPF record can be found in the **Mail Domains** list ([documentation](../user-guide/mail-domains.md#get-dns-records)).
Ключ DKIM и запись SPF можно найти в списке **Mail Domains** ([documentation](../user-guide/mail-domains.md#get-dns-records)).
## When sending send emails from my server, they end up in the spam folder
## При отправке писем с моего сервера они попадают в папку со спамом
Make sure you have set up the correct RDNS, SPF records and DKIM records.
Убедитесь, что вы настроили правильные записи RDNS, SPF и DKIM.
If this doesnt work, its be possible that your IP address is on one or more blacklists. You can try to unblock yourself, but often the easier method is to use SMTP and SMTP Relay with Amazon SES or another SMTP provider.
Если это не сработает, возможно, ваш IP-адрес находится в одном или нескольких черных списках. Вы можете попробовать разблокировать его самостоятельно, но часто более простой метод — использовать SMTP и SMTP Relay с Amazon SES или другим поставщиком SMTP.
## How can I enable ManageSieve?
## Как включить ManageSieve?
During Hestias installation, use the `--sieve` flag. If Hestia is already installed, there is a an upgrade script provided at the following path: `/usr/local/hestia/install/upgrade/manual/install_sieve.sh`
Во время установки Hestia используйте флаг `--sieve`. Если Hestia уже установлена, по следующему пути есть скрипт обновления: `/usr/local/hestia/install/upgrade/manual/install_sieve.sh`
## Can I allow access to ManageSieve via an external mail client?
## Могу ли я разрешить доступ к ManageSieve через внешний почтовый клиент?
Open port 4190 in the firewall. [Read the firewall documentation](./firewall.md).
Откройте порт 4190 в брандмауэре. [Прочитайте документацию брандмауэра](./firewall.md).
## How can I enable ManageSieve for Snappymail?
## Как включить ManageSieve для Snappymail?
Edit `/etc/snappymail/data/_data_/_default_/domains/default.ini` and modify the following settings:
Отредактируйте `/etc/snappymail/data/_data_/_default_/domains/default.ini` и измените следующие параметры:
```bash
sieve_use = On
@ -107,4 +107,4 @@ sieve_allow_raw = Off
sieve_host = "localhost"
sieve_port = 4190
sieve_secure = "None"
```
```

@ -1,53 +1,53 @@
# File manager
# Файловый менеджер
## How can I enable or disable the file manager
## Как включить или отключить файловый менеджер
In a new install, the file manager will be enabled by default.
В новой установке файловый менеджер будет включен по умолчанию.
To enable or update the file manager, please run the following command:
Чтобы включить или обновить файловый менеджер, выполните следующую команду:
```bash
v-add-sys-filemanager
```
To disable the file manager, please run the following command:
Чтобы отключить файловый менеджер, выполните следующую команду:
```bash
v-delete-sys-filemanager
```
## File manager gives “Unknown Error” message
## Файловый менеджер выдает сообщение «Неизвестная ошибка»
This seems to occur specifically when the line `Subsystem sftp /usr/lib/openssh/sftp-server` is removed or changed in `/etc/ssh/sshd_config` in such a way that the install script cannot update it to `Subsystem sftp internal-sftp`.
Похоже, это происходит, когда строка `Subsystem sftp /usr/lib/openssh/sftp-server` удалена или изменена в `/etc/ssh/sshd_config` таким образом, что скрипт установки не может обновить ее до `Subsystem sftp internal-sftp`.
Short answer: add `Subsystem sftp internal-sftp` to `/etc/ssh/sshd_config`.
Короткий ответ: добавьте `Subsystem sftp internal-sftp` в `/etc/ssh/sshd_config`.
Long answer: Refer to the install script `./install/hst-install-{distro}.sh` for all the changes made to `/etc/ssh/sshd_config`. For Debian, the changes can be summarised as follows:
Длинный ответ: обратитесь к установочному скрипту `./install/hst-install-{distro}.sh` для всех изменений, внесенных в `/etc/ssh/sshd_config`. Для Debian изменения можно обобщить следующим образом:
```bash
# HestiaCP Changes to the default /etc/ssh/sshd_config in Debian 10 Buster
# HestiaCP Изменения в /etc/ssh/sshd_config по умолчанию в Debian 10 Buster
# Forced default yes
# Принудительное значение по умолчанию yes
PasswordAuthentication yes
# Changed from default 2m to 1m
# Изменено с 2m по умолчанию на 1m
LoginGraceTime 1m
# Changed from default /usr/lib/openssh/sftp-server to internal-sftp
# Изменено с /usr/lib/openssh/sftp-server по умолчанию на internal-sftp
Subsystem sftp internal-sftp
# Changed from default yes
# Изменено с yes по умолчанию
DebianBanner no
```
Changing all of the other parameters to their defaults and also changing to `PasswordAuthentication no` did not reproduce the error, thus it would seem to be isolated to the `Subsystem sftp internal-sftp` parameter.
Изменение всех остальных параметров на значения по умолчанию, а также изменение на `PasswordAuthentication no` не воспроизвело ошибку, поэтому она, по-видимому, связана с параметром `Subsystem sftp internal-sftp`.
For more information regarding debugging, inspect the Hestia Nginx log:
Для получения дополнительной информации об отладке проверьте журнал Hestia Nginx:
```bash
tail -f -s0.1 /var/log/hestia/nginx-error.log
```
## I changed SSH port and I cannot use the file manager anymore
## Я изменил порт SSH и больше не могу использовать файловый менеджер
The SSH port is loaded in a PHP session. Logging out and logging back in will reset the session, fixing the issue.
Порт SSH загружен в сеансе PHP. Выход из системы и повторный вход в систему сбросят сеанс, исправив проблему.

@ -1,60 +1,60 @@
# Firewall
# Брандмауэр
::: warning
After every edit or update the firewall, Hestia will clear the current iptables unless the rules are added via Hestia and [custom script](#how-can-i-customize-iptables-rules).
После каждого изменения или обновления брандмауэра Hestia очистит текущие iptables, если только правила не будут добавлены через Hestia и [пользовательский скрипт](#how-can-i-customize-iptables-rules).
:::
## How can I open or block a port or IP?
## Как открыть или заблокировать порт или IP?
1. Navigate to the server settings by clicking the <i class="fas fa-fw fa-cog"><span class="visually-hidden">Server</span></i> icon in the top right.
2. Click the **<i class="fas fa-fw fa-shield-alt"></i> Firewall** button.
3. Click the **<i class="fas fa-fw fa-plus-circle"></i> Add Rule** button.
4. Select the desired action.
5. Select the desired protocol.
6. Enter the port(s) you want this rule to apply to (`0` for all ports).
7. Set the IP this rule applies to (`0.0.0.0/0` for all IPs) or select an IPSet.
8. Optionally describe the rules function.
9. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
1. Перейдите к настройкам сервера, нажав значок <i class="fas fa-fw fa-cog"><span class="visually-hidden">Сервер</span></i> в правом верхнем углу.
2. Нажмите кнопку **<i class="fas fa-fw fa-shield-alt"></i> Брандмауэр**.
3. Нажмите кнопку **<i class="fas fa-fw fa-plus-circle"></i> Добавить правило**.
4. Выберите нужное действие.
5. Выберите нужный протокол.
6. Введите порт(ы), к которым вы хотите применить это правило (`0` для всех портов).
7. Установите IP, к которому это правило будет применяться (`0.0.0.0/0` для всех IP) или выберите IPSet.
8. При желании опишите функцию правила.
9. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Save** в правом верхнем углу.
You can also use the [v-add-firewall-rule](../reference/cli.md#v-add-firewall-rule) command.
Вы также можете использовать команду [v-add-firewall-rule](../reference/cli.md#v-add-firewall-rule).
## How do I setup an IPSet blacklist or whitelist?
## Как настроить черный или белый список IPSet?
IPSet are large lists of IP addresses or subnets. They can be used for blacklists and whitelists.
IPSet — это большие списки IP-адресов или подсетей. Их можно использовать для черных и белых списков.
1. Navigate to the server settings by clicking the <i class="fas fa-fw fa-cog"><span class="visually-hidden">Server</span></i> icon in the top right.
2. Click the **<i class="fas fa-fw fa-shield-alt"></i> Firewall** button.
3. Click the **<i class="fas fa-fw fa-list"></i> Manage IP lists** button.
4. Click the **<i class="fas fa-fw fa-plus-circle"></i> Add IP list** button.
5. Name your IP list.
6. Select the data source by entering one of the following:
- URL: `http://ipverse.net/ipblocks/data/countries/nl.zone`
- Script (with `chmod 755`): `/usr/local/hestia/install/deb/firewall/ipset/blacklist.sh`
- File: `file:/location/of/file`
- You can also use one of Hestias included sources.
7. Selected the desired IP version (v4 or v6).
8. Choose whether to auto-update the list or not.
9. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
1. Перейдите к настройкам сервера, нажав на значок <i class="fas fa-fw fa-cog"><span class="visually-hidden">Сервер</span></i> в правом верхнем углу.
2. Нажмите кнопку **<i class="fas fa-fw fa-shield-alt"></i> Брандмауэр**.
3. Нажмите кнопку **<i class="fas fa-fw fa-list"></i> Управление списками IP**.
4. Нажмите кнопку **<i class="fas fa-fw fa-plus-circle"></i> Добавить список IP**.
5. Дайте имя вашему списку IP.
6. Выберите источник данных, введя один из следующих вариантов:
- URL: `http://ipverse.net/ipblocks/data/countries/nl.zone`
- Скрипт (с `chmod 755`): `/usr/local/hestia/install/deb/firewall/ipset/blacklist.sh`
- Файл: `file:/location/of/file`
- Вы также можете использовать один из включенных источников Hestia.
7. Выберите нужную версию IP (v4 или v6).
8. Выберите, следует ли автоматически обновлять список.
9. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
## How can I customize iptables rules?
## Как настроить правила iptables?
::: danger
This is dangerously advanced feature, please make sure you understand what you are doing.
Это опасно продвинутая функция, убедитесь, что вы понимаете, что делаете.
:::
Hestia supports setting custom rules, chains or flags, etc. using script.
Hestia поддерживает настройку пользовательских правил, цепочек или флагов и т. д. с помощью скрипта.
Script must be here: `/usr/local/hestia/data/firewall/custom.sh`
Скрипт должен быть здесь: `/usr/local/hestia/data/firewall/custom.sh`
1. Create custom.sh: `touch /usr/local/hestia/data/firewall/custom.sh`
2. Make it executable: `chmod +x /usr/local/hestia/data/firewall/custom.sh`
3. Edit it with your favorite editor.
4. Test and make sure it works.
5. To make custom rules persistent, run: `v-update-firewall`
1. Создайте custom.sh: `touch /usr/local/hestia/data/firewall/custom.sh`
2. Сделайте его исполняемым: `chmod +x /usr/local/hestia/data/firewall/custom.sh`
3. Отредактируйте его в своем любимом редакторе.
4. Проверьте и убедитесь, что он работает.
5. Чтобы сделать пользовательские правила постоянными, выполните: `v-update-firewall`
**IMPLICIT PROTECTION:** Before making the rules persistent, if you screw up or lock yourself out of the server, just reboot.
**НЕЯВНАЯ ЗАЩИТА:** Перед тем, как сделать правила постоянными, если вы накосячите или заблокируете себе доступ к серверу, просто перезагрузите его.
custom.sh example:
пример custom.sh:
```bash
#!/bin/bash
@ -63,41 +63,41 @@ IPTABLES="$(command -v iptables)"
$IPTABLES -N YOURCHAIN
$IPTABLES -F YOURCHAIN
$IPTABLES -I YOURCHAIN -s 0.0.0.0/0 -j RETURN
$IPTABLES -I YOURCHAIN -s 0.0.0.0/0 -j RETURN
$IPTABLES -I INPUT -p TCP -m multiport --dports 1:65535 -j YOURCHAIN
```
## My IPSet doesnt work
## Мой IPSet не работает
An IPSet must contain at least 10 IP or IP ranges.
IPSet должен содержать не менее 10 IP-адресов или диапазонов IP-адресов.
## Can I combine multiple sources in one?
## Могу ли я объединить несколько источников в один?
If you want to combine multiple IP sources together, you can do so by using the following script:
Если вы хотите объединить несколько источников IP, вы можете сделать это с помощью следующего скрипта:
```bash
#!/bin/bash
BEL=(
"https://raw.githubusercontent.com/ipverse/rir-ip/master/country/be/ipv4-aggregated.txt"
"https://raw.githubusercontent.com/ipverse/rir-ip/master/country/nl/ipv4-aggregated.txt"
"https://raw.githubusercontent.com/ipverse/rir-ip/master/country/lu/ipv4-aggregated.txt"
"https://raw.githubusercontent.com/ipverse/rir-ip/master/country/be/ipv4-aggregated.txt"
"https://raw.githubusercontent.com/ipverse/rir-ip/master/country/nl/ipv4-aggregated.txt"
"https://raw.githubusercontent.com/ipverse/rir-ip/master/country/lu/ipv4-aggregated.txt"
)
IP_BEL_TMP=$(mktemp)
for i in "${BEL[@]}"; do
IP_TMP=$(mktemp)
((HTTP_RC = $(curl -L --connect-timeout 10 --max-time 10 -o "$IP_TMP" -s -w "%{http_code}" "$i")))
if ((HTTP_RC == 200 || HTTP_RC == 302 || HTTP_RC == 0)); then # "0" because file:/// returns 000
command grep -Po '^(?:\d{1,3}\.){3}\d{1,3}(?:/\d{1,2})?' "$IP_TMP" | sed -r 's/^0*([0-9]+)\.0*([0-9]+)\.0*([0-9]+)\.0*([0-9]+)$/\1.\2.\3.\4/' >> "$IP_BEL_TMP"
elif ((HTTP_RC == 503)); then
echo >&2 -e "\\nUnavailable (${HTTP_RC}): $i"
else
echo >&2 -e "\\nWarning: curl returned HTTP response code $HTTP_RC for URL $i"
fi
rm -f "$IP_TMP"
IP_TMP=$(mktemp)
((HTTP_RC = $(curl -L --connect-timeout 10 --max-time 10 -o "$IP_TMP" -s -w "%{http_code}" "$i")))
if ((HTTP_RC == 200 || HTTP_RC == 302 || HTTP_RC == 0)); then # "0", потому что file:/// возвращает 000
command grep -Po '^(?:\d{1,3}\.){3}\d{1,3}(?:/\d{1,2})?' "$IP_TMP" | sed -r 's/^0*([0-9]+)\.0*([0-9]+)\.0*([0-9]+)\.0*([0-9]+)$/\1.\2.\3.\4/' >> "$IP_BEL_TMP"
elif ((HTTP_RC == 503)); then
echo >&2 -e "\\nНедоступно (${HTTP_RC}): $i"
else
echo >&2 -e "\\nПредупреждение: curl вернул код ответа HTTP $HTTP_RC для URL $i"
fi
rm -f "$IP_TMP"
done
sed -r -e '/^(0\.0\.0\.0|10\.|127\.|172\.1[6-9]\.|172\.2[0-9]\.|172\.3[0-1]\.|192\.168\.|22[4-9]\.|23[0-9]\.)/d' "$IP_BEL_TMP" | sort -n | sort -mu
rm -f "$IP_BEL_TMP"
```
```

@ -1,32 +1,30 @@
# Operating system upgrades
# Обновления операционной системы
::: danger
Before upgrading your operating system make sure to make a backup! We do not provide support for broken operating system installations. We only provide this page for information about Hestia issues that may come up while upgrading.
Перед обновлением операционной системы обязательно сделайте резервную копию! Мы не оказываем поддержку для неисправных установок операционной системы. Мы предоставляем эту страницу только для информации о проблемах Hestia, которые могут возникнуть при обновлении.
:::
## General
::: info
Make sure to verify that MariaDB is running on a supported version for the new operating system. If that is not the case, update MariaDB version to a supported version before upgrading your OS!
Убедитесь, что MariaDB работает на поддерживаемой версии для новой операционной системы. Если это не так, обновите версию MariaDB до поддерживаемой версии перед обновлением ОС!
:::
Once a backup has been made, update Hestia to the last supported version:
После создания резервной копии обновите Hestia до последней поддерживаемой версии:
```bash
yum update
```
Follow system instructions to upgrade your OS. When done, make sure to check that the files in `/etc/apt/sources.list.d` are not hashed out. If they are, remove the hash and run `apt update && apt upgrade` again.
## MSVSphere, AlmaLinux, RockyLinux 9
### SHA512 password encryption
### Шифрование паролей SHA512
```bash
sed -i "s/obscure yescrypt/obscure sha512/g" /etc/pam.d/common-password
```
### Exim4 config
### Конфигурация Exim4
```bash
rm -f /etc/exim4/exim4.conf.template
@ -35,6 +33,4 @@ cp -f /usr/local/hestia/install/deb/exim/exim4.conf.4.94.template /etc/exim4/exi
### ProFTPD
Comment out [line 29](https://github.com/hestiacp/hestiacp/blob/1ff8a4e5207aae1e241954a83b7e8070bcdca788/install/deb/proftpd/proftpd.conf#L29) in `/etc/profpd/prodtpd.conf`.
Закомментируйте [строку 29](https://github.com/hestiacp/hestiacp/blob/1ff8a4e5207aae1e241954a83b7e8070bcdca788/install/deb/proftpd/proftpd.conf#L29) в `/etc/profpd/prodtpd.conf`.

@ -1,76 +1,76 @@
# REST API
The Hestia REST API is available to perform core functions of the Control Panel. For example, we use it internally to synchronise DNS clusters and to integrate the WHMCS billing system. The API can also be used to create new user accounts, domains, databases or even to build an alternative web interface.
Hestia REST API доступен для выполнения основных функций панели управления. Например, мы используем его для внутренней синхронизации кластеров DNS и интеграции биллинговой системы WHMCS. API также можно использовать для создания новых учетных записей пользователей, доменов, баз данных или даже для создания альтернативного веб-интерфейса.
The [API reference](../reference/api.md) provides PHP code samples demonstrating how you can integrate the API into your application or script. However, you also can use any other language to communicate with the API.
[Справочник API](../reference/api.md) предоставляет примеры кода PHP, демонстрирующие, как можно интегрировать API в приложение или скрипт. Однако вы также можете использовать любой другой язык для взаимодействия с API.
With the release of Hestia v1.6.0, we have introduced a more advanced API system and it will allow non-admin users to use specific commands.
С выпуском Hestia v1.6.0 мы представили более продвинутую систему API, которая позволит пользователям, не являющимся администраторами, использовать определенные команды.
## Im unable to connect to the API
## Я не могу подключиться к API
With the release of Hestia v1.4.0, we have decided the security needed to be tightened. If you want to connect to the API from a remote server, you will first need to whitelist its IP address. To add multiple addresses, separate them with a new line.
С выпуском Hestia v1.4.0 мы решили усилить безопасность. Если вы хотите подключиться к API с удаленного сервера, вам сначала нужно будет добавить его IP-адрес в белый список. Чтобы добавить несколько адресов, разделите их новой строкой.
## Can I disable the API?
## Можно ли отключить API?
Yes, you can disable the API via the server settings. The file will be deleted from the server and all connections will get ignored. Please note that some functions may not work with the API disabled.
Да, вы можете отключить API через настройки сервера. Файл будет удален с сервера, а все соединения будут игнорироваться. Обратите внимание, что некоторые функции могут не работать при отключенном API.
## Password vs API key vs access keys
## Пароль, ключ API или ключи доступа
### Password
### Пароль
- Should only be used by the admin user.
- Changing the admin password requires updating it everywhere its used.
- Allowed to run all commands.
- Должен использоваться только администратором.
- Изменение пароля администратора требует его обновления везде, где он используется.
- Разрешено запускать все команды.
### API key
### Ключ API
- Should only be used by the admin user.
- Changing the admin password does not have consequences.
- Allowed to run all commands.
- Должен использоваться только администратором.
- Изменение пароля администратора не имеет последствий.
- Разрешено запускать все команды.
### Access keys
### Ключи доступа
- User-specific.
- Can limit permissions. For example only `v-purge-nginx-cache`.
- Ability to disable login via other methods but still allow the use of api keys
- Can be restricted to admin user only or allowed for all users.
- Зависит от пользователя.
- Может ограничивать разрешения. Например, только `v-purge-nginx-cache`.
- Возможность отключить вход другими методами, но при этом разрешить использование ключей API
- Может быть ограничено только администратором или разрешено всем пользователям.
## Setup access/secret key authentication
## Настройка аутентификации по ключу доступа/секретному ключу
To create an access key, follow [the guide in our documentation](../user-guide/account.md#api-access-keys).
Чтобы создать ключ доступа, следуйте [руководству в нашей документации](../user-guide/account.md#api-access-keys).
If the software you are using already supports the hash format, use `ACCESS_KEY:SECRET_KEY` instead of your old API key.
Если используемое вами программное обеспечение уже поддерживает формат хэша, используйте `ACCESS_KEY:SECRET_KEY` вместо старого ключа API.
## Create an API key
## Создание ключа API
::: warning
This method has been replaced by the above access/secret key authentication. We **highly** recommend using this more secure method instead.
Этот метод был заменен на указанную выше аутентификацию по ключу доступа/секретному ключу. Мы **настоятельно** рекомендуем использовать этот более безопасный метод.
:::
Run the command `v-generate-api-key`.
Запустите команду `v-generate-api-key`.
## Return codes
## Коды возврата
| Value | Name | Comment |
| Значение | Имя | Комментарий |
| ----- | ------------- | ------------------------------------------------------------ |
| 0 | OK | Command has been successfully performed |
| 1 | E_ARGS | Not enough arguments provided |
| 2 | E_INVALID | Object or argument is not valid |
| 3 | E_NOTEXIST | Object doesnt exist |
| 4 | E_EXISTS | Object already exists |
| 5 | E_SUSPENDED | Object is already suspended |
| 6 | E_UNSUSPENDED | Object is already unsuspended |
| 7 | E_INUSE | Object cant be deleted because it is used by another object |
| 8 | E_LIMIT | Object cannot be created because of hosting package limits |
| 9 | E_PASSWORD | Wrong / Invalid password |
| 10 | E_FORBIDEN | Object cannot be accessed by this user |
| 11 | E_DISABLED | Subsystem is disabled |
| 12 | E_PARSING | Configuration is broken |
| 13 | E_DISK | Not enough disk space to complete the action |
| 14 | E_LA | Server is to busy to complete the action |
| 15 | E_CONNECT | Connection failed. Host is unreachable |
| 16 | E_FTP | FTP server is not responding |
| 17 | E_DB | Database server is not responding |
| 18 | E_RDD | RRDtool failed to update the database |
| 19 | E_UPDATE | Update operation failed |
| 20 | E_RESTART | Service restart failed |
| 0 | OK | Команда успешно выполнена |
| 1 | E_ARGS | Недостаточно аргументов |
| 2 | E_INVALID | Недопустимый объект или аргумент |
| 3 | E_NOTEXIST | Объект не существует |
| 4 | E_EXISTS | Объект уже существует |
| 5 | E_SUSPENDED | Объект уже приостановлен |
| 6 | E_UNSUSPENDED | Объект уже разблокирован |
| 7 | E_INUSE | Объект не может быть удален, так как он используется другим объектом |
| 8 | E_LIMIT | Объект не может быть создан из-за ограничений пакета хостинга |
| 9 | E_PASSWORD | Неверный / недействительный пароль |
| 10 | E_FORBIDEN | Этот пользователь не может получить доступ к объекту |
| 11 | E_DISABLED | Подсистема отключена |
| 12 | E_PARSING | Конфигурация нарушена |
| 13 | E_DISK | Недостаточно места на диске для завершения действия |
| 14 | E_LA | Сервер слишком занят для завершения действия |
| 15 | E_CONNECT | Соединение не удалось. Хост недоступен |
| 16 | E_FTP | FTP-сервер не отвечает |
| 17 | E_DB | Сервер базы данных не отвечает |
| 18 | E_RDD | RRDtool не удалось обновить базу данных |
| 19 | E_UPDATE | Операция обновления не удалась |
| 20 | E_RESTART | Перезапуск службы не удался |

@ -1,47 +1,48 @@
# SSL Certificates
# SSL-сертификаты
## How to setup Lets Encrypt for the control panel
## Как настроить Lets Encrypt для панели управления
Make sure the hostname of the server is pointed to the servers IP address and that you set the hostname correctly.
Убедитесь, что имя хоста сервера указывает на IP-адрес сервера и что вы правильно указали имя хоста.
Running the following commands will change the hostname and generate a Lets Encrypt certificate for the control panel:
Выполнение следующих команд изменит имя хоста и сгенерирует сертификат Lets Encrypt для панели управления:
```bash
v-change-sys-hostname host.domain.tld
v-add-letsencrypt-host
```
## Common errors using Lets Encrypt
## Распространенные ошибки при использовании Lets Encrypt
::: info
Due to changes in the code, the error message has been changed. The following list will be extended in the future.
Из-за изменений в коде сообщение об ошибке было изменено. Следующий список будет расширен в будущем.
:::
| Error | Message |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `rateLimited` | The rate limit of the maximum requests have been passed. Please check [https://crt.sh](https://crt.sh) to see how many active certificates you have. |
| Ошибка | Сообщение |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `rateLimited` | Превышен предел скорости максимального количества запросов. Проверьте [https://crt.sh](https://crt.sh), чтобы узнать, сколько у вас активных сертификатов. |
### Lets Encrypt validation status 400
### Lets Encrypt статус проверки 400
When requesting an SSL certificate, you may encounter the following error:
При запросе SSL-сертификата вы можете столкнуться со следующей ошибкой:
```bash
Error: Lets Encrypt validation status 400. Details: Unable to update challenge :: authorisation must be pending
Ошибка: Lets Encrypt статус проверки 400. Подробности: Невозможно обновить вызов :: авторизация должна быть в ожидании
```
This could mean multiple things:
Это может означать несколько вещей:
1. Cloudflares proxy is enabled and the **SSL/TLS** setting is set to **Full (strict)**.
2. Nginx or Apache is not reloading correctly.
3. IPv6 is setup. Disable IPv6 in DNS.
4. There is an issue with a template.
1. Прокси-сервер Cloudflare включен, а настройка **SSL/TLS** установлена ​​на **Полный (строгий)**.
In the future we hope to improve debugging, but currently the easiest way to debug this issue is to navigate to `/var/log/hestia/` and inspect the desired log file (`LE-{user}-{domain}.log`), which should appear after requesting a certificate.
2. Nginx или Apache не перезагружаются правильно.
3. IPv6 настроен. Отключите IPv6 в DNS.
4. Возникла проблема с шаблоном.
Find **Step 5**, where you will see something similar to the following:
В будущем мы надеемся улучшить отладку, но в настоящее время самый простой способ отладки этой проблемы — перейти в `/var/log/hestia/` и проверить нужный файл журнала (`LE-{user}-{domain}.log`), который должен появиться после запроса сертификата.
Найдите **Шаг 5**, где вы увидите что-то похожее на следующее:
```bash
==[Step 5]==
==[Шаг 5]==
- status: 200
- nonce: 0004EDQMty6_ZOb1BdRQSc-debiHXGXaXbZuyySFU2xoogk
- validation: pending
@ -55,44 +56,45 @@ boulder-requester: 80260362
cache-control: public, max-age=0, no-cache
link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
link: <https://acme-v02.api.letsencrypt.org/acme/authz-v3/12520447717>;rel="up"
location: https://acme-v02.api.letsencrypt.org/acme/chall-v3/12520447717/scDRXA
расположение: https://acme-v02.api.letsencrypt.org/acme/chall-v3/12520447717/scDRXA
replay-nonce: 0004EDQMty6_ZOb1BdRQSc-debiHXGXaXbZuyySFU2xoogk
x-frame-options: DENY
x-frame-options: ЗАПРЕТИТЬ
strict-transport-security: max-age=604800
{
"type": "http-01",
"status": "pending",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall-v3/12520447717/scDRXA",
"token": "9yriok5bpLtV__m-rZ8f2tQmrfeQli0tCxSj4iNkv2Y"
"type": "http-01",
"status": "pending",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall-v3/12520447717/scDRXA",
"token": "9yriok5bpLtV__m-rZ8f2tQmrfeQli0tCxSj4iNkv2Y"
}
```
By following the URL in the JSON response, you will get more info about what went wrong.
Перейдя по URL в ответе JSON, вы получите больше информации о том, что пошло не так.
### Другие советы по отладке Lets Encrypt
### Other tips for debugging Lets Encrypt
Попробуйте использовать [Lets Debug](https://letsdebug.net):
Try to use [Lets Debug](https://letsdebug.net):
1. Введите свое доменное имя.
2. Убедитесь, что выбран HTTP-01
3. Запустите тест
1. Enter your domain name.
2. Make sure HTTP-01 is selected
3. Run the test
После завершения теста будет показано сообщение об ошибке или успешном выполнении, содержащее дополнительную информацию.
Once the test is completed, it will show an error or a success message, containing more information.
## Могу ли я включить прокси Cloudflare с Lets Encrypt?
## Can I enable Cloudflares proxy with Lets Encrypt?
Да, вы можете использовать сертификаты Lets Encrypt с прокси Cloudflare, однако вам необходимо выполнить некоторые специальные шаги:
Yes, you are able to use Lets Encrypt certificates with Cloudflares proxy, however you need to follow some special steps:
1. Отключите прокси Cloudflare для нужного домена.
1. Disable Cloudflares proxy for the desired domain.
2. Wait at least 5 minutes, for DNS caches to expire.
3. Request the certificate via the control panel or use the CLI command.
4. Reenable the proxy.
5. In the **SSL/TLS** tab, switch over to **Full (strict)**.
2. Подождите не менее 5 минут, пока не истечет срок действия кэшей DNS.
3. Запросите сертификат через панель управления или используйте команду CLI.
4. Повторно включите прокси-сервер.
5. На вкладке **SSL/TLS** переключитесь на **Полный (строгий)**.
## Can I use a Cloudflare Origin CA SSL Certificate?
## Могу ли я использовать SSL-сертификат Cloudflare Origin CA?
1. Create an Origin CA certificate by [following these steps](https://developers.cloudflare.com/ssl/origin-configuration/origin-ca#1-create-an-origin-ca-certificate).
2. Once generated, enter your SSL keys in the **Edit Web Domain** page.
3. In the **SSL Certificate Authority / Intermediate** box, enter [this certificate](https://developers.cloudflare.com/ssl/static/origin_ca_rsa_root.pem).
4. In Cloudflares **SSL/TLS** tab, switch over to **Full (strict)**.
1. Создайте сертификат Origin CA, [выполнив следующие шаги](https://developers.cloudflare.com/ssl/origin-configuration/origin-ca#1-create-an-origin-ca-certificate).
2. После создания введите ключи SSL на странице **Изменить веб-домен**.
3. В поле **Центр сертификации SSL / промежуточный** введите [этот сертификат](https://developers.cloudflare.com/ssl/static/origin_ca_rsa_root.pem).
4. На вкладке **SSL/TLS** в Cloudflare переключитесь на **Полный (строгий)**.

@ -1,100 +1,98 @@
# Troubleshooting
# Устранение неполадок
## Command not found when I try to run a v-command as root
## Команда не найдена при попытке запустить v-команду как root
Add to /root/.bashrc the following code:
Добавьте в /root/.bashrc следующий код:
```bash
if [ "${PATH#*/usr/local/hestia/bin*}" = "$PATH" ]; then
. /etc/profile.d/hestia.sh
. /etc/profile.d/hestia.sh
fi
```
And logout and login again.
И выйдите из системы и войдите снова.
After that you are able to run any v-command you want.
После этого вы сможете запустить любую v-команду, которую захотите.
## Disabling “Use IP address allow list for login attempts” via command line
## Отключение «Использовать список разрешенных IP-адресов для попыток входа» через командную строку
With the introduction of Hestia v1.4.0 we have added certain security features, including the possibility to limit login to certain IP addresses. If your IP address changes, you will not able to login anymore. To disable this feature, run the following commands:
С выпуском Hestia v1.4.0 мы добавили определенные функции безопасности, включая возможность ограничить вход определенными IP-адресами. Если ваш IP-адрес изменится, вы больше не сможете войти. Чтобы отключить эту функцию, выполните следующие команды:
```bash
# Disable the feature
# Отключить функцию
v-change-user-config-value admin LOGIN_USE_IPLIST 'no'
# Remove listed IP addresses
# Удалить перечисленные IP-адреса
v-change-user-config-value admin LOGIN_ALLOW_IPS ''
```
## Can I update my cronjobs via `crontab -e`?
## Могу ли я обновить свои cronjobs через `crontab -e`?
No, you cannot. When you update HestiaCP, the crontab will simply get overwritten. The changes will not get saved in backups either.
Нет, не можете. При обновлении HestiaCP crontab просто перезапишется. Изменения также не будут сохранены в резервных копиях.
## After update Apache2 I am not able to restart Apache2 or Nginx
## После обновления Apache2 я не могу перезапустить Apache2 или Nginx
The error message states (98) Address already in use: AG0072: make_sock: could not bind to address 0.0.0.0:80
В сообщении об ошибке указано (98) Адрес уже используется: AG0072: make_sock: не удалось привязаться к адресу 0.0.0.0:80
When a package update sometimes comes with a new config and probally it has been overwritten...
Когда обновление пакета иногда приходит с новой конфигурацией, и, вероятно, она была перезаписана...
```bash
Configuration file '/etc/apache2/apache2.conf'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
Файл конфигурации '/etc/apache2/apache2.conf'
==> Изменен (вами или скриптом) с момента установки.
==> Дистрибьютор пакета отправил обновленную версию.
Что вы хотите с этим сделать? Возможны следующие варианты:
Y или I: установить версию сопровождающего пакета
N или O: сохранить текущую установленную версию
D: показать различия между версиями
Z: запустить оболочку для изучения ситуации
Действие по умолчанию — сохранить текущую версию.
*** apache2.conf (Y/I/N/O/D/Z) [default=N] ?
```
If you see this message **ALWAYS** press "N" or **ENTER** to select the default value!
Если вы видите это сообщение **ВСЕГДА** нажмите "N" или **ENTER**, чтобы выбрать значение по умолчанию!
How ever if you entered Y or I. Then replace the config that can be found in /root/hst_backups/xxxxx/conf/apache2/ folder and copy over apache2.conf and ports.conf to /etc/apache2/ folder
Однако если вы ввели Y или I. Затем замените конфигурацию, которая находится в папке /root/hst_backups/xxxxx/conf/apache2/, и скопируйте apache2.conf и ports.conf в папку /etc/apache2/
xxxxxx is the date/time the backup is made during the last update of HestiaCP
xxxxxx — это дата/время создания резервной копии во время последнего обновления HestiaCP
If you don't have have a backup made you can also copy the config in /usr/local/hestia/install/deb/apache2/apache2.conf to /etc/apache2.conf and also empty /etc/apache2/ports.conf
Если у вас нет резервной копии, вы также можете скопировать конфигурацию из /usr/local/hestia/install/deb/apache2/apache2.conf в /etc/apache2.conf, а также пустой /etc/apache2/ports.conf
## Unable to bind adress
## Невозможно привязать адрес
In rare cases the network service might be slower than Apache2 and or Nginx. In that case Nginx or Apache2 will refuse to start up successfully start.
```bash
В редких случаях сетевая служба может работать медленнее, чем Apache2 и/или Nginx. В этом случае Nginx или Apache2 откажутся запуститься. ```bash
systemctl status nginx
```
Will create the error an error
Создаст ошибку error
```bash
nginx: [emerg] bind to x.x.x.x:80 failed (99: cannot assign requested address)
nginx: [emerg] bind to x.x.x.x:80 failed (99: не удалось назначить запрошенный адрес)
```
or in case of Aapche2
или в случае Aapche2
```bash
(99)Cannot assign requested address: AH00072: make_sock: could not bind to address x.x.x.x:8443
(99)Не удалось назначить запрошенный адрес: AH00072: make_sock: не удалось привязаться к адресу x.x.x.x:8443
```
The following command should allow services to assign to non existing ip addresses
Следующая команда должна разрешить службам назначать несуществующие IP-адреса
```bash
sysctl -w net.ipv4.ip_nonlocal_bind=1
```
## Error: 24: Too many open files
## Ошибка: 24: Слишком много открытых файлов
```bash
2022/02/21 15:04:38 [emerg] 51772#51772: open() "/var/log/apache2/domains/<redactedforprivacy>.error.log" failed (24: Too many open files)
2022/02/21 15:04:38 [emerg] 51772#51772: open() "/var/log/apache2/domains/<redactedforprivacy>.error.log" не удалось (24: слишком много открытых файлов)
```
or
или
```bash
2022/02/21 15:04:38 [emerg] 2724394#2724394: open() "/var/log/nginx/domains/xxx.error.log" failed (24: Too many open files)
2022/02/21 15:04:38 [emerg] 2724394#2724394: open() "/var/log/nginx/domains/xxx.error.log" не удалось (24: слишком много открытых файлов)
```
This error means that there are to many open files with Nginx. To resolve this issue:
Эта ошибка означает, что в Nginx слишком много открытых файлов. Чтобы решить эту проблему:
/etc/systemd/system/nginx.service.d/override.conf
@ -103,22 +101,22 @@ This error means that there are to many open files with Nginx. To resolve this i
LimitNOFILE=65536
```
Then run:
Затем выполните:
```bash
systemctl daemon-reload
```
Add this to the Nginx config file (Needs to be smaller or equal to LimitNOFILE!)
Добавьте это в файл конфигурации Nginx (должен быть меньше или равен LimitNOFILE!)
```bash
worker_rlimit_nofile 16384
```
And then restart nginx with systemctl restart nginx
Затем перезапустите nginx с помощью systemctl restart nginx
To verifiy run:
Чтобы проверить, выполните:
```bash
cat /proc/ < nginx-pid > /limits
```
```

@ -1,31 +1,31 @@
# Web Templates and FastCGI/Proxy Cache
# Веб-шаблоны и кэш FastCGI/Proxy
## How do web templates work?
## Как работают веб-шаблоны?
::: warning
Modifying templates could cause errors on the server and may cause some services to not be able to reload or start.
Изменение шаблонов может вызвать ошибки на сервере и привести к тому, что некоторые службы не смогут перезагрузиться или запуститься.
:::
Every time you rebuild the user or domain, the config files of the domain are overwritten by the new templates.
Каждый раз, когда вы перестраиваете пользователя или домен, файлы конфигурации домена перезаписываются новыми шаблонами.
This happens when:
Это происходит, когда:
- HestiaCP is updated.
- The admin initiates it.
- The user modifies settings.
- HestiaCP обновляется.
- Администратор инициирует это.
- Пользователь изменяет настройки.
The templates can be found in `/usr/local/hestia/data/templates/web/`.
Шаблоны можно найти в `/usr/local/hestia/data/templates/web/`.
| Service | Location |
| Служба | Расположение |
| ----------------------- | ----------------------------------------------------- |
| Nginx (Proxy) | /usr/local/hestia/data/templates/web/nginx/ |
| Nginx - PHP FPM | /usr/local/hestia/data/templates/web/nginx/php-fpm/ |
| Apache2 (Legacy/modphp) | /usr/local/hestia/data/templates/web/apache2/ |
| Apache2 - PHP FPM | /usr/local/hestia/data/templates/web/apache2/php-fpm/ |
| PHP-FPM | /usr/local/hestia/data/templates/web/php-fpm/ |
| Nginx (Proxy) | /usr/local/hestia/data/templates/web/nginx/ |
| Nginx - PHP FPM | /usr/local/hestia/data/templates/web/nginx/php-fpm/ |
| Apache2 (Legacy/modphp) | /usr/local/hestia/data/templates/web/apache2/ |
| Apache2 - PHP FPM | /usr/local/hestia/data/templates/web/apache2/php-fpm/ |
| PHP-FPM | /usr/local/hestia/data/templates/web/php-fpm/ |
::: warning
Avoid modifying default templates as they are overwritten by updates. To prevent that, copy them instead:
Избегайте изменения шаблонов по умолчанию, так как они перезаписываются обновлениями. Чтобы этого не произошло, скопируйте их:
```bash
cp original.tpl new.tpl
@ -35,58 +35,58 @@ cp original.sh new.sh
:::
When you are done editing your template, enable it for the desired domain from the control panel.
Завершив редактирование шаблона, включите его для нужного домена в панели управления.
After modifying an existing template, you need to rebuild the user configuration. This can be done using the [v-rebuild-user](../reference/cli.md#v-rebuild-user) command or the bulk operation in the web interface..
После изменения существующего шаблона необходимо перестроить конфигурацию пользователя. Это можно сделать с помощью команды [v-rebuild-user](../reference/cli.md#v-rebuild-user) или массовой операции в веб-интерфейсе..
### Available variables
### Доступные переменные
| Name | Description | Example |
| Имя | Описание | Пример |
| -------------------- | ----------------------------------------------------- | ------------------------------------------ |
| `%ip%` | IP Address of Server | `123.123.123.123` |
| `%proxy_port%` | Port of Proxy | `80` |
| `%proxy_port_ssl%` | Port of Proxy (SSL) | `443` |
| `%web_port%` | Port of Webserver | `8080` |
| `%web_ssl_port%` | Port of Webserver (SSL) | `8443` |
| `%domain%` | Domain | `domain.tld` |
| `%domain_idn%` | Domain (Internationalised) | `domain.tld` |
| `%alias_idn%` | Alias Domain (Internationalised) | `alias.domain.tld` |
| `%docroot%` | Document root of domain | `/home/username/web/public_html/` |
| `%sdocroot%` | Private root of domain | `/home/username/web/public_shtml/` |
| `%ssl_pem%` | Location of SSL Certificate | `/usr/local/hestia/data/user/username/ssl` |
| `%ssl_key%` | Location of SSL Key | `/usr/local/hestia/data/user/username/ssl` |
| `%web_system%` | Software used as web server | `Nginx` |
| `%home%` | Default home directory | `/home` |
| `%user%` | Username of current user | `username` |
| `%backend_lsnr%` | Your default FPM Server | `proxy:fcgi://127.0.0.1:9000` |
| `%proxy_extentions%` | Extensions that should be handled by the proxy server | A list of extensions |
| `%ip%` | IP-адрес сервера | `123.123.123.123` |
| `%proxy_port%` | Порт прокси | `80` |
| `%proxy_port_ssl%` | Порт прокси (SSL) | `443` |
| `%web_port%` | Порт веб-сервера | `8080` |
| `%web_ssl_port%` | Порт веб-сервера (SSL) | `8443` |
| `%domain%` | Домен | `domain.tld` |
| `%domain_idn%` | Домен (интернационализированный) | `domain.tld` |
| `%alias_idn%` | Псевдоним домена (интернационализированный) | `alias.domain.tld` |
| `%docroot%` | Корневой каталог документов домена | `/home/username/web/public_html/` |
| `%sdocroot%` | Частный корень домена | `/home/username/web/public_shtml/` |
| `%ssl_pem%` | Расположение SSL-сертификата | `/usr/local/hestia/data/user/username/ssl` |
| `%ssl_key%` | Расположение SSL-ключа | `/usr/local/hestia/data/user/username/ssl` |
| `%web_system%` | Программное обеспечение, используемое в качестве веб-сервера | `Nginx` |
| `%home%` | Домашний каталог по умолчанию | `/home` |
| `%user%` | Имя текущего пользователя | `username` |
| `%backend_lsnr%` | Ваш сервер FPM по умолчанию | `proxy:fcgi://127.0.0.1:9000` |
| `%proxy_extentions%` | Расширения, которые должен обрабатывать прокси-сервер | Список расширений |
::: tip
`%sdocroot%` can also be set to `%docroot%` with settings
`%sdocroot%` также можно установить на `%docroot%` с помощью настроек
:::
## How can I change settings for a specific domain
## Как изменить настройки для определенного домена
With the switch to PHP-FPM there are currently 2 different ways:
С переходом на PHP-FPM в настоящее время есть 2 разных способа:
1. Using `.user.ini` in the home directory `/home/user/web/domain.tld/public_html`.
2. Via the PHP-FPM pool config.
1. С помощью `.user.ini` в домашнем каталоге `/home/user/web/domain.tld/public_html`.
2. Через конфигурацию пула PHP-FPM.
Config templates for the PHP pool can be found in `/usr/local/hestia/data/templates/web/php-fpm/`.
Шаблоны конфигурации для пула PHP можно найти в `/usr/local/hestia/data/templates/web/php-fpm/`.
::: warning
Due to the fact we use multi PHP we need to recognise the PHP version to be used. Therefore we use the following naming scheme: `YOURNAME-PHP-X_Y.tpl`, where X_Y is your PHP version.
Поскольку мы используем несколько PHP, нам необходимо распознавать используемую версию PHP. Поэтому мы используем следующую схему именования: `YOURNAME-PHP-X_Y.tpl`, где X_Y — ваша версия PHP.
For example a PHP 8.1 template would be `YOURNAME-PHP-8_1.tpl`.
Например, шаблон PHP 8.1 будет `YOURNAME-PHP-8_1.tpl`.
:::
## Installing PHP modules
## Установка модулей PHP
```bash
apt install php-package-name
```
For example, the following command will install `php-memcached` and `php-redis`, including the required additional packages for PHP.
Например, следующая команда установит `php-memcached` и `php-redis`, включая необходимые дополнительные пакеты для PHP.
```bash
apt install php-memcached php-redis
@ -95,67 +95,67 @@ apt install php-memcached php-redis
## Nginx FastCGI Cache
::: tip
FastCGI only applies for Nginx + PHP-FPM servers. If you use Nginx + Apache2 + PHP-FPM, this will not apply to you!
FastCGI применяется только для сервера Nginx + PHP-FPM. Если вы используете Nginx + Apache2 + PHP-FPM, это к вам не применимо!
:::
FastCGI cache is an option within Nginx allowing to cache the output of FastCGI (in this case PHP). It will temporarily create a file with the contents of the output. If another user requests the same page, Nginx will check if the age of the cached file is still valid and if it is, then it will send the cached file to the user, instead of requesting it to FastCGI.
Кэш FastCGI — это опция в Nginx, позволяющая кэшировать вывод FastCGI (в данном случае PHP). Он временно создаст файл с содержимым вывода. Если другой пользователь запрашивает ту же страницу, Nginx проверит, действителен ли возраст кэшированного файла, и если да, то отправит кэшированный файл пользователю, вместо того чтобы запрашивать его в FastCGI.
FastCGI cache works best for sites get a lot of request and where the pages dont change that often, for example a news site. For more dynamic sites, changes might be required to the configuration or it might require totally disabling it.
Кэш FastCGI лучше всего подходит для сайтов, получающих много запросов и страницы которых не так часто меняются, например, новостной сайт. Для более динамичных сайтов могут потребоваться изменения в конфигурации или полное его отключение.
### Why does software package x and y not work with FastCGI cache
### Почему программные пакеты x и y не работают с кэшем FastCGI
As we have over 20 different templates and we dont use them all, we have decided to stop releasing new ones the future and hope the community helps improving the templates by [submitting a Pull Request](https://github.com/hestiacp/hestiacp/pulls).
Поскольку у нас более 20 различных шаблонов, и мы не используем их все, мы решили прекратить выпуск новых в будущем и надеемся, что сообщество поможет улучшить шаблоны, [отправив запрос на извлечение](https://github.com/hestiacp/hestiacp/pulls).
If you want to add support to a certain template, follow the instructions below.
Если вы хотите добавить поддержку определенного шаблона, следуйте инструкциям ниже.
### How do I enable FastCGI cache for my custom template
### Как включить кэш FastCGI для моего пользовательского шаблона
Locate the block where you call `fastcgi_pass`:
Найдите блок, в котором вы вызываете `fastcgi_pass`:
```bash
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
try_files $uri =404;
fastcgi_pass %backend_lsnr%;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
try_files $uri =404;
fastcgi_pass %backend_lsnr%;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
```
Add the following lines under `include /etc/nginx/fastcgi_params;`:
Добавьте следующие строки под `include /etc/nginx/fastcgi_params;`:
```bash
include %home%/%user%/conf/web/%domain%/nginx.fastcgi_cache.conf*;
if ($request_uri ~* "/path/with/exceptions/regex/whatever") {
set $no_cache 1;
set $no_cache 1;
}
```
### How can I clear the cache?
### Как очистить кэш?
When FastCGI cache is enabled a **<i class="fas fa-fw fa-trash"></i> Purge Nginx Cache** button is added to the web domains **Edit** page. You can also use the API, or the following command:
Когда включен кэш FastCGI, на страницу **Изменить** веб-домена добавляется кнопка **<i class="fas fa-fw fa-trash"></i> Очистить кэш Nginx**. Вы также можете использовать API или следующую команду:
```bash
v-purge-nginx-cache user domain.tld
```
### Why dont I have the option to use FastCGI cache
### Почему у меня нет возможности использовать кэш FastCGI
FastCGI cache is an option for Nginx mode only. If you are using Nginx + Apache2, you can select the proxy caching template and proxy cache will be enabled. It is functionally almost the same. In fact, the proxy caching will also work if you use a Docker image or a Node.js app.
Кэш FastCGI доступен только для режима Nginx. Если вы используете Nginx + Apache2, вы можете выбрать шаблон кэширования прокси, и кэш прокси будет включен. Функционально это почти то же самое. Фактически, кэширование прокси также будет работать, если вы используете образ Docker или приложение Node.js.
To write custom caching templates, use the following naming scheme:
Для написания пользовательских шаблонов кэширования используйте следующую схему именования:
`caching-yourname.tpl`, `caching-yourname.stpl` and `caching-yourname.sh`
`caching-yourname.tpl`, `caching-yourname.stpl` и `caching-yourname.sh`
### Does Hestia support Web socket support
### Поддерживает ли Hestia поддержку веб-сокетов
Yes, Hestia works fine with Web sockets how ever our default templates include on default:
Да, Hestia отлично работает с веб-сокетами, однако наши шаблоны по умолчанию включают по умолчанию:
```bash
proxy_hide_header Upgrade
proxy_hide_header Обновление
```
This resolved an issue with Safari from loading websites.
Это решило проблему с загрузкой веб-сайтов Safari.
To allow the use of Web sockets remove this line. Other wise Web sockets will not work
Чтобы разрешить использование веб-сокетов, удалите эту строку. В противном случае веб-сокеты работать не будут

@ -1,100 +1,105 @@
# Account
# Учетная запись
To access your account settings, click the <i class="fas fa-lg fa-fw fa-user-circle"><span class="visually-hidden">user</span></i> button in the top right.
Чтобы получить доступ к настройкам учетной записи, нажмите кнопку <i class="fas fa-lg fa-fw fa-user-circle"><span class="visually-hidden">пользователь</span></i> в правом верхнем углу.
## Security
## Безопасность
### Password
### Пароль
The password requirements are as follows:
Требования к паролю следующие:
- At least 8 characters, 14 or more are recommended.
- At least 1 number.
- At least 1 capital letter and 1 lowercase letter.
- Не менее 8 символов, рекомендуется 14 или более.
- Не менее 1 цифры.
- Не менее 1 заглавной буквы и 1 строчной буквы.
If you want to generate a secure password, you can use [1Passwords generator](https://1password.com/password-generator/).
Если вы хотите создать надежный пароль, вы можете использовать [генератор 1Password](https://1password.com/password-generator/).
### Two-factor authentication (2FA)
### Двухфакторная аутентификация (2FA)
1. In your account settings, check the box labeled **Enable two-factor authentication**.
2. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
3. Scan the QR code using an authentication app.
4. Save your **Account Recovery Code** somewhere safe, in case you lose access to your authenticator.
1. В настройках учетной записи установите флажок **Включить двухфакторную аутентификацию**.
2. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
::: details Need a 2FA app?
If you do not have an authenticator app, here are a couple of recommendations.
3. Отсканируйте QR-код с помощью приложения для аутентификации.
4. Сохраните свой **Код восстановления учетной записи** в надежном месте на случай, если вы потеряете доступ к своему аутентификатору.
- iCloud Keychain [Windows](https://9to5mac.com/2022/07/25/icloud-passwords-windows-2fa-code/), [macOS](https://9to5mac.com/2021/11/16/use-safari-password-manager-and-2fa-autofill/), [iOS](https://9to5mac.com/2022/03/07/use-ios-15-2fa-code-generator-plus-autofill-iphone/)
- [Tofu Authenticator](https://www.tofuauth.com/) Open-source, iOS only
- [Aegis Authenticator](https://getaegis.app/) Open-source, Android only
- [Raivo OTP](https://github.com/raivo-otp/) Open-source, iOS and macOS only
::: details Нужно приложение 2FA?
Если у вас нет приложения для аутентификации, вот несколько рекомендаций.
- Связка ключей iCloud [Windows](https://9to5mac.com/2022/07/25/icloud-passwords-windows-2fa-code/), [macOS](https://9to5mac.com/2021/11/16/use-safari-password-manager-and-2fa-autofill/), [iOS](https://9to5mac.com/2022/03/07/use-ios-15-2fa-code-generator-plus-autofill-iphone/)
- [Tofu Authenticator](https://www.tofuauth.com/) С открытым исходным кодом, только для iOS
- [Aegis Authenticator](https://getaegis.app/) С открытым исходным кодом, только для Android
- [Raivo OTP](https://github.com/raivo-otp/) Открытый исходный код, только для iOS и macOS
- [Google Authenticator](https://googleauthenticator.net/)
- [Microsoft Authenticator](https://www.microsoft.com/en-ca/security/mobile-authenticator-app)
- [Authy](https://authy.com/) Free, has a cloud sync feature
- [1Password](https://1password.com/) Paid password manager
- [Bitwarden](https://bitwarden.com/) Password manager. 2FA in premium plan only
- [Authy](https://authy.com/) — бесплатно, есть функция синхронизации с облаком
- [1Password](https://1password.com/) — платный менеджер паролей
- [Bitwarden](https://bitwarden.com/) — менеджер паролей. 2FA только в премиум-плане
:::
### Login restrictions
### Ограничения на вход
Hestia предлагает следующие возможности, которые помогут вам защитить свою учетную запись:
- Отключить вход в учетную запись.
- Добавить свой IP-адрес в белый список для входа в учетную запись.
Hestia has the following options to help you secure your account:
### Журналы безопасности
- Disable login into the account.
- Whitelist your IP address to login into your account.
Журналы безопасности содержат различную информацию, например: изменения в веб-доменах, доступ к API, создание резервных копий и т. д. Нажмите кнопку **<i class="fas fa-fw fa-history"></i> Журналы**, чтобы просмотреть их.
### Security logs
### История входов
The security logs contain various information, such as: changes to web domains, API access, backup creation, etc. Click the **<i class="fas fa-fw fa-history"></i> Logs** button to view them.
На странице журналов безопасности нажмите кнопку **<i class="fas fa-fw fa-binoculars"></i> История входов**, чтобы просмотреть историю входов. История содержит время входа, IP-адрес и пользовательский агент браузера, который использовался.
### Login history
## Ключи SSH
On the security logs page, click the **<i class="fas fa-fw fa-binoculars"></i> Login history** button to see the login history. The history contains the time of login, IP address, and user agent of the browser that was used.
Нажмите кнопку **<i class="fas fa-fw fa-key"></i> Управление ключами SSH**, чтобы просмотреть установленные ключи.
## SSH keys
### Добавление ключа SSH
Click the **<i class="fas fa-fw fa-key"></i> Manage SSH keys** button to view the installed keys.
1. Нажмите кнопку **<i class="fas fa-fw fa-plus-circle"></i> Добавить ключ SSH**.
### Adding an SSH key
2. Скопируйте свой открытый ключ в текстовую область.
3. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
1. Click the **<i class="fas fa-fw fa-plus-circle"></i> Add SSH key** button.
2. Copy your public key in the text area.
3. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
### Удаление ключа SSH
### Deleting an SSH key
1. Наведите указатель мыши на ключ SSH, который вы хотите удалить.
1. Hover over the SSH key you want to delete.
2. Click the <i class="fas fa-fw fa-trash"><span class="visually-hidden">delete</span></i> icon on the right of the SSH ID.
2. Нажмите значок <i class="fas fa-fw fa-trash"><span class="visually-hidden">удалить</span></i> справа от идентификатора SSH.
::: details Need to generate a key?
If you do not have an SSH key, here are a couple of ways to generate one.
::: details Нужно сгенерировать ключ?
Если у вас нет ключа SSH, вот несколько способов его сгенерировать.
- For Windows: [Putty](https://www.ssh.com/academy/ssh/putty/windows/puttygen#running-puttygen).
- For macOS and Linux use `ssh-keygen`.
- Для Windows: [Putty](https://www.ssh.com/academy/ssh/putty/windows/puttygen#running-puttygen).
- Для macOS и Linux используйте `ssh-keygen`.
You can also use an app to manage them:
Вы также можете использовать приложение для управления ими:
- [1Password](https://developer.1password.com/docs/ssh/manage-keys/)
- [Termius](https://www.termius.com/)
:::
## API access keys
## Ключи доступа API
::: info
This option is disabled by default for standard users. An administrator needs to enable it in the server settings.
Эта опция отключена по умолчанию для обычных пользователей. Администратор должен включить ее в настройках сервера.
:::
Click the **<i class="fas fa-fw fa-key"></i> Access Keys** button to view the access keys. Access keys are used for the API to autenticate instead of using the username and password.
Нажмите кнопку **<i class="fas fa-fw fa-key"></i> Ключи доступа**, чтобы просмотреть ключи доступа. Ключи доступа используются для аутентификации API вместо использования имени пользователя и пароля.
### Создание ключа доступа
1. Нажмите кнопку **<i class="fas fa-fw fa-plus-circle"></i> Добавить ключ доступа**.
### Creating an access key
2. Выберите наборы разрешений, которые вы хотите включить.
3. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
1. Click the **<i class="fas fa-fw fa-plus-circle"></i> Add Access key** button.
2. Select the permission sets you want to enable.
3. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
4. Copy the access key and the secret key. Make sure to save the secret key somewhere safe as it **cannot** be viewed once the page is closed.
4. Скопируйте ключ доступа и секретный ключ. Обязательно сохраните секретный ключ в надежном месте, так как его **нельзя** просмотреть после закрытия страницы.
### Deleting an access key
### Удаление ключа доступа
1. Hover over the access key you want to delete.
2. Click the <i class="fas fa-fw fa-trash"><span class="visually-hidden">delete</span></i> icon on the right of the access key.
1. Наведите указатель мыши на ключ доступа, который вы хотите удалить.
2. Нажмите значок <i class="fas fa-fw fa-trash"><span class="visually-hidden">удалить</span></i> справа от ключа доступа.

@ -1,81 +1,81 @@
# Backups
# Резервные копии
To manage your backups, navigate to the **Backups <i class="fas fa-fw fa-file-archive"></i>** tab.
Чтобы управлять резервными копиями, перейдите на вкладку **Резервные копии <i class="fas fa-fw fa-file-archive"></i>**.
## Manually creating a backup
## Создание резервной копии вручную
Click the **<i class="fas fa-fw fa-plus-circle"></i> Create backup** button.
Нажмите кнопку **<i class="fas fa-fw fa-plus-circle"></i> Создать резервную копию**.
A popup will be shown with the following message:
Появится всплывающее окно со следующим сообщением:
**Task has been added to the queue. You will receive an email notification when your backup is ready for download.**
**Задача добавлена ​​в очередь. Вы получите уведомление по электронной почте, когда резервная копия будет готова к загрузке.**
## Downloading a backup
## Загрузка резервной копии
1. Hover over the backup you want to download.
2. Click the <i class="fas fa-fw fa-file-download"><span class="visually-hidden">Download</span></i> icon on the right of the backups filename.
1. Наведите указатель мыши на резервную копию, которую хотите загрузить.
2. Нажмите значок <i class="fas fa-fw fa-file-download"><span class="visually-hidden">Загрузить</span></i> справа от имени файла резервной копии.
If the backup is stored on a remote server, the file is downloaded to the server and you will get notified by email when the download is available.
Если резервная копия хранится на удаленном сервере, файл загружается на сервер, и вы получите уведомление по электронной почте, когда загрузка станет доступна.
## Restoring a backup
## Восстановление резервной копии
1. Hover over the backup you want to restore.
2. Click the backups filename or the <i class="fas fa-fw fa-undo"><span class="visually-hidden">Restore</span></i> icon on the right of the backups filename.
3. Restore the backup in one of the following ways:
1. You can restore the whole backup by clicking the **<i class="fas fa-fw fa-undo"></i> Restore backup** button on the top right.
2. Restore multiple parts of the backup, by selecting them, then selecting **Restore** in the **Apply to selected** menu in the top right and clicking on the <i class="fas fa-fw fa-arrow-right"><span class="visually-hidden">Apply</span></i> button.
3. Restore one part of the backup by hovering over it and clicking the <i class="fas fa-fw fa-undo"><span class="visually-hidden">Restore</span></i> icon on the right.
1. Наведите указатель мыши на резервную копию, которую вы хотите восстановить.
2. Щелкните имя файла резервной копии или значок <i class="fas fa-fw fa-undo"><span class="visually-hidden">Восстановить</span></i> справа от имени файла резервной копии.
3. Восстановите резервную копию одним из следующих способов:
1. Вы можете восстановить всю резервную копию, нажав кнопку **<i class="fas fa-fw fa-undo"></i> Восстановить резервную копию** в правом верхнем углу.
2. Восстановите несколько частей резервной копии, выбрав их, затем выбрав **Восстановить** в меню **Применить к выбранному** в правом верхнем углу и нажав кнопку <i class="fas fa-fw fa-arrow-right"><span class="visually-hidden">Применить</span></i>.
3. Восстановите одну часть резервной копии, наведя на нее курсор и нажав на значок <i class="fas fa-fw fa-undo"><span class="visually-hidden">Восстановить</span></i> справа.
## Deleting a backup
## Удаление резервной копии
1. Hover over the backup you want to delete.
2. Click the <i class="fas fa-fw fa-trash"><span class="visually-hidden">delete</span></i> icon on the right of the backups filename.
1. Наведите курсор на резервную копию, которую хотите удалить.
2. Нажмите на значок <i class="fas fa-fw fa-trash"><span class="visually-hidden">удалить</span></i> справа от имени файла резервной копии.
## Excluding components from backups
## Исключение компонентов из резервных копий
1. Click the **<i class="fas fa-fw fa-folder-minus"></i> Backup Exclusion** button.
2. Click the **<i class="fas fa-fw fa-pencil-alt"></i> Edit backup exclusions** button.
1. Нажмите кнопку **<i class="fas fa-fw fa-folder-minus"></i> Исключение резервной копии**.
2. Нажмите кнопку **<i class="fas fa-fw fa-pencil-alt"></i> Изменить исключения резервной копии**.
### Excluding a web domain
### Исключение веб-домена
In the box labeled **Web Domains**, enter each domain you want to exclude, one per line.
В поле с надписью **Веб-домены** введите каждый домен, который вы хотите исключить, по одному в каждой строке.
To exclude a specific folder from a domain use the following syntax:
Чтобы исключить определенную папку из домена, используйте следующий синтаксис:
```bash
domain.tld:public_html/wp-content/uploads:public_html/cache
```
This will excude both `public_html/wp-content/uploads/` and `public_html/cache/` from that domain.
Это исключит и `public_html/wp-content/uploads/`, и `public_html/cache/` из этого домена.
To exclude all domains, use `*`.
Чтобы исключить все домены, используйте `*`.
### Excluding a mail domain
### Исключение почтового домена
In the box labeled **Mail Domains**, enter each domain you want to exclude, one per line.
В поле с надписью **Почтовые домены** введите каждый домен, который вы хотите исключить, по одному в каждой строке.
To exclude only one or multiple mail account use the following syntax:
Чтобы исключить только одну или несколько учетных записей электронной почты, используйте следующий синтаксис:
```bash
domain.tld:info:support
```
This will excude both `info@domain.tld` and `support@domain.tld`.
Это исключит и `info@domain.tld`, и `support@domain.tld`.
To exclude all domains, use `*`.
Чтобы исключить все домены, используйте `*`.
### Excluding a database
### Исключение базы данных
In the box labeled **Databases**, enter the name of each database you want to exclude, one per line.
В поле с надписью **Базы данных** введите имя каждой базы данных, которую вы хотите исключить, по одному в каждой строке.
To exclude all databases, use `*`.
Чтобы исключить все базы данных, используйте `*`.
### Excluding a user directory
### Исключение каталога пользователя
In the box labeled **User Directories**, enter the name of each directory you want to exclude, one per line.
В поле с надписью **Каталоги пользователя** введите имя каждого каталога, которую вы хотите исключить, по одному в каждой строке.
To exclude all directories, use `*`.
Чтобы исключить все каталоги, используйте `*`.
## Editing the number of backups
## Изменение количества резервных копий
To edit the number of backups, please read the [Packages](../user-guide/packages.md) and [Users](../user-guide/users.md) documentation. You will need to create or edit a package, and assign it to the desired user.
Чтобы изменить количество резервных копий, прочтите документацию [Пакеты](../user-guide/packages.md) и [Пользователи](../user-guide/users.md). Вам нужно будет создать или изменить пакет и назначить его нужному пользователю.

@ -1,30 +1,32 @@
# Cron Jobs
# Задания Cron
To manage your cron jobs, navigate to the **Cron <i class="fas fa-fw fa-clock"></i>** tab.
Чтобы управлять заданиями cron, перейдите на вкладку **Cron <i class="fas fa-fw fa-clock"></i>**.
## Toggling cron job notifications
## Переключение уведомлений о заданиях cron
1. To turn them off click the **<i class="fas fa-fw fa-toggle-off"></i> Turn off notifications** button.
2. To turn them back on click the **<i class="fas fa-fw fa-toggle-off"></i> Turn on notifications** button.
1. Чтобы отключить их, нажмите кнопку **<i class="fas fa-fw fa-toggle-off"></i> Выключить уведомления**.
## Adding a cron job
2. Чтобы снова включить их, нажмите кнопку **<i class="fas fa-fw fa-toggle-off"></i> Включить уведомления**.
1. Click the **<i class="fas fa-fw fa-plus-circle"></i> Add job** button.
2. Enter the command you want to execute.
3. Enter the schedule on which you want to execute the command. You can use the generator to help you, or a tool such as [Crontab.guru](https://crontab.guru/).
## Добавление задания cron
## Editing a cron job
1. Нажмите кнопку **<i class="fas fa-fw fa-plus-circle"></i> Добавить задание**.
1. Hover over the job you want to edit.
2. Click the <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">edit</span></i> icon on the right of the jobs command.
2. Введите команду, которую хотите выполнить.
3. Введите расписание, по которому хотите выполнить команду. Вы можете использовать генератор, чтобы помочь себе, или такой инструмент, как [Crontab.guru](https://crontab.guru/).
## Suspending a cron job
## Редактирование задания cron
1. Hover over the job you want to suspend.
2. Click the <i class="fas fa-fw fa-pause"><span class="visually-hidden">suspend</span></i> icon on the right of the jobs command.
3. To unsuspend it, click the <i class="fas fa-fw fa-play"><span class="visually-hidden">unsuspend</span></i> icon on the right of the jobs command.
1. Наведите указатель мыши на задание, которое вы хотите отредактировать.
2. Щелкните значок <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">редактировать</span></i> справа от команды задания.
## Deleting a cron job
## Приостановка задания cron
1. Hover over the job you want to delete.
2. Click the <i class="fas fa-fw fa-trash"><span class="visually-hidden">delete</span></i> icon on the right of the jobs command.
1. Наведите указатель мыши на задание, которое вы хотите приостановить.
2. Щелкните значок <i class="fas fa-fw fa-pause"><span class="visually-hidden">приостановить</span></i> справа от команды задания.
3. Чтобы отменить приостановку, щелкните значок <i class="fas fa-fw fa-play"><span class="visually-hidden">отменить</span></i> справа от команды задания.
## Удаление задания cron
1. Наведите указатель мыши на задание, которое хотите удалить.
2. Щелкните значок <i class="fas fa-fw fa-trash"><span class="visually-hidden">удалить</span></i> справа от команды задания.

@ -1,34 +1,35 @@
# Databases
# Базы данных
To manage your databases, navigate to the **DB <i class="fas fa-fw fa-database"></i>** tab.
Чтобы управлять базами данных, перейдите на вкладку **DB <i class="fas fa-fw fa-database"></i>**.
## Adding a database
## Добавление базы данных
1. Click the **<i class="fas fa-fw fa-plus-circle"></i> Add Database** button.
2. Fill out the fields. The name and username will be prefixed with `user_`.
3. Optionally, provide an email address where the login details will be sent.
4. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
1. Нажмите кнопку **<i class="fas fa-fw fa-plus-circle"></i> Добавить базу данных**.
Under **Advanced Options**, you are able to select the host (`localhost` by default) and charset (`utf8` by default).
2. Заполните поля. Имя и имя пользователя будут иметь префикс `user_`.
3. При желании укажите адрес электронной почты, на который будут отправлены данные для входа.
4. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
## Editing a database
В разделе **Дополнительные параметры** вы можете выбрать хост (`localhost` по умолчанию) и кодировку (`utf8` по умолчанию).
1. Hover over the database you want to edit.
2. Click the <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">edit</span></i> icon on the right of the databases name. If you dont want to change the password, keep the password field empty.
## Редактирование базы данных
## Accessing a database
1. Наведите указатель мыши на базу данных, которую хотите отредактировать.
2. Щелкните значок <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">редактировать</span></i> справа от имени базы данных. Если вы не хотите менять пароль, оставьте поле пароля пустым.
By default, **phpMyAdmin** and **phpPgAdmin** are accessible at `https://hostname.domain.tld/phpmyadmin` and `https://hostname.domain.tld/phppgadmin` respectively. You can also click the **<i class="fas fa-fw fa-database"></i> phpMyAdmin** and **<i class="fas fa-fw fa-database"></i> phpPgAdmin** buttons in the **DB <i class="fas fa-fw fa-database"></i>** tab.
## Доступ к базе данных
For MySQL databases, if **phpMyAdmin Single Sign On** is enabled, hovering a database will show an <i class="fas fa-fw fa-sign-in-alt"><span class="visually-hidden">phpMyAdmin</span></i> icon. Click it to login to **phpMyAdmin** directly.
По умолчанию **phpMyAdmin** и **phpPgAdmin** доступны по адресу `https://hostname.domain.tld/phpmyadmin` и `https://hostname.domain.tld/phppgadmin` соответственно. Вы также можете нажать кнопки **<i class="fas fa-fw fa-database"></i> phpMyAdmin** и **<i class="fas fa-fw fa-database"></i> phpPgAdmin** на вкладке **DB <i class="fas fa-fw fa-database"></i>**.
## Suspending a database
Для баз данных MySQL, если включен **phpMyAdmin Single Sign On**, при наведении на базу данных будет отображаться значок <i class="fas fa-fw fa-sign-in-alt"><span class="visually-hidden">phpMyAdmin</span></i>. Щелкните его, чтобы войти в **phpMyAdmin** напрямую.
1. Hover over the database you want to suspend.
2. Click the <i class="fas fa-fw fa-pause"><span class="visually-hidden">suspend</span></i> icon on the right of the databases name.
3. To unsuspend it, click the <i class="fas fa-fw fa-play"><span class="visually-hidden">unsuspend</span></i> icon on the right of the databases name.
## Приостановка базы данных
## Deleting a database
1. Наведите указатель мыши на базу данных, которую вы хотите приостановить.
2. Щелкните значок <i class="fas fa-fw fa-pause"><span class="visually-hidden">suspend</span></i> справа от имени базы данных.
3. Чтобы разблокировать ее, щелкните значок <i class="fas fa-fw fa-play"><span class="visually-hidden">unsuspend</span></i> справа от имени базы данных.
1. Hover over the database you want to delete.
2. Click the <i class="fas fa-fw fa-trash"><span class="visually-hidden">delete</span></i> icon on the right of the databases name. Both the database user and the database will get deleted.
## Удаление базы данных
1. Наведите указатель мыши на базу данных, которую вы хотите удалить.
2. Щелкните значок <i class="fas fa-fw fa-trash"><span class="visually-hidden">удалить</span></i> справа от имени базы данных. Будут удалены как пользователь базы данных, так и сама база данных.

@ -1,101 +1,108 @@
# DNS
To manage your DNS zones and records, navigate to the **DNS <i class="fas fa-fw fa-atlas"></i>** tab.
Чтобы управлять зонами и записями DNS, перейдите на вкладку **DNS <i class="fas fa-fw fa-atlas"></i>**.
## Adding a DNS zone
## Добавление зоны DNS
1. Click the **<i class="fas fa-fw fa-plus-circle"></i> Add DNS Zone** button.
2. Enter the domain name in the **Domain** field.
- Choose the appropriate template for the zone.
- If the domain requires different name servers, change them in the **Advanced Options** section.
3. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
1. Нажмите кнопку **<i class="fas fa-fw fa-plus-circle"></i> Добавить зону DNS**.
## Editing a DNS zone
2. Введите доменное имя в поле **Домен**.
- Выберите подходящий шаблон для зоны.
- Если для домена требуются другие серверы имен, измените их в разделе **Дополнительные параметры**.
1. Hover over the zone you want to edit.
2. Click the <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">edit</span></i> icon on the right of the zones domain.
3. Make the desired changes.
4. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
3. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
## Viewing DNSSEC public keys
## Редактирование зоны DNS
1. Hover over the zone whose DNSSEC keys you want to see.
2. Click the <i class="fas fa-fw fa-key"><span class="visually-hidden">DNSSEC</span></i> icon on the right of the zones domain.
1. Наведите указатель мыши на зону, которую хотите изменить.
2. Щелкните значок <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">редактирования</span></i> справа от домена зоны.
## Suspending a DNS zone
3. Внесите необходимые изменения.
1. Hover over the zone you want to suspend.
2. Click the <i class="fas fa-fw fa-pause"><span class="visually-hidden">suspend</span></i> icon on the right of the zones domain.
3. To unsuspend it, click the <i class="fas fa-fw fa-play"><span class="visually-hidden">unsuspend</span></i> icon on the right of the zones domain.
4. Щелкните кнопку **<i class="fas fa-fw fa-save"></i> сохранения** в правом верхнем углу.
## Deleting a DNS zone
## Просмотр открытых ключей DNSSEC
1. Hover over the zone you want to delete.
2. Click the <i class="fas fa-fw fa-trash"><span class="visually-hidden">delete</span></i> icon on the right of the zones domain.
1. Наведите указатель мыши на зону, ключи DNSSEC которой вы хотите увидеть.
2. Щелкните значок <i class="fas fa-fw fa-key"><span class="visually-hidden">DNSSEC</span></i> справа от домена зоны.
## DNS zone configuration
## Приостановка зоны DNS
### IP address
1. Наведите указатель мыши на зону, которую вы хотите приостановить.
2. Щелкните значок <i class="fas fa-fw fa-pause"><span class="visually-hidden">suspend</span></i> справа от домена зоны.
IP address that should be used for the root domain.
3. Чтобы отменить приостановку, щелкните значок <i class="fas fa-fw fa-play"><span class="visually-hidden">unsuspend</span></i> справа от домена зоны.
### Template
## Удаление зоны DNS
- **default**: Standard DNS template. Suitable for most usecases.
- **default-nomail**: Standard DNS template. Suitable for most usecases when you dont want to host mail on Hestia.
- **gmail**: When your email provider is Google Workspace.
- **office365**: When your email provider is Microsoft 365 (Exchange).
- **zoho**: When your email provider is Zoho.
- **child-ns**: When you are going to use the domain as a name server.
1. Наведите указатель мыши на зону, которую хотите удалить.
### Expiration date
2. Щелкните значок <i class="fas fa-fw fa-trash"><span class="visually-hidden">delete</span></i> справа от домена зоны.
This date is not used by Hestia, but can be used as a reminder.
## Конфигурация зоны DNS
### IP-адрес
IP-адрес, который следует использовать для корневого домена.
### Шаблон
- **default**: Стандартный шаблон DNS. Подходит для большинства вариантов использования.
- **default-nomail**: Стандартный шаблон DNS. Подходит для большинства вариантов использования, когда вы не хотите размещать почту на Hestia.
- **gmail**: Когда ваш поставщик электронной почты — Google Workspace.
- **office365**: Когда ваш поставщик электронной почты — Microsoft 365 (Exchange).
- **zoho**: Когда ваш поставщик электронной почты — Zoho.
- **child-ns**: Когда вы собираетесь использовать домен в качестве сервера имен.
### Дата истечения срока действия
Эта дата не используется Hestia, но может использоваться в качестве напоминания.
### SOA
A Start of Authority (SOA) record includes administrative information about your zone, as defined by the domain name system (DNS).
Запись начала полномочий (SOA) включает административную информацию о вашей зоне, как определено системой доменных имен (DNS).
### TTL
Adjust the default time-to-live. A shorter TTL means faster changes, but results in more requests to the server. If you are going to change the IP, it might be helpful to decrease it to 300 seconds (5 min).
Настройте время жизни по умолчанию. Более короткий TTL означает более быстрые изменения, но приводит к большему количеству запросов к серверу. Если вы собираетесь изменить IP, может быть полезно уменьшить его до 300 секунд (5 мин).
### DNSSEC
Enable DNSSEC to improve security. However, this setting requires some changes to at your domain registrar before it is active. For more information, see the [DNS cluster](../server-administration/dns.md) documentation.
Включите DNSSEC для повышения безопасности. Однако этот параметр требует некоторых изменений у вашего регистратора домена, прежде чем он станет активным. Для получения дополнительной информации см. документацию [DNS-кластера](../server-administration/dns.md).
## Добавление записи DNS в зону
## Adding a DNS record to a zone
1. Нажмите кнопку **<i class="fas fa-fw fa-plus-circle"></i> Добавить запись**.
1. Click the **<i class="fas fa-fw fa-plus-circle"></i> Add Record** button.
2. Fill out the fields.
3. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
2. Заполните поля.
3. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
## Editing a DNS record
## Редактирование записи DNS
1. Click the recordor the <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">edit</span></i> icon that appears on hover.
2. Make the desired changes.
3. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
1. Щелкните запись или значок <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">редактирования</span></i>, который появляется при наведении.
2. Внесите необходимые изменения.
3. Щелкните кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
## Suspending a DNS record
## Приостановка записи DNS
1. Hover over the record you want to suspend.
2. Click the <i class="fas fa-fw fa-pause"><span class="visually-hidden">suspend</span></i> icon on the right of the records domain.
3. To unsuspend it, click the <i class="fas fa-fw fa-play"><span class="visually-hidden">unsuspend</span></i> icon on the right of the records domain.
1. Наведите указатель мыши на запись, которую хотите приостановить.
2. Щелкните значок <i class="fas fa-fw fa-pause"><span class="visually-hidden">приостановки</span></i> справа от домена записи.
3. Чтобы разблокировать ее, нажмите значок <i class="fas fa-fw fa-play"><span class="visually-hidden">разблокировать</span></i> справа от домена записи.
## Deleting a DNS record
## Удаление записи DNS
1. Hover over the record you want to delete.
2. Click the <i class="fas fa-fw fa-trash"><span class="visually-hidden">delete</span></i> icon on the right of the records domain.
1. Наведите указатель мыши на запись, которую хотите удалить.
2. Нажмите значок <i class="fas fa-fw fa-trash"><span class="visually-hidden">удалить</span></i> справа от домена записи.
## DNS record configuration
## Конфигурация записи DNS
### Record
### Запись
The record name. `record`.domain.tld. Use `@` for root.
Имя записи. `record`.domain.tld. Используйте `@` для root.
### Type
### Тип
The following record types are supported:
Поддерживаются следующие типы записей:
- A
- AAAA
@ -112,14 +119,14 @@ The following record types are supported:
- TLSA
- TXT
### IP or value
### IP или значение
IP or value of the record you want to use.
IP или значение записи, которую вы хотите использовать.
### Priority
### Приоритет
Priority of the record. Only used for MX records
Приоритет записи. Используется только для записей MX
### TTL
Adjust the default time-to-live. A shorter TTL means faster changes, but results in more requests to the server. If you are going to change the IP, it might be helpful to decrease it to 300 seconds (5 min).
Настройте время жизни по умолчанию. Более короткий TTL означает более быстрые изменения, но приводит к большему количеству запросов к серверу. Если вы собираетесь изменить IP, может быть полезно уменьшить его до 300 секунд (5 мин).

@ -1,5 +1,5 @@
# File Manager
# Файловый менеджер
To access the file manager, click the **<i class="fas fa-fw fa-folder-open"></i> Files** button in the top left.
Чтобы получить доступ к файловому менеджеру, нажмите кнопку **<i class="fas fa-fw fa-folder-open"></i> Файлы** в левом верхнем углу.
The file manager Hestia uses is called FileGator. You can find more information about it on [their website](https://filegator.io/).
Файловый менеджер, который использует Hestia, называется FileGator. Вы можете найти больше информации о нем на [их веб-сайте](https://filegator.io/).

@ -1,156 +1,159 @@
# Mail Domains
# Почтовые домены
To manage your mail domains, navigate to the **Mail <i class="fas fa-fw fa-mail-bulk"></i>** tab.
Чтобы управлять почтовыми доменами, перейдите на вкладку **Почта <i class="fas fa-fw fa-mail-bulk"></i>**.
## Adding a mail domain
## Добавление почтового домена
1. Click the **<i class="fas fa-fw fa-plus-circle"></i> Add Mail domain** button.
2. Enter your domain name.
3. Select the options you want to use.
4. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
1. Нажмите кнопку **<i class="fas fa-fw fa-plus-circle"></i> Добавить почтовый домен**.
## Editing a mail domain
2. Введите имя домена.
3. Выберите нужные параметры.
4. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
1. Hover over the domain you want to edit.
2. Click the <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">edit</span></i> icon on the right of the mail domain.
3. Edit the fields.
4. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
## Редактирование почтового домена
## Suspending a web domain
1. Наведите указатель мыши на домен, который хотите отредактировать.
2. Нажмите значок <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">изменить</span></i> справа от почтового домена.
3. Отредактируйте поля.
4. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
1. Hover over the domain you want to suspend.
2. Click the <i class="fas fa-fw fa-pause"><span class="visually-hidden">suspend</span></i> icon on the right of the mail domain.
3. To unsuspend it, click the <i class="fas fa-fw fa-play"><span class="visually-hidden">unsuspend</span></i> icon on the right of the mail domain.
## Приостановка веб-домена
## Deleting a web domain
1. Наведите указатель мыши на домен, который вы хотите приостановить.
2. Нажмите значок <i class="fas fa-fw fa-pause"><span class="visually-hidden">приостановить</span></i> справа от почтового домена.
3. Чтобы отменить приостановку, нажмите значок <i class="fas fa-fw fa-play"><span class="visually-hidden">отменить</span></i> справа от почтового домена.
1. Hover over the domain you want to delete.
2. Click the <i class="fas fa-fw fa-trash"><span class="visually-hidden">delete</span></i> icon on the right of the mail domain. Both the mail domain and **all** the mail accounts will get deleted.
## Удаление веб-домена
## Mail domain configuration
1. Наведите указатель мыши на домен, который вы хотите удалить.
2. Нажмите значок <i class="fas fa-fw fa-trash"><span class="visually-hidden">удалить</span></i> справа от почтового домена. Будут удалены как почтовый домен, так и **все** почтовые учетные записи.
### Webmail client
## Конфигурация почтового домена
We currently support Roundcube, Rainloop and SnappyMail (optional install). You can also disable webmail access.
### Клиент веб-почты
### Catch all email
В настоящее время мы поддерживаем Roundcube, Rainloop и SnappyMail (необязательная установка). Вы также можете отключить доступ к веб-почте.
This email address will receive all emails for this domain that are sent to users that dont exist.
### Перехват всех писем
### Rate limit
Этот адрес электронной почты будет получать все письма для этого домена, отправленные пользователям, которых не существует.
### Ограничение скорости
::: info
This option is only available for the admin user.
Эта опция доступна только для пользователя-администратора.
:::
Set the limit for the amount of emails an account can send per hour.
Установите ограничение на количество писем, которые учетная запись может отправлять в час.
### Spam filter
### Фильтр спама
::: info
This option is not always available.
Эта опция доступна не всегда.
:::
Enable Spam Assassin for this domain.
Включить Spam Assassin для этого домена.
### Antivirus
### Антивирус
::: info
This option is not always available
Эта опция не всегда доступна
:::
Enable ClamAV for this domain.
Включить ClamAV для этого домена.
### DKIM
Enable DKIM for this domain.
Включить DKIM для этого домена.
### SSL
1. Check the **Enable SSL for this domain** box.
2. Check the **Use Lets Encrypt to obtain SSL certificate** box to use Lets Encrypt.
3. Depending on your requirements, you can enable **Enable automatic HTTPS redirection** or **Enable HTTP Strict Transport Security (HSTS)**.
4. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
1. Установите флажок **Включить SSL для этого домена**.
2. Установите флажок **Использовать Lets Encrypt для получения сертификата SSL**, чтобы использовать Lets Encrypt.
3. В зависимости от ваших требований вы можете включить **Включить автоматическое перенаправление HTTPS** или **Включить HTTP Strict Transport Security (HSTS)**.
4. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
Если вы хотите использовать собственный сертификат SSL, вы можете ввести сертификат SSL в текстовом поле.
If you want to use your own SSL certificate you can enter the SSL certificate in the text area.
Если у вас возникли проблемы с включением Lets Encrypt, обратитесь к нашей документации [SSL-сертификаты](../server-administration/ssl-certificates.md).
If you are having issues with enabling Lets Encrypt, please refer to our [SSL certificates](../server-administration/ssl-certificates.md) documentation.
### Ретрансляция SMTP
### SMTP relay
Эта опция позволяет пользователю использовать ретранслятор SMTP, отличный от определенного сервером, или обойти маршрут Exim по умолчанию. Это может улучшить доставку.
This option allows the user to use a different SMTP relay than server defined one or bypass the default Exim route. This can enhance deliverability.
1. Установите флажок **Ретрансляция SMTP**, и появится форма.
1. Check the **SMTP Relay** box and a form will appear.
2. Enter the information from your SMTP relay provider.
2. Введите информацию от вашего поставщика ретрансляции SMTP.
### Get DNS records
### Получить записи DNS
If you dont host your DNS in Hestia, but you still want to use its email service, click the <i class="fas fa-atlas"><span class="visually-hidden">DNS</span></i> icon to view the DNS records you need to add to your DNS provider.
Если вы не размещаете свой DNS в Hestia, но все равно хотите использовать его службу электронной почты, щелкните значок <i class="fas fa-atlas"><span class="visually-hidden">DNS</span></i>, чтобы просмотреть записи DNS, которые вам нужно добавить к вашему поставщику DNS.
### Webmail
### Веб-почта
By default, the webmail is accessible at `https://webmail.domain.tld` or `https://mail.domain.tld` when SSL is enabled. Otherwise use `http://` instead.
По умолчанию веб-почта доступна по адресу `https://webmail.domain.tld` или `https://mail.domain.tld`, если включен SSL. В противном случае используйте `http://`.
## Adding a mail account to a domain
## Добавление почтовой учетной записи в домен
1. Click the mail domain.
2. Click **<i class="fas fa-fw fa-plus-circle"></i> Add Mail account** button.
3. Enter the account name (without the `@domain.tld` part) and a password.
4. Optionally, supply an email address that will receive the login details.
5. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
1. Щелкните почтовый домен.
2. Щелкните кнопку **<i class="fas fa-fw fa-plus-circle"></i> Добавить учетную запись почты**.
3. Введите имя учетной записи (без части `@domain.tld`) и пароль.
4. При желании укажите адрес электронной почты, на который будут отправлены данные для входа.
5. Щелкните кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
If required you can also modify the **Advanced Options**, which are explained below.
При необходимости вы также можете изменить **Дополнительные параметры**, которые описаны ниже.
On the right side, you can see the methods to access your mail account via SMTP, IMAP and POP3.
С правой стороны вы можете увидеть методы доступа к вашей почтовой учетной записи через SMTP, IMAP и POP3.
## Editing a mail account
## Редактирование почтовой учетной записи
1. Hover over the account you want to edit.
2. Click the <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">edit</span></i> icon on the right of the mail account.
3. Edit the fields.
4. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
1. Наведите указатель мыши на учетную запись, которую вы хотите отредактировать.
2. Нажмите значок <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">редактировать</span></i> справа от почтовой учетной записи.
3. Отредактируйте поля.
4. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
## Suspending a mail account
## Приостановка почтовой учетной записи
1. Hover over the account you want to suspend.
2. Click the <i class="fas fa-fw fa-pause"><span class="visually-hidden">suspend</span></i> icon on the right of the mail account.
3. To unsuspend it, click the <i class="fas fa-fw fa-play"><span class="visually-hidden">unsuspend</span></i> icon on the right of the mail account.
1. Наведите указатель мыши на учетную запись, которую вы хотите приостановить.
2. Нажмите значок <i class="fas fa-fw fa-pause"><span class="visually-hidden">приостановить</span></i> справа от почтовой учетной записи.
3. Чтобы разблокировать его, нажмите значок <i class="fas fa-fw fa-play"><span class="visually-hidden">разблокировать</span></i> справа от почтовой учетной записи.
## Deleting a mail account
## Удаление почтовой учетной записи
1. Hover over the account you want to delete.
2. Click the <i class="fas fa-fw fa-trash"><span class="visually-hidden">delete</span></i> icon on the right of the mail account.
1. Наведите указатель мыши на учетную запись, которую вы хотите удалить.
2. Нажмите значок <i class="fas fa-fw fa-trash"><span class="visually-hidden">удалить</span></i> справа от почтовой учетной записи.
## Mail account configuration
## Конфигурация почтовой учетной записи
### Quota
### Квота
The maximum space the account is allowed to use. This includes mail, contacts, etc.
Максимальное пространство, которое разрешено использовать учетной записи. Сюда входит почта, контакты и т. д.
### Aliases
### Псевдонимы
Add an alias to redirect mail to the main account. Enter the username only. For example: `alice`.
Добавьте псевдоним для перенаправления почты на основную учетную запись. Введите только имя пользователя. Например: `alice`.
### Discard all mail
### Отменить всю почту
All incoming mail will not get forwarded and will get deleted.
Вся входящая почта не будет пересылаться и будет удалено.
### Do not store forwarded mail
### Не хранить пересланную почту
If this option is selected, all forwarded mail will get deleted.
Если выбран этот параметр, вся пересланная почта будет удалена.
### Auto-Reply
### Автоматический ответ
Setup an auto-reply.
Настройте автоматический ответ.
### Forward mail
### Пересылка почты
Forward all incoming mail to the entered email address.
Пересылать всю входящую почту на указанный адрес электронной почты.
::: warning
A lot of spam filters may flag the forwarded mail as spam by default!
Многие спам-фильтры могут помечать пересланную почту как спам по умолчанию!
:::
### Rate limit
### Ограничение скорости
Set the limit for the amount of emails an account can send per hour.
Установите ограничение на количество писем, которые аккаунт может отправить в час.

@ -1,5 +1,5 @@
# Notifications
# Уведомления
To view your notifications, click the <i class="fas fa-lg fa-fw fa-bell"><span class="visually-hidden">notification</span></i> icon in the top right.
Чтобы просмотреть уведомления, нажмите на значок <i class="fas fa-lg fa-fw fa-bell"><span class="visually-hidden">уведомления</span></i> в правом верхнем углу.
You can dismiss a notification by clicking the small red circle on its right.
Вы можете отклонить уведомление, нажав на маленький красный кружок справа от него.

@ -1,124 +1,125 @@
# Packages
# Пакеты
To manage packages, log in as an **administrator** and navigate to the **Users <i class="fas fa-fw fa-users"></i>** tab.
Чтобы управлять пакетами, войдите в систему как **администратор** и перейдите на вкладку **Пользователи <i class="fas fa-fw fa-users"></i>**.
## Adding a new package
## Добавление нового пакета
1. Click the **<i class="fas fa-fw fa-plus-circle"></i> Add Package** button.
2. Fill out the form. When clicking on <i class="fas fa-fw fa-infinity"><span class="visually-hidden">unlimited</span></i> icon, the limits will be set to unlimited.
3. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
1. Нажмите кнопку **<i class="fas fa-fw fa-plus-circle"></i> Добавить пакет**.
## Copying a package
2. Заполните форму. При нажатии на значок <i class="fas fa-fw fa-infinity"><span class="visually-hidden">неограниченный</span></i> лимиты будут установлены на неограниченный.
3. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
1. Hover over the package you want to copy.
2. Click the <i class="fas fa-fw fa-clone"><span class="visually-hidden">copy</span></i> icon on the right of the package name.
## Копирование пакета
## Editing a package
1. Наведите указатель мыши на пакет, который вы хотите скопировать.
2. Щелкните значок <i class="fas fa-fw fa-clone"><span class="visually-hidden">копировать</span></i> справа от имени пакета.
## Редактирование пакета
::: info
The **system** package cant be edited or renamed.
Пакет **system** нельзя редактировать или переименовывать.
:::
1. Hover over the package you want to edit.
2. Click the <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">edit</span></i> icon on the right of the package name.
1. Наведите указатель мыши на пакет, который вы хотите редактировать.
2. Щелкните значок <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">редактировать</span></i> справа от имени пакета.
## Deleting a package
## Удаление пакета
::: info
The **system** package cant be deleted.
Пакет **system** нельзя удалить.
:::
1. Hover over the package you want to delete.
2. Click the <i class="fas fa-fw fa-trash"><span class="visually-hidden">delete</span></i> icon on the right of the package name.
1. Наведите указатель мыши на пакет, который вы хотите удалить.
2. Щелкните значок <i class="fas fa-fw fa-trash"><span class="visually-hidden">удалить</span></i> справа от имени пакета.
## Importing existing packages from a different server
## Импорт существующих пакетов с другого сервера
Packages are stored in `/usr/local/hestia/data/packages` as `package-name.pkg`. Simply copy these package files to other servers.
Пакеты хранятся в `/usr/local/hestia/data/packages` как `package-name.pkg`. Просто скопируйте эти файлы пакетов на другие серверы.
## Package configuration
## Конфигурация пакета
::: info
Some options may not be available depending on your setup.
Некоторые параметры могут быть недоступны в зависимости от ваших настроек.
:::
### Quota
### Квота
Total available storage space including the websites, email accounts, databases and the home folder. If you have enabled **File Quotas** during install or in the server settings, this value enforces the quota limit on websites, email accounts and the home folder. Databases are excluded.
Общее доступное пространство для хранения, включая веб-сайты, учетные записи электронной почты, базы данных и домашнюю папку. Если вы включили **Квоты файлов** во время установки или в настройках сервера, это значение устанавливает ограничение квоты на веб-сайты, учетные записи электронной почты и домашнюю папку. Базы данных исключаются.
### Bandwidth
### Пропускная способность
Allocated bandwidth. Only outgoing traffic over web is accounted for.
Выделенная пропускная способность. Учитывается только исходящий трафик через Интернет.
Theres currently no methods of auto-suspending available.
В настоящее время нет доступных методов автоматической приостановки.
### Backups
### Резервные копии
Maximum number of backups that can be stored.
Максимальное количество резервных копий, которые можно сохранить.
## Web domains
## Веб-домены
### Web domains
### Веб-домены
Maximum number of web domains that can be created.
Максимальное количество веб-доменов, которые можно создать.
### Aliases
### Псевдонимы
Maximum number of aliases that can be added per domain.
Максимальное количество псевдонимов, которые можно добавить на домен.
### Proxy Template
### Шаблон прокси-сервера
Default proxy template for created domains.
Шаблон прокси-сервера по умолчанию для созданных доменов.
### Web Template
### Веб-шаблон
Default web template for created domains.
Шаблон веб-сервера по умолчанию для созданных доменов.
## DNS
### DNS Template
## Шаблон DNS
Default DNS template that get assigned on domain creation.
Шаблон DNS по умолчанию, который назначается при создании домена.
### DNS Domains
### Домены DNS
Maximum number of DNS domains that can be created.
Максимальное количество доменов DNS, которые можно создать.
### DNS records
### Записи DNS
Maximum number of DNS records that can be added per domain.
Максимальное количество записей DNS, которые можно добавить на домен.
### Name Servers
### Серверы имен
Default name servers to be used by the user. Up to 8 different name servers can be added.
Серверы имен по умолчанию, которые должен использовать пользователь. Можно добавить до 8 различных серверов имен.
## Mail
## Почта
### Mail Domains
### Почтовые домены
Maximum number of mail domains that can be created.
Максимальное количество почтовых доменов, которые можно создать.
### Mail accounts
### Почтовые аккаунты
Maximum number of mail accounts that can be added per domain.
Максимальное количество почтовых аккаунтов, которые можно добавить на домен.
### Rate limit
### Ограничение скорости
Maximum number of emails that accounts can send per hour.
Максимальное количество писем, которые аккаунты могут отправлять в час.
## Databases
## Базы данных
Maximum number of databases that can be created.
Максимальное количество баз данных, которые можно создать.
## System
## Система
### Cron jobs
### Задания Cron
Maximum number of cron jobs that can be created.
Максимальное количество заданий cron, которые можно создать.
### Shell access
### Доступ к оболочке
Select the shell that will be shown to the user when logging in via SSH.
Выберите оболочку, которая будет показана пользователю при входе через SSH.
::: warning
When set to `nologin`, SSH access is disabled but SFTP access is still allowed.
:::
Если установлено значение `nologin`, доступ по SSH отключен, но доступ по SFTP по-прежнему разрешен.
:::

@ -1,16 +1,16 @@
# Statistics
# Статистика
To access the statistics, click the **<i class="fas fa-fw fa-chart-line"></i> Statistics** button in the top left.
Чтобы получить доступ к статистике, нажмите кнопку **<i class="fas fa-fw fa-chart-line"></i> Статистика** в левом верхнем углу.
This page will show the current users statistics, grouped per month. Here are the available statistics:
На этой странице будет показана статистика текущего пользователя, сгруппированная по месяцам. Вот доступная статистика:
- Bandwidth usage
- Assigned IP addresses
- Disk usage, split by component
- Number of web domains and aliases
- Number of domains using SSL
- Number of DNS zones and records
- Number of mail domains and accounts
- Number of databases
- Number of cron jobs
- Number of backups
- Использование полосы пропускания
- Назначенные IP-адреса
- Использование диска, разделенное по компонентам
- Количество веб-доменов и псевдонимов
- Количество доменов, использующих SSL
- Количество зон и записей DNS
- Количество почтовых доменов и учетных записей
- Количество баз данных
- Количество заданий cron
- Количество резервных копий

@ -1,72 +1,75 @@
# Users
# Пользователи
To manage users, log in as an **administrator** and navigate to the **Users <i class="fas fa-fw fa-users"></i>** tab.
Чтобы управлять пользователями, войдите в систему как **администратор** и перейдите на вкладку **Пользователи <i class="fas fa-fw fa-users"></i>**.
## Adding a user
## Добавление пользователя
1. Click the **<i class="fas fa-fw fa-plus-circle"></i> Add User** button.
2. Fill out the fields.
3. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
1. Нажмите кнопку **<i class="fas fa-fw fa-plus-circle"></i> Добавить пользователя**.
## Impersonating a user
2. Заполните поля.
1. Hover over the user you want to login as.
2. Click the <i class="fas fa-fw fa-sign-in-alt"><span class="visually-hidden">login as</span></i> icon on the right of the users name and email.
3. You are now logged in as the user. As such, any action you perform will be done as this user.
3. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
## Editing a user
## Выдача себя за пользователя
The settings specified below are only available to administrators. For the regular settings, you can refer to the [Account Management](../user-guide/account.md) documentation.
1. Наведите указатель мыши на пользователя, под которым вы хотите войти.
2. Нажмите значок <i class="fas fa-fw fa-sign-in-alt"><span class="visually-hidden">войти как</span></i> справа от имени пользователя и адреса электронной почты.
To edit a user you can either impersonate them and click the <i class="fas fa-lg fa-fw fa-user-circle"><span class="visually-hidden">user</span></i> icon in the top right, or follow these steps:
3. Теперь вы вошли в систему как пользователь. Таким образом, любое действие, которое вы выполните, будет выполнено от имени этого пользователя.
1. Hover over the user you want to edit.
2. Click the <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">edit</span></i> icon on the right of the users name and email.
## Редактирование пользователя
## Suspending a user
Указанные ниже настройки доступны только администраторам. Обычные настройки см. в документации [Управление учетными записями](../user-guide/account.md).
1. Hover over the user you want to suspend.
2. Click the <i class="fas fa-fw fa-pause"><span class="visually-hidden">suspend</span></i> icon on the right of the users name and email.
Чтобы отредактировать пользователя, вы можете либо выдать себя за него и нажать на значок <i class="fas fa-lg fa-fw fa-user-circle"><span class="visually-hidden">пользователя</span></i> в правом верхнем углу, либо выполнить следующие действия:
## Deleting a user
1. Наведите указатель мыши на пользователя, которого вы хотите отредактировать.
2. Нажмите на значок <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">редактировать</span></i> справа от имени пользователя и адреса электронной почты.
1. Hover over the user you want to delete.
2. Click the <i class="fas fa-fw fa-trash"><span class="visually-hidden">delete</span></i> icon on the right of the users name and email.
## Приостановка пользователя
## User configuration
1. Наведите указатель мыши на пользователя, которого вы хотите приостановить.
2. Щелкните значок <i class="fas fa-fw fa-pause"><span class="visually-hidden">приостановить</span></i> справа от имени пользователя и адреса электронной почты.
### Disabling control panel access
## Удаление пользователя
To remove Control Panel access from a user, check the box labelled: **Do not allow user to log in to Control Panel**.
1. Наведите указатель мыши на пользователя, которого хотите удалить.
2. Щелкните значок <i class="fas fa-fw fa-trash"><span class="visually-hidden">удалить</span></i> справа от имени пользователя и адреса электронной почты.
### Changing role
## Конфигурация пользователя
To change a users role change the **Role** value from the dropdown.
### Отключение доступа к панели управления
Чтобы лишить пользователя доступа к панели управления, установите флажок: **Не разрешать пользователю входить в панель управления**.
### Изменение роли
Чтобы изменить роль пользователя, измените значение **Роль** в раскрывающемся списке.
::: warning
Assigning the **Administrator** role to a user will enable them to see and edit other users. They will not be able to edit the **admin** user, but will be able to see them, unless disabled in the server settings.
Назначение роли **Администратор** пользователю позволит ему видеть и редактировать других пользователей. Они не смогут редактировать пользователя **admin**, но смогут видеть его, если это не отключено в настройках сервера.
:::
### Changing package
### Изменение пакета
To change a users package, change the **Package** value from the dropdown.
Чтобы изменить пакет пользователя, измените значение **Package** в раскрывающемся списке.
### Changing SSH access
### Изменение доступа SSH
To change a users SSH access, click the **Advanced Options** button, then change the **SSH Access** value from the dropdown.
Чтобы изменить доступ пользователя SSH, нажмите кнопку **Advanced Options**, затем измените значение **SSH Access** в раскрывающемся списке.
::: warning
Using the **nologin** shell will _not_ disable SFTP access.
Использование оболочки **nologin** е_ отключит доступ SFTP.
:::
### Changing PHP CLI version
### Изменение версии PHP CLI
To change a users PHP CLI version, click the **Advanced Options** button, then change the **PHP CLI Version** value from the dropdown.
Чтобы изменить версию PHP CLI пользователя, нажмите кнопку **Advanced Options**, затем измените значение **PHP CLI Version** в раскрывающемся списке.
### Changing default name servers
### Изменение серверов имен по умолчанию
To change a users default name servers, click the **Advanced Options** button, then edit the **Default Name Servers** fields.
Чтобы изменить серверы имен пользователя по умолчанию, нажмите кнопку **Advanced Options**, затем измените поля **Default Name Servers**.
::: warning
At least 2 default name servers are necessary. This is to provide redundancy, in case one of them fails to answer. In fact, it is suggested that both name servers be on separate servers, for better resilience. If you are the system administrator and would like to set this up, refer to our [DNS Cluster documentation](../server-administration/dns.md#dns-cluster-setup).
:::
Необходимо как минимум 2 сервера имен по умолчанию. Это необходимо для обеспечения избыточности в случае, если один из них не ответит. Фактически, предлагается, чтобы оба сервера имен находились на отдельных серверах для лучшей устойчивости. Если вы системный администратор и хотите настроить это, обратитесь к нашей [документации по кластеру DNS](../server-administration/dns.md#dns-cluster-setup).
:::

@ -1,129 +1,140 @@
# Web Domains
# Веб-домены
To manage your web domains, navigate to the **Web <i class="fas fa-fw fa-globe-americas"></i>** tab.
Чтобы управлять веб-доменами, перейдите на вкладку **Веб <i class="fas fa-fw fa-globe-americas"></i>**.
## Adding a web domain
## Добавление веб-домена
1. Click the **<i class="fas fa-fw fa-plus-circle"></i> Add Web Domain** button.
2. Enter the domain name in the **Domain** field.
- If you wish to manage this domains DNS in Hestia, check the box labeled **Create DNS zone**
- If you wish to enable mail for this domain, check the box labeled **Enable mail for this domain**.
3. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
1. Нажмите кнопку **<i class="fas fa-fw fa-plus-circle"></i> Добавить веб-домен**.
## Installing an app
2. Введите доменное имя в поле **Домен**.
- Если вы хотите управлять DNS этого домена в Hestia, установите флажок **Создать зону DNS**
- Если вы хотите включить почту для этого домена, установите флажок **Включить почту для этого домена**.
1. Click the domain name or the <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">edit</span></i> icon that appears on hover.
2. Click the **<i class="fas fa-fw fa-magic"></i> Quick install App** button in the top right.
3. Select the application you want to install and click the **Setup** button.
4. Fill out the fields. If the app uses a database, you will have the option to auto-create a database or use an existing one.
5. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
3. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
## Установка приложения
1. Щелкните имя домена или значок <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">редактирования</span></i>, который появляется при наведении.
2. Щелкните кнопку **<i class="fas fa-fw fa-magic"></i> Быстрая установка приложения** в правом верхнем углу.
3. Выберите приложение, которое хотите установить, и щелкните кнопку **Настройка**.
4. Заполните поля. Если приложение использует базу данных, у вас будет возможность автоматически создать базу данных или использовать существующую.
5. Щелкните кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
::: warning
Depending on the application you chose to install, this can take 30 seconds or longer. Do not reload or close the tab!
В зависимости от выбранного вами приложения для установки это может занять 30 секунд или больше. Не перезагружайте и не закрывайте вкладку!
:::
## Editing a web domain
## Редактирование веб-домена
1. Щелкните имя домена или значок <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">редактирования</span></i>, который появляется при наведении.
2. Внесите изменения. Ниже описаны параметры.
3. Щелкните кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
1. Click the domain name or the <i class="fas fa-fw fa-pencil-alt"><span class="visually-hidden">edit</span></i> icon that appears on hover.
2. Make your changes. The options are explained below.
3. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
## Просмотр журналов доступа и ошибок
## Viewing access and error logs
1. Наведите указатель мыши на домен, журналы которого вы хотите просмотреть.
2. Щелкните значок <i class="fas fa-fw fa-binoculars"><span class="visually-hidden">журналов</span></i>.
3. В верхней части страницы у вас есть возможность загрузить журналы или просмотреть журналы ошибок.
1. Hover over the domain whose logs you want to view.
2. Click the <i class="fas fa-fw fa-binoculars"><span class="visually-hidden">logs</span></i> icon.
3. At the top of the page, you have the possibility to download the logs or view the error logs instead.
## Приостановка веб-домена
## Suspending a web domain
1. Наведите указатель мыши на домен, который вы хотите приостановить.
2. Нажмите значок <i class="fas fa-fw fa-pause"><span class="visually-hidden">приостановить</span></i> справа от веб-домена.
1. Hover over the domain you want to suspend.
2. Click the <i class="fas fa-fw fa-pause"><span class="visually-hidden">suspend</span></i> icon on the right of the web domain.
## Удаление веб-домена
## Deleting a web domain
1. Наведите указатель мыши на домен, который вы хотите удалить.
2. Нажмите значок <i class="fas fa-fw fa-trash"><span class="visually-hidden">удалить пользователя</span></i> справа от веб-домена. **Будут удалены** веб-домен и связанные учетные записи FTP.
1. Hover over the domain you want to delete.
2. Click the <i class="fas fa-fw fa-trash"><span class="visually-hidden">delete user</span></i> icon on the right of the web domain. **Both** the web domain and the linked FTP accounts will get deleted.
## Конфигурация веб-домена
## Web domain configuration
### Включение статистики
### Enabling statistics
1. Выберите **awstats** в поле выбора с надписью **Веб-статистика**.
2. При желании введите имя пользователя и пароль.
3. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
4. Перейдите на `https://domain.tld/vstats/`, чтобы просмотреть статистику.
1. Chose **awstats** in the selection boxed labelled **Web Statistics**.
2. If desired, enter a username and password.
3. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
4. Navigate to `https://domain.tld/vstats/` to view the stats.
### Управление перенаправлениями
### Managing redirections
1. Отметьте поле **Включить перенаправление домена**.
1. Check the **Enable domain redirection** box.
2. Select the option you want. When selecting **Redirect visitors to a custom domain or web address** you have to option to select the HTTP status code (301 by default).
2. Выберите нужный параметр. При выборе **Перенаправлять посетителей на пользовательский домен или веб-адрес** у вас есть возможность выбрать код статуса HTTP (по умолчанию 301).
::: warning
If your domain is an [internationalized domain name (IDN)](https://en.wikipedia.org/wiki/Internationalized_domain_name) containing special characters, even if you select `www.domain.tld` or `domain.tld`, it will convert the domain to [punycode](https://en.wikipedia.org/wiki/Punycode) and select **Redirect visitors to a custom domain or web address**.
Если ваш домен — это [интернационализированное доменное имя (IDN)](https://en.wikipedia.org/wiki/Internationalized_domain_name), содержащее специальные символы, даже если вы выберете `www.domain.tld` или `domain.tld`, он преобразует домен в [punycode](https://en.wikipedia.org/wiki/Punycode) и выберите **Перенаправлять посетителей на пользовательский домен или веб-адрес**.
:::
### Enabling SSL
### Включение SSL
1. Установите флажок **Включить SSL для этого домена**.
1. Check the **Enable SSL for this domain** box.
2. Check the **Use Lets Encrypt to obtain SSL certificate** box to use Lets Encrypt.
3. Depending on your requirements, you can enable **Enable automatic HTTPS redirection** or **Enable HTTP Strict Transport Security (HSTS)**.
4. Click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
2. Установите флажок **Использовать Lets Encrypt для получения сертификата SSL**, чтобы использовать Lets Encrypt.
3. В зависимости от ваших требований вы можете включить **Включить автоматическое перенаправление HTTPS** или **Включить HTTP Strict Transport Security (HSTS)**.
4. Нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
If you want to use your own SSL certificate you can enter the SSL certificate in the text area.
Если вы хотите использовать собственный сертификат SSL, вы можете ввести его в текстовое поле.
If you are having issues with enabling Lets Encrypt, please refer to our [SSL certificates](../server-administration/ssl-certificates.md) documentation.
Если у вас возникли проблемы с включением Lets Encrypt, обратитесь к нашей документации [SSL-сертификаты](../server-administration/ssl-certificates.md).
### Changing PHP version
### Изменение версии PHP
::: info
This option is not always available. It may be disabled in the server settings. Please contact your server administrator for more information.
Эта опция не всегда доступна. Она может быть отключена в настройках сервера. За дополнительной информацией обратитесь к администратору сервера.
:::
1. Select the desired PHP version in the **Backend Template** field.
1. Выберите нужную версию PHP в поле **Шаблон бэкенда**.
### Использование другого корневого каталога
1. Установите флажок **Пользовательский корень документа**.
2. Выберите доменное имя, на которое должен указывать этот домен.
3. Выберите путь. Например, `/public/` будет ссылаться на `/home/user/web/domain.tld/public_html/public/`.
### Дополнительные учетные записи FTP
### Using a different root directory
1. Установите флажок **Дополнительные учетные записи FTP**.
1. Check the **Custom document root** box.
2. Select the domain name where you want this domain to point.
3. Select the path. For example, `/public/` will link to `/home/user/web/domain.tld/public_html/public/`.
2. Введите имя пользователя и пароль (или сгенерируйте его). Имя пользователя будет иметь префикс `user_`.
### Additional FTP accounts
3. Введите путь, к которому учетная запись сможет получить доступ.
1. Check the **Additional FTP accounts** box.
2. Enter a username and a password (or generate one). The username will be prefixed by `user_`.
3. Enter the path the account will be able to access.
4. Optionally, provide an email address where the login details will be sent.
4. При желании укажите адрес электронной почты, на который будут отправлены данные для входа.
To add another FTP account, click the **Add FTP account** button, then click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
Чтобы добавить еще одну учетную запись FTP, нажмите кнопку **Добавить учетную запись FTP**, затем нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
To delete an FTP account, click the **DELETE** link on the right of its name, then click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
Чтобы удалить учетную запись FTP, нажмите ссылку **УДАЛИТЬ** справа от ее имени, затем нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
To change the password, update the password field, then click the **<i class="fas fa-fw fa-save"></i> Save** button in the top right.
Чтобы измените пароль, обновите поле пароля, затем нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
### Proxy templates
### Шаблоны прокси
::: info
Depending on the server setup, this option may not be available.
В зависимости от настроек сервера эта опция может быть недоступна.
:::
- **default**: All purpose template. Suitable for most usecases.
- **caching**: Template with proxy cache enabled. Suitable for mostly static content, for example: blogs or news websites.
- **hosting**: Similar to default.
- **default**: универсальный шаблон. Подходит для большинства случаев использования.
- **caching**: шаблон с включенным кэшем прокси. Подходит для большинства статичных материалов, например: блогов или новостных сайтов.
- **hosting**: аналогично default.
Any custom templates will also show up here.
Здесь также будут отображаться любые пользовательские шаблоны.
::: tip
Any custom templates starting with `caching-` will allow the use of the **<i class="fas fa-fw fa-trash"></i> Purge Nginx Cache** button. Make sure a `.sh` file exists for `caching-my-template` with at least [this content](https://github.com/hestiacp/hestiacp/blob/main/install/deb/templates/web/nginx/caching.sh)
Любые пользовательские шаблоны, начинающиеся с `caching-`, позволят использовать кнопку **<i class="fas fa-fw fa-trash"></i> Очистить кэш Nginx**. Убедитесь, что файл `.sh` существует для `caching-my-template` с как минимум [этим содержимым](https://github.com/hestiacp/hestiacp/blob/main/install/deb/templates/web/nginx/caching.sh)
:::
### Web templates
### Веб-шаблоны
For servers running Apache2 and Nginx, the **default** template will work fine.
Для серверов, работающих под управлением Apache2 и Nginx, подойдет шаблон **default**.
For servers running Nginx only, pick the template matching the app name you are going to use.
Для серверов, работающих только под управлением Nginx, выберите шаблон, соответствующий имени приложения, которое вы собираетесь использовать.
### Managing Nginx caching
### Управление кэшированием Nginx
When Nginx caching is enabled (using FastCGI cache or with a caching-enabled template), you can purge the cache via the **<i class="fas fa-fw fa-trash"></i> Purge Nginx Cache** button.
Когда включено кэширование Nginx (с использованием кэша FastCGI или с шаблоном с поддержкой кэширования), вы можете очистить кэш с помощью кнопки **<i class="fas fa-fw fa-trash"></i> Очистить кэш Nginx**.
When using Nginx only, you can enable FastCGI caching using the **Enable FastCGI Cache** box. When checked, an option is shown to determine for how long the cache is considered valid.
При использовании только Nginx вы можете включить кэширование FastCGI с помощью поля **Включить кэш FastCGI**. Если этот флажок установлен, отображается опция, позволяющая определить, в течение какого времени кэш считается действительным.

@ -12,46 +12,46 @@ title: Features
<FeaturePage>
<FeaturePageTitle>
<template #title>Features</template>
<template #title>Характеристики</template>
</FeaturePageTitle>
<FeaturePageSection image="/images/undraw_two_factor_authentication_namy.svg">
<template #title>Users</template>
<template #lead>Share access to your server with other users and restrict their resources.</template>
<template #title>Пользователи</template>
<template #lead>Предоставляйте доступ к вашему серверу другим пользователям и ограничивайте их ресурсы.</template>
<template #list>
<FeatureList :items="users"></FeatureList>
</template>
</FeaturePageSection>
<FeaturePageSection image="/images/undraw_web_developer_re_h7ie.svg">
<template #title>Web domains</template>
<template #lead>Add multiple domains and quickly install apps on them.</template>
<template #title>Веб-домены</template>
<template #lead>Добавляйте множество доменов и сразу устанавливайте приложения.</template>
<template #list>
<FeatureList :items="webDomains"></FeatureList>
</template>
</FeaturePageSection>
<FeaturePageSection image="/images/undraw_domain_names_re_0uun.svg">
<template #title>DNS</template>
<template #lead>Manage your own DNS server!</template>
<template #lead>Управляйте своим собственным DNS сервером!</template>
<template #list>
<FeatureList :items="dns"></FeatureList>
</template>
</FeaturePageSection>
<FeaturePageSection image="/images/undraw_personal_email_re_4lx7.svg">
<template #title>Mail</template>
<template #lead>Host your own emails, no need to pay a business mail provider!</template>
<template #lead>Размещайте на своем сервере свои собственные электронные письма, не нужно платить поставщику деловой почты!</template>
<template #list>
<FeatureList :items="mail"></FeatureList>
</template>
</FeaturePageSection>
<FeaturePageSection image="/images/undraw_maintenance_re_59vn.svg">
<template #title>Databases</template>
<template #lead>From e-commerce to blogs, databases are always useful and you can choose between MySQL and PostgreSQL.</template>
<template #title>Базы данных</template>
<template #lead>Базы данных - от электронной коммерции до блогов - всегда полезны, и вы можете выбирать между MySQL и PostgreSQL.</template>
<template #list>
<FeatureList :items="databases"></FeatureList>
</template>
</FeaturePageSection>
<FeaturePageSection image="/images/undraw_server_status_re_n8ln.svg">
<template #title>Server admin</template>
<template #lead>Ultra-configurable and user-friendly, Hestia is as powerful as you could want.</template>
<template #title>Администрирование сервера</template>
<template #lead>Ультранастраиваемая и удобная в использовании Hestia настолько мощна, насколько вы могли бы пожелать.</template>
<template #list>
<FeatureList :items="serverAdmin"></FeatureList>
</template>

@ -6,36 +6,31 @@ titleTemplate: Open-source web server control panel.
hero:
name: Hestia Control Panel
text: Open-source web server control panel (RPM based build)
tagline: Fast, reliable, open-source. The control panel youve always wanted is just a command away.
text: Панель управления сервером
tagline: Для RPM based ОС. Быстрая, надежная, с открытым исходным кодом. Панель управления, о которой вы всегда мечтали, находится всего в нескольких шагах.
image:
src: /logo.svg
alt: Hestia Logo
actions:
- theme: brand
text: Get started
text: Начало работы
link: /docs/introduction/getting-started
- theme: alt
text: RPM version
text: RPM версия
link: https://dev.brepo.ru/bayrepo/hestiacp
- theme: alt
text: Original version
text: Оригинальная панель для Debian/Ubuntu
link: https://github.com/hestiacp/hestiacp
features:
- icon: 🚀
title: Fast & easy to learn
details: Hestia is made with ease of use in mind. Creating a user or a website is as easy as clicking a button and filling out a couple of fields, while advanced features are easily accessible.
title: Быстро и легко обучиться
details: Hestia создана с учетом простоты использования. Создать пользователя или веб-сайт так же просто, как нажать кнопку и заполнить пару полей, при этом расширенные функции легко доступны.
link: /docs/introduction/getting-started
linkText: Documentation
linkText: Документация
- icon: 🛠️
title: Extendable & powerful
details: Hestia is extendable while being easy to learn. You can build your own themes, web templates, quick install applications and can interact with it using third party software via its API.
title: Мощная и расширяемая
details: Hestia расширяема и проста в освоении. Вы можете создавать свои собственные темы, веб-шаблоны, быстро устанавливать приложения и взаимодействовать с ней с помощью программного обеспечения сторонних производителей через ее API.
link: /docs/contributing/development
linkText: Help develop Hestia
- icon: 🤝
title: Supported by the community
details: Hestia has a great support community - join the forum! To keep the project running, we rely on donations, which can be made via PayPal or cryptocurrency.
link: /donate
linkText: Donate
linkText: Помощь в разработке Hestia
---

@ -13,7 +13,7 @@ title: Install
<InstallPage>
<InstallPageTitle>
<template #title>Install</template>
<template #title>Генератор установочной команды</template>
</InstallPageTitle>
<InstallOptionsSection>
<template #list>

Loading…
Cancel
Save