Compare commits
39 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d76624ff43 | ||
|
|
27b237a3c7 | ||
|
|
5349d46d71 | ||
|
|
75df7a2554 | ||
|
|
479a65e0dd | ||
|
|
aae561716c | ||
|
|
8a2ec261f5 | ||
|
|
ec4bb73609 | ||
|
|
e37e8a0d1e | ||
|
|
f398decba9 | ||
|
|
ae8b90d66e | ||
|
|
5610859f17 | ||
|
|
598c9abdfb | ||
|
|
5d461cc39b | ||
|
|
8b2c076e2e | ||
|
|
f44fe71c28 | ||
|
|
7e9f0f1074 | ||
|
|
be9c2de988 | ||
|
|
f433895670 | ||
|
|
e2c8835b6b | ||
|
|
751814c48a | ||
|
|
113cd37b9d | ||
|
|
ce83ca97a9 | ||
|
|
bb547d1d9a | ||
|
|
fd667cd08b | ||
|
|
46fb25bcc0 | ||
|
|
bd56dcf5f5 | ||
|
|
cc59572a59 | ||
|
|
bf9de36753 | ||
|
|
56b3c3e5c9 | ||
|
|
c8b0f25247 | ||
|
|
f0086903a3 | ||
|
|
93ac9a2d5d | ||
|
|
08e5b49cab | ||
|
|
4be77a30e1 | ||
|
|
9eea39db23 | ||
|
|
e621c84780 | ||
|
|
ec2e8ca836 | ||
|
|
2b1157b0aa |
13
CHANGELOG.md
13
CHANGELOG.md
@@ -2,10 +2,23 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [1.9.6.rpm] - Release
|
||||
|
||||
- Fix error on all web and mail domains after Apache 2.4.64 update
|
||||
- Fix error on local php installation and extension activation
|
||||
- Added templates for nginx mod_rewrite activation
|
||||
- Added nginx with mod_rewrite
|
||||
- Fixed database size usage and disk usage output on the info pages
|
||||
- Fixed installation of panel without PHP-FPM
|
||||
- Fixed mod_php, fcgid, fcgi mode
|
||||
|
||||
## [1.9.5.rpm] - Release
|
||||
|
||||
- Added support installation of alternative php not only remi
|
||||
- Fixed separate edition of php.ini in multiphp mode
|
||||
- Added usemirrorclamav for install script for uieng Russian mirror for Clamav databases
|
||||
- Added devel mode of installation for installing not from github by default. With this parameter installation will be from devel repo dev.brepo.ru
|
||||
- Fixed memory calculation in service list
|
||||
|
||||
## [1.9.4.rpm] - Release
|
||||
|
||||
|
||||
97
README.de.md
Normal file
97
README.de.md
Normal file
@@ -0,0 +1,97 @@
|
||||
<div align="center">
|
||||
|
||||
# [Hestia Control Panel (RPM-Edition)](https://hestiadocs.brepo.ru)
|
||||
|
||||

|
||||
|
||||
## Leistungsstarkes und schlankes Serververwaltungspanel für moderne Hosting-Umgebungen
|
||||
|
||||
**Stabile Version:** 1.9.5 (RPM) |
|
||||
[RPM-Edition](https://hestiadocs.brepo.ru) |
|
||||
[Originalprojekt für Ubuntu/Debian](https://hestiacp.com) |
|
||||
[Änderungsprotokoll](/CHANGELOG.md) |
|
||||
[Support-Forum](https://forum.hestiacp.com)
|
||||
<br><br>
|
||||
[](https://drone.hestiacp.com/hestiacp/hestiacp)
|
||||
[](https://github.com/hestiacp/hestiacp/actions/workflows/lint.yml)
|
||||
[](https://gurubase.io/g/hestia)
|
||||
|
||||
</div>
|
||||
|
||||
Die Hestia Control Panel (RPM-Edition) wird von einem unabhängigen Team für RPM-basierte Betriebssysteme entwickelt. Durch Anpassungen nach dem Fork des Originalprojekts ist eine direkte Synchronisation mit der Ubuntu/Debian-Version nicht möglich. Bitte melden Sie Probleme direkt an dieses Projekt.
|
||||
|
||||
## **Willkommen!**
|
||||
|
||||
Hestia bietet Administratoren eine intuitive Weboberfläche und CLI zur zentralisierten Verwaltung von Webdomains, E-Mail-Konten, DNS-Zonen und Datenbanken – ohne manuelle Konfiguration einzelner Komponenten.
|
||||
|
||||
## Funktionen & Dienste
|
||||
|
||||
- Apache2 & NGINX mit PHP-FPM
|
||||
- Mehrere PHP-Versionen (7.4[EOL](https://www.php.net/supported-versions.php)–8.3, Standard 8.2 aus Remi-Repo + Custom Builds)
|
||||
- DNS-Server (Bind)
|
||||
- E-Mail-Services mit Viren-/Spam-Schutz (ClamAV, SpamAssassin, Roundcube)
|
||||
- MariaDB/MySQL & PostgreSQL Datenbanken
|
||||
- Let's Encrypt SSL-Unterstützung
|
||||
- Firewall mit Brute-Force-Schutz (iptables, fail2ban, ipset)
|
||||
|
||||
## Unterstützte Betriebssysteme
|
||||
|
||||
- **MSVSphere:** 9
|
||||
- **AlmaLinux:** 9
|
||||
- **RockyLinux:** 9
|
||||
|
||||
**Hinweise:**
|
||||
|
||||
- Keine Unterstützung für 32-Bit-Systeme!
|
||||
- Bei OpenVZ 7 oder älter können DNS/Firewall-Probleme auftreten – wir empfehlen KVM/LXC-basierte Virtualisierung.
|
||||
|
||||
## Installation
|
||||
|
||||
**Wichtig:** Frische OS-Installation erforderlich!
|
||||
|
||||
### Schritt 1: Anmeldung
|
||||
|
||||
Als **root** per SSH anmelden:
|
||||
|
||||
```bash
|
||||
ssh root@Ihr-Server
|
||||
```
|
||||
|
||||
### Schritt 2: Installationsskript herunterladen
|
||||
|
||||
```bash
|
||||
wget https://dev.brepo.ru/bayrepo/hestiacp/raw/branch/master/install/hst-install.sh
|
||||
```
|
||||
|
||||
### Schritt 3: Ausführung
|
||||
|
||||
Skript mit Berechtigungen ausführen:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh
|
||||
```
|
||||
|
||||
### Custom Installation
|
||||
|
||||
Optionen anzeigen:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh -h
|
||||
```
|
||||
|
||||
## Updates
|
||||
|
||||
Automatische Updates sind standardmäßig aktiviert (**Server-Einstellungen > Updates**). Manuelles Update:
|
||||
|
||||
```bash
|
||||
dnf update
|
||||
```
|
||||
|
||||
## Support
|
||||
|
||||
- Probleme mit RPM-Edition: [GitHub Issues](https://github.com/bayrepo/hestiacp-rpm/issues)
|
||||
- Originalversion: [Hauptrepository](https://github.com/hestiacp/hestiacp)
|
||||
|
||||
## Lizenz
|
||||
|
||||
Hestia Control Panel ist unter der [GPL v3](https://github.com/hestiacp/hestiacp/blob/release/LICENSE)-Lizenz lizenziert und basiert auf [VestaCP](https://vestacp.com/).
|
||||
109
README.en.md
Normal file
109
README.en.md
Normal file
@@ -0,0 +1,109 @@
|
||||
<div align="center">
|
||||
|
||||
# [Hestia Control Panel (RPM Edition)](https://hestiadocs.brepo.ru)
|
||||
|
||||

|
||||
|
||||
## A lightweight and powerful server control panel for modern web hosting environments
|
||||
|
||||
**Stable Version:** 1.9.5 (RPM) |
|
||||
[RPM Edition](https://hestiadocs.brepo.ru) |
|
||||
[Original Ubuntu/Debian Project](https://hestiacp.com) |
|
||||
[Changelog](/CHANGELOG.md) |
|
||||
[Support Forum](https://forum.hestiacp.com)
|
||||
<br><br>
|
||||
[](https://drone.hestiacp.com/hestiacp/hestiacp)
|
||||
[](https://github.com/hestiacp/hestiacp/actions/workflows/lint.yml)
|
||||
[](https://gurubase.io/g/hestia)
|
||||
|
||||
</div>
|
||||
|
||||
Hestia Control Panel (RPM Edition) is maintained and developed by a separate team focused on RPM-based operating systems. Since forking from the original project, this edition has incorporated changes that prevent direct syncing with upstream updates from the Ubuntu/Debian version (not all features are relevant for RPM systems). Therefore, found issues should be reported specifically to this project.
|
||||
|
||||
Below is the general panel description.
|
||||
|
||||
## **Welcome!**
|
||||
|
||||
Hestia Control Panel aims to provide administrators with an easy-to-use web interface and CLI for quickly deploying and managing web domains, email accounts, DNS zones, and databases through a centralized panel - eliminating the need for manual configuration of individual components.
|
||||
|
||||
## Features & Services
|
||||
|
||||
- Apache2 & NGINX with PHP-FPM
|
||||
- Multiple PHP versions (7.4[EOL](https://www.php.net/supported-versions.php) - 8.3, 8.2 default via Remi repo + custom PHP builds)
|
||||
- DNS Server (Bind)
|
||||
- Email services with antivirus/spam protection & webmail (POP/IMAP/SMTP, ClamAV, SpamAssassin, Sieve, Roundcube)
|
||||
- MariaDB/MySQL & PostgreSQL databases
|
||||
- Let's Encrypt SSL support
|
||||
- Firewall with brute-force protection & IP management (iptables, fail2ban, ipset).
|
||||
|
||||
## Supported OS
|
||||
|
||||
- **MSVSphere:** 9
|
||||
- **AlmaLinux:** 9
|
||||
- **RockyLinux:** 9
|
||||
|
||||
**NOTES:**
|
||||
|
||||
- HestiaCP does not support 32-bit OS!
|
||||
- HestiaCP combined with OpenVZ 7 or earlier may have DNS/firewall issues. For VPS, we strongly recommend KVM/LXC-based virtualization.
|
||||
|
||||
## Installing Hestia Control Panel
|
||||
|
||||
- **NOTE:** HestiaCP must be installed on a fresh OS for proper functionality.
|
||||
|
||||
While we strive to make installation and usage intuitive, basic Linux server setup knowledge is assumed.
|
||||
|
||||
### Step 1: Log in
|
||||
|
||||
Login as **root** or a superuser via SSH:
|
||||
|
||||
```bash
|
||||
ssh root@your.server
|
||||
```
|
||||
|
||||
### Step 2: Download
|
||||
|
||||
Get the latest installer script:
|
||||
|
||||
```bash
|
||||
wget https://dev.brepo.ru/bayrepo/hestiacp/raw/branch/master/install/hst-install.sh
|
||||
```
|
||||
|
||||
### Step 3: Execute
|
||||
|
||||
Run the script and follow on-screen instructions:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh
|
||||
```
|
||||
|
||||
Upon completion, you'll receive a welcome email (if configured) and login details.
|
||||
|
||||
### Custom Installation
|
||||
|
||||
Use flags to select specific components. View options with:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh -h
|
||||
```
|
||||
|
||||
## Updating Existing Installations
|
||||
|
||||
Automatic updates are enabled by default (managed via **Server Settings > Updates**). Manual updates:
|
||||
|
||||
```bash
|
||||
dnf update
|
||||
```
|
||||
|
||||
## Issues & Support
|
||||
|
||||
- For RPM edition issues: [Create GitHub Issue](https://github.com/bayrepo/hestiacp-rpm/issues)
|
||||
- Original Debian/Ubuntu version: [Original Repository](https://github.com/hestiacp/hestiacp)
|
||||
|
||||
## Copyright
|
||||
|
||||
Original copyrights belong to [HestiaCP](https://github.com/hestiacp/hestiacp)
|
||||
|
||||
## License
|
||||
|
||||
Hestia Control Panel is licensed under [GPL v3](https://github.com/hestiacp/hestiacp/blob/release/LICENSE) and based on [VestaCP](https://vestacp.com/).
|
||||
99
README.es.md
Normal file
99
README.es.md
Normal file
@@ -0,0 +1,99 @@
|
||||
<div align="center">
|
||||
|
||||
# [Panel de Control Hestia (Edición RPM)](https://hestiadocs.brepo.ru)
|
||||
|
||||

|
||||
|
||||
## Panel de servidor ligero y potente para entornos modernos de alojamiento web
|
||||
|
||||
**Versión estable:** 1.9.5 (RPM) |
|
||||
[Edición RPM](https://hestiadocs.brepo.ru) |
|
||||
[Proyecto original para Ubuntu/Debian](https://hestiacp.com) |
|
||||
[Registro de cambios](/CHANGELOG.md) |
|
||||
[Foro de soporte](https://forum.hestiacp.com)
|
||||
<br><br>
|
||||
[](https://drone.hestiacp.com/hestiacp/hestiacp)
|
||||
[](https://github.com/hestiacp/hestiacp/actions/workflows/lint.yml)
|
||||
[](https://gurubase.io/g/hestia)
|
||||
|
||||
</div>
|
||||
|
||||
El Panel de Control Hestia (Edición RPM) es mantenido por un equipo independiente especializado en sistemas basados en RPM. Debido a cambios implementados tras la bifurcación del proyecto original, esta versión no puede sincronizarse directamente con las actualizaciones de Ubuntu/Debian. Reporte los problemas directamente a este proyecto.
|
||||
|
||||
## **¡Bienvenido!**
|
||||
|
||||
Hestia ofrece una interfaz web intuitiva y CLI para implementar y gestionar dominios web, cuentas de correo, zonas DNS y bases de datos de forma centralizada, sin configuración manual de componentes individuales.
|
||||
|
||||
## Características y servicios
|
||||
|
||||
- Apache2 & NGINX con PHP-FPM
|
||||
- Múltiples versiones de PHP (7.4[EOL](https://www.php.net/supported-versions.php) - 8.3, predeterminado 8.2 desde repositorio Remi + compilaciones personalizadas)
|
||||
- Servidor DNS (Bind)
|
||||
- Servicios de correo con protección antivirus/anti-spam (ClamAV, SpamAssassin, Roundcube)
|
||||
- Bases de datos MariaDB/MySQL & PostgreSQL
|
||||
- Soporte Let's Encrypt SSL
|
||||
- Cortafuegos con protección contra fuerza bruta (iptables, fail2ban, ipset)
|
||||
|
||||
## Sistemas compatibles
|
||||
|
||||
- **MSVSphere:** 9
|
||||
- **AlmaLinux:** 9
|
||||
- **RockyLinux:** 9
|
||||
|
||||
**Notas importantes:**
|
||||
|
||||
- ¡No compatible con sistemas de 32 bits!
|
||||
- Pueden ocurrir problemas de DNS/cortafuegos en OpenVZ 7 o anteriores. Recomendamos virtualización basada en KVM/LXC.
|
||||
|
||||
## Instalación
|
||||
|
||||
**Requisito:** ¡Sistema operativo recién instalado!
|
||||
|
||||
### Paso 1: Iniciar sesión
|
||||
|
||||
Conéctese como **root** vía SSH:
|
||||
|
||||
```bash
|
||||
ssh root@su-servidor
|
||||
```
|
||||
|
||||
### Paso 2: Descargar script
|
||||
|
||||
Obtenga el instalador más reciente:
|
||||
|
||||
```bash
|
||||
wget https://dev.brepo.ru/bayrepo/hestiacp/raw/branch/master/install/hst-install.sh
|
||||
```
|
||||
|
||||
### Paso 3: Ejecutar
|
||||
|
||||
Ejecute el script con permisos:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh
|
||||
```
|
||||
|
||||
### Instalación personalizada
|
||||
|
||||
Ver opciones disponibles:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh -h
|
||||
```
|
||||
|
||||
## Actualizaciones
|
||||
|
||||
Las actualizaciones automáticas están activadas por defecto (**Configuración del servidor > Actualizaciones**). Actualización manual:
|
||||
|
||||
```bash
|
||||
dnf update
|
||||
```
|
||||
|
||||
## Soporte técnico
|
||||
|
||||
- Problemas con la edición RPM: [Reportar en GitHub](https://github.com/bayrepo/hestiacp-rpm/issues)
|
||||
- Versión original: [Repositorio principal](https://github.com/hestiacp/hestiacp)
|
||||
|
||||
## Licencia
|
||||
|
||||
Hestia Control Panel se distribuye bajo licencia [GPL v3](https://github.com/hestiacp/hestiacp/blob/release/LICENSE) y está basado en [VestaCP](https://vestacp.com/).
|
||||
109
README.hi.md
Normal file
109
README.hi.md
Normal file
@@ -0,0 +1,109 @@
|
||||
<div align="center">
|
||||
|
||||
# [हेस्टिया कंट्रोल पैनल (RPM संस्करण)](https://hestiadocs.brepo.ru)
|
||||
|
||||

|
||||
|
||||
## आधुनिक वेब होस्टिंग वातावरण के लिए हल्का और शक्तिशाली सर्वर नियंत्रण पैनल
|
||||
|
||||
**स्थिर संस्करण:** 1.9.5 (RPM) |
|
||||
[RPM संस्करण](https://hestiadocs.brepo.ru) |
|
||||
[मूल Ubuntu/Debian प्रोजेक्ट](https://hestiacp.com) |
|
||||
[परिवर्तन सूची](/CHANGELOG.md) |
|
||||
[सहायता फोरम](https://forum.hestiacp.com)
|
||||
<br><br>
|
||||
[](https://drone.hestiacp.com/hestiacp/hestiacp)
|
||||
[](https://github.com/hestiacp/hestiacp/actions/workflows/lint.yml)
|
||||
[](https://gurubase.io/g/hestia)
|
||||
|
||||
</div>
|
||||
|
||||
हेस्टिया कंट्रोल पैनल (RPM संस्करण) RHEL-आधारित वितरणों पर केंद्रित एक स्वतंत्र टीम द्वारा विकसित और बनाए रखा जाता है। मूल प्रोजेक्ट से फोर्क होने के बाद, यह संस्करण अपस्ट्रीम Ubuntu/Debian संस्करण के साथ सीधे सिंक नहीं होता (कुछ सुविधाएँ RPM सिस्टम के लिए लागू नहीं हैं)। कृपया इस संस्करण से संबंधित समस्याओं को सीधे इस प्रोजेक्ट में रिपोर्ट करें।
|
||||
|
||||
निम्नलिखित पैनल का सामान्य विवरण है।
|
||||
|
||||
## **आपका स्वागत है!**
|
||||
|
||||
हेस्टिया कंट्रोल पैनल का उद्देश्य व्यवस्थापकों को वेबसाइट, ईमेल खाते, DNS ज़ोन और डेटाबेस को तेज़ी से तैनात करने और प्रबंधित करने के लिए एक केंद्रीकृत वेब इंटरफेस और कमांड-लाइन टूल्स प्रदान करना है - बिना अलग-अलग घटकों को मैन्युअल रूप से कॉन्फ़िगर किए।
|
||||
|
||||
## सुविधाएँ और सेवाएँ
|
||||
|
||||
- Apache2 और NGINX PHP-FPM के साथ
|
||||
- बहु-PHP संस्करण समर्थन (7.4[EOL](https://www.php.net/supported-versions.php) - 8.3, डिफ़ॉल्ट 8.2 Remi रिपॉजिटरी से + कस्टम PHP बिल्ड)
|
||||
- DNS सर्वर (Bind)
|
||||
- वायरस/स्पैम सुरक्षा के साथ ईमेल सेवाएँ और वेबमेल (POP/IMAP/SMTP, ClamAV, SpamAssassin, Sieve, Roundcube)
|
||||
- MariaDB/MySQL और PostgreSQL डेटाबेस
|
||||
- Let's Encrypt SSL समर्थन
|
||||
- ब्रूट-फोर्स सुरक्षा और IP प्रबंधन के साथ फ़ायरवॉल (iptables, fail2ban, ipset)
|
||||
|
||||
## समर्थित सिस्टम
|
||||
|
||||
- **MSVSphere:** 9
|
||||
- **AlmaLinux:** 9
|
||||
- **RockyLinux:** 9
|
||||
|
||||
**ध्यान दें:**
|
||||
|
||||
- HestiaCP 32-बिट ऑपरेटिंग सिस्टम को समर्थन नहीं करता!
|
||||
- OpenVZ 7 या पुराने संस्करणों पर HestiaCP का उपयोग करते समय DNS/फ़ायरवॉल समस्याएँ हो सकती हैं। KVM/LXC आधारित वर्चुअलाइजेशन विकल्पों की सिफारिश की जाती है।
|
||||
|
||||
## Hestia कंट्रोल पैनल इंस्टॉल करें
|
||||
|
||||
- **नोट:** पूर्ण कार्यक्षमता सुनिश्चित करने के लिए कृपया एक ताज़ा सर्वर इंस्टॉलेशन पर इंस्टॉल करें।
|
||||
|
||||
हालांकि हम इंस्टॉलेशन प्रक्रिया को सरल बनाने का प्रयास करते हैं, लेकिन उपयोगकर्ताओं को लिनक्स सर्वर प्रबंधन का बुनियादी ज्ञान होना आवश्यक है।
|
||||
|
||||
### चरण 1: लॉगिन
|
||||
|
||||
**root** या सुपरयूजर एक्सेस के साथ SSH के माध्यम से लॉगिन करें:
|
||||
|
||||
```bash
|
||||
ssh root@your.server
|
||||
```
|
||||
|
||||
### चरण 2: डाउनलोड करें
|
||||
|
||||
नवीनतम इंस्टॉल स्क्रिप्ट प्राप्त करें:
|
||||
|
||||
```bash
|
||||
wget https://dev.brepo.ru/bayrepo/hestiacp/raw/branch/master/install/hst-install.sh
|
||||
```
|
||||
|
||||
### चरण 3: निष्पादित करें
|
||||
|
||||
स्क्रिप्ट चलाएँ और स्क्रीन निर्देशों का पालन करें:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh
|
||||
```
|
||||
|
||||
इंस्टॉलेशन पूरा होने पर, आपको एक स्वागत ईमेल (यदि कॉन्फ़िगर किया गया हो) और लॉगिन विवरण प्राप्त होंगे।
|
||||
|
||||
### कस्टम इंस्टॉलेशन
|
||||
|
||||
घटकों को चुनने के लिए पैरामीटर का उपयोग करें, विकल्प देखें:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh -h
|
||||
```
|
||||
|
||||
## मौजूदा इंस्टॉलेशन अपडेट करें
|
||||
|
||||
स्वचालित अपडेट डिफ़ॉल्ट रूप से सक्षम हैं (**सर्वर सेटिंग्स > अपडेट** के माध्यम से प्रबंधित)। मैन्युअल अपडेट:
|
||||
|
||||
```bash
|
||||
dnf update
|
||||
```
|
||||
|
||||
## समस्याएँ और सहायता
|
||||
|
||||
- RPM संस्करण से संबंधित मुद्दे: [GitHub इश्यू दर्ज करें](https://github.com/bayrepo/hestiacp-rpm/issues)
|
||||
- मूल Debian/Ubuntu संस्करण: [मूल प्रोजेक्ट रिपॉजिटरी](https://github.com/hestiacp/hestiacp)
|
||||
|
||||
## कॉपीराइट
|
||||
|
||||
मूल कॉपीराइट [HestiaCP](https://github.com/hestiacp/hestiacp) के पास है
|
||||
|
||||
## लाइसेंस
|
||||
|
||||
हेस्टिया कंट्रोल पैनल [GPL v3](https://github.com/hestiacp/hestiacp/blob/release/LICENSE) लाइसेंस के तहत जारी किया गया है, और [VestaCP](https://vestacp.com/) पर आधारित है।
|
||||
97
README.ja.md
Normal file
97
README.ja.md
Normal file
@@ -0,0 +1,97 @@
|
||||
<div align="center">
|
||||
|
||||
# [Hestia コントロールパネル (RPM版)](https://hestiadocs.brepo.ru)
|
||||
|
||||

|
||||
|
||||
## 現代的なWebホスティング環境向け軽量で強力なサーバー管理パネル
|
||||
|
||||
**安定版:** 1.9.5 (RPM) |
|
||||
[RPM版](https://hestiadocs.brepo.ru) |
|
||||
[オリジナルUbuntu/Debian版](https://hestiacp.com) |
|
||||
[更新履歴](/CHANGELOG.md) |
|
||||
[サポートフォーラム](https://forum.hestiacp.com)
|
||||
<br><br>
|
||||
[](https://drone.hestiacp.com/hestiacp/hestiacp)
|
||||
[](https://github.com/hestiacp/hestiacp/actions/workflows/lint.yml)
|
||||
[](https://gurubase.io/g/hestia)
|
||||
|
||||
</div>
|
||||
|
||||
Hestia コントロールパネル(RPM版)はRPMベースOS専用の開発チームによってメンテナンスされています。Ubuntu/Debian版との機能同期ができないため、問題報告は本プロジェクト宛てにお願いします。
|
||||
|
||||
## **ようこそ!**
|
||||
|
||||
Hestiaは直感的なWebインターフェースとCLIを提供し、ドメイン管理・メールアカウント・DNSゾーン・データベースの迅速なデプロイを可能にするサーバー管理パネルです。
|
||||
|
||||
## 主な機能
|
||||
|
||||
- Apache2 & NGINX + PHP-FPM連携
|
||||
- マルチPHPバージョン(7.4[EOL](https://www.php.net/supported-versions.php) - 8.3、Remiリポジトリ版+カスタムビルド)
|
||||
- Bind DNSサーバー
|
||||
- ウイルス/スパム対策付きメールサービス(ClamAV, SpamAssassin, Roundcube)
|
||||
- MariaDB/MySQL & PostgreSQLデータベース
|
||||
- Let's Encrypt SSL対応
|
||||
- ブルートフォース攻撃防御機能(iptables, fail2ban, ipset)
|
||||
|
||||
## 対応OS
|
||||
|
||||
- **MSVSphere:** 9
|
||||
- **AlmaLinux:** 9
|
||||
- **RockyLinux:** 9
|
||||
|
||||
**注意事項:**
|
||||
|
||||
- 32ビットOS非対応
|
||||
- OpenVZ 7以前の環境ではDNS/ファイアウォール問題が発生する可能性あり
|
||||
|
||||
## インストール手順
|
||||
|
||||
### ステップ1: rootログイン
|
||||
|
||||
SSHでrootユーザーとしてログイン:
|
||||
|
||||
```bash
|
||||
ssh root@your.server
|
||||
```
|
||||
|
||||
### ステップ2: インストーラ取得
|
||||
|
||||
最新インストーラをダウンロード:
|
||||
|
||||
```bash
|
||||
wget https://dev.brepo.ru/bayrepo/hestiacp/raw/branch/master/install/hst-install.sh
|
||||
```
|
||||
|
||||
### ステップ3: 実行
|
||||
|
||||
スクリプトを実行し指示に従う:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh
|
||||
```
|
||||
|
||||
### カスタムインストール
|
||||
|
||||
オプション確認:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh -h
|
||||
```
|
||||
|
||||
## アップデート
|
||||
|
||||
自動更新はデフォルトで有効(**サーバー設定 > 更新**から管理)。手動更新:
|
||||
|
||||
```bash
|
||||
dnf update
|
||||
```
|
||||
|
||||
## サポート
|
||||
|
||||
- RPM版問題報告: [GitHub Issues](https://github.com/bayrepo/hestiacp-rpm/issues)
|
||||
- オリジナル版: [公式リポジトリ](https://github.com/hestiacp/hestiacp)
|
||||
|
||||
## ライセンス
|
||||
|
||||
Hestiaコントロールパネルは[GPL v3](https://github.com/hestiacp/hestiacp/blob/release/LICENSE)ライセンスで、[VestaCP](https://vestacp.com/)を基に開発されています。
|
||||
105
README.md
105
README.md
@@ -1,102 +1,123 @@
|
||||
<h1 align="center">Hestia Control Panel (RPM Edition)</h1>
|
||||
<div align="center">
|
||||
|
||||
<h2 align="center">Легкая и мощная панель управления для современного сервера. Организуй собственный сервер в два счета.</h2>
|
||||
# [Панель управления Hestia (RPM версия)](https://hestiadocs.brepo.ru)
|
||||
|
||||
<p align="center"><strong>Ссылки на оригинальный проект для Ubuntu и Debian:</strong> | <a href="https://www.hestiacp.com/">HestiaCP.com</a> |
|
||||
</p>
|
||||

|
||||
|
||||
<p align="center">
|
||||
<strong>Информация по RPM Edition сборке:</strong> |
|
||||
<a href="https://hestiadocs.brepo.ru/">Documentation for version with RPM support</a>
|
||||
</p>
|
||||
## Легкая и мощная серверная панель для современных веб-сред
|
||||
|
||||
Hestia Control Panel (RPM Edition) поддерживается и дорабатывается отдельной командой связанной с RPM Based операционными системаи, с момента форка от оригинального, данный проект включил изменения, которые не позволяют просто подтягивать доработки из оригинального проекта (и не все доработки Ubuntu и Debian нужны в RPM Based системах). Поэтому все изменения из оригинальной Hestia CP не подтягиваются автоматически, поэтому о найденных ошибках в текущей реализации необходимо репортить в текущий проект.
|
||||
**Стабильная версия:** 1.9.5 (RPM) |
|
||||
[RPM версия](https://hestiadocs.brepo.ru) |
|
||||
[Оригинальный проект для Ubuntu/Debian](https://hestiacp.com) |
|
||||
[История изменений](/CHANGELOG.md) |
|
||||
[Форум поддержки](https://forum.hestiacp.com)
|
||||
<br><br>
|
||||
[](https://drone.hestiacp.com/hestiacp/hestiacp)
|
||||
[](https://github.com/hestiacp/hestiacp/actions/workflows/lint.yml)
|
||||
[](https://gurubase.io/g/hestia)
|
||||
|
||||
Ниже общее описание панели.
|
||||
</div>
|
||||
|
||||
## [English](README.en.md)
|
||||
|
||||
## [Deutsch](README.de.md)
|
||||
|
||||
## [Español](README.es.md)
|
||||
|
||||
## [हिन्दी](README.hi.md)
|
||||
|
||||
## [日本語](README.ja.md)
|
||||
|
||||
## [简体中文](README.zh-Hans.md)
|
||||
|
||||
## [繁體中文](README.zh-Hant.md)
|
||||
|
||||
Панель управления Hestia (RPM версия) разрабатывается и поддерживается независимой командой, специализирующейся на RPM-ориентированных дистрибутивах. После ответвления от оригинального проекта данная версия включает изменения, которые не позволяют синхронизировать обновления с Ubuntu/Debian версией (некоторые функции не применимы к RPM-системам). Пожалуйста, сообщайте о проблемах непосредственно в этот проект.
|
||||
|
||||
Ниже представлено общее описание панели.
|
||||
|
||||
## **Добро пожаловать!**
|
||||
|
||||
Панель управления Hestia предназначена для предоставления администраторам простого в использовании веб-интерфейса и интерфейса командной строки, что позволяет им быстро развертывать веб-домены, почтовые аккаунты, зоны DNS и базы данных и управлять ими с единой центральной панели без необходимости вручную развертывать и настраивать отдельные компоненты или сервисы.
|
||||
Hestia Control Panel предоставляет администраторам простой веб-интерфейс и CLI-инструменты для быстрого развертывания доменов, почтовых аккаунтов, DNS-зон и баз данных через централизованную панель без ручной настройки отдельных компонентов.
|
||||
|
||||
## Функции и сервисы
|
||||
## Функционал и сервисы
|
||||
|
||||
- Apache2 и NGINX с PHP-FPM
|
||||
- Несколько версий PHP (7.4 — 8.2, 8.0 по умолчанию, как из Remi репозитория, так и дополнительная самостоятельная сборка PHP пакетов)
|
||||
- Поддержка нескольких версий PHP (7.4[EOL](https://www.php.net/supported-versions.php)-8.3, по умолчанию 8.2 из репозитория Remi + кастомные сборки)
|
||||
- DNS-сервер (Bind)
|
||||
- почтовые сервисы POP/IMAP/SMTP с защитой от вирусов, спама и веб-почтой (ClamAV, SpamAssassin, Sieve, Roundcube)
|
||||
- базы данных MariaDB/MySQL и/или PostgreSQL
|
||||
- поддержка SSL Let's Encrypt
|
||||
- брандмауэр с защитой от атак методом перебора и списками IP (iptables, fail2ban и ipset).
|
||||
- Почтовый сервис с антивирусом/антиспамом и веб-почтой (POP/IMAP/SMTP, ClamAV, SpamAssassin, Sieve, Roundcube)
|
||||
- Базы данных MariaDB/MySQL и PostgreSQL
|
||||
- Поддержка SSL Let's Encrypt
|
||||
- Фаервол с защитой от брутфорса и IP-менеджментом (iptables, fail2ban, ipset)
|
||||
|
||||
## Поддерживаемые ОС
|
||||
## Поддерживаемые системы
|
||||
|
||||
- **MSVSphere:** 9
|
||||
- **AlmaLinux:** 9
|
||||
- **RockyLinux:** 9
|
||||
|
||||
**ПРИМЕЧАНИЯ:**
|
||||
**Важно:**
|
||||
|
||||
- Панель управления Hestia не поддерживает 32-разрядные операционные системы!
|
||||
- Панель управления Hestia в сочетании с OpenVZ 7 или более ранними версиями может иметь проблемы с DNS и/или брандмауэром. Если вы используете виртуальный частный сервер, мы настоятельно рекомендуем использовать что-то на основе KVM или LXC!
|
||||
- HestiaCP не поддерживает 32-битные ОС!
|
||||
- На OpenVZ 7 и старых версиях возможны проблемы с DNS/фаерволом. Рекомендуем KVM/LXC-виртуализацию.
|
||||
|
||||
## Установка панели управления Hestia
|
||||
## Установка Hestia
|
||||
|
||||
- **ПРИМЕЧАНИЕ:** для обеспечения правильной работы необходимо установить панель управления Hestia поверх новой операционной системы.
|
||||
- **Примечание:** Для корректной работы устанавливайте на чистую ОС.
|
||||
|
||||
Несмотря на то, что мы приложили все усилия, чтобы сделать процесс установки и интерфейс панели управления максимально удобными (даже для новых пользователей), предполагается, что вы уже обладаете некоторыми базовыми знаниями и пониманием того, как настроить сервер Linux, прежде чем продолжить.
|
||||
Требуются базовые знания администрирования Linux-серверов.
|
||||
|
||||
### Шаг 1. Войдите в систему
|
||||
### Шаг 1: Авторизация
|
||||
|
||||
Чтобы начать установку, вам нужно войти в систему как **root** или пользователь с правами суперпользователя. Вы можете выполнить установку непосредственно из командной строки или удалённо через SSH:
|
||||
Войдите как **root** через SSH:
|
||||
|
||||
```bash
|
||||
ssh root@your.server
|
||||
ssh root@ваш.сервер
|
||||
```
|
||||
|
||||
### Шаг 2. Загрузка
|
||||
### Шаг 2: Загрузка
|
||||
|
||||
Загрузите установочный скрипт для последней версии:
|
||||
Получите установочный скрипт:
|
||||
|
||||
```bash
|
||||
wget https://dev.brepo.ru/bayrepo/hestiacp/raw/branch/master/install/hst-install.sh
|
||||
```
|
||||
|
||||
### Шаг 3: Запустите
|
||||
### Шаг 3: Запуск
|
||||
|
||||
Чтобы начать процесс установки, просто запустите скрипт и следуйте инструкциям на экране:
|
||||
Выполните скрипт и следуйте инструкциям:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh
|
||||
```
|
||||
|
||||
После завершения установки вы получите приветственное электронное письмо на адрес, указанный во время установки (если применимо), и инструкции на экране для входа в систему и доступа к вашему серверу.
|
||||
После установки вы получите приветственное письмо и данные для входа.
|
||||
|
||||
### Пользовательская установка
|
||||
### Кастомная установка
|
||||
|
||||
Во время установки вы можете указать несколько различных флагов, чтобы установить только те функции, которые вам нужны. Чтобы просмотреть список доступных опций, выполните:
|
||||
Используйте параметры для выбора компонентов:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh -h
|
||||
```
|
||||
|
||||
## Как обновить существующую установку
|
||||
## Обновление системы
|
||||
|
||||
Автоматические обновления включены по умолчанию в новых установках Hestia Control Panel, и ими можно управлять из **Server Settings > Updates**. Чтобы вручную проверить наличие доступных обновлений и установить их, воспользуйтесь системным менеджером пакетов:
|
||||
Автообновления включены по умолчанию (управление: **Настройки сервера > Обновления**). Ручное обновление:
|
||||
|
||||
```bash
|
||||
dnf update
|
||||
```
|
||||
|
||||
## Проблемы и запросы в службу поддержки
|
||||
## Поддержка и отчеты
|
||||
|
||||
- Если вы столкнулись с общей проблемой при использовании Hestia Control Panel для системы на основе RPM, воспользуйтесь [отчётом о проблеме](https://github.com/bayrepo/hestiacp-rpm/issues)
|
||||
|
||||
Для оригинальной HestiaCP для Debian и Ubuntu используйте [оригинальную версию](https://github.com/hestiacp/hestiacp):
|
||||
- Проблемы с RPM-версией: [GitHub Issues](https://github.com/bayrepo/hestiacp-rpm/issues)
|
||||
- Оригинальная версия: [Репозиторий проекта](https://github.com/hestiacp/hestiacp)
|
||||
|
||||
## Авторские права
|
||||
|
||||
Ознакомьтесь с оригинальными авторскими правами [HestiaCP](https://github.com/hestiacp/hestiacp)
|
||||
Оригинальный код: [HestiaCP](https://github.com/hestiacp/hestiacp)
|
||||
|
||||
## Лицензия
|
||||
|
||||
Панель управления Hestia распространяется по лицензии [GPL v3](https://github.com/hestiacp/hestiacp/blob/release/LICENSE) и основана на проекте [VestaCP](https://vestacp.com/).<br>
|
||||
Распространяется под лицензией [GPL v3](https://github.com/hestiacp/hestiacp/blob/release/LICENSE), основан на [VestaCP](https://vestacp.com/).
|
||||
|
||||
109
README.zh-Hans.md
Normal file
109
README.zh-Hans.md
Normal file
@@ -0,0 +1,109 @@
|
||||
<div align="center">
|
||||
|
||||
# [Hestia 控制面板 (RPM 版)](https://hestiadocs.brepo.ru)
|
||||
|
||||

|
||||
|
||||
## 面向现代网络托管环境的轻量级强大服务器控制面板
|
||||
|
||||
**稳定版本:** 1.9.5 (RPM) |
|
||||
[RPM 版](https://hestiadocs.brepo.ru) |
|
||||
[原版 Ubuntu/Debian 项目](https://hestiacp.com) |
|
||||
[更新日志](/CHANGELOG.md) |
|
||||
[支持论坛](https://forum.hestiacp.com)
|
||||
<br>
|
||||
[](https://drone.hestiacp.com/hestiacp/hestiacp)
|
||||
[](https://github.com/hestiacp/hestiacp/actions/workflows/lint.yml)
|
||||
[](https://gurubase.io/g/hestia)
|
||||
|
||||
</div>
|
||||
|
||||
Hestia 控制面板(RPM 版)由专注于RHEL系列发行版的独立团队维护开发。由于从原项目分叉后,此版本已包含与上游 Ubuntu/Debian 版本无法直接同步的变更(部分功能不适用于 RPM 系统),因此相关问题请直接报告至本项目。
|
||||
|
||||
以下是面板的通用描述。
|
||||
|
||||
## **欢迎使用!**
|
||||
|
||||
Hestia 控制面板旨在通过集中式面板为管理员提供易用的网页界面和命令行工具,快速部署和管理网站域名、邮箱账户、DNS 区域和数据库,无需手动配置独立组件。
|
||||
|
||||
## 功能与服务
|
||||
|
||||
- Apache2 和 NGINX 搭配 PHP-FPM
|
||||
- 多版本 PHP 支持(7.4[EOL](https://www.php.net/supported-versions.php) - 8.3,默认 8.2 来自 Remi 仓库 + 自定义 PHP 构建)
|
||||
- DNS 服务器(Bind)
|
||||
- 带病毒/垃圾邮件防护的邮件服务及网页邮箱(POP/IMAP/SMTP,ClamAV,SpamAssassin,Sieve,Roundcube)
|
||||
- MariaDB/MySQL 和 PostgreSQL 数据库
|
||||
- Let's Encrypt SSL 支持
|
||||
- 防火墙含暴力破解防护和 IP 管理(iptables,fail2ban,ipset)
|
||||
|
||||
## 支持系统
|
||||
|
||||
- **MSVSphere:** 9
|
||||
- **AlmaLinux:** 9
|
||||
- **RockyLinux:** 9
|
||||
|
||||
**注意事项:**
|
||||
|
||||
- HestiaCP 不支持 32 位操作系统!
|
||||
- 在 OpenVZ 7 或更早版本上使用 HestiaCP 可能出现 DNS/防火墙问题。建议选择基于 KVM/LXC 的虚拟化方案。
|
||||
|
||||
## 安装 Hestia 控制面板
|
||||
|
||||
- **注意:** 为保证功能完整性,请在新装系统上进行安装。
|
||||
|
||||
尽管我们力求安装过程简单直观,但使用者需具备基础的 Linux 服务器配置知识。
|
||||
|
||||
### 步骤 1:登录
|
||||
|
||||
使用 **root** 或超级用户权限通过 SSH 登录:
|
||||
|
||||
```bash
|
||||
ssh root@your.server
|
||||
```
|
||||
|
||||
### 步骤 2:下载
|
||||
|
||||
获取最新安装脚本:
|
||||
|
||||
```bash
|
||||
wget https://dev.brepo.ru/bayrepo/hestiacp/raw/branch/master/install/hst-install.sh
|
||||
```
|
||||
|
||||
### 步骤 3:执行
|
||||
|
||||
运行脚本并遵循屏幕指引:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh
|
||||
```
|
||||
|
||||
安装完成后,您将收到欢迎邮件(如配置)和登录信息。
|
||||
|
||||
### 自定义安装
|
||||
|
||||
使用参数选择组件,查看选项:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh -h
|
||||
```
|
||||
|
||||
## 更新现有安装
|
||||
|
||||
默认启用自动更新(通过 **服务器设置 > 更新** 管理)。手动更新:
|
||||
|
||||
```bash
|
||||
dnf update
|
||||
```
|
||||
|
||||
## 问题与支持
|
||||
|
||||
- RPM 版本问题反馈:[提交 GitHub Issue](https://github.com/bayrepo/hestiacp-rpm/issues)
|
||||
- 原版 Debian/Ubuntu 版本:[原项目仓库](https://github.com/hestiacp/hestiacp)
|
||||
|
||||
## 版权声明
|
||||
|
||||
原始版权归属 [HestiaCP](https://github.com/hestiacp/hestiacp)
|
||||
|
||||
## 授权协议
|
||||
|
||||
Hestia 控制面板遵循 [GPL v3](https://github.com/hestiacp/hestiacp/blob/release/LICENSE) 协议,基于 [VestaCP](https://vestacp.com/) 开发。
|
||||
109
README.zh-Hant.md
Normal file
109
README.zh-Hant.md
Normal file
@@ -0,0 +1,109 @@
|
||||
<div align="center">
|
||||
|
||||
# [Hestia 控制面板 (RPM 版)](https://hestiadocs.brepo.ru)
|
||||
|
||||

|
||||
|
||||
## 面向現代網絡託管環境的輕量級強大伺服器控制面板
|
||||
|
||||
**穩定版本:** 1.9.5 (RPM) |
|
||||
[RPM 版](https://hestiadocs.brepo.ru) |
|
||||
[原版 Ubuntu/Debian 專案](https://hestiacp.com) |
|
||||
[更新日誌](/CHANGELOG.md) |
|
||||
[支援論壇](https://forum.hestiacp.com)
|
||||
<br>
|
||||
[](https://drone.hestiacp.com/hestiacp/hestiacp)
|
||||
[](https://github.com/hestiacp/hestiacp/actions/workflows/lint.yml)
|
||||
[](https://gurubase.io/g/hestia)
|
||||
|
||||
</div>
|
||||
|
||||
Hestia 控制面板(RPM 版)由專注於 RPM 系統的獨立團隊維護開發。由於從原專案分叉後,此版本已包含與上游 Ubuntu/Debian 版本無法直接同步的變更(部分功能不適用於 RPM 系統),因此相關問題請直接報告至本專案。
|
||||
|
||||
以下是面板的通用描述。
|
||||
|
||||
## **歡迎使用!**
|
||||
|
||||
Hestia 控制面板旨在透過集中式面板為管理員提供易用的網頁介面和命令列工具,快速部署和管理網站域名、郵箱帳戶、DNS 區域和資料庫,無需手動配置獨立元件。
|
||||
|
||||
## 功能與服務
|
||||
|
||||
- Apache2 和 NGINX 搭配 PHP-FPM
|
||||
- 多版本 PHP 支援(7.4[EOL](https://www.php.net/supported-versions.php) - 8.3,預設 8.2 來自 Remi 倉庫 + 自訂 PHP 構建)
|
||||
- DNS 伺服器(Bind)
|
||||
- 帶病毒/垃圾郵件防護的郵件服務及網頁郵箱(POP/IMAP/SMTP,ClamAV,SpamAssassin,Sieve,Roundcube)
|
||||
- MariaDB/MySQL 和 PostgreSQL 資料庫
|
||||
- Let's Encrypt SSL 支援
|
||||
- 防火牆含暴力破解防護和 IP 管理(iptables,fail2ban,ipset)
|
||||
|
||||
## 支援系統
|
||||
|
||||
- **MSVSphere:** 9
|
||||
- **AlmaLinux:** 9
|
||||
- **RockyLinux:** 9
|
||||
|
||||
**注意事項:**
|
||||
|
||||
- HestiaCP 不支援 32 位元作業系統!
|
||||
- 在 OpenVZ 7 或更早版本上使用 HestiaCP 可能出現 DNS/防火牆問題。建議選擇基於 KVM/LXC 的虛擬化方案。
|
||||
|
||||
## 安裝 Hestia 控制面板
|
||||
|
||||
- **注意:** 為保證功能完整性,請在新裝系統上進行安裝。
|
||||
|
||||
儘管我們力求安裝過程簡單直觀,但使用者需具備基礎的 Linux 伺服器配置知識。
|
||||
|
||||
### 步驟 1:登入
|
||||
|
||||
使用 **root** 或超級使用者權限透過 SSH 登入:
|
||||
|
||||
```bash
|
||||
ssh root@your.server
|
||||
```
|
||||
|
||||
### 步驟 2:下載
|
||||
|
||||
取得最新安裝腳本:
|
||||
|
||||
```bash
|
||||
wget https://dev.brepo.ru/bayrepo/hestiacp/raw/branch/master/install/hst-install.sh
|
||||
```
|
||||
|
||||
### 步驟 3:執行
|
||||
|
||||
執行腳本並遵循螢幕指引:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh
|
||||
```
|
||||
|
||||
安裝完成後,您將收到歡迎郵件(如配置)和登入資訊。
|
||||
|
||||
### 自訂安裝
|
||||
|
||||
使用參數選擇元件,檢視選項:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh -h
|
||||
```
|
||||
|
||||
## 更新現有安裝
|
||||
|
||||
預設啟用自動更新(透過 **伺服器設定 > 更新** 管理)。手動更新:
|
||||
|
||||
```bash
|
||||
dnf update
|
||||
```
|
||||
|
||||
## 問題與支援
|
||||
|
||||
- RPM 版本問題回饋:[提交 GitHub Issue](https://github.com/bayrepo/hestiacp-rpm/issues)
|
||||
- 原版 Debian/Ubuntu 版本:[原專案倉庫](https://github.com/hestiacp/hestiacp)
|
||||
|
||||
## 版權聲明
|
||||
|
||||
原始版權歸屬 [HestiaCP](https://github.com/hestiacp/hestiacp)
|
||||
|
||||
## 授權協議
|
||||
|
||||
Hestia 控制面板遵循 [GPL v3](https://github.com/hestiacp/hestiacp/blob/release/LICENSE) 協議,基於 [VestaCP](https://vestacp.com/) 開發。
|
||||
@@ -130,10 +130,10 @@ echo
|
||||
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
for mod in $php_modules_install; do
|
||||
enable_local_php_extension "$version" "$mod"
|
||||
fn_enable_local_php_extension "$version" "$mod"
|
||||
done
|
||||
for mod in $php_modules_disable; do
|
||||
disable_local_php_extension "$version" "$mod"
|
||||
fn_disable_local_php_extension "$version" "$mod"
|
||||
done
|
||||
fi
|
||||
|
||||
@@ -156,8 +156,7 @@ else
|
||||
fi
|
||||
|
||||
# Check if required modules for apache2 are enabled
|
||||
if [ "$WEB_SYSTEM" = "apache2" ]; then
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
if [ "$WEB_SYSTEM" = "httpd" ]; then
|
||||
if ! httpd -M | grep 'proxy_fcgi_module' ; then
|
||||
sed 's/#LoadModule proxy_fcgi_module/LoadModule proxy_fcgi_module/' -i /etc/httpd/conf.modules.d/00-proxy.conf
|
||||
sed 's/#LoadModule proxy_module/LoadModule proxy_module/' -i /etc/httpd/conf.modules.d/00-proxy.conf
|
||||
@@ -165,14 +164,7 @@ if [ "$WEB_SYSTEM" = "apache2" ]; then
|
||||
if ! httpd -M | grep 'setenvif_module' ; then
|
||||
sed 's/#LoadModule setenvif_module/LoadModule setenvif_module/' -i /etc/httpd/conf.modules.d/00-base.conf
|
||||
fi
|
||||
else
|
||||
if ! a2query -q -m proxy_fcgi; then
|
||||
a2enmod -q proxy_fcgi
|
||||
fi
|
||||
if ! a2query -q -m setenvif; then
|
||||
a2enmod -q setenvif
|
||||
fi
|
||||
fi
|
||||
|
||||
$BIN/v-restart-web "yes"
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/bash
|
||||
# info: change hostname
|
||||
# options: HOSTNAME
|
||||
#
|
||||
@@ -37,8 +37,11 @@ check_hestia_demo_mode
|
||||
|
||||
hostname "$domain"
|
||||
|
||||
if command -v hostnamectl >/dev/null 2>&1; then
|
||||
hostnamectl set-hostname "$domain"
|
||||
echo "$domain" > /etc/hostname
|
||||
else
|
||||
if [ -d "/etc/sysconfig" ]; then
|
||||
# RHEL/CentOS/Amazon
|
||||
touch /etc/sysconfig/network
|
||||
if [ -z "$(grep HOSTNAME /etc/sysconfig/network)" ]; then
|
||||
echo "HOSTNAME='$domain'" >> /etc/sysconfig/network
|
||||
@@ -46,10 +49,9 @@ if [ -d "/etc/sysconfig" ]; then
|
||||
sed -i "s/HOSTNAME=.*/HOSTNAME='$domain'/" /etc/sysconfig/network
|
||||
fi
|
||||
else
|
||||
# Debian/Ubuntu
|
||||
hostnamectl set-hostname "$domain"
|
||||
echo "$domain" > /etc/hostname
|
||||
fi
|
||||
fi
|
||||
|
||||
# Update Roundcube password plugin configuration
|
||||
if [ -d /etc/roundcube/ ]; then
|
||||
|
||||
105
bin/v-default-domain
Executable file
105
bin/v-default-domain
Executable file
@@ -0,0 +1,105 @@
|
||||
#!/bin/bash
|
||||
# info: add web/dns/mail domain
|
||||
# options: USER DOMAIN COMMAND
|
||||
#
|
||||
# example: v-default-domain admin example.com set
|
||||
# v-default-domain admin example.com delete
|
||||
# v-default-domain admin example.com check
|
||||
# v-default-domain admin example.com check-default
|
||||
#
|
||||
# This function set user's domain as default or reset it or get default domain or check is domain default.
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variables & Functions #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument definition
|
||||
user=$1
|
||||
domain=$2
|
||||
command=$3
|
||||
|
||||
# Includes
|
||||
# shellcheck source=/etc/hestiacp/hestia.conf
|
||||
source /etc/hestiacp/hestia.conf
|
||||
# shellcheck source=/usr/local/hestia/func/main.sh
|
||||
source $HESTIA/func/main.sh
|
||||
# load config file
|
||||
source_conf "$HESTIA/conf/hestia.conf"
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
check_args '3' "$#" 'USER DOMAIN COMMAND'
|
||||
is_format_valid 'user' 'domain'
|
||||
if [ -n "$ip" ]; then
|
||||
is_format_valid 'ip'
|
||||
fi
|
||||
is_object_valid 'user' 'USER' "$user"
|
||||
is_object_unsuspended 'user' 'USER' "$user"
|
||||
|
||||
# Perform verification if read-only mode is enabled
|
||||
check_hestia_demo_mode
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
confd="conf.h.d"
|
||||
|
||||
if [[ $command == check* ]]; then
|
||||
default_conf="/etc/httpd/$confd/domains/00000000000000000_default.conf"
|
||||
if [ -e "$default_conf" ]; then
|
||||
file_name=$(readlink -f "$default_conf")
|
||||
s_username=$(echo "$file_name" | cut -d"/" -f3 )
|
||||
s_domain=$(echo "$file_name" | rev | cut -d"/" -f2 | rev )
|
||||
if [ "$command" == "check-default" ]; then
|
||||
echo "$s_username:$s_domain"
|
||||
else
|
||||
if [ "$user" == "$s_username" ] && [ "$domain" == "$s_domain" ]; then
|
||||
echo "true"
|
||||
else
|
||||
echo "false"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "no default domain"
|
||||
fi
|
||||
else
|
||||
# Working on web domain
|
||||
if [ -n "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" == "httpd" ]; then
|
||||
domain_path="/etc/httpd/$confd/domains/$domain.conf"
|
||||
domain_ssl_path="/etc/httpd/$confd/domains/$domain.ssl.conf"
|
||||
if [ -e "$domain_ssl_path" ] || [ -e "$domain_path" ]; then
|
||||
path_name="$domain_path"
|
||||
if [ -e "$domain_ssl_path" ]; then
|
||||
path_name="$domain_ssl_path"
|
||||
fi
|
||||
if [ "$command" == "delete" ]; then
|
||||
if [ -e "/etc/httpd/$confd/domains/00000000000000000_default.conf" ]; then
|
||||
mv -f "/etc/httpd/$confd/domains/00000000000000000_default.conf" "/etc/httpd/$confd/domains/00000000000000000_default.conf.trash"
|
||||
fi
|
||||
else
|
||||
ln -sf "${path_name}" "/etc/httpd/$confd/domains/00000000000000000_default.conf"
|
||||
fi
|
||||
echo "true"
|
||||
else
|
||||
echo "false"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Restarting services
|
||||
$BIN/v-restart-web "yes"
|
||||
check_result $? "can't restart web" > /dev/null
|
||||
|
||||
$BIN/v-restart-proxy "yes"
|
||||
check_result $? "can't restart proxy" > /dev/null
|
||||
|
||||
$BIN/v-restart-dns "yes"
|
||||
check_result $? "can't restart dns" > /dev/null
|
||||
fi
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Hestia #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
exit
|
||||
@@ -34,7 +34,8 @@ json_list() {
|
||||
"STATE": "'$STATE'",
|
||||
"CPU": "'$CPU'",
|
||||
"MEM": "'$MEM'",
|
||||
"RTIME": "'$RTIME'"
|
||||
"RTIME": "'$RTIME'",
|
||||
"PMEM": "'$PHM'"
|
||||
}'
|
||||
if [ "$i" -lt "$objects" ]; then
|
||||
echo ','
|
||||
@@ -49,11 +50,11 @@ json_list() {
|
||||
# SHELL list function
|
||||
shell_list() {
|
||||
IFS=$'\n'
|
||||
echo "NAME STATE CPU MEM UPTIME"
|
||||
echo "---- ----- --- --- ------"
|
||||
echo "NAME STATE CPU MEM UPTIME PMEM"
|
||||
echo "---- ----- --- --- ------ ----"
|
||||
while read str; do
|
||||
parse_object_kv_list "$str"
|
||||
echo "$NAME $STATE $CPU $MEM $RTIME"
|
||||
echo "$NAME $STATE $CPU $MEM $RTIME $PHM"
|
||||
done < <(echo -e "$data" | grep NAME)
|
||||
}
|
||||
|
||||
@@ -62,17 +63,17 @@ plain_list() {
|
||||
IFS=$'\n'
|
||||
while read str; do
|
||||
parse_object_kv_list "$str"
|
||||
echo -e "$NAME\t$SYSTEM\t$STATE\t$CPU\t$MEM\t$RTIME"
|
||||
echo -e "$NAME\t$SYSTEM\t$STATE\t$CPU\t$MEM\t$RTIME\t$PHM"
|
||||
done < <(echo -e "$data" | grep NAME)
|
||||
}
|
||||
|
||||
# CSV list function
|
||||
csv_list() {
|
||||
IFS=$'\n'
|
||||
echo "NAME,SYSTEM,STATE,CPU,MEM,RTIME"
|
||||
echo "NAME,SYSTEM,STATE,CPU,MEM,RTIME,PMEM"
|
||||
while read str; do
|
||||
parse_object_kv_list "$str"
|
||||
echo "$NAME,\"$SYSTEM\",$STATE,$CPU,$MEM,$RTIME"
|
||||
echo "$NAME,\"$SYSTEM\",$STATE,$CPU,$MEM,$RTIME,$PHM"
|
||||
done < <(echo -e "$data" | grep NAME)
|
||||
}
|
||||
|
||||
@@ -84,6 +85,7 @@ get_srv_state() {
|
||||
mem=0
|
||||
cpu=0
|
||||
rtime="0"
|
||||
pmem=0
|
||||
|
||||
# Searching related pids
|
||||
if [ "$name" = "php-fpm" ]; then
|
||||
@@ -91,8 +93,12 @@ get_srv_state() {
|
||||
for php_pid in $(pidof php-fpm); do
|
||||
process_info=$(ps -p "$php_pid" -o args | tail -n1 | grep "$srv")
|
||||
if [ -n "$process_info" ]; then
|
||||
if [ -z "$pids" ];then
|
||||
pids="${php_pid}"
|
||||
else
|
||||
pids="${pids}|${php_pid}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
else
|
||||
if [ -z $3 ]; then
|
||||
@@ -123,6 +129,9 @@ get_srv_state() {
|
||||
mem=$(echo "$pids" | awk '{sum += $3} END {print sum/1024 }')
|
||||
mem=$(echo "${mem%%.*}")
|
||||
|
||||
pmem=$(echo "$pids" | awk '{sum += $4} END {print sum/1024 }')
|
||||
pmem=$(echo "${pmem%%.*}")
|
||||
|
||||
# Searching pid file
|
||||
pid_file=''
|
||||
if [ -e "/run/$srv.pid" ]; then
|
||||
@@ -151,6 +160,7 @@ get_srv_state() {
|
||||
mem=0
|
||||
cpu=0
|
||||
rtime="0"
|
||||
pmem=0
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -160,7 +170,7 @@ get_srv_state() {
|
||||
|
||||
# Saving current proccess list
|
||||
tmp_file=$(mktemp)
|
||||
ps -eo pid,pcpu,size > $tmp_file
|
||||
ps -eo pid,pcpu,size,rss > $tmp_file
|
||||
|
||||
# Checking current time
|
||||
ctime=$(date +%s)
|
||||
@@ -169,7 +179,7 @@ ctime=$(date +%s)
|
||||
if [ -n "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'remote' ]; then
|
||||
get_srv_state $WEB_SYSTEM
|
||||
data="NAME='$WEB_SYSTEM' SYSTEM='web server' STATE='$state' CPU='$cpu'"
|
||||
data="$data MEM='$mem' RTIME='$rtime'"
|
||||
data="$data MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
fi
|
||||
|
||||
# Checking PHP intepreter
|
||||
@@ -179,18 +189,18 @@ if [ -n "$WEB_BACKEND" ] && [ "$WEB_BACKEND" != 'remote' ]; then
|
||||
for version in $php_versions; do
|
||||
proc_name="php-fpm"
|
||||
service_name="fpm${version}"
|
||||
get_srv_state "$proc_name"
|
||||
get_srv_state "/opt/brepo/php${version}" "$proc_name"
|
||||
data="$data\nNAME='brepo-php-$service_name' SYSTEM='php interpreter' STATE='$state'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
done
|
||||
else
|
||||
php_versions=$(ls /opt/remi/php*/root/sbin/php-fpm | cut -d'/' -f4 | sed 's|php||')
|
||||
for version in $php_versions; do
|
||||
proc_name="php-fpm"
|
||||
service_name="php${version}"
|
||||
get_srv_state "$proc_name"
|
||||
get_srv_state "/opt/remi/php${version}" "$proc_name"
|
||||
data="$data\nNAME='$service_name-php-fpm' SYSTEM='php interpreter' STATE='$state'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
@@ -199,7 +209,7 @@ fi
|
||||
if [ -n "$PROXY_SYSTEM" ] && [ "$PROXY_SYSTEM" != 'remote' ]; then
|
||||
get_srv_state "$PROXY_SYSTEM"
|
||||
data="$data\nNAME='$PROXY_SYSTEM' SYSTEM='reverse proxy' STATE='$state'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
fi
|
||||
|
||||
# DNS
|
||||
@@ -208,21 +218,21 @@ if [ -n "$service" ] && [ "$service" != 'remote' ]; then
|
||||
proc_name='named'
|
||||
get_srv_state $service $proc_name
|
||||
data="$data\nNAME='$service' SYSTEM='dns server' STATE='$state'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
fi
|
||||
|
||||
# Checking MAIL system
|
||||
if [ -n "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'remote' ]; then
|
||||
get_srv_state "$MAIL_SYSTEM"
|
||||
data="$data\nNAME='$MAIL_SYSTEM' SYSTEM='mail server' STATE='$state'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
fi
|
||||
|
||||
# Checking MAIL IMAP
|
||||
if [ -n "$IMAP_SYSTEM" ] && [ "$IMAP_SYSTEM" != 'remote' ]; then
|
||||
get_srv_state "$IMAP_SYSTEM"
|
||||
data="$data\nNAME='$IMAP_SYSTEM' SYSTEM='imap/pop3 server' STATE='$state'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
fi
|
||||
|
||||
# Checking MAIL ANTIVIRUS
|
||||
@@ -244,7 +254,7 @@ if [ -n "$ANTIVIRUS_SYSTEM" ] && [ "$ANTIVIRUS_SYSTEM" != 'remote' ]; then
|
||||
get_srv_state "$ANTIVIRUS_SYSTEM" "$proc_name"
|
||||
fi
|
||||
data="$data\nNAME='$ANTIVIRUS_SYSTEM' SYSTEM='email anti-virus'"
|
||||
data="$data STATE='$state' CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
data="$data STATE='$state' CPU='$cpu' MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
proc_name=''
|
||||
fi
|
||||
|
||||
@@ -252,7 +262,7 @@ fi
|
||||
if [ -n "$ANTISPAM_SYSTEM" ] && [ "$ANTISPAM_SYSTEM" != 'remote' ]; then
|
||||
get_srv_state "$ANTISPAM_SYSTEM" "spamd"
|
||||
data="$data\nNAME='$ANTISPAM_SYSTEM' SYSTEM='email spam filter'"
|
||||
data="$data STATE='$state' CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
data="$data STATE='$state' CPU='$cpu' MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
fi
|
||||
|
||||
# Checking DB system
|
||||
@@ -299,7 +309,7 @@ if [ -n "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'remote' ]; then
|
||||
fi
|
||||
get_srv_state "$service" "$proc_name"
|
||||
data="$data\nNAME='$service' SYSTEM='database server' STATE='$state'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
proc_name=''
|
||||
done
|
||||
fi
|
||||
@@ -308,21 +318,21 @@ fi
|
||||
if [ -n "$FTP_SYSTEM" ] && [ "$FTP_SYSTEM" != 'remote' ]; then
|
||||
get_srv_state "$FTP_SYSTEM"
|
||||
data="$data\nNAME='$FTP_SYSTEM' SYSTEM='ftp server' STATE='$state'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
fi
|
||||
|
||||
# Checking CRON system
|
||||
if [ -n "$CRON_SYSTEM" ] && [ "$CRON_SYSTEM" != 'remote' ]; then
|
||||
get_srv_state "$CRON_SYSTEM"
|
||||
data="$data\nNAME='$CRON_SYSTEM' SYSTEM='job scheduler' STATE='$state'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
fi
|
||||
|
||||
# Checking SSH daemon
|
||||
if [ -e "/etc/ssh/sshd_config" ]; then
|
||||
get_srv_state ssh
|
||||
data="$data\nNAME='ssh' SYSTEM='ssh server' STATE='$state'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
fi
|
||||
|
||||
# Checking FIREWALL system
|
||||
@@ -339,7 +349,7 @@ if [ -n "$FIREWALL_SYSTEM" ] && [ "$FIREWALL_SYSTEM" != 'remote' ]; then
|
||||
fi
|
||||
fi
|
||||
data="$data\nNAME='$FIREWALL_SYSTEM' SYSTEM='firewall'"
|
||||
data="$data STATE='$state' CPU='0' MEM='0' RTIME='0'"
|
||||
data="$data STATE='$state' CPU='0' MEM='0' RTIME='0' PHM='0'"
|
||||
fi
|
||||
|
||||
# Checking FIREWALL Fail2ban extention
|
||||
@@ -354,7 +364,7 @@ if [ -n "$FIREWALL_EXTENSION" ]; then
|
||||
get_srv_state "$FIREWALL_EXTENSION" fail2ban-server script
|
||||
fi
|
||||
data="$data\nNAME='$FIREWALL_EXTENSION' SYSTEM='brute-force protection'"
|
||||
data="$data STATE='$state' CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
data="$data STATE='$state' CPU='$cpu' MEM='$mem' RTIME='$rtime' PHM='$pmem'"
|
||||
fi
|
||||
|
||||
# Listing data
|
||||
|
||||
@@ -1,65 +1,79 @@
|
||||
import { defineConfig } from 'vitepress';
|
||||
import { version } from '../../package.json';
|
||||
import { defineConfig } from "vitepress";
|
||||
import { version } from "../../package.json";
|
||||
|
||||
export default defineConfig({
|
||||
lang: 'en-US',
|
||||
title: 'Hestia Control Panel',
|
||||
description: 'Open-source web server control panel.',
|
||||
lang: "en-US",
|
||||
title: "Hestia Control Panel",
|
||||
description: "Open-source web server control panel.",
|
||||
|
||||
lastUpdated: true,
|
||||
cleanUrls: false,
|
||||
|
||||
head: [
|
||||
['link', { rel: 'icon', sizes: 'any', href: '/favicon.ico' }],
|
||||
['link', { rel: 'icon', type: 'image/svg+xml', sizes: '16x16', href: '/logo.svg' }],
|
||||
['link', { rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png' }],
|
||||
['link', { rel: 'manifest', href: '/site.webmanifest' }],
|
||||
['meta', { name: 'theme-color', content: '#b7236a' }],
|
||||
["link", { rel: "icon", sizes: "any", href: "/favicon.ico" }],
|
||||
[
|
||||
"link",
|
||||
{ rel: "icon", type: "image/svg+xml", sizes: "16x16", href: "/logo.svg" },
|
||||
],
|
||||
[
|
||||
"link",
|
||||
{
|
||||
rel: "apple-touch-icon",
|
||||
sizes: "180x180",
|
||||
href: "/apple-touch-icon.png",
|
||||
},
|
||||
],
|
||||
["link", { rel: "manifest", href: "/site.webmanifest" }],
|
||||
["meta", { name: "theme-color", content: "#b7236a" }],
|
||||
],
|
||||
|
||||
themeConfig: {
|
||||
logo: '/logo.svg',
|
||||
logo: "/logo.svg",
|
||||
|
||||
nav: nav(),
|
||||
|
||||
socialLinks: [
|
||||
{ icon: 'github', link: 'https://dev.brepo.ru/bayrepo/hestiacp' },
|
||||
{ icon: 'github', link: 'https://github.com/bayrepo/hestiacp-rpm' },
|
||||
{ icon: 'github', link: 'https://github.com/hestiacp/hestiacp' },
|
||||
{ icon: "github", link: "https://dev.brepo.ru/bayrepo/hestiacp" },
|
||||
{ icon: "github", link: "https://github.com/bayrepo/hestiacp-rpm" },
|
||||
{ icon: "github", link: "https://github.com/hestiacp/hestiacp" },
|
||||
],
|
||||
|
||||
sidebar: { '/docs/': sidebarDocs() },
|
||||
sidebar: { "/docs/": sidebarDocs() },
|
||||
|
||||
outline: [2, 3],
|
||||
|
||||
footer: {
|
||||
message: 'Выпущена под лицензией GPLv3.',
|
||||
copyright: 'Copyright © 2019-present Hestia Control Panel и некоторые RPM based компоненты принадлежат bayrepo',
|
||||
message: "Выпущена под лицензией GPLv3.",
|
||||
copyright:
|
||||
"Copyright © 2019-present Hestia Control Panel и некоторые RPM based компоненты принадлежат bayrepo",
|
||||
},
|
||||
|
||||
},
|
||||
});
|
||||
|
||||
/** @returns {import("vitepress").DefaultTheme.NavItem[]} */
|
||||
function nav() {
|
||||
return [
|
||||
{ text: 'Характеристики', link: '/features.md' },
|
||||
{ text: 'Установка', link: '/install.md' },
|
||||
{ text: 'Документация', 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: [
|
||||
{
|
||||
text: 'Changelog',
|
||||
link: 'https://dev.brepo.ru/bayrepo/hestiacp/src/branch/master/CHANGELOG.md',
|
||||
text: "Changelog",
|
||||
link: "https://dev.brepo.ru/bayrepo/hestiacp/src/branch/master/CHANGELOG.md",
|
||||
},
|
||||
{
|
||||
text: 'Содействие в разработке',
|
||||
link: 'https://dev.brepo.ru/bayrepo/hestiacp/src/branch/master/CONTRIBUTING.md',
|
||||
text: "Содействие в разработке",
|
||||
link: "https://dev.brepo.ru/bayrepo/hestiacp/src/branch/master/CONTRIBUTING.md",
|
||||
},
|
||||
{
|
||||
text: 'Политика безопасности',
|
||||
link: 'https://dev.brepo.ru/bayrepo/hestiacp/src/branch/master/SECURITY.md',
|
||||
text: "Политика безопасности",
|
||||
link: "https://dev.brepo.ru/bayrepo/hestiacp/src/branch/master/SECURITY.md",
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -69,89 +83,141 @@ function nav() {
|
||||
function sidebarDocs() {
|
||||
return [
|
||||
{
|
||||
text: 'Знакомство',
|
||||
text: "Знакомство",
|
||||
collapsed: false,
|
||||
items: [
|
||||
{ text: 'С чего начать', link: '/docs/introduction/getting-started.md' },
|
||||
{ text: 'Рекомендации', link: '/docs/introduction/best-practices.md' },
|
||||
{
|
||||
text: "С чего начать",
|
||||
link: "/docs/introduction/getting-started.md",
|
||||
},
|
||||
{ text: "Рекомендации", link: "/docs/introduction/best-practices.md" },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: 'Инструкция пользователя',
|
||||
text: "Инструкция пользователя",
|
||||
collapsed: false,
|
||||
items: [
|
||||
{ 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: 'Менеджер файлов', 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: "Аккаунт", 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: "Менеджер файлов", 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: 'Администрирование сервера',
|
||||
text: "Администрирование сервера",
|
||||
collapsed: false,
|
||||
items: [
|
||||
{ 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: 'Менеджер файлов', link: '/docs/server-administration/file-manager.md' },
|
||||
{ text: 'Firewall', link: '/docs/server-administration/firewall.md' },
|
||||
{ text: 'Обновления ОС', link: '/docs/server-administration/os-upgrades.md' },
|
||||
{ text: 'Rest API', link: '/docs/server-administration/rest-api.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: "Создание резервных копий и восстановление",
|
||||
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: "Менеджер файлов",
|
||||
link: "/docs/server-administration/file-manager.md",
|
||||
},
|
||||
{ text: "Firewall", link: "/docs/server-administration/firewall.md" },
|
||||
{
|
||||
text: "Обновления ОС",
|
||||
link: "/docs/server-administration/os-upgrades.md",
|
||||
},
|
||||
{ text: "Rest API", link: "/docs/server-administration/rest-api.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: 'Содейтсвие в разработке',
|
||||
text: "Содейтсвие в разработке",
|
||||
collapsed: false,
|
||||
items: [
|
||||
{ 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: "Сборка пакетов", 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: 'Сообщество',
|
||||
text: "Сообщество",
|
||||
collapsed: false,
|
||||
items: [
|
||||
{ text: 'Hestia Nginx Cache', link: '/docs/community/hestia-nginx-cache.md' },
|
||||
{
|
||||
text: 'Ioncube installer for Hestia',
|
||||
link: '/docs/community/ioncube-hestia-installer.md',
|
||||
text: "Hestia Nginx Cache",
|
||||
link: "/docs/community/hestia-nginx-cache.md",
|
||||
},
|
||||
{
|
||||
text: "Ioncube installer for Hestia",
|
||||
link: "/docs/community/ioncube-hestia-installer.md",
|
||||
},
|
||||
{
|
||||
text: "Генератор установочной команды",
|
||||
link: "/docs/community/install-script-generator.md",
|
||||
},
|
||||
{ text: 'Генератор установочной команды', link: '/docs/community/install-script-generator.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: 'Ссылки',
|
||||
text: "Ссылки",
|
||||
collapsed: false,
|
||||
items: [
|
||||
{ text: 'API', link: '/docs/reference/api.md' },
|
||||
{ text: 'CLI', link: '/docs/reference/cli.md' },
|
||||
{ text: "API", link: "/docs/reference/api.md" },
|
||||
{ text: "CLI", link: "/docs/reference/cli.md" },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: 'Дополнения',
|
||||
text: "Дополнения",
|
||||
collapsed: false,
|
||||
items: [
|
||||
{ text: 'PHP cli селектор', link: '/docs/extensions/php-cli-selector.md' },
|
||||
{ text: 'Расширенные модули', link: '/docs/extensions/extended-modules.md' },
|
||||
{ text: 'Настройка Local PHP', link: '/docs/extensions/local-php.md' },
|
||||
{
|
||||
text: "PHP cli селектор",
|
||||
link: "/docs/extensions/php-cli-selector.md",
|
||||
},
|
||||
{
|
||||
text: "Расширенные модули",
|
||||
link: "/docs/extensions/extended-modules.md",
|
||||
},
|
||||
{ text: "Настройка Local PHP", link: "/docs/extensions/local-php.md" },
|
||||
{
|
||||
text: "nginx+mod_rewrite",
|
||||
link: "/docs/extensions/nginx-mod-rewrite.md",
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -13,6 +13,8 @@ export default {
|
||||
return {
|
||||
pageloader: false,
|
||||
hestia_wget:
|
||||
"wget https://raw.githubusercontent.com/bayrepo/hestiacp-rpm/refs/heads/rhel-version/install/hst-install.sh",
|
||||
hestia_wget_devel:
|
||||
"wget https://dev.brepo.ru/bayrepo/hestiacp/raw/branch/master/install/hst-install.sh",
|
||||
hestia_install: "sudo bash hst-install.sh",
|
||||
installStr: "",
|
||||
@@ -27,10 +29,7 @@ export default {
|
||||
if (item.selectField) {
|
||||
return item.selected ? `${item.param} '${item.text}'` : "";
|
||||
}
|
||||
|
||||
return item.param.includes("force") && item.selected
|
||||
? item.param
|
||||
: `${item.param}${item.selected ? " yes" : " no"}`;
|
||||
return `${item.param}${item.selected ? " yes" : " no"}`;
|
||||
},
|
||||
generateString() {
|
||||
const installStr = this.items.map(this.getOptionString).filter(Boolean);
|
||||
@@ -156,6 +155,23 @@ export default {
|
||||
Copy
|
||||
</button>
|
||||
</div>
|
||||
<p class="u-mb10">For downloading devel version use:</p>
|
||||
<div class="u-pos-relative">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control u-monospace u-mb10"
|
||||
v-model="hestia_wget_devel"
|
||||
readonly
|
||||
/>
|
||||
<button
|
||||
class="button-positioned"
|
||||
@click="copyToClipboard(hestia_wget_devel, $event.target)"
|
||||
type="button"
|
||||
title="Copy to Clipboard"
|
||||
>
|
||||
Copy
|
||||
</button>
|
||||
</div>
|
||||
<p class="u-mb10">Then run the following command:</p>
|
||||
<div class="u-pos-relative">
|
||||
<textarea class="form-control u-min-height100" v-model="installStr" readonly />
|
||||
|
||||
@@ -22,6 +22,7 @@ export const webDomains = [
|
||||
{ text: 'PHP 8.2' },
|
||||
{ text: 'PHP 8.3' },
|
||||
{ text: 'PHP 8.4' },
|
||||
{ text: 'PHP 8.5' },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -84,17 +84,17 @@ export const options = [
|
||||
selected: true,
|
||||
},
|
||||
{
|
||||
name: ' --mariadb',
|
||||
name: ' --mysql',
|
||||
id: 'mariadb',
|
||||
param: '--mariadb',
|
||||
param: '--mysql',
|
||||
desc: 'Ответление MySQL с дополнительными усовершенствованиями.',
|
||||
selected: true,
|
||||
conflicts: 'mysql8',
|
||||
},
|
||||
{
|
||||
name: ' --mysql8',
|
||||
name: ' --mysql-classic',
|
||||
id: 'mysql8',
|
||||
param: '--mysql8',
|
||||
param: '--mysql-classic',
|
||||
desc: 'База данных с открытым исходным кодом',
|
||||
selected: false,
|
||||
conflicts: 'mariadb',
|
||||
@@ -137,6 +137,14 @@ export const options = [
|
||||
selected: true,
|
||||
depends: 'exim',
|
||||
},
|
||||
{
|
||||
name: ' --usemirrorclamav',
|
||||
id: 'usemirrorclamav',
|
||||
param: '--usemirrorclamav',
|
||||
desc: 'Использовать русское зеркало баз данных ClamaV',
|
||||
selected: false,
|
||||
depends: 'clamav',
|
||||
},
|
||||
{
|
||||
name: ' --spamassassin',
|
||||
id: 'spamassassin',
|
||||
@@ -146,12 +154,33 @@ export const options = [
|
||||
depends: 'exim',
|
||||
},
|
||||
{
|
||||
name: ' --iptables',
|
||||
id: 'iptables',
|
||||
param: '--iptables',
|
||||
name: ' --firewall',
|
||||
id: 'firewall',
|
||||
param: '--firewall',
|
||||
desc: 'Управлять фаерволом.',
|
||||
selected: true,
|
||||
},
|
||||
{
|
||||
name: ' --nopublicip',
|
||||
id: 'nopublicip',
|
||||
param: '--nopublicip',
|
||||
desc: 'Использовать локальный IP сервера',
|
||||
selected: false,
|
||||
},
|
||||
{
|
||||
name: ' --uselocalphp',
|
||||
id: 'uselocalphp',
|
||||
param: '--uselocalphp',
|
||||
desc: 'Использовать PHP из текущего репозитория HestiaCP',
|
||||
selected: false,
|
||||
},
|
||||
{
|
||||
name: ' --usemirrorclamav',
|
||||
id: 'usemirrorclamav',
|
||||
param: '--usemirrorclamav',
|
||||
desc: 'Использовать clamav с базами скачанными с зеркала в России',
|
||||
selected: false,
|
||||
},
|
||||
{
|
||||
name: ' --fail2ban',
|
||||
id: 'fail2ban',
|
||||
|
||||
15
docs/docs/extensions/nginx-mod-rewrite.md
Normal file
15
docs/docs/extensions/nginx-mod-rewrite.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# nginx с поддержкой mdo_rewrite
|
||||
|
||||
HestiaCP RPM edition поддерживает установку приложений для доменов, таких как Wordpress, Joomla, Drupal и т.д.
|
||||
|
||||
Данные приложения написаны на PHP и требуют особого режима доступа к файлам, который реализуется с помощью .htaccess файла, в котором опианы эти правила преобразования URL.
|
||||
|
||||
Но .htaccess файл доступен только для Apache, для реализации работоспособнсти приложений в контрольной панели организованы шаблоны конфигурации nginx, которые по сути являются аналогами конфигурации из .htaccess.
|
||||
|
||||
Эти шаблоны размещены в каталоге `/usr/local/hestia/data/templates/web/nginx/php-fpm`.
|
||||
|
||||
# nginx + mod_rewrite
|
||||
|
||||
Но с версии 1.28.2 nginx добавлен экспериментальный модуль mod_rewrite для nginx, который позволяет понимать конфигурации из .htaccess и для nginx.
|
||||
|
||||
Для активации данной конфигурации, необходимо в настройках домена в `Расширенных настройках` выбрать в поле `Шаблон прокси` шаблон `nginx-php-rewrite`. Данный шаблон автоматически определит версию PHP-FPM для домена и активирует работу модуля mod_rewrite для nginx. Для данного домена Apache больше не будет принимать участие в обработке запроса, все будет обрабатываться в связке nginx-PHP-FPM.
|
||||
@@ -61,3 +61,4 @@
|
||||
- [PHP cli селектор](/docs/extensions/php-cli-selector.md)
|
||||
- [Расширенные модули](/docs/extensions/extended-modules.md)
|
||||
- [Настройка Local PHP](/docs/extensions/local-php.md)
|
||||
- [nginx + mod_rewrite](/docs/extensions/nginx-mod-rewrite.md)
|
||||
|
||||
@@ -93,15 +93,16 @@ bash hst-install.sh -h
|
||||
-Z, --sieve Install Sieve [yes|no] default: no
|
||||
-c, --clamav Install ClamAV [yes|no] default: no
|
||||
-t, --spamassassin Install SpamAssassin [yes|no] default: yes
|
||||
-i, --iptables Install Iptables [yes|no] default: yes
|
||||
-i, --firewall Install firewalld [yes|no] default: yes
|
||||
-b, --fail2ban Install Fail2ban [yes|no] default: yes
|
||||
-q, --quota Filesystem Quota [yes|no] default: no
|
||||
-d, --api Activate API [yes|no] default: yes
|
||||
-r, --port Change Backend Port default: 8083
|
||||
-l, --lang Default language default: en
|
||||
-y, --interactive Interactive install [yes|no] default: yes
|
||||
-I, --nopublicip Use local ip [yes|no] default: yes
|
||||
-u, --uselocalphp Use PHP from local repo [yes|no] default: yes
|
||||
-I, --nopublicip Use local ip [yes|no] default: no
|
||||
-u, --uselocalphp Use PHP from local repo [yes|no] default: no
|
||||
-C, --usemirrorclamav Use mirrored clamav [yes|no] default: no
|
||||
-s, --hostname Set hostname
|
||||
-e, --email Set admin email
|
||||
-p, --password Set admin password
|
||||
|
||||
@@ -142,3 +142,13 @@
|
||||
Когда включено кэширование Nginx (с использованием кэша FastCGI или с шаблоном с поддержкой кэширования), вы можете очистить кэш с помощью кнопки **<i class="fas fa-fw fa-trash"></i> Очистить кэш Nginx**.
|
||||
|
||||
При использовании только Nginx вы можете включить кэширование FastCGI с помощью поля **Включить кэш FastCGI**. Если этот флажок установлен, отображается опция, позволяющая определить, в течение какого времени кэш считается действительным.
|
||||
|
||||
### Домен по умолчанию
|
||||
|
||||
Для вебсервера Apache при обращении по IP адресу без указания домена доменом по умолчанию является первый загруженный виртуальный хост.
|
||||
|
||||
Для изменения домена по умолчанию необходимо выбрать среди доменов интересующий и в настройках домена необходимо установить флажок:
|
||||
|
||||
**Установить текущий домен как домент по умолчанию при обращении к серверу по IP**
|
||||
|
||||
затем нажмите кнопку **<i class="fas fa-fw fa-save"></i> Сохранить** в правом верхнем углу.
|
||||
0
docs/public/images/demo.png
Normal file
0
docs/public/images/demo.png
Normal file
@@ -419,11 +419,41 @@ add_web_config() {
|
||||
done
|
||||
fi
|
||||
|
||||
#----
|
||||
|
||||
php_type=$(cat "$HESTIA/conf/hestia.conf" | grep "LOCAL_PHP" | grep "yes")
|
||||
|
||||
MOD_CONF="/etc/httpd/conf.modules.d/09-mod-php.conf"
|
||||
PHP_DEFAULT="/usr/bin/php-cgi"
|
||||
if [ -e $MOD_CONF ]; then
|
||||
php_ver=$(grep -m1 '^LoadModule php_module ' "$MOD_CONF" | grep -oP 'php\d{2}')
|
||||
else
|
||||
php_ver=$(find /etc/httpd/conf.modules.d -maxdepth 1 -type f -name '*-php*-php.conf' -print -quit | sed -n 's/.*-\(php[0-9]\+\)-php\.conf$/\1/p')
|
||||
fi
|
||||
php_cgi_path=$PHP_DEFAULT
|
||||
|
||||
if [ -n "$php_ver" ]; then
|
||||
if [ -n "$php_type" ]; then
|
||||
php_cgi_path="/opt/brepo/${php_ver}/bin/php-cgi"
|
||||
else
|
||||
php_cgi_path="/opt/remi/${php_ver}/root/bin/php-cgi"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -x "$php_cgi_path" ]]; then
|
||||
:
|
||||
else
|
||||
php_cgi_path=$PHP_DEFAULT
|
||||
fi
|
||||
|
||||
#----
|
||||
|
||||
trigger="${TPLNM/.*pl/.sh}"
|
||||
if [ -x "${WEBTPL_LOCATION}/$trigger" ]; then
|
||||
$WEBTPL_LOCATION/$trigger \
|
||||
$user $domain $local_ip $HOMEDIR \
|
||||
$HOMEDIR/$user/web/$domain/public_html
|
||||
$HOMEDIR/$user/web/$domain/public_html \
|
||||
$php_cgi_path
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -57,10 +57,11 @@ upgrade_health_check() {
|
||||
upgrade_welcome_message() {
|
||||
echo
|
||||
echo ' _ _ _ _ ____ ____ '
|
||||
echo ' | | | | ___ ___| |_(_) __ _ / ___| _ \ '
|
||||
echo ' | |_| |/ _ \/ __| __| |/ _` | | | |_) | '
|
||||
echo ' | _ | __/\__ \ |_| | (_| | |___| __/ '
|
||||
echo ' |_| |_|\___||___/\__|_|\__,_|\____|_| '
|
||||
echo ' | | | | ___ ___| |_(_) __ _ / ___| _ \ _ _ . . '
|
||||
echo ' | |_| |/ _ \/ __| __| |/ _` | | | |_) | | \| \|\/| '
|
||||
echo ' | _ | __/\__ \ |_| | (_| | |___| __/ |_/|_/| | '
|
||||
echo ' |_| |_|\___||___/\__|_|\__,_|\____|_| | \| | | '
|
||||
echo " "
|
||||
echo " "
|
||||
echo " Hestia Control Panel Software Update "
|
||||
echo " Version: ${DISPLAY_VER}"
|
||||
|
||||
@@ -20,15 +20,15 @@ class PassengerWorker < Kernel::ModuleCoreWorker
|
||||
ID: 2,
|
||||
NAME: MODULE_ID,
|
||||
DESCR: "Added passenger support for nginx",
|
||||
REQ: "puppet_installer",
|
||||
REQ: "",
|
||||
CONF: "yes",
|
||||
}
|
||||
end
|
||||
|
||||
def enable
|
||||
log_file = get_log
|
||||
f_inst_pp = get_module_paydata("passenger_installer.pp")
|
||||
f_uninst_pp = get_module_paydata("passenger_uninstaller.pp")
|
||||
f_inst_pp = get_module_paydata("passenger_installer.yml")
|
||||
f_uninst_pp = get_module_paydata("passenger_uninstaller.yml")
|
||||
if !check
|
||||
inf = info
|
||||
log("Req error, needed #{inf[:REQ]}")
|
||||
@@ -36,16 +36,16 @@ class PassengerWorker < Kernel::ModuleCoreWorker
|
||||
else
|
||||
begin
|
||||
prepare_default_ruby_conf
|
||||
log("install packages for passenger + nginx support: /usr/bin/puppet apply --detailed-exitcodes #{f_inst_pp}")
|
||||
result_action = `/usr/bin/puppet apply --detailed-exitcodes "#{f_inst_pp}" 2>&1`
|
||||
log("install packages for passenger + nginx support: /usr/bin/ansible-playbook -vv #{f_inst_pp}")
|
||||
result_action = `LC_ALL=C.UTF-8 /usr/bin/ansible-playbook -vv "#{f_inst_pp}" 2>&1`
|
||||
ex_status = $?.exitstatus
|
||||
if ex_status.to_i == 0 || ex_status.to_i == 2
|
||||
log(result_action)
|
||||
super
|
||||
else
|
||||
log(result_action)
|
||||
log("Try to disable action: /usr/bin/puppet apply --detailed-exitcodes #{f_uninst_pp}")
|
||||
result_action = `/usr/bin/puppet apply --detailed-exitcodes "#{f_uninst_pp}" 2>&1`
|
||||
log("Try to disable action: /usr/bin/ansible-playbook -vv #{f_uninst_pp}")
|
||||
result_action = `LC_ALL=C.UTF-8 /usr/bin/ansible-playbook -vv "#{f_uninst_pp}" 2>&1`
|
||||
"module installation error. See log #{log_file}"
|
||||
end
|
||||
rescue => e
|
||||
@@ -57,14 +57,14 @@ class PassengerWorker < Kernel::ModuleCoreWorker
|
||||
|
||||
def disable
|
||||
log_file = get_log
|
||||
f_uninst_pp = get_module_paydata("passenger_uninstaller.pp")
|
||||
f_uninst_pp = get_module_paydata("passenger_uninstaller.yml")
|
||||
if !check_domains_with_passenger
|
||||
return log_return("Presents domains with passenger support disable it first")
|
||||
end
|
||||
begin
|
||||
log("uninstall packages for passenger + nginx support")
|
||||
log("Try to disable action: /usr/bin/puppet apply --detailed-exitcodes #{f_uninst_pp}")
|
||||
result_action = `/usr/bin/puppet apply --detailed-exitcodes "#{f_uninst_pp}" 2>&1`
|
||||
log("Try to disable action: /usr/bin/ansible-playbook -vv #{f_uninst_pp}")
|
||||
result_action = `LC_ALL=C.UTF-8 /usr/bin/ansible-playbook -vv "#{f_uninst_pp}" 2>&1`
|
||||
ex_status = $?.exitstatus
|
||||
if ex_status.to_i == 0 || ex_status.to_i == 2
|
||||
log(result_action)
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
---
|
||||
- name: Install Passenger and configure Nginx on localhost
|
||||
hosts: localhost
|
||||
connection: local
|
||||
become: true
|
||||
gather_facts: false
|
||||
environment:
|
||||
LANG: en_US.UTF-8
|
||||
LC_ALL: en_US.UTF-8
|
||||
tasks:
|
||||
# Устанавливаем Ruby и зависимости
|
||||
- name: Install rubygems-devel
|
||||
ansible.builtin.dnf:
|
||||
name: rubygems-devel
|
||||
state: present
|
||||
- name: Install rubygem-rake
|
||||
ansible.builtin.dnf:
|
||||
name: rubygem-rake
|
||||
state: present
|
||||
- name: Install ruby-devel
|
||||
ansible.builtin.dnf:
|
||||
name: ruby-devel
|
||||
state: present
|
||||
- name: Install rubygem-rack
|
||||
ansible.builtin.dnf:
|
||||
name: rubygem-rack
|
||||
state: present
|
||||
- name: Install alt-brepo-ruby33-devel
|
||||
ansible.builtin.dnf:
|
||||
name: alt-brepo-ruby33-devel
|
||||
state: present
|
||||
- name: Install alt-brepo-ruby33-rubygem-rake
|
||||
ansible.builtin.dnf:
|
||||
name: alt-brepo-ruby33-rubygem-rake
|
||||
state: present
|
||||
# Устанавливаем Passenger и модуль Nginx
|
||||
- name: Install passenger-devel
|
||||
ansible.builtin.dnf:
|
||||
name: passenger-devel
|
||||
state: present
|
||||
- name: Install passenger
|
||||
ansible.builtin.dnf:
|
||||
name: passenger
|
||||
state: present
|
||||
- name: Install nginx-mod-http-passenger
|
||||
ansible.builtin.dnf:
|
||||
name: nginx-mod-http-passenger
|
||||
state: present
|
||||
# Конфигурируем Nginx для Passenger
|
||||
- name: Create passenger.conf
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/nginx/conf.d/passenger.conf
|
||||
content: |
|
||||
passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini;
|
||||
passenger_ruby /usr/bin/ruby;
|
||||
passenger_instance_registry_dir /var/run/passenger-instreg;
|
||||
passenger_user_switching on;
|
||||
passenger_env_var PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY 0;
|
||||
passenger_env_var PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY 0;
|
||||
- name: Create passenger_includer.conf
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/nginx/conf.d/main/passenger.conf
|
||||
content: |
|
||||
load_module modules/ngx_http_passenger_module.so;
|
||||
# Перезапускаем Nginx
|
||||
- name: Restart nginx service
|
||||
ansible.builtin.service:
|
||||
name: nginx
|
||||
state: restarted
|
||||
@@ -0,0 +1,38 @@
|
||||
---
|
||||
- name: Uninstall Passenger and configure Nginx on localhost
|
||||
hosts: localhost
|
||||
connection: local
|
||||
become: true
|
||||
gather_facts: false
|
||||
environment:
|
||||
LANG: en_US.UTF-8
|
||||
LC_ALL: en_US.UTF-8
|
||||
tasks:
|
||||
# Удалаем модуль nginx-passenger
|
||||
- name: Remove nginx-mod-http-passenger package
|
||||
ansible.builtin.dnf:
|
||||
name: nginx-mod-http-passenger
|
||||
state: absent
|
||||
# Удалаем passenger и зависимости
|
||||
- name: Remove passenger-devel package
|
||||
ansible.builtin.dnf:
|
||||
name: passenger-devel
|
||||
state: absent
|
||||
- name: Remove passenger package
|
||||
ansible.builtin.dnf:
|
||||
name: passenger
|
||||
state: absent
|
||||
# Удаляем конфигурационные файлы Nginx
|
||||
- name: Remove passenger.conf
|
||||
ansible.builtin.file:
|
||||
path: /etc/nginx/conf.d/passenger.conf
|
||||
state: absent
|
||||
- name: Remove passenger_includer.conf
|
||||
ansible.builtin.file:
|
||||
path: /etc/nginx/conf.d/main/passenger.conf
|
||||
state: absent
|
||||
# Перезапускаем Nginx (необязательно, но полезно)
|
||||
- name: Restart nginx service
|
||||
ansible.builtin.service:
|
||||
name: nginx
|
||||
state: restarted
|
||||
File diff suppressed because it is too large
Load Diff
1
install/hst-install-rhel.sh
Symbolic link
1
install/hst-install-rhel.sh
Symbolic link
@@ -0,0 +1 @@
|
||||
hst-install.sh
|
||||
File diff suppressed because it is too large
Load Diff
14
install/rpm/clamav/freshclam_orig.conf
Normal file
14
install/rpm/clamav/freshclam_orig.conf
Normal file
@@ -0,0 +1,14 @@
|
||||
UpdateLogFile /var/log/freshclam.log
|
||||
DatabaseMirror database.clamav.net
|
||||
ScriptedUpdates no
|
||||
LogFileMaxSize 80M
|
||||
LogTime yes
|
||||
#LogVerbose yes
|
||||
LogRotate yes
|
||||
#PidFile /var/run/freshclam.pid
|
||||
|
||||
# By default when started freshclam drops privileges and switches to the
|
||||
# "clamav" user. This directive allows you to change the database owner.
|
||||
# Default: clamav (may depend on installation options)
|
||||
DatabaseOwner clamav
|
||||
DatabaseDirectory /var/lib/clamavnew
|
||||
@@ -1,7 +1,6 @@
|
||||
[hestiacp]
|
||||
name=msvsphere9 repo on repo.brepo.ru
|
||||
comment=msvsphere9 repo on repo.brepo.ru
|
||||
baseurl=https://repo.brepo.ru/repo/msvsphere9_preprod
|
||||
[hectiacp]
|
||||
name=RPM Alma Rocky 9 hestia repo on repo.brepo.ru
|
||||
baseurl=https://repo.brepo.ru/hestia/
|
||||
enabled=1
|
||||
gpgkey=https://repo.brepo.ru/repo/gpgkeys/repo.brepo.ru.pub
|
||||
gpgkey=https://repo.brepo.ru/hestia/brepo_projects-gpg-key
|
||||
gpgcheck=1
|
||||
3
install/rpm/httpd/01-mpm-itk.conf
Normal file
3
install/rpm/httpd/01-mpm-itk.conf
Normal file
@@ -0,0 +1,3 @@
|
||||
<IfModule mpm_prefork_module>
|
||||
LoadModule mpm_itk_module modules/mod_mpm_itk.so
|
||||
</IfModule>
|
||||
@@ -30,6 +30,8 @@ server {
|
||||
|
||||
try_files $uri $uri/ =404;
|
||||
|
||||
proxy_ssl_server_name on;
|
||||
proxy_ssl_name $host;
|
||||
proxy_pass https://%ip%:%web_ssl_port%;
|
||||
|
||||
location ~* ^.+\.(ogg|ogv|svg|svgz|swf|eot|otf|woff|woff2|mov|mp3|mp4|webm|flv|ttf|rss|atom|jpg|jpeg|gif|png|webp|ico|bmp|mid|midi|wav|rtf|css|js|jar)$ {
|
||||
@@ -39,6 +41,8 @@ server {
|
||||
}
|
||||
|
||||
location @fallback {
|
||||
proxy_ssl_server_name on;
|
||||
proxy_ssl_name $host;
|
||||
proxy_pass https://%ip%:%web_ssl_port%;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,8 @@ server {
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_ssl_server_name on;
|
||||
proxy_ssl_name $host;
|
||||
proxy_pass http://%ip%:%web_port%;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,9 @@ server {
|
||||
|
||||
try_files $uri $uri/ =404;
|
||||
|
||||
proxy_ssl_server_name on;
|
||||
proxy_ssl_name $host;
|
||||
|
||||
proxy_pass https://%ip%:%web_ssl_port%;
|
||||
|
||||
location ~* ^.+\.(ogg|ogv|svg|svgz|swf|eot|otf|woff|woff2|mov|mp3|mp4|webm|flv|ttf|rss|atom|jpg|jpeg|gif|png|webp|ico|bmp|mid|midi|wav|rtf|css|js|jar)$ {
|
||||
@@ -39,6 +42,8 @@ server {
|
||||
}
|
||||
|
||||
location @fallback {
|
||||
proxy_ssl_server_name on;
|
||||
proxy_ssl_name $host;
|
||||
proxy_pass https://%ip%:%web_ssl_port%;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,13 @@
|
||||
CustomLog /var/log/%web_system%/domains/%domain%.log combined
|
||||
ErrorLog /var/log/%web_system%/domains/%domain%.error.log
|
||||
<Directory %sdocroot%>
|
||||
<FilesMatch ".+\.ph(ar|p|tml)$">
|
||||
SetHandler application/x-httpd-php
|
||||
</FilesMatch>
|
||||
<FilesMatch ".+\.phps$">
|
||||
SetHandler application/x-httpd-php-source
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
AllowOverride All
|
||||
SSLRequireSSL
|
||||
Options +Includes -Indexes +ExecCGI
|
||||
|
||||
@@ -21,6 +21,13 @@
|
||||
IncludeOptional %home%/%user%/conf/web/%domain%/forcessl.apache2.conf*
|
||||
|
||||
<Directory %docroot%>
|
||||
<FilesMatch ".+\.ph(ar|p|tml)$">
|
||||
SetHandler application/x-httpd-php
|
||||
</FilesMatch>
|
||||
<FilesMatch ".+\.phps$">
|
||||
SetHandler application/x-httpd-php-source
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
AllowOverride All
|
||||
Options +Includes -Indexes +ExecCGI
|
||||
php_admin_value open_basedir %docroot%:%home%/%user%/tmp
|
||||
|
||||
41
install/rpm/templates/web/httpd/forbidden.stpl
Normal file
41
install/rpm/templates/web/httpd/forbidden.stpl
Normal file
@@ -0,0 +1,41 @@
|
||||
#=========================================================================#
|
||||
# Default Web Domain Template #
|
||||
# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS #
|
||||
# https://hestiacp.com/docs/server-administration/web-templates.html #
|
||||
#=========================================================================#
|
||||
|
||||
<VirtualHost %ip%:%web_ssl_port%>
|
||||
|
||||
ServerName %domain_idn%
|
||||
%alias_string%
|
||||
ServerAdmin %email%
|
||||
DocumentRoot %sdocroot%
|
||||
ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
|
||||
Alias /vstats/ %home%/%user%/web/%domain%/stats/
|
||||
Alias /error/ %home%/%user%/web/%domain%/document_errors/
|
||||
#SuexecUserGroup %user% %group%
|
||||
CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes
|
||||
CustomLog /var/log/%web_system%/domains/%domain%.log combined
|
||||
ErrorLog /var/log/%web_system%/domains/%domain%.error.log
|
||||
|
||||
<Location />
|
||||
Require all denied
|
||||
</Location>
|
||||
SSLEngine on
|
||||
SSLVerifyClient none
|
||||
SSLCertificateFile %ssl_crt%
|
||||
SSLCertificateKeyFile %ssl_key%
|
||||
%ssl_ca_str%SSLCertificateChainFile %ssl_ca%
|
||||
|
||||
<IfModule mod_ruid2.c>
|
||||
RMode config
|
||||
RUidGid %user% %group%
|
||||
RGroups apache
|
||||
</IfModule>
|
||||
<IfModule mpm_itk.c>
|
||||
AssignUserID %user% %group%
|
||||
</IfModule>
|
||||
|
||||
IncludeOptional %home%/%user%/conf/web/%domain%/%web_system%.ssl.conf_*
|
||||
IncludeOptional /etc/httpd/conf.h.d/*.inc
|
||||
</VirtualHost>
|
||||
38
install/rpm/templates/web/httpd/forbidden.tpl
Normal file
38
install/rpm/templates/web/httpd/forbidden.tpl
Normal file
@@ -0,0 +1,38 @@
|
||||
#=========================================================================#
|
||||
# Default Web Domain Template #
|
||||
# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS #
|
||||
# https://hestiacp.com/docs/server-administration/web-templates.html #
|
||||
#=========================================================================#
|
||||
|
||||
<VirtualHost %ip%:%web_port%>
|
||||
|
||||
ServerName %domain_idn%
|
||||
%alias_string%
|
||||
ServerAdmin %email%
|
||||
DocumentRoot %docroot%
|
||||
ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
|
||||
Alias /vstats/ %home%/%user%/web/%domain%/stats/
|
||||
Alias /error/ %home%/%user%/web/%domain%/document_errors/
|
||||
#SuexecUserGroup %user% %group%
|
||||
CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes
|
||||
CustomLog /var/log/%web_system%/domains/%domain%.log combined
|
||||
ErrorLog /var/log/%web_system%/domains/%domain%.error.log
|
||||
|
||||
IncludeOptional %home%/%user%/conf/web/%domain%/forcessl.apache2.conf*
|
||||
|
||||
<Location />
|
||||
Require all denied
|
||||
</Location>
|
||||
|
||||
<IfModule mod_ruid2.c>
|
||||
RMode config
|
||||
RUidGid %user% %group%
|
||||
RGroups apache
|
||||
</IfModule>
|
||||
<IfModule mpm_itk.c>
|
||||
AssignUserID %user% %group%
|
||||
</IfModule>
|
||||
|
||||
IncludeOptional %home%/%user%/conf/web/%domain%/%web_system%.conf_*
|
||||
IncludeOptional /etc/httpd/conf.h.d/*.inc
|
||||
</VirtualHost>
|
||||
@@ -18,6 +18,13 @@
|
||||
CustomLog /var/log/%web_system%/domains/%domain%.log combined
|
||||
ErrorLog /var/log/%web_system%/domains/%domain%.error.log
|
||||
<Directory %sdocroot%>
|
||||
<FilesMatch ".+\.ph(ar|p|tml)$">
|
||||
SetHandler application/x-httpd-php
|
||||
</FilesMatch>
|
||||
<FilesMatch ".+\.phps$">
|
||||
SetHandler application/x-httpd-php-source
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
AllowOverride All
|
||||
SSLRequireSSL
|
||||
Options +Includes -Indexes +ExecCGI
|
||||
|
||||
@@ -21,6 +21,13 @@
|
||||
IncludeOptional %home%/%user%/conf/web/%domain%/forcessl.apache2.conf*
|
||||
|
||||
<Directory %docroot%>
|
||||
<FilesMatch ".+\.ph(ar|p|tml)$">
|
||||
SetHandler application/x-httpd-php
|
||||
</FilesMatch>
|
||||
<FilesMatch ".+\.phps$">
|
||||
SetHandler application/x-httpd-php-source
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
AllowOverride All
|
||||
Options +Includes -Indexes +ExecCGI
|
||||
php_admin_value upload_max_filesize 10M
|
||||
|
||||
32
install/rpm/templates/web/httpd/php-fpm/forbidden.stpl
Normal file
32
install/rpm/templates/web/httpd/php-fpm/forbidden.stpl
Normal file
@@ -0,0 +1,32 @@
|
||||
#=========================================================================#
|
||||
# Default Web Domain Template #
|
||||
# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS #
|
||||
# https://hestiacp.com/docs/server-administration/web-templates.html #
|
||||
#=========================================================================#
|
||||
|
||||
<VirtualHost %ip%:%web_ssl_port%>
|
||||
|
||||
ServerName %domain_idn%
|
||||
%alias_string%
|
||||
ServerAdmin %email%
|
||||
DocumentRoot %sdocroot%
|
||||
ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
|
||||
Alias /vstats/ %home%/%user%/web/%domain%/stats/
|
||||
Alias /error/ %home%/%user%/web/%domain%/document_errors/
|
||||
#SuexecUserGroup %user% %group%
|
||||
CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes
|
||||
CustomLog /var/log/%web_system%/domains/%domain%.log combined
|
||||
ErrorLog /var/log/%web_system%/domains/%domain%.error.log
|
||||
<Location />
|
||||
Require all denied
|
||||
</Location>
|
||||
|
||||
SSLEngine on
|
||||
SSLVerifyClient none
|
||||
SSLCertificateFile %ssl_crt%
|
||||
SSLCertificateKeyFile %ssl_key%
|
||||
%ssl_ca_str%SSLCertificateChainFile %ssl_ca%
|
||||
|
||||
IncludeOptional %home%/%user%/conf/web/%domain%/%web_system%.ssl.conf_*
|
||||
IncludeOptional /etc/httpd/conf.h.d/*.inc
|
||||
</VirtualHost>
|
||||
30
install/rpm/templates/web/httpd/php-fpm/forbidden.tpl
Normal file
30
install/rpm/templates/web/httpd/php-fpm/forbidden.tpl
Normal file
@@ -0,0 +1,30 @@
|
||||
#=========================================================================#
|
||||
# Default Web Domain Template #
|
||||
# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS #
|
||||
# https://hestiacp.com/docs/server-administration/web-templates.html #
|
||||
#=========================================================================#
|
||||
|
||||
<VirtualHost %ip%:%web_port%>
|
||||
|
||||
ServerName %domain_idn%
|
||||
%alias_string%
|
||||
ServerAdmin %email%
|
||||
DocumentRoot %docroot%
|
||||
ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
|
||||
Alias /vstats/ %home%/%user%/web/%domain%/stats/
|
||||
Alias /error/ %home%/%user%/web/%domain%/document_errors/
|
||||
#SuexecUserGroup %user% %group%
|
||||
CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes
|
||||
CustomLog /var/log/%web_system%/domains/%domain%.log combined
|
||||
ErrorLog /var/log/%web_system%/domains/%domain%.error.log
|
||||
|
||||
IncludeOptional %home%/%user%/conf/web/%domain%/apache2.forcessl.conf*
|
||||
|
||||
<Location />
|
||||
Require all denied
|
||||
</Location>
|
||||
|
||||
|
||||
IncludeOptional %home%/%user%/conf/web/%domain%/%web_system%.conf_*
|
||||
IncludeOptional /etc/httpd/conf.h.d/*.inc
|
||||
</VirtualHost>
|
||||
@@ -1,16 +1,26 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/bash
|
||||
# Adding php wrapper
|
||||
user="$1"
|
||||
domain="$2"
|
||||
ip="$3"
|
||||
home_dir="$4"
|
||||
docroot="$5"
|
||||
php_path="$6"
|
||||
|
||||
wrapper_script='#!/usr/bin/php-cgi -cphp5-cgi.ini'
|
||||
wrapper_script="#!$php_path -cphp5-cgi.ini"
|
||||
wrapper_file="$home_dir/$user/web/$domain/cgi-bin/php"
|
||||
wrapper_dir="/var/www/$user/$domain/cgi-bin"
|
||||
wrapper_file2="$wrapper_dir/php"
|
||||
|
||||
echo "$wrapper_script" > $wrapper_file
|
||||
chown $user:$user $wrapper_file
|
||||
chmod -f 751 $wrapper_file
|
||||
|
||||
mkdir -p $wrapper_dir
|
||||
|
||||
echo "$wrapper_script" > $wrapper_file2
|
||||
chown $user:$user $wrapper_file2
|
||||
chown $user:$user $wrapper_dir
|
||||
chmod -f 751 $wrapper_file2
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
%alias_string%
|
||||
ServerAdmin %email%
|
||||
DocumentRoot %sdocroot%
|
||||
ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
|
||||
#ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
|
||||
ScriptAlias /cgi-bin/ /var/www/%user%/%domain%/cgi-bin/
|
||||
Alias /vstats/ %home%/%user%/web/%domain%/stats/
|
||||
Alias /error/ %home%/%user%/web/%domain%/document_errors/
|
||||
SuexecUserGroup %user% %group%
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
%alias_string%
|
||||
ServerAdmin %email%
|
||||
DocumentRoot %docroot%
|
||||
ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
|
||||
#ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
|
||||
ScriptAlias /cgi-bin/ /var/www/%user%/%domain%/cgi-bin/
|
||||
Alias /vstats/ %home%/%user%/web/%domain%/stats/
|
||||
Alias /error/ %home%/%user%/web/%domain%/document_errors/
|
||||
SuexecUserGroup %user% %group%
|
||||
|
||||
@@ -1,22 +1,32 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/bash
|
||||
# Adding php wrapper
|
||||
user="$1"
|
||||
domain="$2"
|
||||
ip="$3"
|
||||
home_dir="$4"
|
||||
docroot="$5"
|
||||
php_path="$6"
|
||||
|
||||
wrapper_script="#!/bin/sh
|
||||
PHPRC=/usr/local/lib
|
||||
export PHPRC
|
||||
export PHP_FCGI_MAX_REQUESTS=1000
|
||||
export PHP_FCGI_CHILDREN=20
|
||||
exec /usr/bin/php-cgi
|
||||
exec $php_path
|
||||
"
|
||||
wrapper_file="$home_dir/$user/web/$domain/cgi-bin/fcgi-starter"
|
||||
wrapper_dir="/var/www/$user/$domain/cgi-bin"
|
||||
wrapper_file2="$wrapper_dir/fcgi-starter"
|
||||
|
||||
echo "$wrapper_script" > $wrapper_file
|
||||
chown $user:$user $wrapper_file
|
||||
chmod -f 751 $wrapper_file
|
||||
|
||||
mkdir -p $wrapper_dir
|
||||
|
||||
echo "$wrapper_script" > $wrapper_file2
|
||||
chown $user:$user $wrapper_file2
|
||||
chown $user:$user $wrapper_dir
|
||||
chmod -f 751 $wrapper_file2
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -28,7 +28,8 @@
|
||||
<Files *.php>
|
||||
SetHandler fcgid-script
|
||||
</Files>
|
||||
FCGIWrapper %home%/%user%/web/%domain%/cgi-bin/fcgi-starter .php
|
||||
#FCGIWrapper %home%/%user%/web/%domain%/cgi-bin/fcgi-starter .php
|
||||
FCGIWrapper /var/www/%user%/%domain%/cgi-bin/fcgi-starter .php
|
||||
</Directory>
|
||||
<Directory %home%/%user%/web/%domain%/stats>
|
||||
AllowOverride All
|
||||
@@ -42,4 +43,5 @@
|
||||
|
||||
IncludeOptional %home%/%user%/conf/web/%domain%/%web_system%.ssl.conf_*
|
||||
IncludeOptional /etc/httpd/conf.h.d/*.inc
|
||||
|
||||
</VirtualHost>
|
||||
|
||||
@@ -30,11 +30,13 @@
|
||||
<Files *.php>
|
||||
SetHandler fcgid-script
|
||||
</Files>
|
||||
FCGIWrapper %home%/%user%/web/%domain%/cgi-bin/fcgi-starter .php
|
||||
#FCGIWrapper %home%/%user%/web/%domain%/cgi-bin/fcgi-starter .php
|
||||
FCGIWrapper /var/www/%user%/%domain%/cgi-bin/fcgi-starter .php
|
||||
</Directory>
|
||||
<Directory %home%/%user%/web/%domain%/stats>
|
||||
AllowOverride All
|
||||
</Directory>
|
||||
IncludeOptional %home%/%user%/conf/web/%domain%/%web_system%.conf_*
|
||||
IncludeOptional /etc/httpd/conf.h.d/*.inc
|
||||
|
||||
</VirtualHost>
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
CustomLog /var/log/%web_system%/domains/%domain%.log combined
|
||||
ErrorLog /var/log/%web_system%/domains/%domain%.error.log
|
||||
<Directory %sdocroot%>
|
||||
<FilesMatch ".+\.ph(ar|p|tml)$">
|
||||
SetHandler application/x-httpd-php
|
||||
</FilesMatch>
|
||||
<FilesMatch ".+\.phps$">
|
||||
SetHandler application/x-httpd-php-source
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
AllowOverride All
|
||||
SSLRequireSSL
|
||||
Options +Includes -Indexes +ExecCGI
|
||||
|
||||
@@ -22,6 +22,13 @@
|
||||
IncludeOptional %home%/%user%/conf/web/%domain%/forcessl.apache2.conf*
|
||||
|
||||
<Directory %docroot%>
|
||||
<FilesMatch ".+\.ph(ar|p|tml)$">
|
||||
SetHandler application/x-httpd-php
|
||||
</FilesMatch>
|
||||
<FilesMatch ".+\.phps$">
|
||||
SetHandler application/x-httpd-php-source
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
AllowOverride All
|
||||
Options +Includes -Indexes +ExecCGI
|
||||
php_admin_value open_basedir %docroot%:%home%/%user%/tmp
|
||||
|
||||
@@ -27,6 +27,8 @@ server {
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_ssl_server_name on;
|
||||
proxy_ssl_name $host;
|
||||
proxy_pass https://%ip%:%web_ssl_port%;
|
||||
|
||||
proxy_cache %domain%;
|
||||
@@ -64,6 +66,8 @@ server {
|
||||
}
|
||||
|
||||
location @fallback {
|
||||
proxy_ssl_server_name on;
|
||||
proxy_ssl_name $host;
|
||||
proxy_pass https://%ip%:%web_ssl_port%;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,8 @@ server {
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_ssl_server_name on;
|
||||
proxy_ssl_name $host;
|
||||
proxy_pass https://%ip%:%web_ssl_port%;
|
||||
|
||||
location ~* ^.+\.(%proxy_extensions%)$ {
|
||||
@@ -40,6 +42,8 @@ server {
|
||||
}
|
||||
|
||||
location @fallback {
|
||||
proxy_ssl_server_name on;
|
||||
proxy_ssl_name $host;
|
||||
proxy_pass https://%ip%:%web_ssl_port%;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,8 @@ server {
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_ssl_server_name on;
|
||||
proxy_ssl_name $host;
|
||||
proxy_pass https://%ip%:%web_ssl_port%;
|
||||
|
||||
location ~* ^.+\.(%proxy_extensions%)$ {
|
||||
@@ -40,6 +42,8 @@ server {
|
||||
}
|
||||
|
||||
location @fallback {
|
||||
proxy_ssl_server_name on;
|
||||
proxy_ssl_name $host;
|
||||
proxy_pass https://%ip%:%web_ssl_port%;
|
||||
}
|
||||
|
||||
|
||||
66
install/rpm/templates/web/nginx/nginx-php-rewrite.stpl
Executable file
66
install/rpm/templates/web/nginx/nginx-php-rewrite.stpl
Executable file
@@ -0,0 +1,66 @@
|
||||
#=========================================================================#
|
||||
# Default Web Domain Template #
|
||||
# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS #
|
||||
# https://hestiacp.com/docs/server-administration/web-templates.html #
|
||||
#=========================================================================#
|
||||
|
||||
server {
|
||||
listen %ip%:%proxy_ssl_port% ssl;
|
||||
server_name %domain_idn% %alias_idn%;
|
||||
root %sdocroot%;
|
||||
index index.php index.html index.htm;
|
||||
access_log /var/log/nginx/domains/%domain%.log combined;
|
||||
access_log /var/log/nginx/domains/%domain%.bytes bytes;
|
||||
error_log /var/log/nginx/domains/%domain%.error.log error;
|
||||
|
||||
ssl_certificate %ssl_pem%;
|
||||
ssl_certificate_key %ssl_key%;
|
||||
ssl_stapling on;
|
||||
ssl_stapling_verify on;
|
||||
|
||||
# TLS 1.3 0-RTT anti-replay
|
||||
if ($anti_replay = 307) { return 307 https://$host$request_uri; }
|
||||
if ($anti_replay = 425) { return 425; }
|
||||
|
||||
include %home%/%user%/conf/web/%domain%/nginx.hsts.conf*;
|
||||
|
||||
HtaccessEnable on;
|
||||
|
||||
location ~ /\.(?!well-known\/) {
|
||||
deny all;
|
||||
return 404;
|
||||
}
|
||||
|
||||
location ~* ^.+\.(jpeg|jpg|png|webp|gif|bmp|ico|svg|css|js|txt)$ {
|
||||
expires max;
|
||||
fastcgi_hide_header "Set-Cookie";
|
||||
}
|
||||
|
||||
location / {
|
||||
RewriteEngine On;
|
||||
|
||||
location ~ [^/]\.php(/|$) {
|
||||
try_files $uri =404;
|
||||
|
||||
include /etc/nginx/fastcgi_params;
|
||||
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param HTTP_EARLY_DATA $rfc_early_data if_not_empty;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
|
||||
fastcgi_pass %backend_lsnr%;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
location /vstats/ {
|
||||
alias %home%/%user%/web/%domain%/stats/;
|
||||
include %home%/%user%/web/%domain%/stats/auth.conf*;
|
||||
}
|
||||
|
||||
proxy_hide_header Upgrade;
|
||||
|
||||
include /etc/nginx/conf.d/phpmyadmin.inc*;
|
||||
include /etc/nginx/conf.d/phppgadmin.inc*;
|
||||
include %home%/%user%/conf/web/%domain%/nginx.ssl.conf_*;
|
||||
}
|
||||
53
install/rpm/templates/web/nginx/nginx-php-rewrite.tpl
Executable file
53
install/rpm/templates/web/nginx/nginx-php-rewrite.tpl
Executable file
@@ -0,0 +1,53 @@
|
||||
#=========================================================================#
|
||||
# Default Web Domain Template #
|
||||
# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS #
|
||||
# https://hestiacp.com/docs/server-administration/web-templates.html #
|
||||
#=========================================================================#
|
||||
|
||||
server {
|
||||
listen %ip%:%proxy_port%;
|
||||
server_name %domain_idn% %alias_idn%;
|
||||
root %docroot%;
|
||||
index index.php index.html index.htm;
|
||||
access_log /var/log/nginx/domains/%domain%.log combined;
|
||||
access_log /var/log/nginx/domains/%domain%.bytes bytes;
|
||||
error_log /var/log/nginx/domains/%domain%.error.log error;
|
||||
|
||||
include %home%/%user%/conf/web/%domain%/nginx.forcessl.conf*;
|
||||
|
||||
HtaccessEnable on;
|
||||
|
||||
location ~ /\.(?!well-known\/) {
|
||||
deny all;
|
||||
return 404;
|
||||
}
|
||||
|
||||
location ~* ^.+\.(jpeg|jpg|png|webp|gif|bmp|ico|svg|css|js|txt)$ {
|
||||
expires max;
|
||||
fastcgi_hide_header "Set-Cookie";
|
||||
}
|
||||
|
||||
location / {
|
||||
RewriteEngine On;
|
||||
|
||||
location ~ [^/]\.php(/|$) {
|
||||
try_files $uri =404;
|
||||
|
||||
include /etc/nginx/fastcgi_params;
|
||||
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
|
||||
fastcgi_pass %backend_lsnr%;
|
||||
}
|
||||
}
|
||||
|
||||
location /vstats/ {
|
||||
alias %home%/%user%/web/%domain%/stats/;
|
||||
include %home%/%user%/web/%domain%/stats/auth.conf*;
|
||||
}
|
||||
|
||||
include /etc/nginx/conf.d/phpmyadmin.inc*;
|
||||
include /etc/nginx/conf.d/phppgadmin.inc*;
|
||||
include %home%/%user%/conf/web/%domain%/nginx.conf_*;
|
||||
}
|
||||
64
install/rpm/templates/web/nginx/nginx-php.stpl
Executable file
64
install/rpm/templates/web/nginx/nginx-php.stpl
Executable file
@@ -0,0 +1,64 @@
|
||||
#=========================================================================#
|
||||
# Default Web Domain Template #
|
||||
# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS #
|
||||
# https://hestiacp.com/docs/server-administration/web-templates.html #
|
||||
#=========================================================================#
|
||||
|
||||
server {
|
||||
listen %ip%:%proxy_ssl_port% ssl;
|
||||
server_name %domain_idn% %alias_idn%;
|
||||
root %sdocroot%;
|
||||
index index.php index.html index.htm;
|
||||
access_log /var/log/nginx/domains/%domain%.log combined;
|
||||
access_log /var/log/nginx/domains/%domain%.bytes bytes;
|
||||
error_log /var/log/nginx/domains/%domain%.error.log error;
|
||||
|
||||
ssl_certificate %ssl_pem%;
|
||||
ssl_certificate_key %ssl_key%;
|
||||
ssl_stapling on;
|
||||
ssl_stapling_verify on;
|
||||
|
||||
# TLS 1.3 0-RTT anti-replay
|
||||
if ($anti_replay = 307) { return 307 https://$host$request_uri; }
|
||||
if ($anti_replay = 425) { return 425; }
|
||||
|
||||
include %home%/%user%/conf/web/%domain%/nginx.hsts.conf*;
|
||||
|
||||
location ~ /\.(?!well-known\/) {
|
||||
deny all;
|
||||
return 404;
|
||||
}
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php?$args;
|
||||
|
||||
location ~* ^.+\.(jpeg|jpg|png|webp|gif|bmp|ico|svg|css|js)$ {
|
||||
expires max;
|
||||
fastcgi_hide_header "Set-Cookie";
|
||||
}
|
||||
|
||||
location ~ [^/]\.php(/|$) {
|
||||
try_files $uri =404;
|
||||
|
||||
include /etc/nginx/fastcgi_params;
|
||||
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param HTTP_EARLY_DATA $rfc_early_data if_not_empty;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
|
||||
fastcgi_pass %backend_lsnr%;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
location /vstats/ {
|
||||
alias %home%/%user%/web/%domain%/stats/;
|
||||
include %home%/%user%/web/%domain%/stats/auth.conf*;
|
||||
}
|
||||
|
||||
proxy_hide_header Upgrade;
|
||||
|
||||
include /etc/nginx/conf.d/phpmyadmin.inc*;
|
||||
include /etc/nginx/conf.d/phppgadmin.inc*;
|
||||
include %home%/%user%/conf/web/%domain%/nginx.ssl.conf_*;
|
||||
}
|
||||
51
install/rpm/templates/web/nginx/nginx-php.tpl
Executable file
51
install/rpm/templates/web/nginx/nginx-php.tpl
Executable file
@@ -0,0 +1,51 @@
|
||||
#=========================================================================#
|
||||
# Default Web Domain Template #
|
||||
# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS #
|
||||
# https://hestiacp.com/docs/server-administration/web-templates.html #
|
||||
#=========================================================================#
|
||||
|
||||
server {
|
||||
listen %ip%:%proxy_port%;
|
||||
server_name %domain_idn% %alias_idn%;
|
||||
root %docroot%;
|
||||
index index.php index.html index.htm;
|
||||
access_log /var/log/nginx/domains/%domain%.log combined;
|
||||
access_log /var/log/nginx/domains/%domain%.bytes bytes;
|
||||
error_log /var/log/nginx/domains/%domain%.error.log error;
|
||||
|
||||
include %home%/%user%/conf/web/%domain%/nginx.forcessl.conf*;
|
||||
|
||||
location ~ /\.(?!well-known\/) {
|
||||
deny all;
|
||||
return 404;
|
||||
}
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php?$args;
|
||||
|
||||
location ~* ^.+\.(jpeg|jpg|png|webp|gif|bmp|ico|svg|css|js)$ {
|
||||
expires max;
|
||||
fastcgi_hide_header "Set-Cookie";
|
||||
}
|
||||
|
||||
location ~ [^/]\.php(/|$) {
|
||||
try_files $uri =404;
|
||||
|
||||
include /etc/nginx/fastcgi_params;
|
||||
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
|
||||
fastcgi_pass %backend_lsnr%;
|
||||
}
|
||||
}
|
||||
|
||||
location /vstats/ {
|
||||
alias %home%/%user%/web/%domain%/stats/;
|
||||
include %home%/%user%/web/%domain%/stats/auth.conf*;
|
||||
}
|
||||
|
||||
include /etc/nginx/conf.d/phpmyadmin.inc*;
|
||||
include /etc/nginx/conf.d/phppgadmin.inc*;
|
||||
include %home%/%user%/conf/web/%domain%/nginx.conf_*;
|
||||
}
|
||||
@@ -35,7 +35,7 @@ UPGRADE_RESTART_SERVICES='true'
|
||||
#######################################################################################
|
||||
|
||||
# Supported PHP versions
|
||||
multiphp_v=("5.6" "7.0" "7.1" "7.2" "7.3" "7.4" "8.0" "8.1" "8.2", "8.3")
|
||||
multiphp_v=("5.6" "7.0" "7.1" "7.2" "7.3" "7.4" "8.0" "8.1" "8.2" "8.3" "8.4" "8.5")
|
||||
|
||||
#######################################################################################
|
||||
####### 3rd Party Software Updates #######
|
||||
@@ -43,7 +43,7 @@ multiphp_v=("5.6" "7.0" "7.1" "7.2" "7.3" "7.4" "8.0" "8.1" "8.2", "8.3")
|
||||
|
||||
# Check if update is required by matching versions if version != current version run update
|
||||
# Set version of phpMyAdmin to install during upgrade if not already installed
|
||||
pma_v='5.2.1'
|
||||
pma_v='5.2.3'
|
||||
|
||||
# Set version of phppgadmin to install during upgrade if not already installed
|
||||
pga_v='7.14.4'
|
||||
|
||||
23
install/upgrade/versions/1.9.6.sh
Normal file
23
install/upgrade/versions/1.9.6.sh
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Hestia Control Panel upgrade script for target version 1.9.3
|
||||
|
||||
#######################################################################################
|
||||
####### Place additional commands below. #######
|
||||
#######################################################################################
|
||||
####### upgrade_config_set_value only accepts true or false. #######
|
||||
####### #######
|
||||
####### Pass through information to the end user in case of a issue or problem #######
|
||||
####### #######
|
||||
####### Use add_upgrade_message "My message here" to include a message #######
|
||||
####### in the upgrade notification email. Example: #######
|
||||
####### #######
|
||||
####### add_upgrade_message "My message here" #######
|
||||
####### #######
|
||||
####### You can use \n within the string to create new lines. #######
|
||||
#######################################################################################
|
||||
|
||||
upgrade_config_set_value 'UPGRADE_UPDATE_WEB_TEMPLATES' 'true'
|
||||
upgrade_config_set_value 'UPGRADE_UPDATE_DNS_TEMPLATES' 'false'
|
||||
upgrade_config_set_value 'UPGRADE_UPDATE_MAIL_TEMPLATES' 'true'
|
||||
upgrade_config_set_value 'UPGRADE_REBUILD_USERS' 'no'
|
||||
169
install/utility/hestiacp_replace_remi_to_local.rb
Normal file
169
install/utility/hestiacp_replace_remi_to_local.rb
Normal file
@@ -0,0 +1,169 @@
|
||||
#!/opt/brepo/ruby33/bin/ruby
|
||||
|
||||
require 'json'
|
||||
|
||||
# Файл конфигурации Hestia
|
||||
config_file = '/usr/local/hestia/conf/hestia.conf'
|
||||
|
||||
# Проверяем наличие строки LOCAL_PHP и её значение. Если она отсутствует или не равна 'yes', добавляем или заменяем её.
|
||||
def ensure_local_php_enabled(config_file)
|
||||
if File.exist?(config_file)
|
||||
lines = File.readlines(config_file)
|
||||
found = false
|
||||
|
||||
# Обрабатываем каждую строку
|
||||
new_lines = lines.map do |line|
|
||||
if line.strip.start_with?("LOCAL_PHP=")
|
||||
found = true
|
||||
"LOCAL_PHP='yes'"
|
||||
else
|
||||
line
|
||||
end
|
||||
end
|
||||
|
||||
# Если строки LOCAL_PHP не было найдено, добавляем её в конец файла
|
||||
unless found
|
||||
new_lines << "LOCAL_PHP='yes'\n"
|
||||
end
|
||||
|
||||
# Записываем изменения обратно в файл
|
||||
File.open(config_file, 'w') do |file|
|
||||
file.puts new_lines
|
||||
end
|
||||
else
|
||||
# Если файла не существует, создаём его и добавляем строку LOCAL_PHP='yes'
|
||||
File.write(config_file, "LOCAL_PHP='yes'\n")
|
||||
end
|
||||
end
|
||||
|
||||
# Вызываем утилиту и разбираем JSON-ответ для получения списка установленных версий PHP
|
||||
def get_installed_php_versions
|
||||
output = `v-list-web-templates-backend json`
|
||||
json_data = JSON.parse(output)
|
||||
json_data.select { |version| version.start_with?("PHP-") }
|
||||
end
|
||||
|
||||
# Вызываем утилиту и разбираем JSON-ответ для получения списка пользователей
|
||||
def get_hestia_users
|
||||
output = `v-list-users json`
|
||||
json_data = JSON.parse(output)
|
||||
json_data.keys # Возвращаем только ключи (имена пользователей)
|
||||
end
|
||||
|
||||
# Вызываем утилиту и разбираем JSON-ответ для получения списка доменов пользователя
|
||||
def get_user_domains(user)
|
||||
output = `v-list-web-domains #{user} json`
|
||||
json_data = JSON.parse(output)
|
||||
json_data # Возвращаем весь хэш с доменами
|
||||
end
|
||||
|
||||
# Функция для получения корректной версии PHP
|
||||
def get_correct_php_version(system_php_version)
|
||||
if system_php_version.length < 2
|
||||
"8.2"
|
||||
else
|
||||
"#{system_php_version[0]}.#{system_php_version[1]}"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
# Основная часть программы
|
||||
begin
|
||||
system_php_version = `php -r "echo str_replace('.', '', substr(phpversion(), 0, 3));"`
|
||||
|
||||
ensure_local_php_enabled(config_file)
|
||||
|
||||
INSTALLED_PHP_LIST = get_installed_php_versions
|
||||
puts "Установленные версии PHP: #{INSTALLED_PHP_LIST.join(', ')}"
|
||||
|
||||
# Обрабатываем каждый элемент массива INSTALLED_PHP_LIST
|
||||
INSTALLED_PHP_LIST.each do |php_version|
|
||||
# Удаляем префикс 'PHP-' и остаёмся только с цифрами
|
||||
version_number = php_version.gsub(/^PHP-/, '')
|
||||
|
||||
# Вызываем команду v-add-web-php с номером версии PHP
|
||||
puts "Выполняем команду: v-add-web-php #{version_number}"
|
||||
system("v-add-web-php", version_number)
|
||||
end
|
||||
|
||||
# Получаем список пользователей Hestia
|
||||
HESTIA_USERS_LIST = get_hestia_users
|
||||
puts "Список пользователей Hestia: #{HESTIA_USERS_LIST.join(', ')}"
|
||||
|
||||
# Для каждого пользователя из списка выполняем действия с доменами
|
||||
HESTIA_USERS_LIST.each do |user|
|
||||
puts "Обрабатываем пользователя: #{user}"
|
||||
|
||||
# Получаем список доменов для текущего пользователя
|
||||
user_domains = get_user_domains(user)
|
||||
|
||||
# Обрабатываем каждый домен и изменяем шаблон бэкенда
|
||||
user_domains.each do |domain, details|
|
||||
current_domain = domain
|
||||
current_backend = details['BACKEND']
|
||||
|
||||
puts "Обрабатываем домен: #{current_domain}, текущий бэкенд: #{current_backend}"
|
||||
|
||||
# Вызываем команду для изменения шаблона бэкенда
|
||||
command = ["v-change-web-domain-backend-tpl", user, current_domain, current_backend]
|
||||
puts "Выполняем команду: #{command.join(' ')}"
|
||||
system(*command)
|
||||
end
|
||||
end
|
||||
|
||||
# Перенастраиваем alternatives для новго PHP
|
||||
correct_php_version = get_correct_php_version(system_php_version)
|
||||
puts "Перенастраиваем PHP на новый путь командой: v-change-sys-php #{correct_php_version}"
|
||||
system("v-change-sys-php", system_php_version)
|
||||
|
||||
# Список регулярных выражений для поиска пакетов, которые нужно удалить
|
||||
patterns_to_remove = [
|
||||
/^php\d{2}-runtime-.*$/,
|
||||
/^php\d{2}-php/
|
||||
]
|
||||
|
||||
# Получаем список установленных пакетов на системе
|
||||
installed_packages = `yum list installed | grep remi`.split("\n").map { |line| line.split.first }
|
||||
|
||||
# Фильтруем подходящие пакеты для удаления
|
||||
packages_to_remove = []
|
||||
|
||||
patterns_to_remove.each do |pattern|
|
||||
installed_packages.each do |package|
|
||||
if package.match?(pattern)
|
||||
packages_to_remove << package
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if packages_to_remove.empty?
|
||||
puts "Нет подходящих пакетов для удаления."
|
||||
else
|
||||
puts "Следующие пакеты будут удалены:"
|
||||
packages_to_remove.each_with_index { |package, index| puts "#{index + 1}. #{package}" }
|
||||
|
||||
print "\nВы уверены, что хотите удалить эти пакеты? (y/n): "
|
||||
response = gets.chomp.downcase
|
||||
|
||||
if response == 'y'
|
||||
# Формируем команду для удаления всех пакетов одной командой
|
||||
remove_command = "yum remove -y #{packages_to_remove.join(' ')}"
|
||||
system(remove_command)
|
||||
puts "\nОперация завершена. Пакеты были успешно удалены."
|
||||
else
|
||||
puts "\nУдаление отменено пользователем."
|
||||
end
|
||||
end
|
||||
|
||||
# Перезапустим все PHP-FPM
|
||||
INSTALLED_PHP_LIST.each do |php_version|
|
||||
# Удаляем префикс 'PHP-' и остаёмся только с цифрами
|
||||
version_number = php_version.gsub(/^PHP-/, '')
|
||||
|
||||
puts "Выполняем команду: systemctl restart brepo-php-fpm#{version_number}"
|
||||
system("systemctl", "restart", "brepo-php-fpm#{version_number}")
|
||||
end
|
||||
|
||||
rescue => e
|
||||
puts "Произошла ошибка: #{e.message}"
|
||||
end
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "hestia",
|
||||
"private": true,
|
||||
"version": "1.9.5.rpm",
|
||||
"version": "1.9.6.rpm",
|
||||
"description": "An open-source Linux web server control panel.",
|
||||
"repository": "https://github.com/hestiacp/hestiacp",
|
||||
"license": "GPL-3.0-or-later",
|
||||
|
||||
@@ -335,7 +335,7 @@ if [ "$dontinstalldeps" != 'true' ]; then
|
||||
echo "Installing dependencies for compilation..."
|
||||
dnf install -y -q $SOFTWARE
|
||||
|
||||
mock -r msvsphere+epel-${release}-$BUILD_ARCH --clean
|
||||
mock -r alma+epel-${release}-$BUILD_ARCH --clean
|
||||
else
|
||||
# Set package dependencies for compiling
|
||||
SOFTWARE='wget tar git curl build-essential libxml2-dev libz-dev libzip-dev libgmp-dev libcurl4-gnutls-dev unzip openssl libssl-dev pkg-config libsqlite3-dev libonig-dev rpm lsb-release'
|
||||
@@ -536,7 +536,7 @@ if [ "$NGINX_B" = true ]; then
|
||||
|
||||
# Build the package
|
||||
echo Building Nginx RPM
|
||||
mock -r msvsphere+epel-${release}-$BUILD_ARCH --sources $BUILD_DIR --spec $BUILD_DIR/hestia-nginx.spec --resultdir $RPM_DIR
|
||||
mock -r alma+epel-${release}-$BUILD_ARCH --sources $BUILD_DIR --spec $BUILD_DIR/hestia-nginx.spec --resultdir $RPM_DIR
|
||||
rm -f $BUILD_DIR/*
|
||||
fi
|
||||
fi
|
||||
@@ -674,7 +674,7 @@ if [ "$PHP_B" = true ]; then
|
||||
|
||||
# Build RPM package
|
||||
echo Building PHP RPM
|
||||
mock -r msvsphere+epel-${release}-$BUILD_ARCH --sources $BUILD_DIR --spec $BUILD_DIR/hestia-php.spec --resultdir $RPM_DIR
|
||||
mock -r alma+epel-${release}-$BUILD_ARCH --sources $BUILD_DIR --spec $BUILD_DIR/hestia-php.spec --resultdir $RPM_DIR
|
||||
rm -f $BUILD_DIR/*
|
||||
fi
|
||||
fi
|
||||
@@ -792,7 +792,7 @@ if [ "$HESTIA_B" = true ]; then
|
||||
|
||||
# Build RPM package
|
||||
echo Building Hestia RPM
|
||||
mock -r msvsphere+epel-${release}-$BUILD_ARCH --sources $BUILD_DIR --spec $BUILD_DIR/hestia.spec --resultdir $RPM_DIR
|
||||
mock -r alma+epel-${release}-$BUILD_ARCH --sources $BUILD_DIR --spec $BUILD_DIR/hestia.spec --resultdir $RPM_DIR
|
||||
rm -f $BUILD_DIR/*
|
||||
fi
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
%global _hardened_build 1
|
||||
|
||||
Name: hestia
|
||||
Version: 1.9.5
|
||||
Release: 1%{dist}
|
||||
Version: 1.9.6
|
||||
Release: 9%{dist}
|
||||
Summary: Hestia Control Panel
|
||||
Group: System Environment/Base
|
||||
License: GPLv3
|
||||
@@ -36,8 +36,7 @@ Requires(post): systemd
|
||||
Requires(preun): systemd
|
||||
Requires(postun): systemd
|
||||
Requires: ruby
|
||||
Requires: puppet
|
||||
Requires: puppet-stdlib
|
||||
Requires: ansible-core
|
||||
|
||||
Provides: hestia = %{version}-%{release}
|
||||
Conflicts: redhat-release < 8
|
||||
@@ -184,6 +183,39 @@ fi
|
||||
%{_tmpfilesdir}/%{name}.conf
|
||||
|
||||
%changelog
|
||||
* Sun Mar 29 2026 Alexey Berezhok <a@bayrepo.ru> - 1.9.6-9
|
||||
- Added support ansible instead of puppet
|
||||
|
||||
* Fri Mar 27 2026 Alexey Berezhok <a@bayrepo.ru> - 1.9.6-8
|
||||
- Fixed installation of panel without PHP-FPM
|
||||
- Fixed mod_php, fcgid, fcgi mode
|
||||
|
||||
* Thu Mar 26 2026 Alexey Berezhok <a@bayrepo.ru> - 1.9.6-6
|
||||
- Fixed database size usage and disk usage output on the info pages
|
||||
|
||||
* Thu Mar 19 2026 Alexey Berezhok <a@bayrepo.ru> - 1.9.6-5
|
||||
- Added nginx with mod_rewrite
|
||||
- Added templates for nginx mod_rewrite activation
|
||||
|
||||
* Thu Jan 15 2026 Alexey Berezhok <a@bayrepo.ru> - 1.9.6-3
|
||||
- Fix error on local php installation and extension activation
|
||||
|
||||
* Thu Oct 09 2025 Alexey Berezhok <a@bayrepo.ru> - 1.9.6-2
|
||||
- Fix error on all web and mail domains after Apache 2.4.64 update
|
||||
|
||||
* Thu Jun 05 2025 Alexey Berezhok <a@bayrepo.ru> - 1.9.5-4
|
||||
- Fixed memory calculation in service list
|
||||
|
||||
* Sun Jun 01 2025 Alexey Berezhok <a@bayrepo.ru> - 1.9.5-3
|
||||
- Added documentation fixes
|
||||
- Change download path to github
|
||||
- Added devel option to install script
|
||||
- Added fixes of installation process
|
||||
- Added fixes created by user hestiacn
|
||||
|
||||
* Sun Apr 27 2025 Alexey Berezhok <a@bayrepo.ru> - 1.9.5-2
|
||||
- Added clamav default config
|
||||
|
||||
* Sun Jan 19 2025 Alexey Berezhok <a@bayrepo.ru> - 1.9.5-1
|
||||
- Added support alternative php
|
||||
- Fixed php.ini editing
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
%global _prefix /usr/local/hestia/php
|
||||
|
||||
Name: hestia-php
|
||||
Version: 8.2.23
|
||||
Release: 2%{dist}
|
||||
Version: 8.2.28
|
||||
Release: 1%{dist}
|
||||
Summary: Hestia internal PHP
|
||||
Group: System Environment/Base
|
||||
URL: https://www.hestiacp.com
|
||||
@@ -103,6 +103,9 @@ cp %{SOURCE3} %{buildroot}/usr/local/hestia/php/lib/
|
||||
%{_unitdir}/hestia-php.service
|
||||
|
||||
%changelog
|
||||
* Tue Jun 3 2025 Alexey Berezhok <a@bayrepo.ru> - 8.2.28-1
|
||||
- Update PHP version up to 8.2.28
|
||||
|
||||
* Sat Jul 22 2023 Raven <raven@sysadmins.ws> - 8.2.8-1
|
||||
- update PHP version to 8.2.8
|
||||
|
||||
|
||||
@@ -39,6 +39,8 @@ $v_php_versions = [
|
||||
"php-81",
|
||||
"php-82",
|
||||
"php-83",
|
||||
"php-84",
|
||||
"php-85",
|
||||
];
|
||||
|
||||
|
||||
|
||||
@@ -130,6 +130,16 @@ if (!in_array($v_redirect, ["www." . $v_domain, $v_domain])) {
|
||||
$v_redirect_custom = $v_redirect;
|
||||
}
|
||||
|
||||
//Is default domain
|
||||
$v_is_default = false;
|
||||
exec(HESTIA_CMD . "v-default-domain " . $user . " " . quoteshellarg($v_domain). " check", $output, $return_var);
|
||||
if ($return_var == 0) {
|
||||
if (strpos(implode("", $output), 'true') !== false) {
|
||||
$v_is_default = true;
|
||||
}
|
||||
}
|
||||
unset($output);
|
||||
|
||||
$v_ftp_user = $data[$v_domain]["FTP_USER"];
|
||||
$v_ftp_path = $data[$v_domain]["FTP_PATH"];
|
||||
if (!empty($v_ftp_user)) {
|
||||
@@ -1593,6 +1603,40 @@ if (!empty($_POST["save"])) {
|
||||
unset($v_custom_doc_root);
|
||||
}
|
||||
|
||||
if (!empty($_POST["v-default-domain"])) {
|
||||
if ($v_is_default == false) {
|
||||
exec(
|
||||
HESTIA_CMD .
|
||||
"v-default-domain " .
|
||||
$user .
|
||||
" " .
|
||||
quoteshellarg($v_domain) .
|
||||
" set",
|
||||
$output,
|
||||
$return_var,
|
||||
);
|
||||
check_return_code($return_var, $output);
|
||||
unset($output);
|
||||
$v_is_default = true;
|
||||
}
|
||||
} else {
|
||||
if ($v_is_default == true) {
|
||||
exec(
|
||||
HESTIA_CMD .
|
||||
"v-default-domain " .
|
||||
$user .
|
||||
" " .
|
||||
quoteshellarg($v_domain) .
|
||||
" delete",
|
||||
$output,
|
||||
$return_var,
|
||||
);
|
||||
check_return_code($return_var, $output);
|
||||
unset($output);
|
||||
$v_is_default = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($v_redirect) && empty($_POST["v-redirect-checkbox"])) {
|
||||
exec(
|
||||
HESTIA_CMD . "v-delete-web-domain-redirect " . $user . " " . quoteshellarg($v_domain),
|
||||
|
||||
@@ -4,6 +4,10 @@ $TAB = "DB";
|
||||
// Main include
|
||||
include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
|
||||
|
||||
//Update data before $output
|
||||
exec(HESTIA_CMD . "v-update-databases-disk $user", $output, $return_var);
|
||||
unset($output);
|
||||
|
||||
// Data
|
||||
exec(HESTIA_CMD . "v-list-databases $user json", $output, $return_var);
|
||||
$data = json_decode(implode("", $output), true);
|
||||
|
||||
@@ -2,11 +2,29 @@
|
||||
// Main include
|
||||
include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
|
||||
|
||||
function formatNotificationTimestamps(&$note) {
|
||||
$dateTime = DateTime::createFromFormat("Y-m-d H:i:s", $note["DATE"] . " " . $note["TIME"]);
|
||||
$note["TIMESTAMP_TEXT"] = $dateTime->format("d M Y, H:i");
|
||||
$note["TIMESTAMP_ISO"] = $dateTime->format(DateTime::ATOM); // ISO 8601 format
|
||||
$note["TIMESTAMP_TITLE"] = $dateTime->format("d F Y, H:i:s");
|
||||
}
|
||||
|
||||
if ($_REQUEST["ajax"] == 1 && $_REQUEST["token"] == $_SESSION["token"]) {
|
||||
// Data
|
||||
exec(HESTIA_CMD . "v-list-user-notifications $user json", $output, $return_var);
|
||||
$data = json_decode(implode("", $output), true);
|
||||
|
||||
foreach ($data as $key => &$note) {
|
||||
formatNotificationTimestamps($note);
|
||||
}
|
||||
unset($note);
|
||||
|
||||
function sort_priority_id($element1, $element2) {
|
||||
return $element2["PRIORITY"] <=> $element1["PRIORITY"];
|
||||
}
|
||||
$data = array_reverse($data, true);
|
||||
usort($data, "sort_priority_id");
|
||||
|
||||
foreach ($data as $key => $note) {
|
||||
$note["ID"] = $key;
|
||||
$data[$key] = $note;
|
||||
|
||||
@@ -4,8 +4,20 @@ $TAB = "WEB";
|
||||
// Main include
|
||||
include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
|
||||
|
||||
//Update data before output
|
||||
exec(HESTIA_CMD . "v-update-web-domains-disk " . $user, $output, $return_var);
|
||||
unset($output);
|
||||
exec(HESTIA_CMD . "v-update-web-domains-stat " . $user, $output, $return_var);
|
||||
unset($output);
|
||||
exec(HESTIA_CMD . "v-update-web-domains-traff " . $user, $output, $return_var);
|
||||
unset($output);
|
||||
|
||||
// Data
|
||||
exec(HESTIA_CMD . "v-list-web-domains " . $user . " 'json'", $output, $return_var);
|
||||
exec(
|
||||
HESTIA_CMD . "v-list-web-domains " . $user . " 'json'",
|
||||
$output,
|
||||
$return_var,
|
||||
);
|
||||
$data = json_decode(implode("", $output), true);
|
||||
if ($_SESSION["userSortOrder"] == "name") {
|
||||
ksort($data);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,332 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: hestiacp\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2023-07-06 11:26\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Danish\n"
|
||||
"Language: da_DK\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: hestiacp\n"
|
||||
"X-Crowdin-Project-ID: 587405\n"
|
||||
"X-Crowdin-Language: da\n"
|
||||
"X-Crowdin-File: hestiacp.pot\n"
|
||||
"X-Crowdin-File-ID: 3\n"
|
||||
|
||||
msgid "2FA Reset Code"
|
||||
msgstr "Account Recovery Code"
|
||||
|
||||
msgid "2FA Token"
|
||||
msgstr "OTP PIN"
|
||||
|
||||
msgid "Account"
|
||||
msgstr "Konto"
|
||||
|
||||
msgid "Accounts"
|
||||
msgstr "Konti"
|
||||
|
||||
msgid "Add Cron Job"
|
||||
msgstr "Tilføj Cron Job"
|
||||
|
||||
msgid "Add DNS Domain"
|
||||
msgstr "Tilføj DNS Domæne"
|
||||
|
||||
msgid "Add DNS Record"
|
||||
msgstr "Tilføj DNS Record"
|
||||
|
||||
msgid "Add Database"
|
||||
msgstr "Tilføj Database"
|
||||
|
||||
msgid "Add Mail Account"
|
||||
msgstr "Tilføj Mail Konto"
|
||||
|
||||
msgid "Add Mail Domain"
|
||||
msgstr "Tilføj Mail Domæne"
|
||||
|
||||
msgid "Add Package"
|
||||
msgstr "Tilføj Pakke"
|
||||
|
||||
msgid "Add Rule"
|
||||
msgstr "Tilføj Regel"
|
||||
|
||||
msgid "Add SSH Key"
|
||||
msgstr "Add SSH key"
|
||||
|
||||
msgid "Add Web Domain"
|
||||
msgstr "Tilføj Web Domæne"
|
||||
|
||||
msgid "Aliases"
|
||||
msgstr "Aliaser"
|
||||
|
||||
msgid "Back"
|
||||
msgstr "Tilbage"
|
||||
|
||||
msgid "Backend Template"
|
||||
msgstr "Backend Skabelon"
|
||||
|
||||
msgid "Ban IP Address"
|
||||
msgstr "Ban IP-Addresse"
|
||||
|
||||
msgid "Bandwidth"
|
||||
msgstr "Båndbredde"
|
||||
|
||||
msgid "Banlist"
|
||||
msgstr "Banliste"
|
||||
|
||||
msgid "Charset"
|
||||
msgstr "Karaktersæt"
|
||||
|
||||
msgid "City / Locality"
|
||||
msgstr "By / Lokation"
|
||||
|
||||
msgid "Command"
|
||||
msgstr "Kommado"
|
||||
|
||||
msgid "Comment"
|
||||
msgstr "Kommentar"
|
||||
|
||||
msgid "Configure"
|
||||
msgstr "Konfigurér"
|
||||
|
||||
msgid "Confirm"
|
||||
msgstr "Bekræft"
|
||||
|
||||
msgid "Confirm Password"
|
||||
msgstr "Bekræft Adgangskode"
|
||||
|
||||
msgid "Country"
|
||||
msgstr "Land"
|
||||
|
||||
msgid "Create Backup"
|
||||
msgstr "Opret Backup"
|
||||
|
||||
msgid "DNS Template"
|
||||
msgstr "DNS Skabelon"
|
||||
|
||||
msgid "Daily"
|
||||
msgstr "Daglig"
|
||||
|
||||
msgid "Databases"
|
||||
msgstr "Databaser"
|
||||
|
||||
msgid "Date"
|
||||
msgstr "Dato"
|
||||
|
||||
msgid "Day"
|
||||
msgstr "Dag"
|
||||
|
||||
msgid "Default Language"
|
||||
msgstr "Standard Sprog"
|
||||
|
||||
msgid "Default Name Servers"
|
||||
msgstr "Standard Navneservere"
|
||||
|
||||
msgid "Do not store forwarded mail"
|
||||
msgstr "Gem ikke vidersendte mails"
|
||||
|
||||
msgid "Domain"
|
||||
msgstr "Domæne"
|
||||
|
||||
msgid "Domains"
|
||||
msgstr "Domæner"
|
||||
|
||||
msgid "Expiration Date"
|
||||
msgstr "Udløbsdato"
|
||||
|
||||
msgid "Expire"
|
||||
msgstr "Udløber"
|
||||
|
||||
msgid "Field \"%s\" can not be blank."
|
||||
msgstr "Feltet \"%s\" kan ikke være tomt."
|
||||
|
||||
msgid "Forward to"
|
||||
msgstr "Vidersend til"
|
||||
|
||||
msgid "Hour"
|
||||
msgstr "Time"
|
||||
|
||||
msgid "IP or Value"
|
||||
msgstr "IP or Værdi"
|
||||
|
||||
msgid "Invalid username or code"
|
||||
msgstr "Ugyldigt brugernavn eller kode."
|
||||
|
||||
msgid "Invalid username or password"
|
||||
msgstr "Ugyldigt brugernavn eller adgangskode."
|
||||
|
||||
msgid "Language"
|
||||
msgstr "Sprog"
|
||||
|
||||
msgid "Last 70 lines of %s.%s.log"
|
||||
msgstr "De sidste 70 linier af %s.%s.log"
|
||||
|
||||
msgid "Load Average"
|
||||
msgstr "Load Gennemsnit"
|
||||
|
||||
msgid "Log in"
|
||||
msgstr "Log ind"
|
||||
|
||||
msgid "Log out"
|
||||
msgstr "Log ud"
|
||||
|
||||
msgid "Mail Domains"
|
||||
msgstr "Mail Domæner"
|
||||
|
||||
msgid "May"
|
||||
msgstr "Maj"
|
||||
|
||||
msgid "Memory"
|
||||
msgstr "Hukommelse"
|
||||
|
||||
msgid "Message"
|
||||
msgstr "Besked"
|
||||
|
||||
msgid "Minute"
|
||||
msgstr "Minut"
|
||||
|
||||
msgid "Month"
|
||||
msgstr "Måned"
|
||||
|
||||
msgid "Monthly"
|
||||
msgstr "Månedlig"
|
||||
|
||||
msgid "New Password"
|
||||
msgstr "Ny adgangskode"
|
||||
|
||||
msgid "Oct"
|
||||
msgstr "Okt"
|
||||
|
||||
msgid "Operating System"
|
||||
msgstr "Operativsystem"
|
||||
|
||||
msgid "Organization"
|
||||
msgstr "Organisation"
|
||||
|
||||
msgid "Overall Statistics"
|
||||
msgstr "Overordnet Statistik"
|
||||
|
||||
msgid "Owner"
|
||||
msgstr "Ejer"
|
||||
|
||||
msgid "Package"
|
||||
msgstr "Pakke"
|
||||
|
||||
msgid "Package Name"
|
||||
msgstr "Pakkenavn"
|
||||
|
||||
msgid "Packages"
|
||||
msgstr "Pakker"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "Adgangskode"
|
||||
|
||||
msgid "Priority"
|
||||
msgstr "Prioritet"
|
||||
|
||||
msgid "Protocol"
|
||||
msgstr "Protokol"
|
||||
|
||||
msgid "Proxy Extensions"
|
||||
msgstr "Proxy Tilføjelser"
|
||||
|
||||
msgid "Proxy Template"
|
||||
msgstr "Proxy Skabelon"
|
||||
|
||||
msgid "Release"
|
||||
msgstr "Udgivelse"
|
||||
|
||||
msgid "Reset"
|
||||
msgstr "Nulstil"
|
||||
|
||||
msgid "Reset Code"
|
||||
msgstr "Nulstillingskode"
|
||||
|
||||
msgid "Restore All"
|
||||
msgstr "Genskab Alle"
|
||||
|
||||
msgid "SSH Access"
|
||||
msgstr "SSH Adgang"
|
||||
|
||||
msgid "SSL Certificate"
|
||||
msgstr "SSL Certifikat"
|
||||
|
||||
msgid "SSL Certificate Authority / Intermediate"
|
||||
msgstr "SSL Certifikat Authority / Intermediate"
|
||||
|
||||
msgid "Save"
|
||||
msgstr "Gem"
|
||||
|
||||
msgid "Search Results"
|
||||
msgstr "Søgeresultater"
|
||||
|
||||
msgid "Send FTP credentials to email"
|
||||
msgstr "Send FTP oplysninger til denne email"
|
||||
|
||||
msgid "Shared"
|
||||
msgstr "Delt"
|
||||
|
||||
msgid "State / Province"
|
||||
msgstr "Stat / Provins"
|
||||
|
||||
msgid "Statistics"
|
||||
msgstr "Statistik"
|
||||
|
||||
msgid "Statistics Authorization"
|
||||
msgstr "Statistik Login"
|
||||
|
||||
msgid "Submit"
|
||||
msgstr "Send"
|
||||
|
||||
msgid "Template"
|
||||
msgstr "Skabelon"
|
||||
|
||||
msgid "Theme"
|
||||
msgstr "Udseende"
|
||||
|
||||
msgid "Time Zone"
|
||||
msgstr "Tidszone"
|
||||
|
||||
msgid "USER"
|
||||
msgstr "BRUGER"
|
||||
|
||||
msgid "Updates"
|
||||
msgstr "Opdateringer"
|
||||
|
||||
msgid "Uptime"
|
||||
msgstr "Oppetid"
|
||||
|
||||
msgid "User"
|
||||
msgstr "Bruger"
|
||||
|
||||
msgid "Username"
|
||||
msgstr "Brugernavn"
|
||||
|
||||
msgid "Web Aliases"
|
||||
msgstr "Web Aliaser"
|
||||
|
||||
msgid "Web Domains"
|
||||
msgstr "Web Domæner"
|
||||
|
||||
msgid "Web Statistics"
|
||||
msgstr "Web Statistik"
|
||||
|
||||
msgid "Web Template"
|
||||
msgstr "Web Skabelon"
|
||||
|
||||
msgid "Weekly"
|
||||
msgstr "Ugentlig"
|
||||
|
||||
msgid "Welcome"
|
||||
msgstr "Velkommen"
|
||||
|
||||
msgid "Yearly"
|
||||
msgstr "Årlig"
|
||||
|
||||
msgid "one or more email addresses"
|
||||
msgstr "en eller flere email-adresser"
|
||||
|
||||
msgid "per domain"
|
||||
msgstr "per domæne"
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,581 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: hestiacp\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2023-07-06 11:26\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Persian\n"
|
||||
"Language: fa_IR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: hestiacp\n"
|
||||
"X-Crowdin-Project-ID: 587405\n"
|
||||
"X-Crowdin-Language: fa\n"
|
||||
"X-Crowdin-File: hestiacp.pot\n"
|
||||
"X-Crowdin-File-ID: 3\n"
|
||||
|
||||
msgid "2FA Reset Code"
|
||||
msgstr "Account Recovery Code"
|
||||
|
||||
msgid "2FA Token"
|
||||
msgstr "OTP PIN"
|
||||
|
||||
msgid "ACCEPT"
|
||||
msgstr "پذیرش"
|
||||
|
||||
msgid "Account"
|
||||
msgstr "حساب"
|
||||
|
||||
msgid "Accounts"
|
||||
msgstr "حساب ها"
|
||||
|
||||
msgid "Action"
|
||||
msgstr "عمل"
|
||||
|
||||
msgid "Add Cron Job"
|
||||
msgstr "افزودن عمل خودكار"
|
||||
|
||||
msgid "Add DNS Domain"
|
||||
msgstr "افزودن دامنه نام دامنه"
|
||||
|
||||
msgid "Add DNS Record"
|
||||
msgstr "افزودن ركورد نام دامنه"
|
||||
|
||||
msgid "Add Database"
|
||||
msgstr "افزودن پایگاه داده"
|
||||
|
||||
msgid "Add Mail Account"
|
||||
msgstr "افزودن حساب پستی"
|
||||
|
||||
msgid "Add Mail Domain"
|
||||
msgstr "افزودن دامنه پستی"
|
||||
|
||||
msgid "Add Package"
|
||||
msgstr "افزودن بسته"
|
||||
|
||||
msgid "Add Rule"
|
||||
msgstr "افزودن قانون"
|
||||
|
||||
msgid "Add SSH Key"
|
||||
msgstr "Add SSH key"
|
||||
|
||||
msgid "Add User"
|
||||
msgstr "افزودن كاربر"
|
||||
|
||||
msgid "Add Web Domain"
|
||||
msgstr "افزودن دامنه وب"
|
||||
|
||||
msgid "Aliases"
|
||||
msgstr "نام مستعار"
|
||||
|
||||
msgid "Apr"
|
||||
msgstr "آوریل"
|
||||
|
||||
msgid "Aug"
|
||||
msgstr "آگوست"
|
||||
|
||||
msgid "BACKUP"
|
||||
msgstr "پشتیبان"
|
||||
|
||||
msgid "Back"
|
||||
msgstr "بازگشت"
|
||||
|
||||
msgid "Backend Pool Mode"
|
||||
msgstr "حالت استخر باطنی"
|
||||
|
||||
msgid "Backend Server"
|
||||
msgstr "سرور باطنی"
|
||||
|
||||
msgid "Backend Template"
|
||||
msgstr "قالب نهایی"
|
||||
|
||||
msgid "Backups"
|
||||
msgstr "پشتیبان ها"
|
||||
|
||||
msgid "Ban IP Address"
|
||||
msgstr "مسدود كردن آدرس آی پی"
|
||||
|
||||
msgid "Bandwidth"
|
||||
msgstr "پهنای باند"
|
||||
|
||||
msgid "Banlist"
|
||||
msgstr "فهرست مسدودشدگان"
|
||||
|
||||
msgid "CPU"
|
||||
msgstr "پردازنده"
|
||||
|
||||
msgid "CRON"
|
||||
msgstr "خودكار"
|
||||
|
||||
msgid "Charset"
|
||||
msgstr "مجموعه نویسه"
|
||||
|
||||
msgid "City / Locality"
|
||||
msgstr "شهر / محله"
|
||||
|
||||
msgid "Command"
|
||||
msgstr "دستور"
|
||||
|
||||
msgid "Comment"
|
||||
msgstr "یادداشت"
|
||||
|
||||
msgid "Configure"
|
||||
msgstr "پیکربندی"
|
||||
|
||||
msgid "Confirm"
|
||||
msgstr "تایید"
|
||||
|
||||
msgid "Confirm Password"
|
||||
msgstr "تایید گذرواژه"
|
||||
|
||||
msgid "Country"
|
||||
msgstr "کشور"
|
||||
|
||||
msgid "Create Backup"
|
||||
msgstr "آفریدن پشتیبان"
|
||||
|
||||
msgid "Cron Jobs"
|
||||
msgstr "كارهای خودكار"
|
||||
|
||||
msgid "DKIM Support"
|
||||
msgstr "پشتیبانی DKIM"
|
||||
|
||||
msgid "DNS"
|
||||
msgstr "نام سرور"
|
||||
|
||||
msgid "DNS Cluster"
|
||||
msgstr "خوشه نام دامنه"
|
||||
|
||||
msgid "DNS Server"
|
||||
msgstr "سرور نام دامنه"
|
||||
|
||||
msgid "DNS Support"
|
||||
msgstr "پشتیبانی نام دامنه"
|
||||
|
||||
msgid "DNS Template"
|
||||
msgstr "قالب نام دامنه"
|
||||
|
||||
msgid "DROP"
|
||||
msgstr "رها"
|
||||
|
||||
msgid "Daily"
|
||||
msgstr "روزانه"
|
||||
|
||||
msgid "Database"
|
||||
msgstr "پایگاه داده"
|
||||
|
||||
msgid "Databases"
|
||||
msgstr "پایگاه داده"
|
||||
|
||||
msgid "Date"
|
||||
msgstr "تاریخ"
|
||||
|
||||
msgid "Day"
|
||||
msgstr "روز"
|
||||
|
||||
msgid "Dec"
|
||||
msgstr "دسامبر"
|
||||
|
||||
msgid "Default Language"
|
||||
msgstr "زبان پیشفرض"
|
||||
|
||||
msgid "Default Name Servers"
|
||||
msgstr "نام سرور پیش فرض"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr "پاک کردن"
|
||||
|
||||
msgid "Directory"
|
||||
msgstr "پوشه"
|
||||
|
||||
msgid "Disk"
|
||||
msgstr "دیسك"
|
||||
|
||||
msgid "Do not store forwarded mail"
|
||||
msgstr "ذخیره نكردن پست هدایت شونده"
|
||||
|
||||
msgid "Domain"
|
||||
msgstr "دامنه"
|
||||
|
||||
msgid "Domains"
|
||||
msgstr "دامنه ها"
|
||||
|
||||
msgid "Email"
|
||||
msgstr "پست الکترونیک"
|
||||
|
||||
msgid "Enter focused element"
|
||||
msgstr "ورود به مورد انتخاب شده"
|
||||
|
||||
msgid "Expiration Date"
|
||||
msgstr "زمان پایان"
|
||||
|
||||
msgid "Expire"
|
||||
msgstr "سپری شدن"
|
||||
|
||||
msgid "Feb"
|
||||
msgstr "فوریه"
|
||||
|
||||
msgid "Field \"%s\" can not be blank."
|
||||
msgstr "قسمت \"%s\" نمی تواند خالی باشد"
|
||||
|
||||
msgid "Firewall"
|
||||
msgstr "دیوار آتشین"
|
||||
|
||||
msgid "Focus on search"
|
||||
msgstr "تمرکز بر جستجو"
|
||||
|
||||
msgid "Forward to"
|
||||
msgstr "ارسال به"
|
||||
|
||||
msgid "Friday"
|
||||
msgstr "جمعه"
|
||||
|
||||
msgid "Go to BACKUP list"
|
||||
msgstr "رفتن به فهرست پشتیبانی"
|
||||
|
||||
msgid "Go to CRON list"
|
||||
msgstr "رفتن به فهرست کارهای خودکار"
|
||||
|
||||
msgid "Go to DB list"
|
||||
msgstr "رفتن به فهرست پایگاه داده"
|
||||
|
||||
msgid "Go to DNS list"
|
||||
msgstr "رفتن به فهرست نام دامنه"
|
||||
|
||||
msgid "Go to MAIL list"
|
||||
msgstr "رفتن به فهرست امییل"
|
||||
|
||||
msgid "Go to WEB list"
|
||||
msgstr "رفتن به فهرست وب"
|
||||
|
||||
msgid "HESTIA"
|
||||
msgstr "وستا"
|
||||
|
||||
msgid "Hostname"
|
||||
msgstr "نام میزبان"
|
||||
|
||||
msgid "Hour"
|
||||
msgstr "ساعت"
|
||||
|
||||
msgid "Hourly"
|
||||
msgstr "ساعتی"
|
||||
|
||||
msgid "IP Address"
|
||||
msgstr "آدرس آی پی"
|
||||
|
||||
msgid "IP or Value"
|
||||
msgstr "آی پی یا مقدار"
|
||||
|
||||
msgid "Interface"
|
||||
msgstr "رابط"
|
||||
|
||||
msgid "Invalid username or code"
|
||||
msgstr "نام کاربری یا رمز معتبر نیست."
|
||||
|
||||
msgid "Invalid username or password"
|
||||
msgstr "نام کاربری یا گذرواژه معتبر نیست."
|
||||
|
||||
msgid "Jan"
|
||||
msgstr "ژانویه"
|
||||
|
||||
msgid "Jul"
|
||||
msgstr "ژولای"
|
||||
|
||||
msgid "Jun"
|
||||
msgstr "ژون"
|
||||
|
||||
msgid "Language"
|
||||
msgstr "زبان"
|
||||
|
||||
msgid "Last 70 lines of %s.%s.log"
|
||||
msgstr "70 سطر آخر %s.%s.log"
|
||||
|
||||
msgid "Load Average"
|
||||
msgstr "میانگین بارگذاری"
|
||||
|
||||
msgid "Log in"
|
||||
msgstr "وارد شدن"
|
||||
|
||||
msgid "Log out"
|
||||
msgstr "بیرون رفتن"
|
||||
|
||||
msgid "MAIL"
|
||||
msgstr "پستی"
|
||||
|
||||
msgid "Mail"
|
||||
msgstr "پست"
|
||||
|
||||
msgid "Mail Accounts"
|
||||
msgstr "حساب های پستی"
|
||||
|
||||
msgid "Mail Domains"
|
||||
msgstr "دامنه های پستی"
|
||||
|
||||
msgid "Mail Support"
|
||||
msgstr "پشتیبانی پستی"
|
||||
|
||||
msgid "Mar"
|
||||
msgstr "مارس"
|
||||
|
||||
msgid "May"
|
||||
msgstr "مه"
|
||||
|
||||
msgid "Memory"
|
||||
msgstr "حافظه"
|
||||
|
||||
msgid "Message"
|
||||
msgstr "پیام"
|
||||
|
||||
msgid "Minute"
|
||||
msgstr "دقیقه"
|
||||
|
||||
msgid "Minutes"
|
||||
msgstr "دقیقه"
|
||||
|
||||
msgid "Monday"
|
||||
msgstr "دوشنبه"
|
||||
|
||||
msgid "Month"
|
||||
msgstr "ماه"
|
||||
|
||||
msgid "Monthly"
|
||||
msgstr "ماهانه"
|
||||
|
||||
msgid "Move backward through top menu"
|
||||
msgstr "حرکت رو به عقب از طریق منوی بالای صفحه"
|
||||
|
||||
msgid "Move down through elements list"
|
||||
msgstr "انتقال به پایین فهرست"
|
||||
|
||||
msgid "Move forward through top menu"
|
||||
msgstr "حرکت به جلو از طریق منوی بالای صفحه"
|
||||
|
||||
msgid "Move up through elements list"
|
||||
msgstr "انتقال به بالای فهرست"
|
||||
|
||||
msgid "MySQL Support"
|
||||
msgstr "پشتیبانی MySQL"
|
||||
|
||||
msgid "Netmask"
|
||||
msgstr "صورتک شبکه"
|
||||
|
||||
msgid "New Password"
|
||||
msgstr "گذرواژه تازه"
|
||||
|
||||
msgid "No encryption"
|
||||
msgstr "بدون رمزگذاری"
|
||||
|
||||
msgid "Normal password"
|
||||
msgstr "گذرواژه معمول"
|
||||
|
||||
msgid "Nov"
|
||||
msgstr "نوامبر"
|
||||
|
||||
msgid "Oct"
|
||||
msgstr "اكتبر"
|
||||
|
||||
msgid "Operating System"
|
||||
msgstr "سیستم عامل"
|
||||
|
||||
msgid "Organization"
|
||||
msgstr "سازمان"
|
||||
|
||||
msgid "Overall Statistics"
|
||||
msgstr "آمار كلی"
|
||||
|
||||
msgid "Owner"
|
||||
msgstr "مالك"
|
||||
|
||||
msgid "Package"
|
||||
msgstr "بسته"
|
||||
|
||||
msgid "Package Name"
|
||||
msgstr "نام بسته"
|
||||
|
||||
msgid "Packages"
|
||||
msgstr "بسته ها"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "گذرواژه"
|
||||
|
||||
msgid "Path"
|
||||
msgstr "مسیر"
|
||||
|
||||
msgid "Port"
|
||||
msgstr "درگاه"
|
||||
|
||||
msgid "PostgreSQL Support"
|
||||
msgstr "پشتیبانی PostgreSQL"
|
||||
|
||||
msgid "Priority"
|
||||
msgstr "اولویت"
|
||||
|
||||
msgid "Protocol"
|
||||
msgstr "پرتکل"
|
||||
|
||||
msgid "Proxy Extensions"
|
||||
msgstr "فرمت های پراکسی"
|
||||
|
||||
msgid "Proxy Server"
|
||||
msgstr "سرور پراکسی"
|
||||
|
||||
msgid "Proxy Support"
|
||||
msgstr "پشتیبانی پراکسی"
|
||||
|
||||
msgid "Proxy Template"
|
||||
msgstr "قالب پراكسی"
|
||||
|
||||
msgid "Quota"
|
||||
msgstr "سهمیه"
|
||||
|
||||
msgid "Record"
|
||||
msgstr "پیشینه"
|
||||
|
||||
msgid "Records"
|
||||
msgstr "پیشسنه ها"
|
||||
|
||||
msgid "Release"
|
||||
msgstr "انتشار"
|
||||
|
||||
msgid "Reset"
|
||||
msgstr "بازیابی"
|
||||
|
||||
msgid "Reset Code"
|
||||
msgstr "رمز بازیابی"
|
||||
|
||||
msgid "Restore All"
|
||||
msgstr "بازنشانی همه"
|
||||
|
||||
msgid "Run Command"
|
||||
msgstr "اجرای دستور"
|
||||
|
||||
msgid "SSH Access"
|
||||
msgstr "دسترسی های SSH"
|
||||
|
||||
msgid "SSL Certificate"
|
||||
msgstr "گواهینامه SSL"
|
||||
|
||||
msgid "SSL Certificate Authority / Intermediate"
|
||||
msgstr "صادركننده / واسط SSL"
|
||||
|
||||
msgid "Saturday"
|
||||
msgstr "شنبه"
|
||||
|
||||
msgid "Save"
|
||||
msgstr "ذخیره"
|
||||
|
||||
msgid "Search Results"
|
||||
msgstr "نتایج جستجو"
|
||||
|
||||
msgid "Send FTP credentials to email"
|
||||
msgstr "ارسال اطلاعات FTP به پست الکترونیک"
|
||||
|
||||
msgid "Sep"
|
||||
msgstr "سپتامبر"
|
||||
|
||||
msgid "Shared"
|
||||
msgstr "اشتراكی"
|
||||
|
||||
msgid "Shortcuts"
|
||||
msgstr "میانبرها"
|
||||
|
||||
msgid "State / Province"
|
||||
msgstr "استان / ولایت"
|
||||
|
||||
msgid "Statistics"
|
||||
msgstr "آمار"
|
||||
|
||||
msgid "Statistics Authorization"
|
||||
msgstr "آمارهای اعتبار"
|
||||
|
||||
msgid "Status"
|
||||
msgstr "وضعیت"
|
||||
|
||||
msgid "Submit"
|
||||
msgstr "اعمال"
|
||||
|
||||
msgid "Sunday"
|
||||
msgstr "یکشنبه"
|
||||
|
||||
msgid "TTL"
|
||||
msgstr "زمان زنده بودن"
|
||||
|
||||
msgid "Template"
|
||||
msgstr "قالب"
|
||||
|
||||
msgid "Theme"
|
||||
msgstr "ظاهر"
|
||||
|
||||
msgid "Thursday"
|
||||
msgstr "پنج شنبه"
|
||||
|
||||
msgid "Time Zone"
|
||||
msgstr "زمان منطقه ای"
|
||||
|
||||
msgid "Tuesday"
|
||||
msgstr "سه شنبه"
|
||||
|
||||
msgid "Type"
|
||||
msgstr "نوع"
|
||||
|
||||
msgid "USER"
|
||||
msgstr "كاربر"
|
||||
|
||||
msgid "Updates"
|
||||
msgstr "بروز رسانی ها"
|
||||
|
||||
msgid "Uptime"
|
||||
msgstr "زمان كاركرد"
|
||||
|
||||
msgid "User"
|
||||
msgstr "كاربر"
|
||||
|
||||
msgid "Username"
|
||||
msgstr "نام كاربری"
|
||||
|
||||
msgid "Version"
|
||||
msgstr "نسخه"
|
||||
|
||||
msgid "WEB"
|
||||
msgstr "وب"
|
||||
|
||||
msgid "Web"
|
||||
msgstr "وب"
|
||||
|
||||
msgid "Web Aliases"
|
||||
msgstr "نامهای مستعار وب"
|
||||
|
||||
msgid "Web Domains"
|
||||
msgstr "دامنه های وب"
|
||||
|
||||
msgid "Web Server"
|
||||
msgstr "وب سرور"
|
||||
|
||||
msgid "Web Statistics"
|
||||
msgstr "آمار های وب"
|
||||
|
||||
msgid "Web Template"
|
||||
msgstr "قالب وب"
|
||||
|
||||
msgid "Wednesday"
|
||||
msgstr "چهارشنبه"
|
||||
|
||||
msgid "Weekly"
|
||||
msgstr "هفتگی"
|
||||
|
||||
msgid "Welcome"
|
||||
msgstr "خوش آمدید"
|
||||
|
||||
msgid "YYYY-MM-DD"
|
||||
msgstr "سال-ماه-روز"
|
||||
|
||||
msgid "Yearly"
|
||||
msgstr "سالیانه"
|
||||
|
||||
msgid "one or more email addresses"
|
||||
msgstr "یک یا چند آدرس پست الکترونیک"
|
||||
|
||||
msgid "per domain"
|
||||
msgstr "پیش دامنه"
|
||||
@@ -1,467 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: hestiacp\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2023-07-06 11:26\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Finnish\n"
|
||||
"Language: fi_FI\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: hestiacp\n"
|
||||
"X-Crowdin-Project-ID: 587405\n"
|
||||
"X-Crowdin-Language: fi\n"
|
||||
"X-Crowdin-File: hestiacp.pot\n"
|
||||
"X-Crowdin-File-ID: 3\n"
|
||||
|
||||
msgid "2FA Reset Code"
|
||||
msgstr "Account Recovery Code"
|
||||
|
||||
msgid "2FA Token"
|
||||
msgstr "OTP PIN"
|
||||
|
||||
msgid "Account"
|
||||
msgstr "Tili"
|
||||
|
||||
msgid "Accounts"
|
||||
msgstr "Tilit"
|
||||
|
||||
msgid "Action"
|
||||
msgstr "Toiminta"
|
||||
|
||||
msgid "Add Cron Job"
|
||||
msgstr "Lisää Cron-tehtävä"
|
||||
|
||||
msgid "Add DNS Domain"
|
||||
msgstr "Lisää DNS domain"
|
||||
|
||||
msgid "Add DNS Record"
|
||||
msgstr "Lisää DNS asetus"
|
||||
|
||||
msgid "Add Database"
|
||||
msgstr "Lisää tietokanta"
|
||||
|
||||
msgid "Add Mail Account"
|
||||
msgstr "Lisää email käyttäjä"
|
||||
|
||||
msgid "Add Mail Domain"
|
||||
msgstr "Lisää email domain"
|
||||
|
||||
msgid "Add Package"
|
||||
msgstr "Lisää paketti"
|
||||
|
||||
msgid "Add Rule"
|
||||
msgstr "Lisää sääntö"
|
||||
|
||||
msgid "Add SSH Key"
|
||||
msgstr "Add SSH key"
|
||||
|
||||
msgid "Add User"
|
||||
msgstr "Lisää käyttäjä"
|
||||
|
||||
msgid "Add Web Domain"
|
||||
msgstr "Lisää Web domain"
|
||||
|
||||
msgid "Aliases"
|
||||
msgstr "Aliakset"
|
||||
|
||||
msgid "Apr"
|
||||
msgstr "Huh"
|
||||
|
||||
msgid "Aug"
|
||||
msgstr "Elo"
|
||||
|
||||
msgid "BACKUP"
|
||||
msgstr "VARMUUSKOPIOT"
|
||||
|
||||
msgid "Back"
|
||||
msgstr "Takaisin"
|
||||
|
||||
msgid "Backend Template"
|
||||
msgstr "Backend-pohja"
|
||||
|
||||
msgid "Backups"
|
||||
msgstr "Varmuuskopiot"
|
||||
|
||||
msgid "Ban IP Address"
|
||||
msgstr "Estä IP"
|
||||
|
||||
msgid "Bandwidth"
|
||||
msgstr "Kaistanleveys"
|
||||
|
||||
msgid "Banlist"
|
||||
msgstr "Bannilista"
|
||||
|
||||
msgid "CPU"
|
||||
msgstr "Prosessori"
|
||||
|
||||
msgid "Charset"
|
||||
msgstr "Merkistö"
|
||||
|
||||
msgid "City / Locality"
|
||||
msgstr "Kaupunki / Paikkakunta"
|
||||
|
||||
msgid "Command"
|
||||
msgstr "Käsky"
|
||||
|
||||
msgid "Comment"
|
||||
msgstr "Kommentti"
|
||||
|
||||
msgid "Configure"
|
||||
msgstr "Määritä"
|
||||
|
||||
msgid "Confirm"
|
||||
msgstr "Hyväksy"
|
||||
|
||||
msgid "Confirm Password"
|
||||
msgstr "Hyväksy salasana"
|
||||
|
||||
msgid "Country"
|
||||
msgstr "Maa"
|
||||
|
||||
msgid "Create Backup"
|
||||
msgstr "Luo varmuuskopio"
|
||||
|
||||
msgid "Cron Jobs"
|
||||
msgstr "Cron-tehtävät"
|
||||
|
||||
msgid "DKIM Support"
|
||||
msgstr "DKIM-tuki"
|
||||
|
||||
msgid "DNS Cluster"
|
||||
msgstr "DNS-klusteri"
|
||||
|
||||
msgid "DNS Server"
|
||||
msgstr "DNS-palvelin"
|
||||
|
||||
msgid "DNS Support"
|
||||
msgstr "Tarvitsee DNS:n"
|
||||
|
||||
msgid "DNS Template"
|
||||
msgstr "DNS-pohja"
|
||||
|
||||
msgid "Daily"
|
||||
msgstr "Päivittäin"
|
||||
|
||||
msgid "Database"
|
||||
msgstr "Tietokanta"
|
||||
|
||||
msgid "Databases"
|
||||
msgstr "Tietokannat"
|
||||
|
||||
msgid "Date"
|
||||
msgstr "Päivämäärä"
|
||||
|
||||
msgid "Day"
|
||||
msgstr "Päivä"
|
||||
|
||||
msgid "Dec"
|
||||
msgstr "Jou"
|
||||
|
||||
msgid "Default Language"
|
||||
msgstr "Oletuskieli"
|
||||
|
||||
msgid "Default Name Servers"
|
||||
msgstr "Oletusnimipalvelimet"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr "Poista"
|
||||
|
||||
msgid "Directory"
|
||||
msgstr "Hakemisto"
|
||||
|
||||
msgid "Disk"
|
||||
msgstr "Levy"
|
||||
|
||||
msgid "Do not store forwarded mail"
|
||||
msgstr "Älä säilytä uudelleenohjattuja viestejä"
|
||||
|
||||
msgid "Domains"
|
||||
msgstr "Domainit"
|
||||
|
||||
msgid "Expiration Date"
|
||||
msgstr "Viimeinen käyttöpäivä"
|
||||
|
||||
msgid "Expire"
|
||||
msgstr "Päättyy"
|
||||
|
||||
msgid "Feb"
|
||||
msgstr "Hel"
|
||||
|
||||
msgid "Field \"%s\" can not be blank."
|
||||
msgstr "Kenttä \"%s\" ei voi olla tyhjä."
|
||||
|
||||
msgid "Firewall"
|
||||
msgstr "Palomuuri"
|
||||
|
||||
msgid "Forward to"
|
||||
msgstr "Uudelleenohjaa"
|
||||
|
||||
msgid "Friday"
|
||||
msgstr "Perjantai"
|
||||
|
||||
msgid "Hour"
|
||||
msgstr "Tunti"
|
||||
|
||||
msgid "Hourly"
|
||||
msgstr "Tunneittain"
|
||||
|
||||
msgid "Invalid username or code"
|
||||
msgstr "Väärä käyttäjänimi tai koodi"
|
||||
|
||||
msgid "Invalid username or password"
|
||||
msgstr "Väärä käyttäjänimi tai salasana"
|
||||
|
||||
msgid "Jan"
|
||||
msgstr "Tam"
|
||||
|
||||
msgid "Jul"
|
||||
msgstr "Hei"
|
||||
|
||||
msgid "Jun"
|
||||
msgstr "Kes"
|
||||
|
||||
msgid "Language"
|
||||
msgstr "Kieli"
|
||||
|
||||
msgid "Last 70 lines of %s.%s.log"
|
||||
msgstr "%s 70 viimeistä lokimerkintää.%s.log"
|
||||
|
||||
msgid "Load Average"
|
||||
msgstr "Keskimääräinen Käyttöaste"
|
||||
|
||||
msgid "Log in"
|
||||
msgstr "Kirjaudu"
|
||||
|
||||
msgid "Log out"
|
||||
msgstr "Kirjaudu ulos"
|
||||
|
||||
msgid "MAIL"
|
||||
msgstr "SÄHKÖPOSTI"
|
||||
|
||||
msgid "Mail"
|
||||
msgstr "Sähköposti"
|
||||
|
||||
msgid "Mail Accounts"
|
||||
msgstr "Sähköpostikäyttäjät"
|
||||
|
||||
msgid "Mail Domains"
|
||||
msgstr "Sähköpostidomainit"
|
||||
|
||||
msgid "Mail Support"
|
||||
msgstr "Tarvitsee sähköpostin"
|
||||
|
||||
msgid "Mar"
|
||||
msgstr "Maa"
|
||||
|
||||
msgid "May"
|
||||
msgstr "Tou"
|
||||
|
||||
msgid "Memory"
|
||||
msgstr "Muisti"
|
||||
|
||||
msgid "Message"
|
||||
msgstr "Viesti"
|
||||
|
||||
msgid "Minute"
|
||||
msgstr "Minuutti"
|
||||
|
||||
msgid "Minutes"
|
||||
msgstr "Minuutittain"
|
||||
|
||||
msgid "Monday"
|
||||
msgstr "Maanantai"
|
||||
|
||||
msgid "Month"
|
||||
msgstr "Kuukausi"
|
||||
|
||||
msgid "Monthly"
|
||||
msgstr "Kuukausittain"
|
||||
|
||||
msgid "New Password"
|
||||
msgstr "Uusi salasana"
|
||||
|
||||
msgid "Normal password"
|
||||
msgstr "Normaali salasana"
|
||||
|
||||
msgid "Nov"
|
||||
msgstr "Mar"
|
||||
|
||||
msgid "Oct"
|
||||
msgstr "Lok"
|
||||
|
||||
msgid "Operating System"
|
||||
msgstr "Käyttöjärjestelmä"
|
||||
|
||||
msgid "Organization"
|
||||
msgstr "Organisaatio"
|
||||
|
||||
msgid "Overall Statistics"
|
||||
msgstr "Kokonaistilastot"
|
||||
|
||||
msgid "Owner"
|
||||
msgstr "Omistaja"
|
||||
|
||||
msgid "Package"
|
||||
msgstr "Paketti"
|
||||
|
||||
msgid "Package Name"
|
||||
msgstr "Paketin nimi"
|
||||
|
||||
msgid "Packages"
|
||||
msgstr "Paketit"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "Salasana"
|
||||
|
||||
msgid "Priority"
|
||||
msgstr "Prioriteetti"
|
||||
|
||||
msgid "Protocol"
|
||||
msgstr "Protokolla"
|
||||
|
||||
msgid "Proxy Extensions"
|
||||
msgstr "Proxy-laajennukset"
|
||||
|
||||
msgid "Proxy Server"
|
||||
msgstr "Välityspalvelin"
|
||||
|
||||
msgid "Proxy Support"
|
||||
msgstr "Proxy-tuki"
|
||||
|
||||
msgid "Proxy Template"
|
||||
msgstr "Proxy-pohja"
|
||||
|
||||
msgid "Quota"
|
||||
msgstr "Kiintiö"
|
||||
|
||||
msgid "Record"
|
||||
msgstr "Tietue"
|
||||
|
||||
msgid "Records"
|
||||
msgstr "Tietueet"
|
||||
|
||||
msgid "Release"
|
||||
msgstr "Julkaisu"
|
||||
|
||||
msgid "Reset"
|
||||
msgstr "Nollaa"
|
||||
|
||||
msgid "Reset Code"
|
||||
msgstr "Nollauskoodi"
|
||||
|
||||
msgid "Restore All"
|
||||
msgstr "Palauta kaikki"
|
||||
|
||||
msgid "Run Command"
|
||||
msgstr "Aja Komento"
|
||||
|
||||
msgid "SSH Access"
|
||||
msgstr "SSH-oikeudet"
|
||||
|
||||
msgid "SSL Certificate"
|
||||
msgstr "SSL-sertifikaatti"
|
||||
|
||||
msgid "Saturday"
|
||||
msgstr "Lauantai"
|
||||
|
||||
msgid "Save"
|
||||
msgstr "Tallenna"
|
||||
|
||||
msgid "Search Results"
|
||||
msgstr "Hakutulokset"
|
||||
|
||||
msgid "Send FTP credentials to email"
|
||||
msgstr "Lähetä FTP-kirjautumistiedot sähköpostilla"
|
||||
|
||||
msgid "Sep"
|
||||
msgstr "Syy"
|
||||
|
||||
msgid "Shared"
|
||||
msgstr "Jaettu"
|
||||
|
||||
msgid "State / Province"
|
||||
msgstr "Osavaltio / Maakunta"
|
||||
|
||||
msgid "Statistics"
|
||||
msgstr "Tilastot"
|
||||
|
||||
msgid "Statistics Authorization"
|
||||
msgstr "Tilastoinnin valtuutus"
|
||||
|
||||
msgid "Status"
|
||||
msgstr "Tila"
|
||||
|
||||
msgid "Submit"
|
||||
msgstr "Lähetä"
|
||||
|
||||
msgid "Sunday"
|
||||
msgstr "Sunnuntai"
|
||||
|
||||
msgid "Template"
|
||||
msgstr "Pohja"
|
||||
|
||||
msgid "Theme"
|
||||
msgstr "Ulkonäkö"
|
||||
|
||||
msgid "Thursday"
|
||||
msgstr "Torstai"
|
||||
|
||||
msgid "Time Zone"
|
||||
msgstr "Aikavyöhyke"
|
||||
|
||||
msgid "Tuesday"
|
||||
msgstr "Tiistai"
|
||||
|
||||
msgid "Type"
|
||||
msgstr "Tyyppi"
|
||||
|
||||
msgid "USER"
|
||||
msgstr "TILIT"
|
||||
|
||||
msgid "Updates"
|
||||
msgstr "Päivitykset"
|
||||
|
||||
msgid "Uptime"
|
||||
msgstr "Käyttöaika"
|
||||
|
||||
msgid "User"
|
||||
msgstr "Käyttäjä"
|
||||
|
||||
msgid "Username"
|
||||
msgstr "Käyttäjä"
|
||||
|
||||
msgid "Version"
|
||||
msgstr "Versio"
|
||||
|
||||
msgid "Web Aliases"
|
||||
msgstr "Web-aliakset"
|
||||
|
||||
msgid "Web Domains"
|
||||
msgstr "Web-domainit"
|
||||
|
||||
msgid "Web Statistics"
|
||||
msgstr "Web-tilastot"
|
||||
|
||||
msgid "Web Template"
|
||||
msgstr "Web-pohja"
|
||||
|
||||
msgid "Wednesday"
|
||||
msgstr "Keskiviikko"
|
||||
|
||||
msgid "Weekly"
|
||||
msgstr "Viikottain"
|
||||
|
||||
msgid "Welcome"
|
||||
msgstr "Tervetuloa"
|
||||
|
||||
msgid "Yearly"
|
||||
msgstr "Vuosi"
|
||||
|
||||
msgid "one or more email addresses"
|
||||
msgstr "yksi tai useampia sähköposteja"
|
||||
|
||||
msgid "per domain"
|
||||
msgstr "per domaini"
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,964 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: hestiacp\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2023-07-18 14:20\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Croatian\n"
|
||||
"Language: hr_HR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Crowdin-Project: hestiacp\n"
|
||||
"X-Crowdin-Project-ID: 587405\n"
|
||||
"X-Crowdin-Language: hr\n"
|
||||
"X-Crowdin-File: hestiacp.pot\n"
|
||||
"X-Crowdin-File-ID: 3\n"
|
||||
|
||||
msgid "%d DNS record"
|
||||
msgid_plural "%d DNS records"
|
||||
msgstr[0] "%d DNS zapis"
|
||||
msgstr[1] "%d DNS zapisa"
|
||||
msgstr[2] "%d DNS zapisa"
|
||||
|
||||
msgid "%d DNS zone"
|
||||
msgid_plural "%d DNS zones"
|
||||
msgstr[0] "%d DNS zona"
|
||||
msgstr[1] "%d DNS zone"
|
||||
msgstr[2] "%d DNS zona"
|
||||
|
||||
msgid "%d IP address"
|
||||
msgid_plural "%d IP addresses"
|
||||
msgstr[0] "%d IP adresa"
|
||||
msgstr[1] "%d IP adrese"
|
||||
msgstr[2] "%d IP adresa"
|
||||
|
||||
msgid "%d access key"
|
||||
msgid_plural "%d access keys"
|
||||
msgstr[0] "%d pristupni ključ"
|
||||
msgstr[1] "%d pristupni ključevi"
|
||||
msgstr[2] "%d pristupni ključevi"
|
||||
|
||||
msgid "%d backup"
|
||||
msgid_plural "%d backups"
|
||||
msgstr[0] "%d sigurnosna kopija"
|
||||
msgstr[1] "%d sigurnosne kopije"
|
||||
msgstr[2] "%d sigurnosnih kopija"
|
||||
|
||||
msgid "%d cron job"
|
||||
msgid_plural "%d cron jobs"
|
||||
msgstr[0] "%d cron zadatak"
|
||||
msgstr[1] "%d cron zadatka"
|
||||
msgstr[2] "%d cron zadataka"
|
||||
|
||||
msgid "%d item"
|
||||
msgid_plural "%d items"
|
||||
msgstr[0] "%d stavka"
|
||||
msgstr[1] "%d stavke"
|
||||
msgstr[2] "%d stavaka"
|
||||
|
||||
msgid "%d mail account"
|
||||
msgid_plural "%d mail accounts"
|
||||
msgstr[0] "%d račun e-pošte"
|
||||
msgstr[1] "%d računa e-pošte"
|
||||
msgstr[2] "%d računa e-pošte"
|
||||
|
||||
msgid "%d mail domain"
|
||||
msgid_plural "%d mail domains"
|
||||
msgstr[0] "%d domena e-pošte"
|
||||
msgstr[1] "%d domene e-pošte"
|
||||
msgstr[2] "%d domena e-pošte"
|
||||
|
||||
msgid "%d month"
|
||||
msgid_plural "%d months"
|
||||
msgstr[0] "%d mjesec"
|
||||
msgstr[1] "%d mjeseca"
|
||||
msgstr[2] "%d mjeseci"
|
||||
|
||||
msgid "%d object"
|
||||
msgid_plural "%d objects"
|
||||
msgstr[0] "%d objekt"
|
||||
msgstr[1] "%d objekta"
|
||||
msgstr[2] "%d objekata"
|
||||
|
||||
msgid "%d user account"
|
||||
msgid_plural "%d user accounts"
|
||||
msgstr[0] "%d korisnički račun"
|
||||
msgstr[1] "%d korisnička računa"
|
||||
msgstr[2] "%d korisničkih računa"
|
||||
|
||||
msgid "%d web domain"
|
||||
msgid_plural "%d web domains"
|
||||
msgstr[0] "%d web domena"
|
||||
msgstr[1] "%d web domene"
|
||||
msgstr[2] "%d web domena"
|
||||
|
||||
msgid "2FA Reset Code"
|
||||
msgstr "Account Recovery Code"
|
||||
|
||||
msgid "2FA Token"
|
||||
msgstr "OTP PIN"
|
||||
|
||||
msgid "ACCEPT"
|
||||
msgstr "Dozvolite"
|
||||
|
||||
msgid "Access Log"
|
||||
msgstr "Zapis pristupa"
|
||||
|
||||
msgid "Account"
|
||||
msgstr "Račun"
|
||||
|
||||
msgid "Account has been suspended"
|
||||
msgstr "Korisnički račun je suspendiran"
|
||||
|
||||
msgid "Accounts"
|
||||
msgstr "Računi"
|
||||
|
||||
msgid "Action"
|
||||
msgstr "Radnja"
|
||||
|
||||
msgid "Add Cron Job"
|
||||
msgstr "Dodavanje zadataka"
|
||||
|
||||
msgid "Add DNS Domain"
|
||||
msgstr "Dodavanje DNS zone"
|
||||
|
||||
msgid "Add DNS Record"
|
||||
msgstr "Dodavanje DNS zapisa"
|
||||
|
||||
msgid "Add Database"
|
||||
msgstr "Dodavanje baze podataka"
|
||||
|
||||
msgid "Add Mail Account"
|
||||
msgstr "Dodavanje e-pošte"
|
||||
|
||||
msgid "Add Mail Domain"
|
||||
msgstr "Dodavanje domene e-pošte"
|
||||
|
||||
msgid "Add Package"
|
||||
msgstr "Dodavanje paketa"
|
||||
|
||||
msgid "Add Rule"
|
||||
msgstr "Dodavanje pravila"
|
||||
|
||||
msgid "Add SSH Key"
|
||||
msgstr "Add SSH key"
|
||||
|
||||
msgid "Add User"
|
||||
msgstr "Dodajte korisnika"
|
||||
|
||||
msgid "Add Web Domain"
|
||||
msgstr "Dodavanje web domene"
|
||||
|
||||
msgid "Aliases"
|
||||
msgstr "Pseudonimi"
|
||||
|
||||
msgid "All ports: 0, Range: 80-82, List: 80,443,8080,8443"
|
||||
msgstr "Svi portovi: 0, Raspon: 80-82, Popis: 80,443,8080,8443"
|
||||
|
||||
msgid "Allow suspended users to log in with read-only access"
|
||||
msgstr "Dozvolite prijavu korisnicima pod zabranom uz dozvolu samo za čitanje"
|
||||
|
||||
msgid "Allow users to change templates when editing DNS zones"
|
||||
msgstr "Dozvolite korisnicima da izmijene predloške dok uređuju DNS zone"
|
||||
|
||||
msgid "Allow users to change templates when editing web domains"
|
||||
msgstr "Dozvolite korisnicima da izmijene predloške dok uređuju web domene"
|
||||
|
||||
msgid "Allow users to delete log history"
|
||||
msgstr "Dozvolite korisnicima da izbrišu zapise o radnjama i prijavama"
|
||||
|
||||
msgid "Allow users to edit their account details"
|
||||
msgstr "Dozvolite korisnicima da izmijene detalje svog korisničkog računa"
|
||||
|
||||
msgid "Allow users to reset their passwords"
|
||||
msgstr "Dozvolite korisnicima da zatraže novu lozinku"
|
||||
|
||||
msgid "Allow users to view action and login history logs"
|
||||
msgstr "Dozvolite korisnicima da vide zapise o radnjama i prijavama"
|
||||
|
||||
msgid "Allowed IP addresses for API"
|
||||
msgstr "Dozvoljene IP adrese za API"
|
||||
|
||||
msgid ""
|
||||
"An existing backup task is already running, please wait for it to complete."
|
||||
msgstr ""
|
||||
"Postojeći zadatak sigurnosne kopije već je pokrenut, pričekajte da završi."
|
||||
|
||||
msgid "An internal error occurred"
|
||||
msgstr "Došlo je do greške u sustavu"
|
||||
|
||||
msgid "Apr"
|
||||
msgstr "Tra"
|
||||
|
||||
msgid "Are you sure you want to delete access key %s?"
|
||||
msgstr "Želite li izbrisati pristupni ključ %s?"
|
||||
|
||||
msgid "Are you sure you want to leave the page?"
|
||||
msgstr "Želite li uistinu napustiti ovu web stranicu?"
|
||||
|
||||
msgid "Aug"
|
||||
msgstr "Kol"
|
||||
|
||||
msgid "BACKUP"
|
||||
msgstr "SIG. KOPIJE"
|
||||
|
||||
msgid "BLACKLIST"
|
||||
msgstr "BLACKLIST"
|
||||
|
||||
msgid "Back"
|
||||
msgstr "Povratak"
|
||||
|
||||
msgid "Backend Pool Mode"
|
||||
msgstr "Pool način pozadinskog sustava"
|
||||
|
||||
msgid "Backend Server"
|
||||
msgstr "Poslužitelj pozadinskog sustava"
|
||||
|
||||
msgid "Backend Template"
|
||||
msgstr "Predložak za pozadnski sustav"
|
||||
|
||||
msgid "Backups"
|
||||
msgstr "Sigurnosne kopije"
|
||||
|
||||
msgid "Ban IP Address"
|
||||
msgstr "Blokirajte IP adresu"
|
||||
|
||||
msgid "Bandwidth"
|
||||
msgstr "Propusnost"
|
||||
|
||||
msgid "Banlist"
|
||||
msgstr "Usluga"
|
||||
|
||||
msgid "Browser"
|
||||
msgstr "Preglednik"
|
||||
|
||||
msgid "CPU"
|
||||
msgstr "Procesor"
|
||||
|
||||
msgid "CRON"
|
||||
msgstr "CRON"
|
||||
|
||||
msgid "Cache Duration"
|
||||
msgstr "Trajanje predmemoriranja"
|
||||
|
||||
msgid "Category"
|
||||
msgstr "Kategorija"
|
||||
|
||||
msgid "Charset"
|
||||
msgstr "Kodna stranica"
|
||||
|
||||
msgid "City"
|
||||
msgstr "Grad"
|
||||
|
||||
msgid "City / Locality"
|
||||
msgstr "Grad"
|
||||
|
||||
msgid "Command"
|
||||
msgstr "Naredba"
|
||||
|
||||
msgid "Comment"
|
||||
msgstr "Usluga"
|
||||
|
||||
msgid "Configure"
|
||||
msgstr "Postavke"
|
||||
|
||||
msgid "Confirm"
|
||||
msgstr "Potvrdite"
|
||||
|
||||
msgid "Confirm Password"
|
||||
msgstr "Potvrdite zaporku"
|
||||
|
||||
msgid "Continue"
|
||||
msgstr "Nastavite"
|
||||
|
||||
msgid "Country"
|
||||
msgstr "Država"
|
||||
|
||||
msgid "Create Backup"
|
||||
msgstr "Izrada sigurnosne kopije"
|
||||
|
||||
msgid "Cron Jobs"
|
||||
msgstr "Cron zadaci"
|
||||
|
||||
msgid "DB"
|
||||
msgstr "BAZE"
|
||||
|
||||
msgid "DKIM Support"
|
||||
msgstr "DKIM"
|
||||
|
||||
msgid "DNS Cluster"
|
||||
msgstr "DNS grupa"
|
||||
|
||||
msgid "DNS Server"
|
||||
msgstr "DNS poslužitelj"
|
||||
|
||||
msgid "DNS Support"
|
||||
msgstr "Napravite DNS zonu"
|
||||
|
||||
msgid "DNS Template"
|
||||
msgstr "Predložak za DNS"
|
||||
|
||||
msgid "DNSSEC"
|
||||
msgstr "DNSSEC"
|
||||
|
||||
msgid "DROP"
|
||||
msgstr "Blokirajte"
|
||||
|
||||
msgid "Daily"
|
||||
msgstr "Dnevno"
|
||||
|
||||
msgid "Data Source"
|
||||
msgstr "Izvor podataka"
|
||||
|
||||
msgid "Database"
|
||||
msgstr "Baza podataka"
|
||||
|
||||
msgid "Databases"
|
||||
msgstr "Baze podataka"
|
||||
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
msgid "Day"
|
||||
msgstr "Dan"
|
||||
|
||||
msgid "Dec"
|
||||
msgstr "Pro"
|
||||
|
||||
msgid "Default Language"
|
||||
msgstr "Zadani jezik"
|
||||
|
||||
msgid "Default Name Servers"
|
||||
msgstr "Zadani imenski poslužitelji"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr "Brisanje"
|
||||
|
||||
msgid "Delete all notifications"
|
||||
msgstr "Obriši sve obavijesti"
|
||||
|
||||
msgid "Delete notification"
|
||||
msgstr "Obriši obavijest"
|
||||
|
||||
msgid "Directory"
|
||||
msgstr "Mapa"
|
||||
|
||||
msgid "Disabled"
|
||||
msgstr "Onemogućeno"
|
||||
|
||||
msgid "Discard all mail"
|
||||
msgstr "Obriši svu e-poštu"
|
||||
|
||||
msgid "Do not allow other administrators to access Server Settings"
|
||||
msgstr ""
|
||||
"Drugim administratorima nemojte dozvoliti pristup u postavke poslužitelja"
|
||||
|
||||
msgid "Do not allow user to log in to Control Panel"
|
||||
msgstr "Nemojte dozvoliti pristup kontrolnoj ploči za ovog korisnika"
|
||||
|
||||
msgid "Do not store forwarded mail"
|
||||
msgstr "Ne želim spremati proslijeđenu poštu"
|
||||
|
||||
msgid "Domain"
|
||||
msgstr "Domena"
|
||||
|
||||
msgid "Domains"
|
||||
msgstr "Domene"
|
||||
|
||||
msgid "Download"
|
||||
msgstr "Preuzimanje"
|
||||
|
||||
msgid "Edit Package"
|
||||
msgstr "Uredite pakete"
|
||||
|
||||
msgid "Email"
|
||||
msgstr "E-pošta"
|
||||
|
||||
msgid "Enable API access"
|
||||
msgstr "Dozvolite pristup na API"
|
||||
|
||||
msgid "Enable debug mode"
|
||||
msgstr "Omogućite način otklanjanja pogrešaka"
|
||||
|
||||
msgid "Enable domain redirection"
|
||||
msgstr "Omogućite preusmjeravanje s domene"
|
||||
|
||||
msgid "Enable preview features"
|
||||
msgstr "Omogućite eksperimentalne značajke"
|
||||
|
||||
msgid "Enabled"
|
||||
msgstr "Omogućeno"
|
||||
|
||||
msgid "Enforce subdomain ownership"
|
||||
msgstr "Ograničite subdomene na vlasnike domena"
|
||||
|
||||
msgid "Enter focused element"
|
||||
msgstr "Pređite na element u fokusu"
|
||||
|
||||
msgid "Error: %s update failed."
|
||||
msgstr "Greška: ažuriranje %s nije uspjelo."
|
||||
|
||||
msgid "Error: unable to copy package."
|
||||
msgstr "Greška: ne mogu kopirati paket."
|
||||
|
||||
msgid "Expiration Date"
|
||||
msgstr "Datum isteka"
|
||||
|
||||
msgid "Expire"
|
||||
msgstr "Istek"
|
||||
|
||||
msgid "Feb"
|
||||
msgstr "Velj"
|
||||
|
||||
msgid "Field \"%s\" can not be blank."
|
||||
msgstr "Polje \"%s\" ne smije ostati prazno."
|
||||
|
||||
msgid "Firewall"
|
||||
msgstr "Vatrozid"
|
||||
|
||||
msgid "Focus on search"
|
||||
msgstr "Fokus na pretragu"
|
||||
|
||||
msgid "Forgot Password"
|
||||
msgstr "Zaboravili ste lozinku"
|
||||
|
||||
msgid "Forward to"
|
||||
msgstr "Proslijedite na"
|
||||
|
||||
msgid "Friday"
|
||||
msgstr "petak"
|
||||
|
||||
msgid "Global SMTP Relay"
|
||||
msgstr "Globalni SMTP prijenosnik"
|
||||
|
||||
msgid "Go to BACKUP list"
|
||||
msgstr "Idite na popis sigurnosnih kopija"
|
||||
|
||||
msgid "Go to CRON list"
|
||||
msgstr "Idite na popis cron zadataka"
|
||||
|
||||
msgid "Go to DB list"
|
||||
msgstr "Idite na popis baza podataka"
|
||||
|
||||
msgid "Go to DNS list"
|
||||
msgstr "Idite na popis DNS-ova"
|
||||
|
||||
msgid "Go to MAIL list"
|
||||
msgstr "Idite na popie e-pošte"
|
||||
|
||||
msgid "Go to WEB list"
|
||||
msgstr "Idite na popis web-ova"
|
||||
|
||||
msgid "HESTIA"
|
||||
msgstr "Hestia"
|
||||
|
||||
msgid "Help"
|
||||
msgstr "Pomoć"
|
||||
|
||||
msgid "Hestia core package"
|
||||
msgstr "Hestia osnovni paket"
|
||||
|
||||
msgid "Hestia internal php interpreter"
|
||||
msgstr "Hestia interni php interpreter"
|
||||
|
||||
msgid "Hestia internal web server"
|
||||
msgstr "Hestia interni web poslužitelj"
|
||||
|
||||
msgid "Hide account from other administrators"
|
||||
msgstr "Drugim administratorima sakrijte račun"
|
||||
|
||||
msgid "Hostname"
|
||||
msgstr "Ime poslužitelja"
|
||||
|
||||
msgid "Hour"
|
||||
msgstr "Sat"
|
||||
|
||||
msgid "Hourly"
|
||||
msgstr "Svaki sat"
|
||||
|
||||
msgid "IP Address"
|
||||
msgstr "IP adresa"
|
||||
|
||||
msgid "IP Addresses"
|
||||
msgstr "IP adresa"
|
||||
|
||||
msgid "IP or Value"
|
||||
msgstr "IP ili vrijednost"
|
||||
|
||||
msgid "IPVERSE"
|
||||
msgstr "IPVERSE"
|
||||
|
||||
msgid "Inactive session timeout"
|
||||
msgstr "Vrijeme neaktivnosti prije odjave"
|
||||
|
||||
msgid "Interface"
|
||||
msgstr "Sučelje"
|
||||
|
||||
msgid "Invalid or missing 2FA token"
|
||||
msgstr "Nevažeći ili nedostajući 2FA token"
|
||||
|
||||
msgid "Invalid username or code"
|
||||
msgstr "Neispravno korisničko ime ili šifra."
|
||||
|
||||
msgid "Invalid username or password"
|
||||
msgstr "Neispravno korisničko ime ili zaporka."
|
||||
|
||||
msgid "Jan"
|
||||
msgstr "Sij"
|
||||
|
||||
msgid "Jobs"
|
||||
msgstr "Zadaci"
|
||||
|
||||
msgid "Jul"
|
||||
msgstr "Srp"
|
||||
|
||||
msgid "Jun"
|
||||
msgstr "Lip"
|
||||
|
||||
msgid "Language"
|
||||
msgstr "Jezik"
|
||||
|
||||
msgid "Last 70 lines of %s.%s.log"
|
||||
msgstr "Zadnjh 70 linija of %s.%s.log"
|
||||
|
||||
msgid "Limit"
|
||||
msgstr "Ograničenje"
|
||||
|
||||
msgid "Load Average"
|
||||
msgstr "Prosječno opterećenje"
|
||||
|
||||
msgid "Loading..."
|
||||
msgstr "Učitavam..."
|
||||
|
||||
msgid "Log in"
|
||||
msgstr "Prijava"
|
||||
|
||||
msgid "Log out"
|
||||
msgstr "Odjava"
|
||||
|
||||
msgid "Logged in as"
|
||||
msgstr "Prijavljeni kao"
|
||||
|
||||
msgid "Logs"
|
||||
msgstr "Zapisi"
|
||||
|
||||
msgid "MAIL"
|
||||
msgstr "E-POŠTA"
|
||||
|
||||
msgid "Mail"
|
||||
msgstr "e-pošta"
|
||||
|
||||
msgid "Mail Accounts"
|
||||
msgstr "Računi e-pošte"
|
||||
|
||||
msgid "Mail Domains"
|
||||
msgstr "Domene e-pošte"
|
||||
|
||||
msgid "Mail Support"
|
||||
msgstr "Omogućite e-poštu na ovoj domeni"
|
||||
|
||||
msgid "Mar"
|
||||
msgstr "Ožu"
|
||||
|
||||
msgid "May"
|
||||
msgstr "Svi"
|
||||
|
||||
msgid "Memory"
|
||||
msgstr "Memorija"
|
||||
|
||||
msgid "Message"
|
||||
msgstr "Poruka"
|
||||
|
||||
msgid "Minute"
|
||||
msgstr "Minuta"
|
||||
|
||||
msgid "Minutes"
|
||||
msgstr "Minute"
|
||||
|
||||
msgid "Monday"
|
||||
msgstr "ponedjeljak"
|
||||
|
||||
msgid "Month"
|
||||
msgstr "Mjesec"
|
||||
|
||||
msgid "Monthly"
|
||||
msgstr "Mjesečno"
|
||||
|
||||
msgid "Move backward through top menu"
|
||||
msgstr "Pomaknite nazad u vršnom izborniku"
|
||||
|
||||
msgid "Move down through elements list"
|
||||
msgstr "Pomaknite dolje na popisu elemenata"
|
||||
|
||||
msgid "Move forward through top menu"
|
||||
msgstr "Pomaknite naprijed u vršnom izborniku"
|
||||
|
||||
msgid "Move up through elements list"
|
||||
msgstr "Pomaknite gore na popisu elemenata"
|
||||
|
||||
msgid "MySQL Support"
|
||||
msgstr "Podrška za MySQL"
|
||||
|
||||
msgid "Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
msgid "Netmask"
|
||||
msgstr "Mrežna maska"
|
||||
|
||||
msgid "New Password"
|
||||
msgstr "Nova zaporka"
|
||||
|
||||
msgid "No encryption"
|
||||
msgstr "Bez šifriranja"
|
||||
|
||||
msgid "No notifications"
|
||||
msgstr "Nema obavijesti"
|
||||
|
||||
msgid "Normal password"
|
||||
msgstr "Normalna zaporka"
|
||||
|
||||
msgid "Notifications"
|
||||
msgstr "Obavijesti"
|
||||
|
||||
msgid "Nov"
|
||||
msgstr "Stu"
|
||||
|
||||
msgid "Oct"
|
||||
msgstr "Lis"
|
||||
|
||||
msgid "Operating System"
|
||||
msgstr "Operacijski sustav"
|
||||
|
||||
msgid "Organization"
|
||||
msgstr "Tvrtka"
|
||||
|
||||
msgid "Overall Statistics"
|
||||
msgstr "Pogledajte svu statistiku"
|
||||
|
||||
msgid "Owner"
|
||||
msgstr "Vlasnik"
|
||||
|
||||
msgid "Package"
|
||||
msgstr "Paket"
|
||||
|
||||
msgid "Package Name"
|
||||
msgstr "Naziv paketa"
|
||||
|
||||
msgid "Packages"
|
||||
msgstr "Paketi"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "Zaporka"
|
||||
|
||||
msgid "Path"
|
||||
msgstr "Putanja"
|
||||
|
||||
msgid "Policy"
|
||||
msgstr "Politika"
|
||||
|
||||
msgid "Port"
|
||||
msgstr "Priključak"
|
||||
|
||||
msgid "PostgreSQL Support"
|
||||
msgstr "Podrška za PostgreSQL"
|
||||
|
||||
msgid "Priority"
|
||||
msgstr "Prioritet"
|
||||
|
||||
msgid "Protocol"
|
||||
msgstr "Protokol"
|
||||
|
||||
msgid "Proxy Extensions"
|
||||
msgstr "Proxy dodaci"
|
||||
|
||||
msgid "Proxy Server"
|
||||
msgstr "Proxy poslužitelj"
|
||||
|
||||
msgid "Proxy Support"
|
||||
msgstr "Proxy podrška"
|
||||
|
||||
msgid "Proxy Template"
|
||||
msgstr "Predložak za proxy"
|
||||
|
||||
msgid "Quick App Installer"
|
||||
msgstr "Brza instalacija aplikacija"
|
||||
|
||||
msgid "Quota"
|
||||
msgstr "Ograničenje prostora"
|
||||
|
||||
msgid "Record"
|
||||
msgstr "Zapis"
|
||||
|
||||
msgid "Records"
|
||||
msgstr "Zapisi"
|
||||
|
||||
msgid "Redirect visitors to %s"
|
||||
msgstr "Preusmjerite posjetitelje na %s"
|
||||
|
||||
msgid "Redirect visitors to a custom domain or web address"
|
||||
msgstr "Preusmjerite posjetitelje na prilagođenu domenu ili web adresu"
|
||||
|
||||
msgid "Refresh IP Addresses"
|
||||
msgstr "Osvježi IP adrese"
|
||||
|
||||
msgid "Release"
|
||||
msgstr "Distribucija"
|
||||
|
||||
msgid "Reset"
|
||||
msgstr "Ponovno postavljanje"
|
||||
|
||||
msgid "Reset Code"
|
||||
msgstr "Šifra za ponovno postavljanje"
|
||||
|
||||
msgid "Restore All"
|
||||
msgstr "Vratite sve"
|
||||
|
||||
msgid "Restrict access to read-only for other administrators"
|
||||
msgstr "Drugim administratorima ograničite prava na dozvolu samo za čitanje"
|
||||
|
||||
msgid "Run Command"
|
||||
msgstr "Izvršite komandu"
|
||||
|
||||
msgid "SMTP Relay"
|
||||
msgstr "SMTP prijenosnik"
|
||||
|
||||
msgid "SSH Access"
|
||||
msgstr "SSH pristup"
|
||||
|
||||
msgid "SSL CSR"
|
||||
msgstr "Zahtjev za SSL vjerodajnicom"
|
||||
|
||||
msgid "SSL Certificate"
|
||||
msgstr "SSL Certifikati"
|
||||
|
||||
msgid "SSL Certificate Authority / Intermediate"
|
||||
msgstr "SSL Autoritet vjerodajnice / Posrednik"
|
||||
|
||||
msgid "SSL Domains"
|
||||
msgstr "SSL Domene"
|
||||
|
||||
msgid "Saturday"
|
||||
msgstr "subota"
|
||||
|
||||
msgid "Save"
|
||||
msgstr "Spremanje"
|
||||
|
||||
msgid "Search"
|
||||
msgstr "Pretražite"
|
||||
|
||||
msgid "Search Results"
|
||||
msgstr "Rezultati pretraživanja"
|
||||
|
||||
msgid "Select"
|
||||
msgstr "Odaberite"
|
||||
|
||||
msgid "Select all"
|
||||
msgstr "Odaberite sve"
|
||||
|
||||
msgid "Send FTP credentials to email"
|
||||
msgstr "Slanje pristupnih podataka za FTP e-poštom na:"
|
||||
|
||||
msgid "Sep"
|
||||
msgstr "Ruj"
|
||||
|
||||
msgid "Set as default language for all users"
|
||||
msgstr "Postavite kao zadani jezik za sve korisnike"
|
||||
|
||||
msgid "Set as selected theme for all users"
|
||||
msgstr "Postavite kao zadanu temu za sve korisnike"
|
||||
|
||||
msgid "Shared"
|
||||
msgstr "Dijeljena"
|
||||
|
||||
msgid "Shortcuts"
|
||||
msgstr "Prečaci"
|
||||
|
||||
msgid "Show Per User"
|
||||
msgstr "Prikaži po korisniku"
|
||||
|
||||
msgid "Sort items"
|
||||
msgstr "Razvrstajte"
|
||||
|
||||
msgid "Start \"%s\" failed"
|
||||
msgstr "Pokretanje \"%s\" neuspješno"
|
||||
|
||||
msgid "State"
|
||||
msgstr "Županija"
|
||||
|
||||
msgid "State / Province"
|
||||
msgstr "Županija"
|
||||
|
||||
msgid "Statistics"
|
||||
msgstr "Statistika"
|
||||
|
||||
msgid "Statistics Authorization"
|
||||
msgstr "Ovlaštenje za pregled statistike"
|
||||
|
||||
msgid "Status code"
|
||||
msgstr "Kod statusa"
|
||||
|
||||
msgid "Submit"
|
||||
msgstr "Slanje"
|
||||
|
||||
msgid "Sunday"
|
||||
msgstr "nedjelja"
|
||||
|
||||
msgid "Suspended"
|
||||
msgstr "Pod zabranom"
|
||||
|
||||
msgid "System"
|
||||
msgstr "Sustav"
|
||||
|
||||
msgid "System Administrator account"
|
||||
msgstr "Račun administratora sustava"
|
||||
|
||||
msgid "Target domain or URL"
|
||||
msgstr "Ciljna domena ili URL"
|
||||
|
||||
msgid ""
|
||||
"Task has been added to the queue. You will receive an email notification "
|
||||
"when your backup is ready for download."
|
||||
msgstr ""
|
||||
"Zadatak je dodan u red čekanja. Primit ćete obavijest e-poštom kada vaša "
|
||||
"sigurnosna kopija bude spremna za preuzimanje."
|
||||
|
||||
msgid "Template"
|
||||
msgstr "Predložak"
|
||||
|
||||
msgid "Theme"
|
||||
msgstr "Izgled"
|
||||
|
||||
msgid "Thursday"
|
||||
msgstr "četvrtak"
|
||||
|
||||
msgid "Time Zone"
|
||||
msgstr "Vremenska zona"
|
||||
|
||||
msgid "Tuesday"
|
||||
msgstr "utorak"
|
||||
|
||||
msgid "Type"
|
||||
msgstr "Tip"
|
||||
|
||||
msgid "USER"
|
||||
msgstr "KORISNICI"
|
||||
|
||||
msgid "Unlimited"
|
||||
msgstr "Neograničeno"
|
||||
|
||||
msgid "Updates"
|
||||
msgstr "Ažuriranja"
|
||||
|
||||
msgid "Uptime"
|
||||
msgstr "Neprekinuti rad"
|
||||
|
||||
msgid "Use IP address allow list for login attempts"
|
||||
msgstr "Za prijavu koristite popis dozvoljenih IP adresa"
|
||||
|
||||
msgid "User"
|
||||
msgstr "Korisnik"
|
||||
|
||||
msgid "Username"
|
||||
msgstr "Korisničko ime"
|
||||
|
||||
msgid "Users"
|
||||
msgstr "Korisnici"
|
||||
|
||||
msgid "Version"
|
||||
msgstr "Inačica"
|
||||
|
||||
msgid "View"
|
||||
msgstr "Pregled"
|
||||
|
||||
msgid "Web Aliases"
|
||||
msgstr "Web Pseudonim"
|
||||
|
||||
msgid "Web Domains"
|
||||
msgstr "Web domene"
|
||||
|
||||
msgid "Web Server"
|
||||
msgstr "Web poslužitelj"
|
||||
|
||||
msgid "Web Statistics"
|
||||
msgstr "Web statistika"
|
||||
|
||||
msgid "Web Template"
|
||||
msgstr "Predložak za web"
|
||||
|
||||
msgid "Webmail Client"
|
||||
msgstr "Klijent web pošte"
|
||||
|
||||
msgid "Wednesday"
|
||||
msgstr "srijeda"
|
||||
|
||||
msgid "Weekly"
|
||||
msgstr "Tjedno"
|
||||
|
||||
msgid "Welcome"
|
||||
msgstr "Dobrodošli"
|
||||
|
||||
msgid "YYYY-MM-DD"
|
||||
msgstr "GGGG-MM-DD"
|
||||
|
||||
msgid "Yearly"
|
||||
msgstr "Godišnje"
|
||||
|
||||
msgid "Zones"
|
||||
msgstr "Zone"
|
||||
|
||||
msgid "backend server"
|
||||
msgstr "poslužitelj pozadinskog sustava"
|
||||
|
||||
msgid "brute-force protection"
|
||||
msgstr "Brute force zaštita"
|
||||
|
||||
msgid "database server"
|
||||
msgstr "poslužitelj baze podataka"
|
||||
|
||||
msgid "dns server"
|
||||
msgstr "dns poslužitelj"
|
||||
|
||||
msgid "email anti-virus"
|
||||
msgstr "email anti-virus"
|
||||
|
||||
msgid "email spam filter"
|
||||
msgstr "email spam filter"
|
||||
|
||||
msgid "firewall"
|
||||
msgstr "vatrozid"
|
||||
|
||||
msgid "ftp server"
|
||||
msgstr "ftp poslužitelj"
|
||||
|
||||
msgid "imap/pop3 server"
|
||||
msgstr "imap/pop3 poslužitelj"
|
||||
|
||||
msgid "job scheduler"
|
||||
msgstr "job scheduler"
|
||||
|
||||
msgid "mail server"
|
||||
msgstr "mail poslužitelj"
|
||||
|
||||
msgid "one or more email addresses"
|
||||
msgstr "Jednu ili više adresa e-pošte"
|
||||
|
||||
msgid "per domain"
|
||||
msgstr "Po domeni"
|
||||
|
||||
msgid "phpMyAdmin Single Sign On"
|
||||
msgstr "Podaci za prijavu vrijede i za phpMyAdmin"
|
||||
|
||||
msgid "reverse proxy"
|
||||
msgstr "reverse proxy"
|
||||
|
||||
msgid "ssh server"
|
||||
msgstr "ssh poslužitelj"
|
||||
|
||||
msgid "web server"
|
||||
msgstr "web poslužitelj"
|
||||
|
||||
msgid "zstd only"
|
||||
msgstr "samo zstd"
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/bash
|
||||
if [ ! -e /usr/bin/xgettext ]; then
|
||||
echo " **********************************************************"
|
||||
echo " * Unable to find xgettext please install gettext package *"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/bash
|
||||
if [ ! -e /usr/bin/xgettext ]; then
|
||||
echo " **********************************************************"
|
||||
echo " * Unable to find xgettext please install gettext package *"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env ruby
|
||||
#!/usr/bin/ruby
|
||||
|
||||
if ARGV.length()<2
|
||||
puts "Use: #{$0} path_to_pure_po po|pot"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/bash
|
||||
|
||||
if [ ! -x /usr/bin/xgettext ]; then
|
||||
echo " **********************************************************"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,547 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: hestiacp\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2023-07-06 11:26\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Indonesian\n"
|
||||
"Language: id_ID\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Crowdin-Project: hestiacp\n"
|
||||
"X-Crowdin-Project-ID: 587405\n"
|
||||
"X-Crowdin-Language: id\n"
|
||||
"X-Crowdin-File: hestiacp.pot\n"
|
||||
"X-Crowdin-File-ID: 3\n"
|
||||
|
||||
msgid "2FA Reset Code"
|
||||
msgstr "Account Recovery Code"
|
||||
|
||||
msgid "2FA Token"
|
||||
msgstr "OTP PIN"
|
||||
|
||||
msgid "ACCEPT"
|
||||
msgstr "TERIMA"
|
||||
|
||||
msgid "Account"
|
||||
msgstr "Pengguna"
|
||||
|
||||
msgid "Accounts"
|
||||
msgstr "Akun"
|
||||
|
||||
msgid "Action"
|
||||
msgstr "Aksi"
|
||||
|
||||
msgid "Add Cron Job"
|
||||
msgstr "Tambah Cron Job"
|
||||
|
||||
msgid "Add DNS Domain"
|
||||
msgstr "Tambah Domain DNS "
|
||||
|
||||
msgid "Add DNS Record"
|
||||
msgstr "Tambah Record DNS"
|
||||
|
||||
msgid "Add Database"
|
||||
msgstr "Tambah Basis Data"
|
||||
|
||||
msgid "Add Mail Account"
|
||||
msgstr "Tambah Pengguna Mail"
|
||||
|
||||
msgid "Add Mail Domain"
|
||||
msgstr "Tambah Domain Mail"
|
||||
|
||||
msgid "Add Package"
|
||||
msgstr "Tambah Paket"
|
||||
|
||||
msgid "Add Rule"
|
||||
msgstr "Tambah Aturan"
|
||||
|
||||
msgid "Add SSH Key"
|
||||
msgstr "Add SSH key"
|
||||
|
||||
msgid "Add User"
|
||||
msgstr "Tambah Pengguna"
|
||||
|
||||
msgid "Add Web Domain"
|
||||
msgstr "Tambah Domain Web"
|
||||
|
||||
msgid "Aliases"
|
||||
msgstr "Alias"
|
||||
|
||||
msgid "An internal error occurred"
|
||||
msgstr "Terjadi kesalahan internal"
|
||||
|
||||
msgid "Application Name"
|
||||
msgstr "Nama Aplikasi"
|
||||
|
||||
msgid "Apply to selected"
|
||||
msgstr "Terapkan untuk yang sudah dipilih"
|
||||
|
||||
msgid "Aug"
|
||||
msgstr "Agu"
|
||||
|
||||
msgid "BACKUP"
|
||||
msgstr "CADANGAN"
|
||||
|
||||
msgid "Back"
|
||||
msgstr "Kembali"
|
||||
|
||||
msgid "Backend Pool Mode"
|
||||
msgstr "Mode Backend Pool"
|
||||
|
||||
msgid "Backend Template"
|
||||
msgstr "Template Backend"
|
||||
|
||||
msgid "Backups"
|
||||
msgstr "Cadangkan"
|
||||
|
||||
msgid "Ban IP Address"
|
||||
msgstr "Blokir Alamat IP"
|
||||
|
||||
msgid "Banlist"
|
||||
msgstr "list blokir"
|
||||
|
||||
msgid "City / Locality"
|
||||
msgstr "Kota"
|
||||
|
||||
msgid "Code has been expired"
|
||||
msgstr "Code telah kedaluwarsa"
|
||||
|
||||
msgid "Command"
|
||||
msgstr "Perintah"
|
||||
|
||||
msgid "Comment"
|
||||
msgstr "Komentar"
|
||||
|
||||
msgid "Configure"
|
||||
msgstr "Konfigurasi"
|
||||
|
||||
msgid "Confirm"
|
||||
msgstr "Konfirmasi"
|
||||
|
||||
msgid "Confirm Password"
|
||||
msgstr "Konfirmasi Kata Sandi"
|
||||
|
||||
msgid "Continue"
|
||||
msgstr "Lanjut"
|
||||
|
||||
msgid "Country"
|
||||
msgstr "Negara"
|
||||
|
||||
msgid "Create Backup"
|
||||
msgstr "Buat Cadangan"
|
||||
|
||||
msgid "DKIM Support"
|
||||
msgstr "Dukungan DKIM"
|
||||
|
||||
msgid "DNS Support"
|
||||
msgstr "Dukungan DNS"
|
||||
|
||||
msgid "DNS Template"
|
||||
msgstr "Template DNS"
|
||||
|
||||
msgid "DROP"
|
||||
msgstr "BLOKIR"
|
||||
|
||||
msgid "Daily"
|
||||
msgstr "Harian"
|
||||
|
||||
msgid "Database"
|
||||
msgstr "Basis Data"
|
||||
|
||||
msgid "Databases"
|
||||
msgstr "Basis Data"
|
||||
|
||||
msgid "Date"
|
||||
msgstr "Tanggal"
|
||||
|
||||
msgid "Day"
|
||||
msgstr "Hari"
|
||||
|
||||
msgid "Dec"
|
||||
msgstr "Des"
|
||||
|
||||
msgid "Default"
|
||||
msgstr "Default"
|
||||
|
||||
msgid "Default Language"
|
||||
msgstr "Standar Bahasa"
|
||||
|
||||
msgid "Default Name Servers"
|
||||
msgstr "Name Servers Standar"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr "Hapus"
|
||||
|
||||
msgid "Directory"
|
||||
msgstr "Direktori"
|
||||
|
||||
msgid "Disk"
|
||||
msgstr "Diska"
|
||||
|
||||
msgid "Do not store forwarded mail"
|
||||
msgstr "Jangan simpan terusan surel"
|
||||
|
||||
msgid "Email Subject"
|
||||
msgstr "Subyek Email"
|
||||
|
||||
msgid "Enter focused element"
|
||||
msgstr "Masuk ke fokus elemen"
|
||||
|
||||
msgid "Expiration Date"
|
||||
msgstr "Tanggal Kadaluarsa"
|
||||
|
||||
msgid "Field \"%s\" can not be blank."
|
||||
msgstr "Field \"%s\" tidak boleh kosong."
|
||||
|
||||
msgid "Focus on search"
|
||||
msgstr "Fokus di pencarian"
|
||||
|
||||
msgid "Forward to"
|
||||
msgstr "Teruskan ke"
|
||||
|
||||
msgid "Friday"
|
||||
msgstr "Jumat"
|
||||
|
||||
msgid "General"
|
||||
msgstr "Umum"
|
||||
|
||||
msgid "Go to BACKUP list"
|
||||
msgstr "Ke BACKUP list"
|
||||
|
||||
msgid "Go to CRON list"
|
||||
msgstr "Ke CRON list"
|
||||
|
||||
msgid "Go to DB list"
|
||||
msgstr "Ke DB list"
|
||||
|
||||
msgid "Go to DNS list"
|
||||
msgstr "Ke DNS list"
|
||||
|
||||
msgid "Go to MAIL list"
|
||||
msgstr "Ke MAIL list"
|
||||
|
||||
msgid "Go to WEB list"
|
||||
msgstr "Ke WEB list"
|
||||
|
||||
msgid ""
|
||||
"Hello {{name}},\n"
|
||||
"\n"
|
||||
"To reset your {{appname}} password, please follow this link:\n"
|
||||
"https://{{hostname}}/reset/?action=confirm&user={{user}}&code={{resetcode}}\n"
|
||||
"\n"
|
||||
"Alternatively, you may go to https://{{hostname}}/reset/?"
|
||||
"action=code&user={{user}} and enter the following reset code:\n"
|
||||
"{{resetcode}}\n"
|
||||
"\n"
|
||||
"If you did not request password reset, please ignore this message and accept "
|
||||
"our apologies.\n"
|
||||
"\n"
|
||||
"Best regards,\n"
|
||||
"\n"
|
||||
"--\n"
|
||||
"{{appname}}"
|
||||
msgstr ""
|
||||
"Hello {{name}},\n"
|
||||
"\n"
|
||||
"Untuk reset {{appname}} password anda, silakan klik link ini:\n"
|
||||
"https://{{hostname}}/reset/?action=confirm&user={{user}}&code={{resetcode}}\n"
|
||||
"\n"
|
||||
"Alternatif lain, silakan menuju https://{{hostname}}/reset/?"
|
||||
"action=code&user={{user}} dan masukkan reset code berikut:\n"
|
||||
"{{resetcode}}\n"
|
||||
"\n"
|
||||
"Jika anda tidak mengajukan reset password, silakan abaikan pesan ini dan "
|
||||
"maaf atas ketidaknyamanannya.\n"
|
||||
"\n"
|
||||
"Salam,\n"
|
||||
"\n"
|
||||
"--\n"
|
||||
"{{appname}}"
|
||||
|
||||
msgid "Hostname"
|
||||
msgstr "Nama Host"
|
||||
|
||||
msgid "Hour"
|
||||
msgstr "Jam"
|
||||
|
||||
msgid "Hourly"
|
||||
msgstr "Perhari"
|
||||
|
||||
msgid "IP Address"
|
||||
msgstr "Alamat IP"
|
||||
|
||||
msgid "IP or Value"
|
||||
msgstr "Alamat IP atau Nilai"
|
||||
|
||||
msgid "Interface"
|
||||
msgstr "Antarmuka"
|
||||
|
||||
msgid "Invalid username or code"
|
||||
msgstr "Kode atau nama pengguna salah"
|
||||
|
||||
msgid "Invalid username or password"
|
||||
msgstr "Nama pengguna atau kata sandi salah"
|
||||
|
||||
msgid "Language"
|
||||
msgstr "Bahasa"
|
||||
|
||||
msgid "Last 70 lines of %s.%s.log"
|
||||
msgstr "70 baris terakhir dari %s.%s.log"
|
||||
|
||||
msgid "Load Average"
|
||||
msgstr "Rata2 Pemuatan"
|
||||
|
||||
msgid "Log in"
|
||||
msgstr "Masuk"
|
||||
|
||||
msgid "Log out"
|
||||
msgstr "Keluar"
|
||||
|
||||
msgid "Mail Accounts"
|
||||
msgstr "Akun mail"
|
||||
|
||||
msgid "Mail Support"
|
||||
msgstr "Dukungan Mail"
|
||||
|
||||
msgid "May"
|
||||
msgstr "Mei"
|
||||
|
||||
msgid "Memory"
|
||||
msgstr "Memori"
|
||||
|
||||
msgid "Message"
|
||||
msgstr "Pesan"
|
||||
|
||||
msgid "Minute"
|
||||
msgstr "Menit"
|
||||
|
||||
msgid "Minutes"
|
||||
msgstr "Permenit"
|
||||
|
||||
msgid "Monday"
|
||||
msgstr "Senin"
|
||||
|
||||
msgid "Month"
|
||||
msgstr "Bulan"
|
||||
|
||||
msgid "Monthly"
|
||||
msgstr "Bulanan"
|
||||
|
||||
msgid "Move backward through top menu"
|
||||
msgstr "Pindah ke sebelumnya lewat menu atas"
|
||||
|
||||
msgid "Move forward through top menu"
|
||||
msgstr "Pindah ke setelahnya lewat menu atas"
|
||||
|
||||
msgid "New Password"
|
||||
msgstr "Kata Sandi Baru"
|
||||
|
||||
msgid "No"
|
||||
msgstr "Tidak"
|
||||
|
||||
msgid "No encryption"
|
||||
msgstr "tidak ada enkripsi"
|
||||
|
||||
msgid "Normal password"
|
||||
msgstr "kata sandi"
|
||||
|
||||
msgid "Oct"
|
||||
msgstr "Okt"
|
||||
|
||||
msgid "Operating System"
|
||||
msgstr "Sistem operasi"
|
||||
|
||||
msgid "Organization"
|
||||
msgstr "Organisasi"
|
||||
|
||||
msgid "Overall Statistics"
|
||||
msgstr "Seluruh Statistik"
|
||||
|
||||
msgid "Owner"
|
||||
msgstr "Pemilik"
|
||||
|
||||
msgid "Package"
|
||||
msgstr "Paket"
|
||||
|
||||
msgid "Package Name"
|
||||
msgstr "Nama Paket"
|
||||
|
||||
msgid "Packages"
|
||||
msgstr "Paket"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "Kata sandi"
|
||||
|
||||
msgid "Password Reset at %s"
|
||||
msgstr "Reset Password di %s"
|
||||
|
||||
msgid ""
|
||||
"Password reset instructions have been sent to the email address associated "
|
||||
"with this account."
|
||||
msgstr ""
|
||||
"Instruksi reset password telah dikirimkan ke email yang terdaftar pada akun "
|
||||
"ini."
|
||||
|
||||
msgid "Passwords do not match"
|
||||
msgstr "Kata sandi tidak cocok"
|
||||
|
||||
msgid "Please wait 15 minutes before sending a new request."
|
||||
msgstr "Mohon tunggu 15 menit sebelum mengajukan permintaan baru."
|
||||
|
||||
msgid "Priority"
|
||||
msgstr "Prioritas"
|
||||
|
||||
msgid "Protocol"
|
||||
msgstr "Protokol"
|
||||
|
||||
msgid "Proxy Extensions"
|
||||
msgstr "Ekstensi Proxy"
|
||||
|
||||
msgid "Proxy Support"
|
||||
msgstr "Dukungan Proxy"
|
||||
|
||||
msgid "Proxy Template"
|
||||
msgstr "Template Proxy"
|
||||
|
||||
msgid "Quota"
|
||||
msgstr "Kuota"
|
||||
|
||||
msgid "Release"
|
||||
msgstr "Rilis"
|
||||
|
||||
msgid "Reset Code"
|
||||
msgstr "Reset Kode"
|
||||
|
||||
msgid "Restore All"
|
||||
msgstr "Kembalikan Semua"
|
||||
|
||||
msgid "Run Command"
|
||||
msgstr "Jalankan Perintah"
|
||||
|
||||
msgid "SSH Access"
|
||||
msgstr "Akses SSH"
|
||||
|
||||
msgid "SSL Certificate"
|
||||
msgstr "Sertifikat SSL"
|
||||
|
||||
msgid "SSL Certificate Authority / Intermediate"
|
||||
msgstr "Otoritas Sertifikat SSL / Menengah"
|
||||
|
||||
msgid "Saturday"
|
||||
msgstr "Sabtu"
|
||||
|
||||
msgid "Save"
|
||||
msgstr "Simpan"
|
||||
|
||||
msgid "Search"
|
||||
msgstr "Cari"
|
||||
|
||||
msgid "Search Results"
|
||||
msgstr "Hasil Pencarian"
|
||||
|
||||
msgid "Send FTP credentials to email"
|
||||
msgstr "Kirim kredensial FTP ke email"
|
||||
|
||||
msgid "Sender Email Address"
|
||||
msgstr "Alamat Email Pengirim"
|
||||
|
||||
msgid "Sender Name"
|
||||
msgstr "Nama Pengirim"
|
||||
|
||||
msgid "Shortcuts"
|
||||
msgstr "Pintasan"
|
||||
|
||||
msgid "Show Per User"
|
||||
msgstr "Tampilkan tiap User"
|
||||
|
||||
msgid "State / Province"
|
||||
msgstr "Provinsi"
|
||||
|
||||
msgid "Statistics"
|
||||
msgstr "Statistik"
|
||||
|
||||
msgid "Statistics Authorization"
|
||||
msgstr "Statistik Otoritas"
|
||||
|
||||
msgid "Stop \"%s\" failed"
|
||||
msgstr "Berhenti \"%s\" gagal"
|
||||
|
||||
msgid "Sunday"
|
||||
msgstr "Minggu"
|
||||
|
||||
msgid "Supported variables"
|
||||
msgstr "Variabel yang didukung"
|
||||
|
||||
msgid ""
|
||||
"Task has been added to the queue. You will receive an email notification "
|
||||
"when your backup is ready for download."
|
||||
msgstr ""
|
||||
"Task telah ditambahkan dalam antrian. Anda akan menerima email notifikasi "
|
||||
"apabila proses backup telah siap untuk diunduh."
|
||||
|
||||
msgid ""
|
||||
"Task has been added to the queue. You will receive an email notification "
|
||||
"when your restore has been completed."
|
||||
msgstr ""
|
||||
"Task telah ditambahkan dalam antrian. Anda akan menerima email notifikasi "
|
||||
"apabila proses restore telah selesai."
|
||||
|
||||
msgid "Theme"
|
||||
msgstr "Penampilan"
|
||||
|
||||
msgid "Thursday"
|
||||
msgstr "Kamis"
|
||||
|
||||
msgid "Time Zone"
|
||||
msgstr "Zona Waktu"
|
||||
|
||||
msgid "Title"
|
||||
msgstr "Judul"
|
||||
|
||||
msgid "Tuesday"
|
||||
msgstr "Selasa"
|
||||
|
||||
msgid "Type"
|
||||
msgstr "Jenis"
|
||||
|
||||
msgid "USER"
|
||||
msgstr "PENGGUNA"
|
||||
|
||||
msgid "Updates"
|
||||
msgstr "Perbarui"
|
||||
|
||||
msgid "User"
|
||||
msgstr "Pengguna"
|
||||
|
||||
msgid "Username"
|
||||
msgstr "Nama Pengguna"
|
||||
|
||||
msgid "Version"
|
||||
msgstr "Versi"
|
||||
|
||||
msgid "Web Statistics"
|
||||
msgstr "Statistik Web"
|
||||
|
||||
msgid "Web Template"
|
||||
msgstr "Template Web"
|
||||
|
||||
msgid "Wednesday"
|
||||
msgstr "Rabu"
|
||||
|
||||
msgid "Weekly"
|
||||
msgstr "Mingguan"
|
||||
|
||||
msgid "Welcome"
|
||||
msgstr "Selamat Datang"
|
||||
|
||||
msgid "Yearly"
|
||||
msgstr "Tahunan"
|
||||
|
||||
msgid "Yes"
|
||||
msgstr "Ya"
|
||||
|
||||
msgid "one or more email addresses"
|
||||
msgstr "satu atau lebih alamat email"
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,581 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: hestiacp\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2023-07-06 11:26\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"Language: ko_KR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Crowdin-Project: hestiacp\n"
|
||||
"X-Crowdin-Project-ID: 587405\n"
|
||||
"X-Crowdin-Language: ko\n"
|
||||
"X-Crowdin-File: hestiacp.pot\n"
|
||||
"X-Crowdin-File-ID: 3\n"
|
||||
|
||||
msgid "2FA Reset Code"
|
||||
msgstr "Account Recovery Code"
|
||||
|
||||
msgid "2FA Token"
|
||||
msgstr "OTP PIN"
|
||||
|
||||
msgid "ACCEPT"
|
||||
msgstr "허용"
|
||||
|
||||
msgid "Account"
|
||||
msgstr "계정"
|
||||
|
||||
msgid "Accounts"
|
||||
msgstr "계정"
|
||||
|
||||
msgid "Action"
|
||||
msgstr "동작"
|
||||
|
||||
msgid "Add Cron Job"
|
||||
msgstr "Cron 작업 추가"
|
||||
|
||||
msgid "Add DNS Domain"
|
||||
msgstr "DNS 도메인 추가"
|
||||
|
||||
msgid "Add DNS Record"
|
||||
msgstr "DNS 레코드 추가"
|
||||
|
||||
msgid "Add Database"
|
||||
msgstr "데이터베이스 추가"
|
||||
|
||||
msgid "Add Mail Account"
|
||||
msgstr "메일 계정 추가"
|
||||
|
||||
msgid "Add Mail Domain"
|
||||
msgstr "메일 도메인 추가"
|
||||
|
||||
msgid "Add Package"
|
||||
msgstr "패키지 추가"
|
||||
|
||||
msgid "Add Rule"
|
||||
msgstr "규칙 추가"
|
||||
|
||||
msgid "Add SSH Key"
|
||||
msgstr "Add SSH key"
|
||||
|
||||
msgid "Add User"
|
||||
msgstr "사용자 추가"
|
||||
|
||||
msgid "Add Web Domain"
|
||||
msgstr "웹 도메인 추가"
|
||||
|
||||
msgid "Aliases"
|
||||
msgstr "별칭"
|
||||
|
||||
msgid "Apr"
|
||||
msgstr "4월"
|
||||
|
||||
msgid "Aug"
|
||||
msgstr "8월"
|
||||
|
||||
msgid "BACKUP"
|
||||
msgstr "백업"
|
||||
|
||||
msgid "Back"
|
||||
msgstr "뒤로"
|
||||
|
||||
msgid "Backend Pool Mode"
|
||||
msgstr "백엔드 풀 모드"
|
||||
|
||||
msgid "Backend Server"
|
||||
msgstr "백엔드 서버"
|
||||
|
||||
msgid "Backend Template"
|
||||
msgstr "백엔드 템플릿"
|
||||
|
||||
msgid "Backups"
|
||||
msgstr "백업"
|
||||
|
||||
msgid "Ban IP Address"
|
||||
msgstr "IP 주소 차단"
|
||||
|
||||
msgid "Bandwidth"
|
||||
msgstr "대역폭"
|
||||
|
||||
msgid "Banlist"
|
||||
msgstr "차단 목록"
|
||||
|
||||
msgid "Charset"
|
||||
msgstr "캐릭터셋"
|
||||
|
||||
msgid "City / Locality"
|
||||
msgstr "시 / 지역"
|
||||
|
||||
msgid "Command"
|
||||
msgstr "명령어"
|
||||
|
||||
msgid "Comment"
|
||||
msgstr "댓글"
|
||||
|
||||
msgid "Compression"
|
||||
msgstr "압축"
|
||||
|
||||
msgid "Configure"
|
||||
msgstr "구성"
|
||||
|
||||
msgid "Confirm"
|
||||
msgstr "확인"
|
||||
|
||||
msgid "Confirm Password"
|
||||
msgstr "비밀번호 확인"
|
||||
|
||||
msgid "Country"
|
||||
msgstr "국가"
|
||||
|
||||
msgid "Create Backup"
|
||||
msgstr "백업 생성"
|
||||
|
||||
msgid "Cron Jobs"
|
||||
msgstr "Cron 작업"
|
||||
|
||||
msgid "DB"
|
||||
msgstr "데이터베이스"
|
||||
|
||||
msgid "DKIM Support"
|
||||
msgstr "DKIM 지원"
|
||||
|
||||
msgid "DNS Cluster"
|
||||
msgstr "DNS 클러스터"
|
||||
|
||||
msgid "DNS Server"
|
||||
msgstr "DNS 서버"
|
||||
|
||||
msgid "DNS Support"
|
||||
msgstr "DNS 지원"
|
||||
|
||||
msgid "DNS Template"
|
||||
msgstr "DNS 템플릿"
|
||||
|
||||
msgid "DROP"
|
||||
msgstr "드롭"
|
||||
|
||||
msgid "Daily"
|
||||
msgstr "매일"
|
||||
|
||||
msgid "Database"
|
||||
msgstr "데이터베이스"
|
||||
|
||||
msgid "Databases"
|
||||
msgstr "데이터베이스"
|
||||
|
||||
msgid "Date"
|
||||
msgstr "날짜"
|
||||
|
||||
msgid "Day"
|
||||
msgstr "일"
|
||||
|
||||
msgid "Dec"
|
||||
msgstr "12월"
|
||||
|
||||
msgid "Default Language"
|
||||
msgstr "기본 언어"
|
||||
|
||||
msgid "Default Name Servers"
|
||||
msgstr "기본 네임 서버"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr "삭제"
|
||||
|
||||
msgid "Directory"
|
||||
msgstr "폴더"
|
||||
|
||||
msgid "Disk"
|
||||
msgstr "디스크"
|
||||
|
||||
msgid "Do not store forwarded mail"
|
||||
msgstr "전달한 메일을 저장하지 않기"
|
||||
|
||||
msgid "Domain"
|
||||
msgstr "도메인"
|
||||
|
||||
msgid "Domains"
|
||||
msgstr "도메인"
|
||||
|
||||
msgid "Email"
|
||||
msgstr "이메일"
|
||||
|
||||
msgid "Enter focused element"
|
||||
msgstr "포커스 된 요소에 진입"
|
||||
|
||||
msgid "Expiration Date"
|
||||
msgstr "만료일"
|
||||
|
||||
msgid "Expire"
|
||||
msgstr "만료"
|
||||
|
||||
msgid "Feb"
|
||||
msgstr "2월"
|
||||
|
||||
msgid "Field \"%s\" can not be blank."
|
||||
msgstr "\"%s\" 필드는 비워 둘 수 없습니다."
|
||||
|
||||
msgid "Firewall"
|
||||
msgstr "방화벽"
|
||||
|
||||
msgid "Focus on search"
|
||||
msgstr "검색에 포커스"
|
||||
|
||||
msgid "Forward to"
|
||||
msgstr "다음으로 전달"
|
||||
|
||||
msgid "Friday"
|
||||
msgstr "금요일"
|
||||
|
||||
msgid "Go to BACKUP list"
|
||||
msgstr "백업 목록으로 가기"
|
||||
|
||||
msgid "Go to CRON list"
|
||||
msgstr "CRON 목록으로 가기"
|
||||
|
||||
msgid "Go to DB list"
|
||||
msgstr "DB 목록으로 가기"
|
||||
|
||||
msgid "Go to DNS list"
|
||||
msgstr "DNS 목록으로 가기"
|
||||
|
||||
msgid "Go to MAIL list"
|
||||
msgstr "MAIL 목록으로 가기"
|
||||
|
||||
msgid "Go to WEB list"
|
||||
msgstr "웹 목록으로 가기"
|
||||
|
||||
msgid "Hostname"
|
||||
msgstr "호스트명"
|
||||
|
||||
msgid "Hour"
|
||||
msgstr "시간"
|
||||
|
||||
msgid "Hourly"
|
||||
msgstr "매시"
|
||||
|
||||
msgid "IP Address"
|
||||
msgstr "IP 주소"
|
||||
|
||||
msgid "IP or Value"
|
||||
msgstr "IP 또는 값"
|
||||
|
||||
msgid "Interface"
|
||||
msgstr "인터페이스"
|
||||
|
||||
msgid "Invalid username or code"
|
||||
msgstr "사용자 이름 또는 코드가 올바르지 않습니다."
|
||||
|
||||
msgid "Invalid username or password"
|
||||
msgstr "사용자 이름 또는 비밀번호가 올바르지 않습니다."
|
||||
|
||||
msgid "Jan"
|
||||
msgstr "1월"
|
||||
|
||||
msgid "Jul"
|
||||
msgstr "7월"
|
||||
|
||||
msgid "Jun"
|
||||
msgstr "6월"
|
||||
|
||||
msgid "Language"
|
||||
msgstr "언어"
|
||||
|
||||
msgid "Last 70 lines of %s.%s.log"
|
||||
msgstr "%s.%s.log의 마지막 70개 줄"
|
||||
|
||||
msgid "Load Average"
|
||||
msgstr "평균 로드"
|
||||
|
||||
msgid "Log in"
|
||||
msgstr "로그인"
|
||||
|
||||
msgid "Log out"
|
||||
msgstr "로그아웃"
|
||||
|
||||
msgid "Login screen style"
|
||||
msgstr "로그인 화면 스타일"
|
||||
|
||||
msgid "MAIL"
|
||||
msgstr "메일"
|
||||
|
||||
msgid "Mail"
|
||||
msgstr "메일"
|
||||
|
||||
msgid "Mail Accounts"
|
||||
msgstr "메일 계정"
|
||||
|
||||
msgid "Mail Domains"
|
||||
msgstr "메일 도메인"
|
||||
|
||||
msgid "Mail Support"
|
||||
msgstr "Mail 지원"
|
||||
|
||||
msgid "Mar"
|
||||
msgstr "3월"
|
||||
|
||||
msgid "May"
|
||||
msgstr "5월"
|
||||
|
||||
msgid "Memory"
|
||||
msgstr "메모리"
|
||||
|
||||
msgid "Message"
|
||||
msgstr "메시지"
|
||||
|
||||
msgid "Minute"
|
||||
msgstr "분"
|
||||
|
||||
msgid "Minutes"
|
||||
msgstr "분"
|
||||
|
||||
msgid "Monday"
|
||||
msgstr "월요일"
|
||||
|
||||
msgid "Month"
|
||||
msgstr "개월"
|
||||
|
||||
msgid "Monthly"
|
||||
msgstr "매달"
|
||||
|
||||
msgid "Move backward through top menu"
|
||||
msgstr "상단 메뉴 뒤로 이동"
|
||||
|
||||
msgid "Move down through elements list"
|
||||
msgstr "요소 목록 아래로 이동"
|
||||
|
||||
msgid "Move forward through top menu"
|
||||
msgstr "상단 메뉴 앞으로 이동"
|
||||
|
||||
msgid "Move up through elements list"
|
||||
msgstr "요소 목록 위로 이동"
|
||||
|
||||
msgid "MySQL Support"
|
||||
msgstr "MySQL 지원"
|
||||
|
||||
msgid "Netmask"
|
||||
msgstr "넷마스크"
|
||||
|
||||
msgid "New Password"
|
||||
msgstr "새 비밀번호"
|
||||
|
||||
msgid "No encryption"
|
||||
msgstr "암호화 없음"
|
||||
|
||||
msgid "Normal password"
|
||||
msgstr "일반 비밀번호"
|
||||
|
||||
msgid "Nov"
|
||||
msgstr "11월"
|
||||
|
||||
msgid "Oct"
|
||||
msgstr "10월"
|
||||
|
||||
msgid "Old Style"
|
||||
msgstr "예전 스타일"
|
||||
|
||||
msgid "Operating System"
|
||||
msgstr "운영 체제"
|
||||
|
||||
msgid "Organization"
|
||||
msgstr "기관"
|
||||
|
||||
msgid "Overall Statistics"
|
||||
msgstr "전체 통계"
|
||||
|
||||
msgid "Owner"
|
||||
msgstr "소유자"
|
||||
|
||||
msgid "Package"
|
||||
msgstr "패키지"
|
||||
|
||||
msgid "Package Name"
|
||||
msgstr "패키지 이름"
|
||||
|
||||
msgid "Packages"
|
||||
msgstr "패키지"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "비밀번호"
|
||||
|
||||
msgid "Path"
|
||||
msgstr "경로"
|
||||
|
||||
msgid "Port"
|
||||
msgstr "포트"
|
||||
|
||||
msgid "PostgreSQL Support"
|
||||
msgstr "PostgreSQL 지원"
|
||||
|
||||
msgid "Priority"
|
||||
msgstr "중요도"
|
||||
|
||||
msgid "Protocol"
|
||||
msgstr "프로토콜"
|
||||
|
||||
msgid "Proxy Extensions"
|
||||
msgstr "프록시 확장"
|
||||
|
||||
msgid "Proxy Server"
|
||||
msgstr "프록시 서버"
|
||||
|
||||
msgid "Proxy Support"
|
||||
msgstr "프록시 지원"
|
||||
|
||||
msgid "Proxy Template"
|
||||
msgstr "프록시 템플릿"
|
||||
|
||||
msgid "Quota"
|
||||
msgstr "한도"
|
||||
|
||||
msgid "Record"
|
||||
msgstr "기록"
|
||||
|
||||
msgid "Records"
|
||||
msgstr "기록"
|
||||
|
||||
msgid "Release"
|
||||
msgstr "릴리즈"
|
||||
|
||||
msgid "Reset"
|
||||
msgstr "초기화"
|
||||
|
||||
msgid "Reset Code"
|
||||
msgstr "초기화 코드"
|
||||
|
||||
msgid "Restore All"
|
||||
msgstr "모두 복구"
|
||||
|
||||
msgid "Run Command"
|
||||
msgstr "명령 실행"
|
||||
|
||||
msgid "SSH Access"
|
||||
msgstr "SSH 접근"
|
||||
|
||||
msgid "SSL Certificate"
|
||||
msgstr "SSL 인증서"
|
||||
|
||||
msgid "SSL Certificate Authority / Intermediate"
|
||||
msgstr "SSL 인증서 발급자"
|
||||
|
||||
msgid "Saturday"
|
||||
msgstr "토요일"
|
||||
|
||||
msgid "Save"
|
||||
msgstr "저장"
|
||||
|
||||
msgid "Search Results"
|
||||
msgstr "검색 결과"
|
||||
|
||||
msgid "Security"
|
||||
msgstr "보안"
|
||||
|
||||
msgid "Send FTP credentials to email"
|
||||
msgstr "이메일로 FTP 정보를 보내기"
|
||||
|
||||
msgid "Sep"
|
||||
msgstr "9월"
|
||||
|
||||
msgid "Shared"
|
||||
msgstr "공유된"
|
||||
|
||||
msgid "Shortcuts"
|
||||
msgstr "바로가기"
|
||||
|
||||
msgid "State / Province"
|
||||
msgstr "주 / 도"
|
||||
|
||||
msgid "Statistics"
|
||||
msgstr "통계"
|
||||
|
||||
msgid "Statistics Authorization"
|
||||
msgstr "통계 인증"
|
||||
|
||||
msgid "Status"
|
||||
msgstr "상태"
|
||||
|
||||
msgid "Submit"
|
||||
msgstr "등록"
|
||||
|
||||
msgid "Sunday"
|
||||
msgstr "일요일"
|
||||
|
||||
msgid "Template"
|
||||
msgstr "템플릿"
|
||||
|
||||
msgid "The system is going down for reboot NOW!"
|
||||
msgstr "시스템이 지금 재시작 합니다!"
|
||||
|
||||
msgid "Theme"
|
||||
msgstr "모양을"
|
||||
|
||||
msgid "Thursday"
|
||||
msgstr "목요일"
|
||||
|
||||
msgid "Time Zone"
|
||||
msgstr "시간대"
|
||||
|
||||
msgid "Tuesday"
|
||||
msgstr "화요일"
|
||||
|
||||
msgid "Type"
|
||||
msgstr "유형"
|
||||
|
||||
msgid "USER"
|
||||
msgstr "사용자"
|
||||
|
||||
msgid "Updates"
|
||||
msgstr "업데이트"
|
||||
|
||||
msgid "Uptime"
|
||||
msgstr "가동 시간"
|
||||
|
||||
msgid "User"
|
||||
msgstr "사용자"
|
||||
|
||||
msgid "Username"
|
||||
msgstr "사용자 이름"
|
||||
|
||||
msgid "Version"
|
||||
msgstr "버전"
|
||||
|
||||
msgid "WEB"
|
||||
msgstr "웹"
|
||||
|
||||
msgid "Web"
|
||||
msgstr "웹"
|
||||
|
||||
msgid "Web Aliases"
|
||||
msgstr "웹 별칭"
|
||||
|
||||
msgid "Web Domains"
|
||||
msgstr "웹 템플릿"
|
||||
|
||||
msgid "Web Server"
|
||||
msgstr "웹 서버"
|
||||
|
||||
msgid "Web Statistics"
|
||||
msgstr "웹 통계"
|
||||
|
||||
msgid "Web Template"
|
||||
msgstr "웹 템플릿"
|
||||
|
||||
msgid "Wednesday"
|
||||
msgstr "수요일"
|
||||
|
||||
msgid "Weekly"
|
||||
msgstr "매주"
|
||||
|
||||
msgid "Welcome"
|
||||
msgstr "환영합니다"
|
||||
|
||||
msgid "Yearly"
|
||||
msgstr "매년"
|
||||
|
||||
msgid "one or more email addresses"
|
||||
msgstr "하나의 또는 그 이상의 이메일 주소"
|
||||
|
||||
msgid "per domain"
|
||||
msgstr "도메인 마다"
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,365 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: hestiacp\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2023-07-06 11:26\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Norwegian\n"
|
||||
"Language: no_NO\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: hestiacp\n"
|
||||
"X-Crowdin-Project-ID: 587405\n"
|
||||
"X-Crowdin-Language: no\n"
|
||||
"X-Crowdin-File: hestiacp.pot\n"
|
||||
"X-Crowdin-File-ID: 3\n"
|
||||
|
||||
msgid "2FA Reset Code"
|
||||
msgstr "Account Recovery Code"
|
||||
|
||||
msgid "2FA Token"
|
||||
msgstr "OTP PIN"
|
||||
|
||||
msgid "Account"
|
||||
msgstr "Konto"
|
||||
|
||||
msgid "Accounts"
|
||||
msgstr "Kontoer"
|
||||
|
||||
msgid "Action"
|
||||
msgstr "Handling"
|
||||
|
||||
msgid "Add Cron Job"
|
||||
msgstr "Legg til Cron Job"
|
||||
|
||||
msgid "Add DNS Domain"
|
||||
msgstr "Legg til DNS Domene"
|
||||
|
||||
msgid "Add DNS Record"
|
||||
msgstr "Legg til DNS Oppslag"
|
||||
|
||||
msgid "Add Database"
|
||||
msgstr "Legg til Database"
|
||||
|
||||
msgid "Add Mail Account"
|
||||
msgstr "Legg til E-post Konto"
|
||||
|
||||
msgid "Add Mail Domain"
|
||||
msgstr "Legg til Mail Domene"
|
||||
|
||||
msgid "Add Package"
|
||||
msgstr "Legg til Pakke"
|
||||
|
||||
msgid "Add Rule"
|
||||
msgstr "Legg til regel"
|
||||
|
||||
msgid "Add SSH Key"
|
||||
msgstr "Add SSH key"
|
||||
|
||||
msgid "Add User"
|
||||
msgstr "Legg til Bruker"
|
||||
|
||||
msgid "Add Web Domain"
|
||||
msgstr "Legg til Web Domene"
|
||||
|
||||
msgid "Aliases"
|
||||
msgstr "Aliaser"
|
||||
|
||||
msgid "Back"
|
||||
msgstr "Tilbake"
|
||||
|
||||
msgid "Backend Template"
|
||||
msgstr "Backend Mal"
|
||||
|
||||
msgid "Backups"
|
||||
msgstr "Backuper"
|
||||
|
||||
msgid "Ban IP Address"
|
||||
msgstr "Blokkere IP"
|
||||
|
||||
msgid "Bandwidth"
|
||||
msgstr "Båndbredde"
|
||||
|
||||
msgid "Banlist"
|
||||
msgstr "Blokkeringsliste"
|
||||
|
||||
msgid "City / Locality"
|
||||
msgstr "By / Beliggenhet"
|
||||
|
||||
msgid "Command"
|
||||
msgstr "Kommando"
|
||||
|
||||
msgid "Comment"
|
||||
msgstr "Kommentar"
|
||||
|
||||
msgid "Configure"
|
||||
msgstr "Konfigurer"
|
||||
|
||||
msgid "Confirm"
|
||||
msgstr "Bekkreft"
|
||||
|
||||
msgid "Confirm Password"
|
||||
msgstr "Bekreft Passord"
|
||||
|
||||
msgid "Country"
|
||||
msgstr "Land"
|
||||
|
||||
msgid "Create Backup"
|
||||
msgstr "Lag Backup"
|
||||
|
||||
msgid "Cron Jobs"
|
||||
msgstr "Cron Jobber"
|
||||
|
||||
msgid "DKIM Support"
|
||||
msgstr "DKIM Støtte"
|
||||
|
||||
msgid "DNS Support"
|
||||
msgstr "DNS Støtte"
|
||||
|
||||
msgid "DNS Template"
|
||||
msgstr "DNS Mal"
|
||||
|
||||
msgid "Daily"
|
||||
msgstr "Daglig"
|
||||
|
||||
msgid "Databases"
|
||||
msgstr "Databaser"
|
||||
|
||||
msgid "Day"
|
||||
msgstr "Dag"
|
||||
|
||||
msgid "Default Name Servers"
|
||||
msgstr "Standard Navneserver"
|
||||
|
||||
msgid "Do not store forwarded mail"
|
||||
msgstr "Ikkje lagre videresendt e-post"
|
||||
|
||||
msgid "Domain"
|
||||
msgstr "Domene"
|
||||
|
||||
msgid "Domains"
|
||||
msgstr "Domener"
|
||||
|
||||
msgid "Email"
|
||||
msgstr "E-post"
|
||||
|
||||
msgid "Expiration Date"
|
||||
msgstr "Utløpsdato"
|
||||
|
||||
msgid "Expire"
|
||||
msgstr "Utløper"
|
||||
|
||||
msgid "Field \"%s\" can not be blank."
|
||||
msgstr "felt \"%s\" kan ikkje vere blankt."
|
||||
|
||||
msgid "Firewall"
|
||||
msgstr "Brannmur"
|
||||
|
||||
msgid "Forward to"
|
||||
msgstr "Videresend til"
|
||||
|
||||
msgid "Hour"
|
||||
msgstr "Time"
|
||||
|
||||
msgid "IP or Value"
|
||||
msgstr "IP eller Verdi"
|
||||
|
||||
msgid "Invalid username or code"
|
||||
msgstr "Ugyldig brukernavn eller kode"
|
||||
|
||||
msgid "Invalid username or password"
|
||||
msgstr "Ugyldig brukernavn eller passord"
|
||||
|
||||
msgid "Language"
|
||||
msgstr "Språk"
|
||||
|
||||
msgid "Last 70 lines of %s.%s.log"
|
||||
msgstr "Siste 70 linjer av %s.%s.log"
|
||||
|
||||
msgid "Load Average"
|
||||
msgstr "Snittlast"
|
||||
|
||||
msgid "Log in"
|
||||
msgstr "Logg inn"
|
||||
|
||||
msgid "Log out"
|
||||
msgstr "Logg ut"
|
||||
|
||||
msgid "MAIL"
|
||||
msgstr "E-POST"
|
||||
|
||||
msgid "Mail"
|
||||
msgstr "E-post"
|
||||
|
||||
msgid "Mail Accounts"
|
||||
msgstr "E-post Kontoer"
|
||||
|
||||
msgid "Mail Domains"
|
||||
msgstr "E-post Domene"
|
||||
|
||||
msgid "Mail Support"
|
||||
msgstr "Mail Støtte"
|
||||
|
||||
msgid "Memory"
|
||||
msgstr "Minne"
|
||||
|
||||
msgid "Message"
|
||||
msgstr "Melding"
|
||||
|
||||
msgid "Minute"
|
||||
msgstr "Minutt"
|
||||
|
||||
msgid "Month"
|
||||
msgstr "Månde"
|
||||
|
||||
msgid "Monthly"
|
||||
msgstr "Månedlig"
|
||||
|
||||
msgid "Netmask"
|
||||
msgstr "Netmaske"
|
||||
|
||||
msgid "New Password"
|
||||
msgstr "Nytt Passord"
|
||||
|
||||
msgid "Operating System"
|
||||
msgstr "Operativsystemet"
|
||||
|
||||
msgid "Organization"
|
||||
msgstr "Organisasjon"
|
||||
|
||||
msgid "Overall Statistics"
|
||||
msgstr "Samlet statistikk"
|
||||
|
||||
msgid "Owner"
|
||||
msgstr "Eiger"
|
||||
|
||||
msgid "Package"
|
||||
msgstr "Pakke"
|
||||
|
||||
msgid "Package Name"
|
||||
msgstr "Pakke Navn"
|
||||
|
||||
msgid "Packages"
|
||||
msgstr "Pakker"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "Passord"
|
||||
|
||||
msgid "Priority"
|
||||
msgstr "Prioritet"
|
||||
|
||||
msgid "Protocol"
|
||||
msgstr "Protokoll"
|
||||
|
||||
msgid "Proxy Extensions"
|
||||
msgstr "Proxy Utvidelser"
|
||||
|
||||
msgid "Proxy Support"
|
||||
msgstr "Proxy Støtte"
|
||||
|
||||
msgid "Proxy Template"
|
||||
msgstr "Proxy Mal"
|
||||
|
||||
msgid "Quota"
|
||||
msgstr "Kvote"
|
||||
|
||||
msgid "Record"
|
||||
msgstr "Oppslag"
|
||||
|
||||
msgid "Records"
|
||||
msgstr "Oppslag"
|
||||
|
||||
msgid "Release"
|
||||
msgstr "Utgivelse"
|
||||
|
||||
msgid "Reset Code"
|
||||
msgstr "Reset Kode"
|
||||
|
||||
msgid "Restore All"
|
||||
msgstr "Gjenopprett Alle"
|
||||
|
||||
msgid "SSH Access"
|
||||
msgstr "SSH Tilgang"
|
||||
|
||||
msgid "SSL Certificate"
|
||||
msgstr "SSL Sertifikat"
|
||||
|
||||
msgid "Save"
|
||||
msgstr "Lagre"
|
||||
|
||||
msgid "Search Results"
|
||||
msgstr "Søkeresultat"
|
||||
|
||||
msgid "Send FTP credentials to email"
|
||||
msgstr "Send FTP påloggingsinformasjon til E-posten"
|
||||
|
||||
msgid "Shared"
|
||||
msgstr "Delt"
|
||||
|
||||
msgid "State / Province"
|
||||
msgstr "Stat / Provins"
|
||||
|
||||
msgid "Statistics"
|
||||
msgstr "Statistikk"
|
||||
|
||||
msgid "Statistics Authorization"
|
||||
msgstr "Statistikks-Autorisasjon"
|
||||
|
||||
msgid "Submit"
|
||||
msgstr "Send"
|
||||
|
||||
msgid "Template"
|
||||
msgstr "Mal"
|
||||
|
||||
msgid "Theme"
|
||||
msgstr "Utseende"
|
||||
|
||||
msgid "USER"
|
||||
msgstr "BRUKER"
|
||||
|
||||
msgid "Updates"
|
||||
msgstr "Oppdateringer"
|
||||
|
||||
msgid "Uptime"
|
||||
msgstr "Oppetid"
|
||||
|
||||
msgid "User"
|
||||
msgstr "Bruker"
|
||||
|
||||
msgid "Username"
|
||||
msgstr "Brukernavn"
|
||||
|
||||
msgid "Version"
|
||||
msgstr "Versjon"
|
||||
|
||||
msgid "Web Aliases"
|
||||
msgstr "Web Aliaser"
|
||||
|
||||
msgid "Web Domains"
|
||||
msgstr "Web Domene"
|
||||
|
||||
msgid "Web Statistics"
|
||||
msgstr "Web Statistikker"
|
||||
|
||||
msgid "Web Template"
|
||||
msgstr "Web Mal"
|
||||
|
||||
msgid "Weekly"
|
||||
msgstr "Ukentlig"
|
||||
|
||||
msgid "Welcome"
|
||||
msgstr "Velkommen"
|
||||
|
||||
msgid "YYYY-MM-DD"
|
||||
msgstr "ÅÅÅÅ-MM-DD"
|
||||
|
||||
msgid "Yearly"
|
||||
msgstr "Årlig"
|
||||
|
||||
msgid "one or more email addresses"
|
||||
msgstr "en eller flere e-post addresser"
|
||||
|
||||
msgid "per domain"
|
||||
msgstr "per domene"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user