Compare commits
23 Commits
74d516f2ca
...
1.9.5.rpm
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e991cf4797 | ||
|
|
66bb1323a9 | ||
|
|
e4624d9398 | ||
|
|
b7e404e18c | ||
|
|
316ca0e292 | ||
|
|
6e7af9ea42 | ||
|
|
06fa9cb9c2 | ||
|
|
93ccae3f18 | ||
|
|
14af530339 | ||
|
|
57594e1a76 | ||
|
|
c25c8d8f64 | ||
|
|
b29a369515 | ||
|
|
7f3b5fdd27 | ||
|
|
221fe29cf0 | ||
|
|
f3b9d33016 | ||
|
|
2f91eee76d | ||
|
|
66e574dd33 | ||
|
|
8e2a9e1f42 | ||
|
|
f01015c05d | ||
|
|
60eac545d6 | ||
|
|
95a0e87271 | ||
|
|
4c51952ee3 | ||
|
|
7402364d0b |
19
CHANGELOG.md
19
CHANGELOG.md
@@ -2,6 +2,25 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [1.9.5.rpm] - Release
|
||||
|
||||
- Added support installation of alternative php not only remi
|
||||
- Fixed separate edition of php.ini in multiphp mode
|
||||
|
||||
## [1.9.4.rpm] - Release
|
||||
|
||||
- Fixed sha-512 auth in hestiacp
|
||||
- Added quota support for rpm based os
|
||||
|
||||
## [1.9.2.rpm] - Release
|
||||
|
||||
- Forked from 1.8.6 alpha and reworked for rpm based systems support
|
||||
- Added passenger support (https://hestiadocs.brepo.ru/docs/extensions/extended-modules.html#passenger-manager)
|
||||
- Added unified proxy templates support (https://hestiadocs.brepo.ru/docs/user-guide/web-domains.html#шаблоны-прокси)
|
||||
- Added php-cli-selector (https://hestiadocs.brepo.ru/docs/extensions/php-cli-selector.html#php-cli-selector)
|
||||
- Added alternative extensions support (https://hestiadocs.brepo.ru/docs/extensions/php-cli-selector.html#php-cli-selector)
|
||||
- Added russian documentation (https://hestiadocs.brepo.ru/docs/introduction/getting-started.html)
|
||||
|
||||
## [1.8.6] - Alpha release
|
||||
|
||||
- Added rpm systems support
|
||||
|
||||
96
README.md
96
README.md
@@ -1,110 +1,102 @@
|
||||
<h1 align="center">Hestia Control Panel</h1>
|
||||
<h1 align="center">Hestia Control Panel (RPM Edition)</h1>
|
||||
|
||||
<h2 align="center">Lightweight and powerful control panel for the modern web</h2>
|
||||
|
||||
<p align="center"><strong>Original project:</strong> | <a href="https://github.com/hestiacp/hestiacp/blob/release/CHANGELOG.md">View Changelog</a> |
|
||||
<a href="https://www.hestiacp.com/">HestiaCP.com</a> |
|
||||
<a href="https://docs.hestiacp.com/">Documentation</a> |
|
||||
<a href="https://forum.hestiacp.com/">Forum</a>
|
||||
<br/><br/></p>
|
||||
<h2 align="center">Легкая и мощная панель управления для современного сервера. Организуй собственный сервер в два счета.</h2>
|
||||
|
||||
<p align="center"><strong>Ссылки на оригинальный проект для Ubuntu и Debian:</strong> | <a href="https://www.hestiacp.com/">HestiaCP.com</a> |
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>RPM support project:</strong> |
|
||||
<strong>Информация по RPM Edition сборке:</strong> |
|
||||
<a href="https://hestiadocs.brepo.ru/">Documentation for version with RPM support</a>
|
||||
</p>
|
||||
|
||||
## **Welcome!**
|
||||
Hestia Control Panel (RPM Edition) поддерживается и дорабатывается отдельной командой связанной с RPM Based операционными системаи, с момента форка от оригинального, данный проект включил изменения, которые не позволяют просто подтягивать доработки из оригинального проекта (и не все доработки Ubuntu и Debian нужны в RPM Based системах). Поэтому все изменения из оригинальной Hestia CP не подтягиваются автоматически, поэтому о найденных ошибках в текущей реализации необходимо репортить в текущий проект.
|
||||
|
||||
Hestia Control Panel is designed to provide administrators an easy to use web and command line interface, enabling them to quickly deploy and manage web domains, mail accounts, DNS zones, and databases from one central dashboard without the hassle of manually deploying and configuring individual components or services.
|
||||
Ниже общее описание панели.
|
||||
|
||||
## Features and Services
|
||||
## **Добро пожаловать!**
|
||||
|
||||
- Apache2 and NGINX with PHP-FPM
|
||||
- Multiple PHP versions (5.6 - 8.2, 8.0 as default)
|
||||
- DNS Server (Bind) with clustering capabilities
|
||||
- POP/IMAP/SMTP mail services with Anti-Virus, Anti-Spam, and Webmail (ClamAV, SpamAssassin, Sieve, Roundcube)
|
||||
- MariaDB/MySQL and/or PostgreSQL databases
|
||||
- Let's Encrypt SSL support with wildcard certificates
|
||||
- Firewall with brute-force attack detection and IP lists (iptables, fail2ban, and ipset).
|
||||
Панель управления Hestia предназначена для предоставления администраторам простого в использовании веб-интерфейса и интерфейса командной строки, что позволяет им быстро развертывать веб-домены, почтовые аккаунты, зоны DNS и базы данных и управлять ими с единой центральной панели без необходимости вручную развертывать и настраивать отдельные компоненты или сервисы.
|
||||
|
||||
## Supported platforms and operating systems
|
||||
## Функции и сервисы
|
||||
|
||||
- Apache2 и NGINX с PHP-FPM
|
||||
- Несколько версий PHP (7.4 — 8.2, 8.0 по умолчанию, как из Remi репозитория, так и дополнительная самостоятельная сборка PHP пакетов)
|
||||
- DNS-сервер (Bind)
|
||||
- почтовые сервисы POP/IMAP/SMTP с защитой от вирусов, спама и веб-почтой (ClamAV, SpamAssassin, Sieve, Roundcube)
|
||||
- базы данных MariaDB/MySQL и/или PostgreSQL
|
||||
- поддержка SSL Let's Encrypt
|
||||
- брандмауэр с защитой от атак методом перебора и списками IP (iptables, fail2ban и ipset).
|
||||
|
||||
## Поддерживаемые ОС
|
||||
|
||||
- **MSVSphere:** 9
|
||||
- **AlmaLinux:** 9
|
||||
- **RockyLinux:** 9
|
||||
|
||||
Currently stayed support of Debian and Ubuntu, but new functional will be available only for RPM based systems. For full supportin of Debian and Ubuntu use original [HestiaCP](https://github.com/hestiacp/hestiacp)
|
||||
**ПРИМЕЧАНИЯ:**
|
||||
|
||||
**NOTES:**
|
||||
- Панель управления Hestia не поддерживает 32-разрядные операционные системы!
|
||||
- Панель управления Hestia в сочетании с OpenVZ 7 или более ранними версиями может иметь проблемы с DNS и/или брандмауэром. Если вы используете виртуальный частный сервер, мы настоятельно рекомендуем использовать что-то на основе KVM или LXC!
|
||||
|
||||
- Hestia Control Panel does not support 32 bit operating systems!
|
||||
- Hestia Control Panel in combination with OpenVZ 7 or lower might have issues with DNS and/or firewall. If you use a Virtual Private Server we strongly advice you to use something based on KVM or LXC!
|
||||
## Установка панели управления Hestia
|
||||
|
||||
## Installing Hestia Control Panel
|
||||
- **ПРИМЕЧАНИЕ:** для обеспечения правильной работы необходимо установить панель управления Hestia поверх новой операционной системы.
|
||||
|
||||
- **NOTE:** You must install Hestia Control Panel on top of a fresh operating system installation to ensure proper functionality.
|
||||
Несмотря на то, что мы приложили все усилия, чтобы сделать процесс установки и интерфейс панели управления максимально удобными (даже для новых пользователей), предполагается, что вы уже обладаете некоторыми базовыми знаниями и пониманием того, как настроить сервер Linux, прежде чем продолжить.
|
||||
|
||||
While we have taken every effort to make the installation process and the control panel interface as friendly as possible (even for new users), it is assumed that you will have some prior knowledge and understanding in the basics how to set up a Linux server before continuing.
|
||||
### Шаг 1. Войдите в систему
|
||||
|
||||
### Step 1: Log in
|
||||
|
||||
To start the installation, you will need to be logged in as **root** or a user with super-user privileges. You can perform the installation either directly from the command line console or remotely via SSH:
|
||||
Чтобы начать установку, вам нужно войти в систему как **root** или пользователь с правами суперпользователя. Вы можете выполнить установку непосредственно из командной строки или удалённо через SSH:
|
||||
|
||||
```bash
|
||||
ssh root@your.server
|
||||
```
|
||||
|
||||
### Step 2: Download
|
||||
### Шаг 2. Загрузка
|
||||
|
||||
Download the installation script for the latest release:
|
||||
Загрузите установочный скрипт для последней версии:
|
||||
|
||||
```bash
|
||||
wget https://dev.brepo.ru/bayrepo/hestiacp/raw/branch/master/install/hst-install.sh
|
||||
```
|
||||
|
||||
If the download fails due to an SSL validation error, please be sure you've installed the ca-certificate package on your system - you can do this with the following command:
|
||||
### Шаг 3: Запустите
|
||||
|
||||
```bash
|
||||
yum update
|
||||
```
|
||||
|
||||
### Step 3: Run
|
||||
|
||||
To begin the installation process, simply run the script and follow the on-screen prompts:
|
||||
Чтобы начать процесс установки, просто запустите скрипт и следуйте инструкциям на экране:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh
|
||||
```
|
||||
|
||||
You will receive a welcome email at the address specified during installation (if applicable) and on-screen instructions after the installation is completed to log in and access your server.
|
||||
После завершения установки вы получите приветственное электронное письмо на адрес, указанный во время установки (если применимо), и инструкции на экране для входа в систему и доступа к вашему серверу.
|
||||
|
||||
### Custom installation
|
||||
### Пользовательская установка
|
||||
|
||||
You may specify a number of various flags during installation to only install the features in which you need. To view a list of available options, run:
|
||||
Во время установки вы можете указать несколько различных флагов, чтобы установить только те функции, которые вам нужны. Чтобы просмотреть список доступных опций, выполните:
|
||||
|
||||
```bash
|
||||
bash hst-install.sh -h
|
||||
```
|
||||
|
||||
## How to upgrade an existing installation
|
||||
## Как обновить существующую установку
|
||||
|
||||
Automatic Updates are enabled by default on new installations of Hestia Control Panel and can be managed from **Server Settings > Updates**. To manually check for and install available updates, use the system package manager:
|
||||
Автоматические обновления включены по умолчанию в новых установках Hestia Control Panel, и ими можно управлять из **Server Settings > Updates**. Чтобы вручную проверить наличие доступных обновлений и установить их, воспользуйтесь системным менеджером пакетов:
|
||||
|
||||
```bash
|
||||
dnf update
|
||||
```
|
||||
|
||||
## Issues & Support Requests
|
||||
## Проблемы и запросы в службу поддержки
|
||||
|
||||
- If you encounter a general problem while using Hestia Control Panel for RPM based system use [issue report](https://github.com/bayrepo/hestiacp/issues)
|
||||
- Если вы столкнулись с общей проблемой при использовании Hestia Control Panel для системы на основе RPM, воспользуйтесь [отчётом о проблеме](https://github.com/bayrepo/hestiacp-rpm/issues)
|
||||
|
||||
For original HestiaCP for Debian and Ubuntu use [original version](https://github.com/hestiacp/hestiacp):
|
||||
Для оригинальной HestiaCP для Debian и Ubuntu используйте [оригинальную версию](https://github.com/hestiacp/hestiacp):
|
||||
|
||||
## Copyright
|
||||
## Авторские права
|
||||
|
||||
See original copyright of [HestiaCP](https://github.com/hestiacp/hestiacp)
|
||||
Ознакомьтесь с оригинальными авторскими правами [HestiaCP](https://github.com/hestiacp/hestiacp)
|
||||
|
||||
## License
|
||||
## Лицензия
|
||||
|
||||
Hestia Control Panel is licensed under [GPL v3](https://github.com/hestiacp/hestiacp/blob/release/LICENSE) license, and is based on the [VestaCP](https://vestacp.com/) project.<br>
|
||||
Панель управления Hestia распространяется по лицензии [GPL v3](https://github.com/hestiacp/hestiacp/blob/release/LICENSE) и основана на проекте [VestaCP](https://vestacp.com/).<br>
|
||||
|
||||
@@ -21,28 +21,10 @@ source_conf "$HESTIA/conf/hestia.conf"
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Ensure that quota kernel modules are installed
|
||||
if [ ! -f /etc/redhat-release ]; then
|
||||
kernel_module_check=$(find /lib/modules/$(uname -r) -type f -name '*quota_v*.ko*' | egrep '.*' && [ $? -eq 0 ])
|
||||
if [ -z "$kernel_module_check" ]; then
|
||||
# Install kernel modules for quota support.
|
||||
# Requires reboot to activate updated kernel.
|
||||
echo "Installing required kernel modules for quota support..."
|
||||
reboot_req="Y"
|
||||
apt-get -qq install linux-image-extra-virtual -y
|
||||
check_result $? "kernel module installation failed" "$E_UPDATE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Checking quota package
|
||||
quota=$(which --skip-alias --skip-functions quota 2> /dev/null)
|
||||
if [ $? -ne 0 ]; then
|
||||
if [ -f "/etc/redhat-release" ]; then
|
||||
dnf -y install quota > /dev/null 2>&1
|
||||
else
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get -y install quota > /dev/null 2>&1
|
||||
fi
|
||||
dnf -y install quota > /dev/null 2>&1
|
||||
check_result $? "quota package installation failed" "$E_UPDATE"
|
||||
fi
|
||||
|
||||
@@ -54,34 +36,70 @@ check_hestia_demo_mode
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Adding group and user quota on /home partition
|
||||
file_system=$(df -T /home | tail -n1 | awk '{print $2}')
|
||||
mnt=$(df -P /home | awk '{print $6}' | tail -n1)
|
||||
lnr=$(cat -n /etc/fstab | grep -v "#" | awk '{print $1,$3}' | grep "$mnt$" | cut -f 1 -d ' ')
|
||||
opt=$(sed -n ${lnr}p /etc/fstab | awk '{print $4}')
|
||||
fnd='usrquota\|grpquota\|usrjquota=aquota.user\|grpjquota=aquota.group\|jqfmt=vfsv0'
|
||||
if [ $(echo $opt | tr ',' '\n' | grep -x $fnd | wc -l) -ne 5 ]; then
|
||||
old=$(echo $(echo $opt | tr ',' '\n' | grep -v 'usrquota\|grpquota\|usrjquota=\|grpjquota=\|jqfmt=') | tr ' ' ',')
|
||||
new='usrquota,grpquota,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0'
|
||||
sed -i "$lnr s/$opt/$old,$new/" /etc/fstab
|
||||
mount -o remount "$mnt"
|
||||
if [ "$file_system" == "xfs" ]; then
|
||||
fnd='usrquota\|grpquota'
|
||||
if [ $(echo $opt | tr ',' '\n' | grep -x $fnd | wc -l) -ne 2 ]; then
|
||||
old=$(echo $(echo $opt | tr ',' '\n' | grep -v 'usrquota\|grpquota') | tr ' ' ',')
|
||||
new='usrquota,grpquota'
|
||||
sed -i "$lnr s/$opt/$old,$new/" /etc/fstab
|
||||
mount -o remount "$mnt"
|
||||
systemctl daemon-reload
|
||||
if [ "$mnt" == "/" ]; then
|
||||
check_args=$(grubby --info=ALL | grep -oP "rootflags=\S*")
|
||||
if [ -n "$check_args" ]; then
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m'
|
||||
YELLOW='\033[1;33m'
|
||||
printf "${RED}!!!!!!!Detected rootflags in grub!!!!!!!${NC}\n"
|
||||
echo "${YELLOW}Add manualy 'uquota,pquota' and reboot the system${NC}\n"
|
||||
else
|
||||
grubby --args="rootflags=uquota,pquota" --update-kernel=ALL
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
elif [ "$file_system" == "ext4" ]; then
|
||||
fnd='usrquota\|grpquota\|usrjquota=aquota.user\|grpjquota=aquota.group\|jqfmt=vfsv0'
|
||||
if [ $(echo $opt | tr ',' '\n' | grep -x $fnd | wc -l) -ne 5 ]; then
|
||||
old=$(echo $(echo $opt | tr ',' '\n' | grep -v 'usrquota\|grpquota\|usrjquota=\|grpjquota=\|jqfmt=') | tr ' ' ',')
|
||||
new='usrquota,grpquota,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0'
|
||||
sed -i "$lnr s/$opt/$old,$new/" /etc/fstab
|
||||
mount -o remount "$mnt"
|
||||
systemctl daemon-reload
|
||||
fi
|
||||
else
|
||||
if [ -n "$(grep DISK_QUOTA $HESTIA/conf/hestia.conf)" ]; then
|
||||
sed -i "s/DISK_QUOTA=.*/DISK_QUOTA='no'/g" $HESTIA/conf/hestia.conf
|
||||
fi
|
||||
$BIN/v-log-action "system" "Info" "Plugins" "System Quota not supported."
|
||||
log_history "system quota not supported"
|
||||
log_event "$E_DISK" "$ARGUMENTS"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Adding v2 group and user quota index
|
||||
if [ ! -e "$mnt/aquota.user" ] || [ ! -e "$mnt/aquota.group" ]; then
|
||||
quotacheck -avcugm > /dev/null 2>&1
|
||||
fi
|
||||
if [ "$file_system" == "ext4" ]; then
|
||||
# Adding v2 group and user quota index
|
||||
if [ ! -e "$mnt/aquota.user" ] || [ ! -e "$mnt/aquota.group" ]; then
|
||||
quotacheck -avcugm > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
# Adding quotacheck on reboot
|
||||
touch /forcequotacheck
|
||||
# Adding quotacheck on reboot
|
||||
touch /forcequotacheck
|
||||
|
||||
# Adding cron job
|
||||
echo '#!/bin/bash' > /etc/cron.daily/quotacheck
|
||||
echo 'touch /forcequotacheck' >> /etc/cron.daily/quotacheck
|
||||
chmod a+x /etc/cron.daily/quotacheck
|
||||
# Adding cron job
|
||||
echo '#!/bin/bash' > /etc/cron.daily/quotacheck
|
||||
echo 'touch /forcequotacheck' >> /etc/cron.daily/quotacheck
|
||||
chmod a+x /etc/cron.daily/quotacheck
|
||||
|
||||
# Enabling group and user quota
|
||||
if [ -n "$(quotaon -pa | grep " $mnt " | grep 'user\|group' | grep 'is off')" ]; then
|
||||
quotaon -v $mnt
|
||||
check_result $? "quota can't be enabled in $mnt" "$E_DISK"
|
||||
fi
|
||||
|
||||
# Enabling group and user quota
|
||||
if [ -n "$(quotaon -pa | grep " $mnt " | grep 'user\|group' | grep 'is off')" ]; then
|
||||
quotaon -v $mnt
|
||||
check_result $? "quota can't be enabled in $mnt" "$E_DISK"
|
||||
fi
|
||||
|
||||
# Updating hestia.conf value
|
||||
|
||||
@@ -22,11 +22,11 @@ source $HESTIA/func/main.sh
|
||||
source_conf "$HESTIA/conf/hestia.conf"
|
||||
source_conf "$HESTIA/install/upgrade/upgrade.conf"
|
||||
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
for elem in "${!multiphp_v[@]}"; do
|
||||
multiphp_v[$elem]=$(convert_dot_version_to_non_dot "${multiphp_v[$elem]}")
|
||||
done
|
||||
fi
|
||||
|
||||
for elem in "${!multiphp_v[@]}"; do
|
||||
multiphp_v[$elem]=$(convert_dot_version_to_non_dot "${multiphp_v[$elem]}")
|
||||
done
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
@@ -38,27 +38,22 @@ if [ -z "$WEB_BACKEND" ]; then
|
||||
fi
|
||||
|
||||
# Set file locations
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
php_fpm="/usr/lib/systemd/system/php$version-php-fpm.service"
|
||||
php_fpm=""
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
php_fpm="/usr/lib/systemd/system/brepo-php-fpm$version.service"
|
||||
else
|
||||
php_fpm="/etc/init.d/php$version-fpm"
|
||||
php_fpm="/usr/lib/systemd/system/php$version-php-fpm.service"
|
||||
fi
|
||||
|
||||
|
||||
# Verify php version format
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
if [[ ! $version =~ ^[0-9][0-9]+ ]]; then
|
||||
echo "The specified PHP version format is invalid, it should look like [0-9][0-9]."
|
||||
echo "Example: 70, 74, 80"
|
||||
exit "$E_INVALID"
|
||||
fi
|
||||
else
|
||||
if [[ ! $version =~ ^[0-9].[0-9]+ ]]; then
|
||||
echo "The specified PHP version format is invalid, it should look like [0-9].[0-9]."
|
||||
echo "Example: 7.0, 7.4, 8.0"
|
||||
exit "$E_INVALID"
|
||||
fi
|
||||
if [[ ! $version =~ ^[0-9][0-9]+ ]]; then
|
||||
echo "The specified PHP version format is invalid, it should look like [0-9][0-9]."
|
||||
echo "Example: 70, 74, 80"
|
||||
exit "$E_INVALID"
|
||||
fi
|
||||
|
||||
|
||||
# Check if php version already exists
|
||||
if [ -f "$php_fpm" ] && [ -f "$HESTIA/data/templates/web/php-fpm/PHP-${version/\./_}.tpl" ]; then
|
||||
echo "ERROR: Specified PHP version is already installed."
|
||||
@@ -77,48 +72,48 @@ check_hestia_demo_mode
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
mph=""
|
||||
php_modules_install="mysqlnd mysqli pdo_mysql pgsql pdo sqlite pdo_sqlite pdo_pgsql imap ldap zip opcache xmlwriter xmlreader gd intl pspell"
|
||||
php_modules_disable=""
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
mph="brepo-php$version brepo-php$version-fpm"
|
||||
if ! echo "$DB_SYSTEM" | grep -w 'pgsql' > /dev/null; then
|
||||
php_modules_install=$(echo "$php_modules_install" | sed -e "s/pgsql//")
|
||||
php_modules_install=$(echo "$php_modules_install" | sed -e "s/pdo_pgsql//")
|
||||
php_modules_disable="$php_modules_disable pgsql pdo_pgsql"
|
||||
fi
|
||||
else
|
||||
# Packages in Remi repo have names with php$version-php- prefixes
|
||||
mph="php$version-php-fpm php$version-php-cgi php$version-php-mysqlnd php$version-php-pgsql
|
||||
php$version-php-pdo php$version-php-common php$version-php-pecl-imagick php$version-php-imap
|
||||
php$version-php-ldap php$version-php-pecl-apcu php$version-php-pecl-zip php$version-php-cli
|
||||
php$version-php-opcache php$version-php-xml php$version-php-gd php$version-php-intl
|
||||
php$version-php-mbstring php$version-php-pspell php$version-php-readline"
|
||||
if [ "$version" = "56" ]; then
|
||||
mph=$(sed -e "s/php$version-php-pecl-apcu//")
|
||||
fi
|
||||
|
||||
mph="php$version-common php$version-mbstring php$version-bcmath php$version-cli php$version-curl
|
||||
php$version-fpm php$version-gd php$version-intl php$version-mysql
|
||||
php$version-soap php$version-xml php$version-zip php$version-json php$version-bz2
|
||||
php$version-pspell php$version-imagick php$version-pgsql php$version-imap php$version-ldap"
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
# Packages in Remi repo have names with php$version-php- prefixes
|
||||
mph="php$version-php-fpm php$version-php-cgi php$version-php-mysqlnd php$version-php-pgsql
|
||||
php$version-php-pdo php$version-php-common php$version-php-pecl-imagick php$version-php-imap
|
||||
php$version-php-ldap php$version-php-pecl-apcu php$version-php-pecl-zip php$version-php-cli
|
||||
php$version-php-opcache php$version-php-xml php$version-php-gd php$version-php-intl
|
||||
php$version-php-mbstring php$version-php-pspell php$version-php-readline"
|
||||
if [ "$version" = "56" ]; then
|
||||
mph=$(sed -e "s/php$version-php-pecl-apcu//")
|
||||
fi
|
||||
fi
|
||||
# Check is version is 7.1 or below to add mcrypt
|
||||
if [[ $(echo "$version 7.2" | awk '{print ($1 < $2)}') == 1 ]]; then
|
||||
mph="$mph php$version-mcrypt"
|
||||
fi
|
||||
|
||||
# Check is version is 7.1 or below to add mcrypt
|
||||
if [[ $(echo "$version 7.2" | awk '{print ($1 < $2)}') == 1 ]]; then
|
||||
mph="$mph php$version-mcrypt"
|
||||
fi
|
||||
# Check if version is 8.0 or higher and drop php json.
|
||||
if [[ ${version:0:1} == "8" ]]; then
|
||||
mph=$(echo "$mph" | sed -e "s/php$version\(-php\)\{0,1\}-json//")
|
||||
fi
|
||||
|
||||
# Check if version is 8.0 or higher and drop php json.
|
||||
if [[ ${version:0:1} == "8" ]]; then
|
||||
mph=$(echo "$mph" | sed -e "s/php$version\(-php\)\{0,1\}-json//")
|
||||
fi
|
||||
if ! echo "$DB_SYSTEM" | grep -w 'mysql' > /dev/null; then
|
||||
mph=$(echo "$mph" | sed -e "s/php$version\(-php\)\{0,1\}-mysql//")
|
||||
fi
|
||||
|
||||
if ! echo "$DB_SYSTEM" | grep -w 'mysql' > /dev/null; then
|
||||
mph=$(echo "$mph" | sed -e "s/php$version\(-php\)\{0,1\}-mysql//")
|
||||
fi
|
||||
|
||||
if ! echo "$DB_SYSTEM" | grep -w 'pgsql' > /dev/null; then
|
||||
mph=$(echo "$mph" | sed -e "s/php$version\(-php\)\{0,1\}-pgsql//")
|
||||
if ! echo "$DB_SYSTEM" | grep -w 'pgsql' > /dev/null; then
|
||||
mph=$(echo "$mph" | sed -e "s/php$version\(-php\)\{0,1\}-pgsql//")
|
||||
fi
|
||||
fi
|
||||
|
||||
# Install php packages
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
dnf install -q -y $mph > /dev/null 2>&1 &
|
||||
else
|
||||
apt-get -qq update
|
||||
apt-get -y -qq -o Dpkg::Options::="--force-confold" install $mph > /dev/null 2>&1 &
|
||||
fi
|
||||
dnf install -q -y $mph > /dev/null 2>&1 &
|
||||
BACK_PID=$!
|
||||
|
||||
# Check if package installation is done, print a spinner
|
||||
@@ -133,17 +128,27 @@ done
|
||||
# Do a blank echo to get the \n back
|
||||
echo
|
||||
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
for mod in $php_modules_install; do
|
||||
enable_local_php_extension "$version" "$mod"
|
||||
done
|
||||
for mod in $php_modules_disable; do
|
||||
disable_local_php_extension "$version" "$mod"
|
||||
done
|
||||
fi
|
||||
|
||||
# Check if installation was successful
|
||||
if [ ! -f "$php_fpm" ]; then
|
||||
echo "ERROR: Installation failed, please run the following command manually for debugging:"
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
echo "dnf install $mph"
|
||||
else
|
||||
echo "apt-get install $mph"
|
||||
fi
|
||||
echo "dnf install $mph"
|
||||
fi
|
||||
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
result_alt_php=$(alternatives --display php | grep /opt/brepo/php${version}/bin/php)
|
||||
if [ -z "$result_alt_php" ]; then
|
||||
alternatives --install /usr/bin/php php /opt/brepo/php${version}/bin/php 1 > /dev/null 2>&1
|
||||
fi
|
||||
else
|
||||
result_alt_php=$(alternatives --display php | grep /usr/bin/php$version)
|
||||
if [ -z "$result_alt_php" ]; then
|
||||
alternatives --install /usr/bin/php php /usr/bin/php$version 1 > /dev/null 2>&1
|
||||
@@ -173,7 +178,17 @@ fi
|
||||
|
||||
# Configure fpm
|
||||
v_tpl=${version//./}
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
systemctl enable brepo-php-fpm${version}.service
|
||||
rm -f /opt/brepo/php${version}/etc/php-fpm.d/*
|
||||
cp -f $HESTIA_INSTALL_DIR/php-fpm/dummy.conf /opt/brepo/php${version}/etc/php-fpm.d/
|
||||
sed -i "s/9999/99$v_tpl/g" /opt/brepo/php${version}/etc/php-fpm.d/dummy.conf
|
||||
|
||||
# Increase max upload and max post size
|
||||
sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 100M/g" /opt/brepo/php${version}/etc/php.ini
|
||||
sed -i "s/post_max_size = 8M/post_max_size = 100M/g" /opt/brepo/php${version}/etc/php.ini
|
||||
sed -i "s/max_execution_time = 30/max_execution_time = 60/g" /opt/brepo/php${version}/etc/php.ini
|
||||
else
|
||||
systemctl enable php${version}-php-fpm
|
||||
rm -f /etc/opt/remi/php${version}/php-fpm.d/*
|
||||
cp -f $HESTIA_INSTALL_DIR/php-fpm/dummy.conf /etc/opt/remi/php${version}/php-fpm.d/
|
||||
@@ -183,19 +198,8 @@ if [ -f /etc/redhat-release ]; then
|
||||
sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 100M/g" /etc/opt/remi/php${version}/php.ini
|
||||
sed -i "s/post_max_size = 8M/post_max_size = 100M/g" /etc/opt/remi/php${version}/php.ini
|
||||
sed -i "s/max_execution_time = 30/max_execution_time = 60/g" /etc/opt/remi/php${version}/php.ini
|
||||
else
|
||||
update-rc.d php$version-fpm defaults > /dev/null 2>&1
|
||||
rm -f /etc/php/$version/fpm/pool.d/*
|
||||
cp -f $HESTIA_INSTALL_DIR/php-fpm/dummy.conf /etc/php/$version/fpm/pool.d/
|
||||
sed -i "s/9999/99$v_tpl/g" /etc/php/$version/fpm/pool.d/dummy.conf
|
||||
cp -f $HESTIA_INSTALL_DIR/php-fpm/php-fpm.conf /etc/php/$version/fpm/
|
||||
sed -i "s/fpm_v/$version/g" /etc/php/$version/fpm/php-fpm.conf
|
||||
|
||||
# Increase max upload and max post size
|
||||
sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 100M/g" /etc/php/$version/fpm/php.ini
|
||||
sed -i "s/post_max_size = 8M/post_max_size = 100M/g" /etc/php/$version/fpm/php.ini
|
||||
sed -i "s/max_execution_time = 30/max_execution_time = 60/g" /etc/php/$version/fpm/php.ini
|
||||
fi
|
||||
|
||||
# Install backend template
|
||||
cp -f $HESTIA_INSTALL_DIR/php-fpm/multiphp.tpl \
|
||||
$HESTIA/data/templates/web/php-fpm/PHP-${version/\./_}.tpl
|
||||
|
||||
@@ -21,18 +21,10 @@ source_conf "$HESTIA/conf/hestia.conf"
|
||||
check_args '1' "$#" 'VERSION'
|
||||
|
||||
# Verify php version format
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
if [[ ! $version =~ ^[0-9][0-9]+ ]]; then
|
||||
echo "The specified PHP version format is invalid, it should look like [0-9][0-9]."
|
||||
echo "Example: 70, 74, 80"
|
||||
exit "$E_INVALID"
|
||||
fi
|
||||
else
|
||||
if [[ ! $version =~ ^[0-9].[0-9]+ ]]; then
|
||||
echo "The specified PHP version format is invalid, it should look like [0-9].[0-9]."
|
||||
echo "Example: 7.0, 7.4, 8.0"
|
||||
exit "$E_INVALID"
|
||||
fi
|
||||
if [[ ! $version =~ ^[0-9][0-9]+ ]]; then
|
||||
echo "The specified PHP version format is invalid, it should look like [0-9][0-9]."
|
||||
echo "Example: 70, 74, 80"
|
||||
exit "$E_INVALID"
|
||||
fi
|
||||
|
||||
# Check if php version exists
|
||||
@@ -50,18 +42,19 @@ check_hestia_demo_mode
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Set file locations
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
php_fpm="/usr/lib/systemd/system/php$version-php-fpm.service"
|
||||
php_fpm=""
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
php_fpm="/usr/lib/systemd/system/brepo-php-fpm$version.service"
|
||||
else
|
||||
php_fpm="/etc/init.d/php$version-fpm"
|
||||
php_fpm="/usr/lib/systemd/system/php$version-php-fpm.service"
|
||||
fi
|
||||
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
rm -f /opt/brepo/php*/etc/php-fpm.d/www.conf
|
||||
cp -f $HESTIA/install/rpm/php-fpm/www.conf /opt/brepo/php${version}/etc/php-fpm.d/www.conf
|
||||
else
|
||||
rm -f /etc/opt/remi/php*/php-fpm.d/www.conf
|
||||
cp -f $HESTIA/install/rpm/php-fpm/www.conf /etc/opt/remi/php$version/php-fpm.d/www.conf
|
||||
else
|
||||
rm -f /etc/php/*/fpm/pool.d/www.conf
|
||||
cp -f $HESTIA/install/deb/php-fpm/www.conf /etc/php/$version/fpm/pool.d/www.conf
|
||||
fi
|
||||
|
||||
for user in $($BIN/v-list-sys-users plain); do
|
||||
@@ -75,17 +68,30 @@ $BIN/v-restart-web-backend
|
||||
$BIN/v-restart-web
|
||||
$BIN/v-restart-proxy
|
||||
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
result_alt_php=$(alternatives --display php | grep /opt/brepo/php${version}/bin/php)
|
||||
if [ -z "$result_alt_php" ]; then
|
||||
alternatives --install /usr/bin/php php /opt/brepo/php${version}/bin/php 1 > /dev/null 2>&1
|
||||
fi
|
||||
else
|
||||
result_alt_php=$(alternatives --display php | grep /usr/bin/php$version)
|
||||
if [ -z "$result_alt_php" ]; then
|
||||
alternatives --install /usr/bin/php php /usr/bin/php$version 1 > /dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
|
||||
update-alternatives --set php /usr/bin/php$version
|
||||
if [ $? -eq 0 ]; then
|
||||
update-alternatives --install /usr/bin/php php /usr/bin/php$version 1
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
update-alternatives --set php /opt/brepo/php${version}/bin/php
|
||||
if [ $? -eq 0 ]; then
|
||||
update-alternatives --install /usr/bin/php php /opt/brepo/php${version}/bin/php 1
|
||||
update-alternatives --set php /opt/brepo/php${version}/bin/php
|
||||
fi
|
||||
else
|
||||
update-alternatives --set php /usr/bin/php$version
|
||||
if [ $? -eq 0 ]; then
|
||||
update-alternatives --install /usr/bin/php php /usr/bin/php$version 1
|
||||
update-alternatives --set php /usr/bin/php$version
|
||||
fi
|
||||
fi
|
||||
/usr/bin/hestiacp-php-admin system $version
|
||||
|
||||
|
||||
@@ -40,6 +40,28 @@ check_hestia_demo_mode
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
php_v="82"
|
||||
if [[ "$service" =~ ^php ]];then
|
||||
ver_php=$(echo "$service" | grep -Po "\d+")
|
||||
if [ -z "$ver_php" ]; then
|
||||
php_v=$(get_system_default_php)
|
||||
else
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
if [ -e "/opt/brepo/php${ver_php}" ]; then
|
||||
php_v="$ver_php"
|
||||
else
|
||||
php_v=$(get_system_default_php)
|
||||
fi
|
||||
else
|
||||
if [ -e "/etc/opt/remi/php${ver_php}" ]; then
|
||||
php_v="$ver_php"
|
||||
else
|
||||
php_v=$(get_system_default_php)
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
service="php"
|
||||
fi
|
||||
|
||||
# Defining dst config path
|
||||
case $service in
|
||||
@@ -50,7 +72,13 @@ case $service in
|
||||
exim4) dst='/etc/exim4/exim4.conf.template' ;;
|
||||
vsftpd) dst=$(find /etc/vsftpd* -name 'vsftpd.conf') ;;
|
||||
proftpd) dst=$(find /etc/proftpd* -name 'proftpd.conf') ;;
|
||||
php) dst=$(find /etc/php* -name php.ini) ;;
|
||||
php)
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
dst=$(find /opt/brepo/php${php_v} -name php.ini)
|
||||
else
|
||||
dst=$(find /etc/opt/remi/php${php_v} -name php.ini)
|
||||
fi
|
||||
;;
|
||||
mysql) dst=$(find /etc/my* -name my.cnf) ;;
|
||||
mysqld) dst=$(find /etc/my* -name my.cnf) ;;
|
||||
mariadb) dst=$(find /etc/my* -name my.cnf) ;;
|
||||
@@ -103,7 +131,7 @@ if [ "$update" = 'yes' ] && [ "$restart" != 'no' ]; then
|
||||
if [ "$service" = 'php' ]; then
|
||||
if [ "$(multiphp_count)" -gt 0 ]; then
|
||||
service="php-fpm"
|
||||
elif [ "$WEB_SYSTEM" = 'apache2' ]; then
|
||||
elif [ "$WEB_SYSTEM" = 'httpd' ]; then
|
||||
service="$WEB_SYSTEM"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -30,32 +30,54 @@ check_hestia_demo_mode
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Deleting group and user quota on /home partition
|
||||
file_system=$(df -T /home | tail -n1 | awk '{print $2}')
|
||||
mnt=$(df -P /home | awk '{print $6}' | tail -n1)
|
||||
lnr=$(cat -n /etc/fstab | awk '{print $1,$3}' | grep "$mnt$" | cut -f 1 -d ' ')
|
||||
opt=$(sed -n ${lnr}p /etc/fstab | awk '{print $4}')
|
||||
fnd='usrquota\|grpquota\|usrjquota=\|grpjquota=\|jqfmt='
|
||||
if [ -n "$(echo $opt | grep $fnd)" ]; then
|
||||
rep=$(echo $(echo $opt | tr ',' '\n' | grep -v $fnd) | tr ' ' ',')
|
||||
sed -i "$lnr s/$opt/$rep/" /etc/fstab
|
||||
mount -o remount "$mnt"
|
||||
fi
|
||||
|
||||
# Disabling group and user quota
|
||||
quotaoff=$(which --skip-alias --skip-functions quotaoff 2> /dev/null)
|
||||
if [ $? -eq 0 ]; then
|
||||
if [ -n "$(quotaon -pa | grep " $mnt " | grep 'user\|group' | grep 'is on')" ]; then
|
||||
$quotaoff $mnt
|
||||
if [ "$file_system" == "xfs" ]; then
|
||||
fnd='usrquota\|grpquota'
|
||||
if [ -n "$(echo $opt | grep $fnd)" ]; then
|
||||
rep=$(echo $(echo $opt | tr ',' '\n' | grep -v $fnd) | tr ' ' ',')
|
||||
sed -i "$lnr s/$opt/$rep/" /etc/fstab
|
||||
mount -o remount "$mnt"
|
||||
fi
|
||||
if [ "$mnt" == "/" ]; then
|
||||
check_args=$(grubby --info=`grubby --default-kernel` | grep -oP "rootflags=[^\"]*" | head -n1)
|
||||
if [ "$check_args" != "rootflags=uquota,pquota" ]; then
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m'
|
||||
YELLOW='\033[1;33m'
|
||||
printf "${RED}!!!!!!!Delete uquota,pquota from grub!!!!!!!${NC}\n"
|
||||
echo "${YELLOW}Delete manualy 'uquota,pquota' and reboot the system${NC}\n"
|
||||
else
|
||||
grubby --remove-args="rootflags=uquota,pquota" --update-kernel=ALL
|
||||
fi
|
||||
fi
|
||||
else
|
||||
fnd='usrquota\|grpquota\|usrjquota=\|grpjquota=\|jqfmt='
|
||||
if [ -n "$(echo $opt | grep $fnd)" ]; then
|
||||
rep=$(echo $(echo $opt | tr ',' '\n' | grep -v $fnd) | tr ' ' ',')
|
||||
sed -i "$lnr s/$opt/$rep/" /etc/fstab
|
||||
mount -o remount "$mnt"
|
||||
fi
|
||||
|
||||
# Disabling group and user quota
|
||||
quotaoff=$(which --skip-alias --skip-functions quotaoff 2> /dev/null)
|
||||
if [ $? -eq 0 ]; then
|
||||
if [ -n "$(quotaon -pa | grep " $mnt " | grep 'user\|group' | grep 'is on')" ]; then
|
||||
$quotaoff $mnt
|
||||
fi
|
||||
fi
|
||||
|
||||
# Deleting v1 + v2 group and user quota index
|
||||
for idx in $(echo 'quota.user quota.group aquota.user aquota.group'); do
|
||||
[ -e "$mnt/$idx" ] && rm -f "$mnt/$idx"
|
||||
done
|
||||
|
||||
# Deleting cron job
|
||||
rm -f /etc/cron.daily/quotacheck
|
||||
fi
|
||||
|
||||
# Deleting v1 + v2 group and user quota index
|
||||
for idx in $(echo 'quota.user quota.group aquota.user aquota.group'); do
|
||||
[ -e "$mnt/$idx" ] && rm -f "$mnt/$idx"
|
||||
done
|
||||
|
||||
# Deleting cron job
|
||||
rm -f /etc/cron.daily/quotacheck
|
||||
|
||||
# Updating hestia.conf value
|
||||
if [ -z "$(grep DISK_QUOTA $HESTIA/conf/hestia.conf)" ]; then
|
||||
echo "DISK_QUOTA='no'" >> $HESTIA/conf/hestia.conf
|
||||
|
||||
@@ -52,11 +52,13 @@ get_domain_values 'web'
|
||||
BACKEND="$template"
|
||||
|
||||
# Defining pool directory
|
||||
if [ -f "/etc/redhat-release" ]; then
|
||||
pool=$(find -L /etc/opt/remi/ -name "$domain.conf" -exec dirname {} \;)
|
||||
pool=""
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
pool=$(find -L /opt/brepo/ -name "$domain.conf" -exec dirname {} \;)
|
||||
else
|
||||
pool=$(find -L /etc/php/ -name "$domain.conf" -exec dirname {} \;)
|
||||
pool=$(find -L /etc/opt/remi/ -name "$domain.conf" -exec dirname {} \;)
|
||||
fi
|
||||
|
||||
if [ ! -e "$pool" ]; then
|
||||
check_result "$E_NOTEXIST" "php-fpm pool doesn't exist"
|
||||
fi
|
||||
|
||||
@@ -32,27 +32,21 @@ if [ -z "$WEB_BACKEND" ]; then
|
||||
fi
|
||||
|
||||
# Set file locations
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
php_fpm="/usr/lib/systemd/system/php$version-php-fpm.service"
|
||||
php_fpm=""
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
php_fpm="/usr/lib/systemd/system/brepo-php-fpm$version.service"
|
||||
else
|
||||
php_fpm="/etc/init.d/php$version-fpm"
|
||||
php_fpm="/usr/lib/systemd/system/php$version-php-fpm.service"
|
||||
fi
|
||||
|
||||
# Verify php version format
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
if [[ ! $version =~ ^[0-9][0-9]+ ]]; then
|
||||
echo "The PHP version format is invalid, it should look like [0-9][0-9]."
|
||||
echo "Example: 70, 74, 80"
|
||||
exit "$E_INVALID"
|
||||
fi
|
||||
else
|
||||
if [[ ! $version =~ ^[0-9].[0-9]+ ]]; then
|
||||
echo "The PHP version format is invalid, it should look like [0-9].[0-9]."
|
||||
echo "Example: 7.0, 7.4, 8.0"
|
||||
exit "$E_INVALID"
|
||||
fi
|
||||
if [[ ! $version =~ ^[0-9][0-9]+ ]]; then
|
||||
echo "The PHP version format is invalid, it should look like [0-9][0-9]."
|
||||
echo "Example: 70, 74, 80"
|
||||
exit "$E_INVALID"
|
||||
fi
|
||||
|
||||
|
||||
# Remove backend template
|
||||
[ -f $HESTIA/data/templates/web/php-fpm/PHP-${version/\./_}.tpl ] && rm -f $HESTIA/data/templates/web/php-fpm/PHP-${version/\./_}.tpl
|
||||
|
||||
@@ -70,38 +64,33 @@ check_hestia_demo_mode
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
mph="php$version-common php$version-mbstring php$version-bcmath php$version-cli php$version-curl
|
||||
php$version-fpm php$version-gd php$version-intl php$version-mysql
|
||||
php$version-soap php$version-xml php$version-zip php$version-mbstring
|
||||
php$version-json php$version-bz2 php$version-pspell php$version-imagick php$version-pgsql
|
||||
php$version-imap php$version-ldap"
|
||||
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
# Packages in Remi repo have names with php$version-php- prefixes
|
||||
mph="php$version-php-fpm php$version-php-cgi php$version-php-mysqlnd php$version-php-pgsql
|
||||
php$version-php-pdo php$version-php-common php$version-php-pecl-imagick php$version-php-imap
|
||||
php$version-php-ldap php$version-php-pecl-apcu php$version-php-pecl-zip php$version-php-cli
|
||||
php$version-php-opcache php$version-php-xml php$version-php-gd php$version-php-intl
|
||||
php$version-php-mbstring php$version-php-pspell php$version-php-readline"
|
||||
fi
|
||||
|
||||
# Check is version is 7.1 or below to add mcrypt
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
if [[ $(echo "$version 72" | awk '{print ($1 < $2)}') == 1 ]]; then
|
||||
mph="$mph php$version-php-mcrypt"
|
||||
fi
|
||||
mph=""
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
mph="brepo-php$version brepo-php$version-fpm"
|
||||
else
|
||||
if [[ $(echo "$version 7.2" | awk '{print ($1 < $2)}') == 1 ]]; then
|
||||
mph="$mph php$version-mcrypt"
|
||||
fi
|
||||
mph="php$version-common php$version-mbstring php$version-bcmath php$version-cli php$version-curl
|
||||
php$version-fpm php$version-gd php$version-intl php$version-mysql
|
||||
php$version-soap php$version-xml php$version-zip php$version-mbstring
|
||||
php$version-json php$version-bz2 php$version-pspell php$version-imagick php$version-pgsql
|
||||
php$version-imap php$version-ldap"
|
||||
|
||||
# Packages in Remi repo have names with php$version-php- prefixes
|
||||
mph="php$version-php-fpm php$version-php-cgi php$version-php-mysqlnd php$version-php-pgsql
|
||||
php$version-php-pdo php$version-php-common php$version-php-pecl-imagick php$version-php-imap
|
||||
php$version-php-ldap php$version-php-pecl-apcu php$version-php-pecl-zip php$version-php-cli
|
||||
php$version-php-opcache php$version-php-xml php$version-php-gd php$version-php-intl
|
||||
php$version-php-mbstring php$version-php-pspell php$version-php-readline"
|
||||
|
||||
|
||||
# Check is version is 7.1 or below to add mcrypt
|
||||
if [[ $(echo "$version 72" | awk '{print ($1 < $2)}') == 1 ]]; then
|
||||
mph="$mph php$version-php-mcrypt"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Purge php packages
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
dnf remove -y $mph > /dev/null 2>&1 &
|
||||
else
|
||||
apt-get -y purge $mph > /dev/null 2>&1 &
|
||||
fi
|
||||
dnf remove -y $mph > /dev/null 2>&1 &
|
||||
|
||||
BACK_PID=$!
|
||||
|
||||
# Check if package removal is done, print a spinner
|
||||
@@ -119,40 +108,36 @@ echo
|
||||
# Check if installation was successfully
|
||||
if [ -f "$php_fpm" ]; then
|
||||
echo "ERROR: Uninstallation failed, please run the following command manually for debugging:"
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
echo "dnf remove $mph"
|
||||
else
|
||||
echo "apt-get purge $mph"
|
||||
fi
|
||||
echo "dnf remove $mph"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Cleanup php folder
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
[[ -d /etc/opt/remi/php$version ]] && rm -rf "/etc/opt/remi/php$version"
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
[[ -d /opt/brepo/php$version ]] && rm -rf "/opt/brepo/php$version"
|
||||
else
|
||||
[[ -d /etc/php/$version ]] && rm -rf "/etc/php/$version"
|
||||
[[ -d /etc/opt/remi/php$version ]] && rm -rf "/etc/opt/remi/php$version"
|
||||
fi
|
||||
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
if [ "$WEB_BACKEND" = "php-fpm" ]; then
|
||||
conf=$(find /opt/brepo/php* -name www.conf)
|
||||
# Check if www.conf exists
|
||||
if [ -z "$conf" ]; then
|
||||
# If not grab the "last php version
|
||||
last=$($BIN/v-list-sys-php "shell" | tail -n1)
|
||||
cp -f $HESTIA/install/rpm/php-fpm/www.conf /opt/brepo/php$last/etc/php-fpm.d/www.conf
|
||||
$BIN/v-restart-web-backend
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [ "$WEB_BACKEND" = "php-fpm" ]; then
|
||||
conf=$(find /etc/opt/remi/php* -name www.conf)
|
||||
# Check if www.conf exists
|
||||
if [ -z "$conf" ]; then
|
||||
# If not grab the "last php version
|
||||
last=$($BIN/v-list-sys-php "shell" | tail -n1)
|
||||
cp -f $HESTIA/install/rpm/php-fpm/www.conf /etc/opt/remi/php$version/php-fpm.d/www.conf
|
||||
$BIN/v-restart-web-backend
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [ "$WEB_BACKEND" = "php-fpm" ]; then
|
||||
conf=$(find /etc/php* -name www.conf)
|
||||
# Check if www.conf exists
|
||||
if [ -z "$conf" ]; then
|
||||
# If not grab the "last php version
|
||||
last=$($BIN/v-list-sys-php "shell" | tail -n1)
|
||||
cp -f $HESTIA/install/deb/php-fpm/www.conf /etc/php/$last/fpm/pool.d/www.conf
|
||||
cp -f $HESTIA/install/rpm/php-fpm/www.conf /etc/opt/remi/php$last/php-fpm.d/www.conf
|
||||
$BIN/v-restart-web-backend
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# info: action with extended modules
|
||||
# options: MODULE_ID [MODULE_RELATED_COMMNDS]
|
||||
#
|
||||
# example: v-ext-modules list json
|
||||
# example: v-ext-modules passenger_manager list json
|
||||
#
|
||||
# This function enables and disables additional modules
|
||||
|
||||
|
||||
@@ -36,7 +36,8 @@ json_list() {
|
||||
"METHOD": "'$method'",
|
||||
"SALT": "'$salt'",
|
||||
"TIME": "'$time'",
|
||||
"DATE": "'$date'"
|
||||
"DATE": "'$date'",
|
||||
"ROUND":"'$round'"
|
||||
}'
|
||||
echo '}'
|
||||
}
|
||||
@@ -45,17 +46,18 @@ json_list() {
|
||||
shell_list() {
|
||||
echo "METHOD: $method"
|
||||
echo "SALT: $salt"
|
||||
echo "ROUND: $round"
|
||||
}
|
||||
|
||||
# PLAIN list function
|
||||
plain_list() {
|
||||
echo -e "$method\t$salt"
|
||||
echo -e "$method\t$salt\t$round"
|
||||
}
|
||||
|
||||
# CSV list function
|
||||
csv_list() {
|
||||
echo "METHOD,SALT"
|
||||
echo "$method, $salt"
|
||||
echo "METHOD,SALT,ROUND"
|
||||
echo "$method, $salt, $round"
|
||||
}
|
||||
|
||||
#----------------------------------------------------------#
|
||||
@@ -81,6 +83,11 @@ shadow=$(grep "^$user:" /etc/shadow | cut -f 2 -d :)
|
||||
|
||||
if echo "$shadow" | grep -qE '^\$[0-9a-z]+\$[^\$]+\$'; then
|
||||
salt=$(echo "$shadow" | cut -f 3 -d \$)
|
||||
round=""
|
||||
if [[ "$salt" =~ ^rounds= ]]; then
|
||||
round=$salt
|
||||
salt=$(echo "$shadow" | cut -f 4 -d \$)
|
||||
fi
|
||||
method=$(echo "$shadow" | cut -f 2 -d \$)
|
||||
if [ "$method" = "y" ]; then
|
||||
method='yescrypt'
|
||||
|
||||
@@ -67,14 +67,14 @@ csv_list() {
|
||||
|
||||
declare -a versions
|
||||
# List through /etc/php
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
for version in /etc/opt/remi/php*/php-fpm.d/www.conf; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $5 }' | sed "s/php\([[:digit:]]\+\)/\1/g")
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
for version in /opt/brepo/php*/etc/php-fpm.d/www.conf; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $4 }' | sed "s/php\([[:digit:]]\+\)/\1/g")
|
||||
versions+=("$ver")
|
||||
done
|
||||
else
|
||||
for version in /etc/php/*/fpm/pool.d/www.conf; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $4 }')
|
||||
for version in /etc/opt/remi/php*/php-fpm.d/www.conf; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $5 }' | sed "s/php\([[:digit:]]\+\)/\1/g")
|
||||
versions+=("$ver")
|
||||
done
|
||||
fi
|
||||
|
||||
@@ -67,21 +67,29 @@ csv_list() {
|
||||
|
||||
declare -a versions
|
||||
# List through /etc/php
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
for version in /etc/opt/remi/php*/; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $5 }' | sed 's|php||')
|
||||
versions+=("$ver")
|
||||
done
|
||||
else
|
||||
if [ -n "$WEB_BACKEND" ]; then
|
||||
for version in /etc/php/*/fpm; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $4 }')
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
if [ -n "$WEB_BACKEND" ]; then
|
||||
for version in /opt/brepo/php*/; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $4 }' | sed 's|php||')
|
||||
versions+=("$ver")
|
||||
done
|
||||
else
|
||||
# Fix for modphp
|
||||
for version in /etc/php/*/cli; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $4 }')
|
||||
for version in /opt/brepo/php*/bin/php; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $4 }' | sed 's|php||')
|
||||
versions+=("$ver")
|
||||
done
|
||||
fi
|
||||
else
|
||||
if [ -n "$WEB_BACKEND" ]; then
|
||||
for version in /etc/opt/remi/php*/; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $5 }' | sed 's|php||')
|
||||
versions+=("$ver")
|
||||
done
|
||||
else
|
||||
# Fix for modphp
|
||||
for version in /opt/remi/php*/root/bin/php; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $4 }' | sed 's|php||')
|
||||
versions+=("$ver")
|
||||
done
|
||||
fi
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
# info: list php config parameters
|
||||
# options: [FORMAT]
|
||||
# options: [VERSION] [FORMAT]
|
||||
#
|
||||
# example: v-list-sys-php-config
|
||||
#
|
||||
@@ -11,7 +11,8 @@
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument definition
|
||||
format=${1-shell}
|
||||
php_ver=${1-default}
|
||||
format=${2-shell}
|
||||
|
||||
# Includes
|
||||
# shellcheck source=/etc/hestiacp/hestia.conf
|
||||
@@ -61,24 +62,53 @@ csv_list() {
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
declare -a versions
|
||||
if [ "$php_ver" == "default" ]; then
|
||||
# List through /etc/php
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
for version in /opt/brepo/php*/etc/php-fpm.d/www.conf; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $4 }' | sed "s/php\([[:digit:]]\+\)/\1/g")
|
||||
if [ "$ver" != "php*" ]; then
|
||||
versions+=("$ver")
|
||||
fi
|
||||
done
|
||||
else
|
||||
for version in /etc/opt/remi/php*/php-fpm.d/www.conf; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $5 }' | sed "s/php\([[:digit:]]\+\)/\1/g")
|
||||
if [ "$ver" != "php*" ]; then
|
||||
versions+=("$ver")
|
||||
fi
|
||||
done
|
||||
fi
|
||||
else
|
||||
ver=$(echo "$php_ver" | sed "s/php\([[:digit:]]\+\)/\1/g")
|
||||
versions+=("$ver")
|
||||
fi
|
||||
|
||||
if [ ${#versions[@]} -eq 0 ]; then
|
||||
php_ver="82"
|
||||
else
|
||||
php_ver="${versions[0]}"
|
||||
fi
|
||||
|
||||
# Defining config path
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
config_path=$(find /etc/opt/remi/php* -name php.ini)
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
config_path=$(find /opt/brepo/php${php_ver}/* -name php.ini)
|
||||
else
|
||||
config_path=$(find /etc/php* -name php.ini)
|
||||
config_path=$(find /etc/opt/remi/php${php_ver}/* -name php.ini)
|
||||
fi
|
||||
|
||||
config_count=$(echo "$config_path" | wc -l)
|
||||
if [ "$config_count" -gt 1 ]; then
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
multiphp_versions=$(ls -d /etc/opt/remi/php*/php-fpm.d 2> /dev/null | wc -l)
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
multiphp_versions=$(ls -d /opt/brepo/php*/etc/php-fpm.d 2> /dev/null | wc -l)
|
||||
else
|
||||
multiphp_versions=$(ls -d /etc/php/*/fpm/pool.d 2> /dev/null | wc -l)
|
||||
multiphp_versions=$(ls -d /etc/opt/remi/php*/php-fpm.d 2> /dev/null | wc -l)
|
||||
fi
|
||||
if [ "$WEB_BACKEND" = 'php-fpm' ] || [ "$multiphp_versions" -gt 0 ]; then
|
||||
config_path=$(echo "$config_path" | grep fpm)
|
||||
config_path=$(echo "$config_path" | grep "php")
|
||||
else
|
||||
config_path=$(echo "$config_path" | grep apache)
|
||||
config_path=$(echo "$config_path" | grep httpd)
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -88,7 +118,7 @@ keys="$keys |upload_max_filesize |post_max_size"
|
||||
keys="$keys |display_errors |error_reporting "
|
||||
|
||||
# Reading config
|
||||
config=$(cat $config_path | grep -v "^;")
|
||||
config=$(cat "$config_path" | grep -v "^;")
|
||||
|
||||
# Listing data
|
||||
case $format in
|
||||
|
||||
@@ -86,7 +86,7 @@ get_srv_state() {
|
||||
rtime="0"
|
||||
|
||||
# Searching related pids
|
||||
if [ -f /etc/redhat-release ] && [ "$name" = "php-fpm" ]; then
|
||||
if [ "$name" = "php-fpm" ]; then
|
||||
pids=''
|
||||
for php_pid in $(pidof php-fpm); do
|
||||
process_info=$(ps -p "$php_pid" -o args | tail -n1 | grep "$srv")
|
||||
@@ -174,7 +174,16 @@ fi
|
||||
|
||||
# Checking PHP intepreter
|
||||
if [ -n "$WEB_BACKEND" ] && [ "$WEB_BACKEND" != 'remote' ]; then
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
php_versions=$(ls /opt/brepo/php*/sbin/php-fpm | cut -d'/' -f4 | sed 's|php||')
|
||||
for version in $php_versions; do
|
||||
proc_name="php-fpm"
|
||||
service_name="fpm${version}"
|
||||
get_srv_state "$proc_name"
|
||||
data="$data\nNAME='brepo-php-$service_name' SYSTEM='php interpreter' STATE='$state'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
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"
|
||||
@@ -183,15 +192,6 @@ if [ -n "$WEB_BACKEND" ] && [ "$WEB_BACKEND" != 'remote' ]; then
|
||||
data="$data\nNAME='$service_name-php-fpm' SYSTEM='php interpreter' STATE='$state'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
done
|
||||
else
|
||||
php_versions=$(ls /usr/sbin/php*fpm* | cut -d'/' -f4 | sed 's|php-fpm||')
|
||||
for version in $php_versions; do
|
||||
proc_name="php-fpm${version}"
|
||||
service_name="php${version}-fpm"
|
||||
get_srv_state "$service_name" "$proc_name"
|
||||
data="$data\nNAME='$service_name' SYSTEM='php interpreter' STATE='$state'"
|
||||
data="$data CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -32,6 +32,10 @@ is_format_valid 'service' 'restart'
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
if [ "$service" == "apache2" ]; then
|
||||
service="httpd"
|
||||
fi
|
||||
|
||||
log="/dev/null"
|
||||
if [ "$DEBUG_MODE" = "true" ]; then
|
||||
|
||||
@@ -49,13 +53,21 @@ if [ "$service" = "php-fpm" ]; then
|
||||
php_versions=$($BIN/v-list-sys-php plain)
|
||||
# Substitute php-fpm service name formats
|
||||
for version in $php_versions; do
|
||||
service_list="${service_list} php${version}-fpm"
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
service_list="${service_list} brepo-php-fpm${version}"
|
||||
else
|
||||
service_list="${service_list} php${version}-php-fpm"
|
||||
fi
|
||||
done
|
||||
else
|
||||
service_list="$service"
|
||||
fi
|
||||
|
||||
for service in $service_list; do
|
||||
is_fpm="no"
|
||||
if [[ "$service" =~ ^php[0-9.]+-php-fpm ]] || [[ "$service" =~ brepo-php-fpm[0-9.]+ ]]; then
|
||||
is_fpm="yes"
|
||||
fi
|
||||
if [ "$service" = "iptables" ]; then
|
||||
# Run the restart rules for iptables firewall
|
||||
$BIN/v-stop-firewall
|
||||
@@ -64,21 +76,13 @@ for service in $service_list; do
|
||||
service $service upgrade >> $log 2>&1
|
||||
elif [ -z "$restart" -o "$restart" = "no" ] && [ \
|
||||
"$service" = "nginx" -o \
|
||||
"$service" = "apache2" -o \
|
||||
"$service" = "httpd" -o \
|
||||
"$service" = "exim4" -o \
|
||||
"$service" = "dovecot" -o \
|
||||
"$service" = "bind9" -o \
|
||||
"$service" = "named" -o \
|
||||
"$service" = "vsftpd" -o \
|
||||
"$service" = "php5.6-fpm" -o \
|
||||
"$service" = "php7.0-fpm" -o \
|
||||
"$service" = "php7.1-fpm" -o \
|
||||
"$service" = "php7.2-fpm" -o \
|
||||
"$service" = "php7.3-fpm" -o \
|
||||
"$service" = "php7.4-fpm" -o \
|
||||
"$service" = "php8.0-fpm" -o \
|
||||
"$service" = "php8.1-fpm" -o \
|
||||
"$service" = "php8.2-fpm" -o \
|
||||
"$is_fpm" = "yes" -o \
|
||||
"$service" = "proftpd" -o \
|
||||
"$service" = "ssh" -o \
|
||||
"$service" = "fail2ban" ]; then
|
||||
|
||||
@@ -58,21 +58,21 @@ tmpfile=$(mktemp)
|
||||
if [ -z "$version" ]; then
|
||||
# Substitute php-fpm service name formats
|
||||
for version in $($BIN/v-list-sys-php plain); do
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
v_php="php$version-php-fpm"
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
v_php="brepo-php-fpm$version"
|
||||
else
|
||||
v_php="php$version-fpm"
|
||||
v_php="php$version-php-fpm"
|
||||
fi
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
if [ ! -f "/opt/brepo/php${version}/etc/php-fpm.d/dummy.conf" ]; then
|
||||
cp -f $HESTIA_INSTALL_DIR/php-fpm/dummy.conf /opt/brepo/php${version}/etc/php-fpm.d/
|
||||
sed -i "s/9999/99$v_tpl/g" /opt/brepo/php${version}/etc/php-fpm.d/dummy.conf
|
||||
fi
|
||||
else
|
||||
if [ ! -f "/etc/opt/remi/php${version}/php-fpm.d/dummy.conf" ]; then
|
||||
cp -f $HESTIA_INSTALL_DIR/php-fpm/dummy.conf /etc/opt/remi/php${version}/php-fpm.d/
|
||||
sed -i "s/9999/99$v_tpl/g" /etc/opt/remi/php${version}/php-fpm.d/dummy.conf
|
||||
fi
|
||||
else
|
||||
if [ ! -f "/etc/php/${version}/fpm/pool.d/dummy.conf" ]; then
|
||||
cp -f "$HESTIA_INSTALL_DIR/php-fpm/dummy.conf" "/etc/php/${version}/fpm/pool.d/"
|
||||
sed -i "s/9999/99${version//./}/g" "/etc/php/${version}/fpm/pool.d/dummy.conf"
|
||||
fi
|
||||
fi
|
||||
|
||||
$BIN/v-restart-service "$v_php" "$restart"
|
||||
@@ -82,10 +82,10 @@ if [ -z "$version" ]; then
|
||||
fi
|
||||
done
|
||||
else
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
v_php="php$version-php-fpm"
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
v_php="brepo-php-fpm$version"
|
||||
else
|
||||
v_php="php$version-fpm"
|
||||
v_php="php$version-php-fpm"
|
||||
fi
|
||||
$BIN/v-restart-service "$v_php" "$restart"
|
||||
if [ $? -ne 0 ]; then
|
||||
|
||||
@@ -43,6 +43,15 @@ if [ "$clicmd" = "wp" ]; then
|
||||
clicmd="$homedir/.wp-cli/wp"
|
||||
fi
|
||||
|
||||
if [[ "$clicmd" =~ php[0-9][0-9] ]]; then
|
||||
php_ver=$(echo "$clicmd" | grep -oP "\d+")
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
clicmd="/opt/brepo/php${php_ver}/bin/php"
|
||||
else
|
||||
clicmd="/usr/bin/php${php_ver}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$(which "$clicmd")" ]; then
|
||||
check_result "$E_NOTEXIST" "Cli command does not exist $clicmd"
|
||||
fi
|
||||
@@ -61,15 +70,6 @@ if [ "$basecmd" != 'ps' -a \
|
||||
"$basecmd" != 'egrep' -a \
|
||||
"$basecmd" != 'sed' -a \
|
||||
"$basecmd" != 'cat' -a \
|
||||
"$basecmd" != 'php5.6' -a \
|
||||
"$basecmd" != 'php7.0' -a \
|
||||
"$basecmd" != 'php7.1' -a \
|
||||
"$basecmd" != 'php7.2' -a \
|
||||
"$basecmd" != 'php7.3' -a \
|
||||
"$basecmd" != 'php7.4' -a \
|
||||
"$basecmd" != 'php8.0' -a \
|
||||
"$basecmd" != 'php8.1' -a \
|
||||
"$basecmd" != 'php8.2' -a \
|
||||
"$basecmd" != 'php' -a \
|
||||
"$basecmd" != "wp" -a \
|
||||
"$basecmd" != 'composer' ]; then
|
||||
|
||||
@@ -50,11 +50,22 @@ for webtpl_folder in $(ls $HESTIA_INSTALL_DIR/templates/web/* -d 2> /dev/null |
|
||||
cp -rf "${webtpl_folder}" "${WEBTPL}/"
|
||||
done
|
||||
|
||||
versions_list=$(ls -d /etc/opt/remi/php*)
|
||||
for php_ver in $versions_list; do
|
||||
[ ! -d "$php_ver/fpm/pool.d/" ] && continue
|
||||
cp -f $HESTIA_INSTALL_DIR/php-fpm/multiphp.tpl ${WEBTPL}/php-fpm/PHP-${php_ver/\./_}.tpl
|
||||
done
|
||||
versions_list=""
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
versions_list=$(ls -d /opt/brepo/php*)
|
||||
for php_ver in $versions_list; do
|
||||
[ ! -d "$php_ver/etc/php-fpm.d" ] && continue
|
||||
vers=$(echo "$php_ver" | awk -F"/" '{ print $4 }' | sed "s/php\([[:digit:]]\+\)/\1/g")
|
||||
cp -f $HESTIA_INSTALL_DIR/php-fpm/multiphp.tpl ${WEBTPL}/php-fpm/PHP-${vers/\./_}.tpl
|
||||
done
|
||||
else
|
||||
versions_list=$(ls -d /etc/opt/remi/php*)
|
||||
for php_ver in $versions_list; do
|
||||
[ ! -d "$php_ver/php-fpm.d" ] && continue
|
||||
vers=$(echo "$php_ver" | awk -F"/" '{ print $5 }' | sed "s/php\([[:digit:]]\+\)/\1/g")
|
||||
cp -f $HESTIA_INSTALL_DIR/php-fpm/multiphp.tpl ${WEBTPL}/php-fpm/PHP-${vers/\./_}.tpl
|
||||
done
|
||||
fi
|
||||
|
||||
if [ -n "$awstats_patch" ]; then
|
||||
# restore LoadPlugin variable
|
||||
|
||||
@@ -24,7 +24,7 @@ export default defineConfig({
|
||||
|
||||
socialLinks: [
|
||||
{ icon: 'github', link: 'https://dev.brepo.ru/bayrepo/hestiacp' },
|
||||
{ icon: 'github', link: 'https://github.com/bayrepo/hestiacp' },
|
||||
{ icon: 'github', link: 'https://github.com/bayrepo/hestiacp-rpm' },
|
||||
{ icon: 'github', link: 'https://github.com/hestiacp/hestiacp' },
|
||||
],
|
||||
|
||||
@@ -151,6 +151,7 @@ function sidebarDocs() {
|
||||
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' },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
- **puppet_installer** - установить puppet, для большинства модулей требуется puppet для изменения конфигурации системы, поэтому требуется, чтоб этот модуль был включен, при включении он установит puppet в систему.
|
||||
- **empty_module** - пустой модуль, его включение или выключение не начто не влияет, является примером написания модулей
|
||||
- **passenger_manager** - модуль по установке и настройке passenger в систему.
|
||||
- **php_brepo_modules** - модуль по управлению расширениями Local PHP. [Описание интерфейса](/docs/extensions/local-php.md)
|
||||
|
||||
## Управление модулями из командной строки
|
||||
|
||||
|
||||
35
docs/docs/extensions/local-php.md
Normal file
35
docs/docs/extensions/local-php.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Local PHP
|
||||
|
||||
PHP интерпретатор из репозитория, из которого ставится HestiaCP RPM Edition.
|
||||
HestiaCP RPM Edition имеет возможность работать или с PHP из Remi репозитория или с PHP из т.н. локального репозитория - Local PHP.
|
||||
|
||||
Если требуется более расширенный функционал пакетов из Remi репозитория, то следует отказаться при установке панели от опции `uselocalphp yes` и установить панель с опцией `uselocalphp no`.
|
||||
|
||||
Local PHP более ограниченный в наборе расширений, но занимает меньше места на диске и приносит меньше RPM пакетов. Подходит для большинства сборок CMS таких как Wordpress, Drupal и т.д.
|
||||
|
||||
Есть еще одна особенность, для данного типа PHP разработан графический интерфейс по управлению подключенными расширениями.
|
||||
|
||||
## Графический интерфейс управления расширениями PHP
|
||||
|
||||
Для включения графического интерфейса необходимо перейти в настройки панели под администратором и выбрать закладку "Дополнительные модули".
|
||||
|
||||

|
||||
|
||||
На окрывшейся веб странице необходимо активировать модуль **php_brepo_modules**.
|
||||
|
||||

|
||||
|
||||
Справа от названия модуля появится пункт меню - `Изменить`.
|
||||
|
||||
При нажатии мышкой на ссылку `Изменить`, откроется окно выбора версии PHP, для которой требуется перенастройка расширений.
|
||||
|
||||

|
||||
|
||||
Здесь будут отображаться все установленные на сервере версии Local PHP. Для настройки модулей необходимо нажать мышкой на шестеренке справа от версии PHP (<i class="fa-solid fa-gear icon-purple"></i>), в пункте меню `Изменить список модулей` <i class="fa-solid fa-gear icon-purple"></i>.
|
||||
|
||||
Откроется страница выбора расширений.
|
||||
|
||||

|
||||
|
||||
Здесь приведен список установленных расширений. Галочками подсвечены активные расширения.
|
||||
Здесь можно убрать галочки напротив названия модуля или наоборот установить галочку. И нажать `Сохранить` для изменения конфигурации расширений для выбранной версии PHP или `Назад`, для отмены изменений.
|
||||
@@ -60,3 +60,4 @@
|
||||
|
||||
- [PHP cli селектор](/docs/extensions/php-cli-selector.md)
|
||||
- [Расширенные модули](/docs/extensions/extended-modules.md)
|
||||
- [Настройка Local PHP](/docs/extensions/local-php.md)
|
||||
|
||||
@@ -101,6 +101,7 @@ bash hst-install.sh -h
|
||||
-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
|
||||
-s, --hostname Set hostname
|
||||
-e, --email Set admin email
|
||||
-p, --password Set admin password
|
||||
@@ -118,14 +119,14 @@ bash hst-install.sh \
|
||||
--hostname host.domain.tld \
|
||||
--email email@domain.tld \
|
||||
--password p4ssw0rd \
|
||||
--lang fr \
|
||||
--lang ru \
|
||||
--apache no \
|
||||
--named no \
|
||||
--clamav no \
|
||||
--spamassassin no
|
||||
```
|
||||
|
||||
Эта команда установит Hestia на французском с такой конфигурацией:
|
||||
Эта команда установит Hestia на русском с такой конфигурацией:
|
||||
|
||||
- Nginx веб сервер
|
||||
- PHP-FPM сервер приложений
|
||||
@@ -140,3 +141,11 @@ bash hst-install.sh \
|
||||
К настоящему моменту у вас должна быть установлена Hestia на вашем сервере. Вы готовы добавлять новых пользователей, чтобы вы (или они) могли добавлять новые веб-сайты на вашем сервере.
|
||||
|
||||
Чтобы получить доступ к панели управления, перейдите по адресу `https://host.domain.tld:8083` или `http://your.public.ip.address:8083`
|
||||
|
||||
## Расширенные опции RPM версии
|
||||
|
||||
Данная реадкция HestiaCP RPM Edition включает дополнительные оции такие как:
|
||||
|
||||
- `-I, --nopublicip` - если установлена данная опция, то установщик панели не получает внешний IP адрес сервера, где контрольная панель устанавливается (на случай если ваш сервер за NAT). Данную опцию можно включать, если у вас на сервере публичный IP или необходима внутрисетевая установка без внешнего доступа.
|
||||
|
||||
- `-u, --uselocalphp` - включить установку пакетов PHP из того-же репозитория, откуда ставится HestiaCP RPM Edition. Если не включать данную опцию, то PHP пакеты будут установлены из репозитория Remi. Если включить, то будет произведена так называемая установка локальных пакетов. Есть отличия в способе упаковке Local PHP и Remi PHP. Если сервера требуется расширенный набор PHP из Remi репозитория, то данную опцию лучше отключить, т.е задать `--uselocalphp no`. Local PHP более простая сборка с меньшим числом поддерживаемых модулей PHP, но подходит для большинства конфигураций CMS и имеет [страницу настройки подключаемых модулей](/docs/extensions/local-php.md)
|
||||
BIN
docs/public/images/local_php_1.png
Normal file
BIN
docs/public/images/local_php_1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
BIN
docs/public/images/local_php_2.png
Normal file
BIN
docs/public/images/local_php_2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 47 KiB |
BIN
docs/public/images/local_php_3.png
Normal file
BIN
docs/public/images/local_php_3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 67 KiB |
@@ -101,34 +101,33 @@ is_web_alias_new() {
|
||||
prepare_web_backend() {
|
||||
# Accept first function argument as backend template otherwise fallback to $template global variable
|
||||
local backend_template=${1:-$template}
|
||||
|
||||
if [ -f "/etc/redhat-release" ]; then
|
||||
pool=$(find -L /etc/opt/remi/php80/ -name "$domain.conf" -exec dirname {} \; 2>/dev/null)
|
||||
php_type=$(cat "$HESTIA/conf/hestia.conf" | grep "LOCAL_PHP" | grep "yes")
|
||||
|
||||
if [ -n "$php_type" ]; then
|
||||
pool=$(find -L /opt/brepo/ -name "$domain.conf" -exec dirname {} \; 2>/dev/null)
|
||||
else
|
||||
pool=$(find -L /etc/php/ -name "$domain.conf" -exec dirname {} \;)
|
||||
pool=$(find -L /etc/opt/remi/php80/ -name "$domain.conf" -exec dirname {} \; 2>/dev/null)
|
||||
fi
|
||||
# Check if multiple-PHP installed
|
||||
if [ -f "/etc/redhat-release" ]; then
|
||||
regex="^.*PHP-([0-9])([0-9])$"
|
||||
else
|
||||
regex="^.*PHP-([0-9])\_([0-9])$"
|
||||
fi
|
||||
regex="^.*PHP-([0-9])([0-9])$"
|
||||
|
||||
if [[ $backend_template =~ $regex ]]; then
|
||||
if [ -f "/etc/redhat-release" ]; then
|
||||
if [ -n "$php_type" ]; then
|
||||
backend_version="${BASH_REMATCH[1]}${BASH_REMATCH[2]}"
|
||||
pool=$(find -L /opt/brepo/php$backend_version -type d \( -name "pool.d" -o -name "*fpm.d" \))
|
||||
else
|
||||
backend_version="${BASH_REMATCH[1]}${BASH_REMATCH[2]}"
|
||||
pool=$(find -L /etc/opt/remi/php$backend_version -type d \( -name "pool.d" -o -name "*fpm.d" \))
|
||||
else
|
||||
backend_version="${BASH_REMATCH[1]}.${BASH_REMATCH[2]}"
|
||||
pool=$(find -L /etc/php/$backend_version -type d \( -name "pool.d" -o -name "*fpm.d" \))
|
||||
fi
|
||||
else
|
||||
backend_version=$(multiphp_default_version)
|
||||
if [ -z "$pool" ] || [ -z "$BACKEND" ]; then
|
||||
if [ -f "/etc/redhat-release" ]; then
|
||||
if [ -n "$php_type" ]; then
|
||||
m_backend_version="${backend_version//./}"
|
||||
pool=$(find -L /opt/brepo/php$m_backend_version -type d \( -name "pool.d" -o -name "*fpm.d" \))
|
||||
else
|
||||
m_backend_version="${backend_version//./}"
|
||||
pool=$(find -L /etc/opt/remi/php$m_backend_version -type d \( -name "pool.d" -o -name "*fpm.d" \))
|
||||
else
|
||||
pool=$(find -L /etc/php/$backend_version -type d \( -name "pool.d" -o -name "*fpm.d" \))
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -151,11 +150,12 @@ prepare_web_backend() {
|
||||
|
||||
# Delete web backend
|
||||
delete_web_backend() {
|
||||
if [ -f "/etc/redhat-release" ]; then
|
||||
find -L /etc/opt/remi/ -name "$backend_type.conf" -exec rm -f {} \;
|
||||
else
|
||||
find -L /etc/php/ -type f -name "$backend_type.conf" -exec rm -f {} \;
|
||||
fi
|
||||
php_type=$(cat "$HESTIA/conf/hestia.conf" | grep "LOCAL_PHP" | grep "yes")
|
||||
if [ -n "$php_type" ]; then
|
||||
find -L /opt/brepo/php* -name "$backend_type.conf" -exec rm -f {} \;
|
||||
else
|
||||
find -L /etc/opt/remi/ -name "$backend_type.conf" -exec rm -f {} \;
|
||||
fi
|
||||
}
|
||||
|
||||
# Prepare web aliases
|
||||
|
||||
98
func/main.sh
98
func/main.sh
@@ -1449,6 +1449,56 @@ check_backup_conditions() {
|
||||
done
|
||||
}
|
||||
|
||||
fn_get_link_name(){
|
||||
str_result=""
|
||||
ext_name=$1
|
||||
pattern=("01-ioncube.ini" "10-opcache.ini" "20-bcmath.ini" "20-bz2.ini" "20-calendar.ini" "20-ctype.ini" "20-curl.ini" "20-dba.ini" "20-dom.ini" "20-enchant.ini" "20-exif.ini" "20-ffi.ini" "20-fileinfo.ini" "20-ftp.ini" "20-gd.ini" "20-gettext.ini" "20-gmp.ini" "20-iconv.ini" "20-imap.ini" "20-intl.ini" "20-ldap.ini" "20-mbstring.ini" "20-mysqlnd.ini" "20-odbc.ini" "20-pdo.ini" "20-phar.ini" "20-posix.ini" "20-pspell.ini" "20-shmop.ini" "20-simplexml.ini" "20-sockets.ini" "20-sqlite3.ini" "20-sysvmsg.ini" "20-sysvsem.ini" "20-sysvshm.ini" "20-tokenizer.ini" "20-xml.ini" "20-xmlwriter.ini" "20-xsl.ini" "30-mysqli.ini" "30-pdo_dblib.ini" "30-pdo_firebird.ini" "30-pdo_mysql.ini" "30-pdo_odbc.ini" "30-pdo_sqlite.ini" "30-xmlreader.ini" "30-zip.ini" "40-apcu.ini" "40-ast.ini" "40-bolt.ini" "40-brotli.ini" "40-geos.ini" "40-imagick.ini" "40-libvirt-php.ini" "40-lz4.ini" "40-pdlib.ini")
|
||||
check="^[0-9]+-${ext_name}.ini"
|
||||
for str in ${pattern[@]}; do
|
||||
if [[ $str =~ $check ]]; then
|
||||
str_result="$str"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ -z "$str_result" ]; then
|
||||
echo "50-${ext_name}.ini"
|
||||
else
|
||||
echo "$str_result"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
fn_enable_local_php_extension(){
|
||||
vers=$1
|
||||
ext_name=$2
|
||||
ext_nm=$(fn_get_link_name "$ext_name")
|
||||
if [ -e "/opt/brepo/php${vers}/etc/php.d/" ]; then
|
||||
if [ ! -e "/opt/brepo/php${vers}/etc/php.d/${ext_nm}" -a -e "/opt/brepo/php${vers}/etc/mod-installed/${ext_name}.ini" ]; then
|
||||
pushd "/opt/brepo/php${vers}/etc/php.d/"
|
||||
ln -s ../mod-installed/${ext_name}.ini /opt/brepo/php${vers}/etc/php.d/${ext_nm}
|
||||
popd
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
fn_disable_local_php_extension(){
|
||||
vers=$1
|
||||
ext_name=$2
|
||||
ext_nm=$(fn_get_link_name "$ext_name")
|
||||
if [ -e "/opt/brepo/php${vers}/etc/php.d/" ]; then
|
||||
if [ -e "/opt/brepo/php${vers}/etc/php.d/${ext_nm}" ]; then
|
||||
rm -f "/opt/brepo/php${vers}/etc/php.d/${ext_nm}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
fn_enable_mod_php(){
|
||||
vers=$1
|
||||
if [ -e "/etc/httpd/conf.d.prep/php${vers}.conf" ]; then
|
||||
ln -s /etc/httpd/conf.d.prep/php${vers}.conf /etc/httpd/conf.h.d/mod_php${vers}.conf
|
||||
fi
|
||||
}
|
||||
|
||||
# Define download function
|
||||
download_file() {
|
||||
local url=$1
|
||||
@@ -1511,9 +1561,16 @@ multiphp_count() {
|
||||
multiphp_versions() {
|
||||
local -a php_versions_list
|
||||
local php_ver
|
||||
local php_type_internal=$(cat "$HESTIA/conf/hestia.conf" | grep "LOCAL_PHP" | grep "yes")
|
||||
local pool_internal=""
|
||||
if [ "$(multiphp_count)" -gt 0 ]; then
|
||||
for php_ver in $($BIN/v-list-sys-php plain); do
|
||||
[ ! -d "/etc/php/$php_ver/fpm/pool.d/" ] && continue
|
||||
if [ -n "$php_type_internal" ]; then
|
||||
pool_internal="/opt/brepo/php$php_ver/etc/php-fpm.d"
|
||||
else
|
||||
pool_internal="/etc/opt/remi/php$php_ver/php-fpm.d"
|
||||
fi
|
||||
[ ! -d "$pool_internal" ] && continue
|
||||
php_versions_list+=($php_ver)
|
||||
done
|
||||
echo "${php_versions_list[@]}"
|
||||
@@ -1522,11 +1579,19 @@ multiphp_versions() {
|
||||
|
||||
multiphp_default_version() {
|
||||
# Get system wide default php version (set by update-alternatives)
|
||||
local sys_phpversion=$(php -r "echo substr(phpversion(),0,3);")
|
||||
local sys_phpversion_l=$(php -r "echo substr(phpversion(),0,3);")
|
||||
local sys_phpversion="${sys_phpversion_l//./}"
|
||||
local php_type_internal=$(cat "$HESTIA/conf/hestia.conf" | grep "LOCAL_PHP" | grep "yes")
|
||||
local pool_internal=""
|
||||
if [ -n "$php_type_internal" ]; then
|
||||
pool_internal="/opt/brepo/php$sys_phpversion/etc/php-fpm.d"
|
||||
else
|
||||
pool_internal="/etc/opt/remi/php$sys_phpversion/php-fpm.d"
|
||||
fi
|
||||
|
||||
# Check if the system php also has php-fpm enabled, otherwise return
|
||||
# the most recent php version which does have it installed.
|
||||
if [ ! -d "/etc/php/$sys_phpversion/fpm/pool.d/" ]; then
|
||||
if [ ! -d "$pool_internal" ]; then
|
||||
local all_versions="$(multiphp_versions)"
|
||||
if [ -n "$all_versions" ]; then
|
||||
sys_phpversion="${all_versions##*\ }"
|
||||
@@ -1730,4 +1795,31 @@ get_conf_d_name(){
|
||||
else
|
||||
echo "conf.d"
|
||||
fi
|
||||
}
|
||||
|
||||
# Get default php version
|
||||
# hestia.conf should be enabled before function
|
||||
get_system_default_php(){
|
||||
declare -a local_versions
|
||||
if [ "$LOCAL_PHP" == "yes" ]; then
|
||||
for version in /opt/brepo/php*/etc/php-fpm.d/www.conf; do
|
||||
local_ver=$(echo "$version" | awk -F"/" '{ print $4 }' | sed "s/php\([[:digit:]]\+\)/\1/g")
|
||||
if [ "$local_ver" != "php*" ]; then
|
||||
local_versions+=("$local_ver")
|
||||
fi
|
||||
done
|
||||
else
|
||||
for version in /etc/opt/remi/php*/php-fpm.d/www.conf; do
|
||||
local_ver=$(echo "$version" | awk -F"/" '{ print $5 }' | sed "s/php\([[:digit:]]\+\)/\1/g")
|
||||
if [ "$local_ver" != "php*" ]; then
|
||||
local_versions+=("$local_ver")
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if [ ${#local_versions[@]} -eq 0 ]; then
|
||||
local_php_ver="82"
|
||||
else
|
||||
local_php_ver="${local_versions[0]}"
|
||||
fi
|
||||
echo "$local_php_ver"
|
||||
}
|
||||
256
func_ruby/ext-modules/php_brepo_modules.mod
Normal file
256
func_ruby/ext-modules/php_brepo_modules.mod
Normal file
@@ -0,0 +1,256 @@
|
||||
#!/opt/brepo/ruby33/bin/ruby
|
||||
|
||||
class EmptyWorker < Kernel::ModuleCoreWorker
|
||||
MODULE_ID = "php_brepo_modules"
|
||||
|
||||
def info
|
||||
{
|
||||
ID: 4,
|
||||
NAME: MODULE_ID,
|
||||
DESCR: "Module for managing of php modules for php's from brepo repository",
|
||||
REQ: "",
|
||||
CONF: "yes",
|
||||
}
|
||||
end
|
||||
|
||||
def enable
|
||||
if $LOCAL_PHP == "yes"
|
||||
super
|
||||
else
|
||||
log_return("PHP from brepo repository not enabled")
|
||||
end
|
||||
end
|
||||
|
||||
def get_list_of_installed_php
|
||||
php_list = []
|
||||
lst = Dir["/opt/brepo/php*/etc/php.ini"]
|
||||
if lst.length.positive?
|
||||
php_list = lst.select do |item|
|
||||
%r{/opt/brepo/php\d+/etc/php\.ini} =~ item
|
||||
end.map do |item|
|
||||
res = item.match %r{/opt/brepo/php(?<ver>\d+)/etc/php\.ini}
|
||||
res[:ver]
|
||||
end
|
||||
end
|
||||
php_list
|
||||
end
|
||||
|
||||
def get_list_of_installed_php_modules(php_ver)
|
||||
php_modules = {}
|
||||
php_list = get_list_of_installed_php
|
||||
if php_list.include? php_ver
|
||||
lst = Dir["/opt/brepo/php#{php_ver}/etc/mod-installed/*.ini"]
|
||||
php_list_m = lst.map { |item| File.basename(item, ".ini") }.select { |item| item.strip != "" && !(item =~ %r{ioncube_loader_lin_}) }
|
||||
lst_enabled = Dir["/opt/brepo/php#{php_ver}/etc/php.d/*.ini"]
|
||||
php_list_i = {}
|
||||
lst_enabled.each do |item|
|
||||
fname = File.basename(item, ".ini")
|
||||
if fname.strip != ""
|
||||
if File.symlink? item
|
||||
fname_n = File.readlink(item)
|
||||
fname_n = File.basename(fname_n, ".ini")
|
||||
php_list_i[fname_n] = fname unless fname_n.strip == ""
|
||||
end
|
||||
end
|
||||
end
|
||||
php_list_m.each do |item|
|
||||
php_modules[item] = "disabled"
|
||||
php_modules[item] = php_list_i[item] unless php_list_i[item].nil?
|
||||
end
|
||||
end
|
||||
php_modules
|
||||
end
|
||||
|
||||
def get_php_module_description(module_name)
|
||||
case module_name
|
||||
when "bcmath"
|
||||
"Модуль математических операций с числами произвольной точности"
|
||||
when "curl"
|
||||
"Поддержка curl функций из библиотеки libcurl"
|
||||
when "dba"
|
||||
"Эти функции — основа для доступа к базам данных наподобие Berkeley DB"
|
||||
when "dom"
|
||||
"Модуль DOM разрешает работать в PHP с XML- и HTML-документами через DOM API"
|
||||
when "gd"
|
||||
"Функции работы с изображениями"
|
||||
when "imap"
|
||||
"Эти функции позволяют работать с протоколом IMAP, а также NNTP, POP3 и локальными методами доступа к почтовому ящику."
|
||||
when "intl"
|
||||
"Модуль интернационализации"
|
||||
when "ioncube"
|
||||
"Модуль котрый производит деобфускацию кода, написанного на языке php и закодированного утилитами из набора ioncube"
|
||||
when "ioncube_loader_lin_7.4"
|
||||
"Модуль котрый производит деобфускацию кода, написанного на языке php и закодированного утилитами из набора ioncube"
|
||||
when "json"
|
||||
"Поддержка json в PHP"
|
||||
when "ldap"
|
||||
"Поддержка работы с LDAP в PHP"
|
||||
when "mbstring"
|
||||
"Поддержка работы с многобайтовыми строками"
|
||||
when "memcache"
|
||||
"Модуль Memcache предоставляет удобный процедурный и объектно-ориентированный интерфейс к memcached, высокоэффективному кеширующему демону, который был специально разработан для снижения нагрузки на базу данных в динамических веб приложениях"
|
||||
when "mysqli"
|
||||
"Модуль mysqli позволяет вам получить доступ к функциональности, которую предоставляет MySQL версии 4.1 и выше"
|
||||
when "mysqlnd"
|
||||
"Встроенный драйвер MySQL"
|
||||
when "odbc"
|
||||
"В дополнение к обычной поддержке ODBC, функции Unified ODBC в PHP позволяют получить доступ к нескольким базам данных, которые позаимствовали семантику ODBC API для реализации своего собственного API."
|
||||
when "opcache"
|
||||
"Модуль OPcache сохраняет предкомпилированный байт-код скриптов в разделяемой памяти. Кеширование операционного PHP-кода повышает производительность и помогает избегать загрузки и анализа скриптов при каждом запросе."
|
||||
when "pdo"
|
||||
"Модуль PDO определяет легковесный и непротиворечивый интерфейс доступа к базам данных в PHP."
|
||||
when "pdo_dblib"
|
||||
"PDO_DBLIB: драйвер модуля PDO для СУБД Microsoft SQL Server и Sybase"
|
||||
when "pdo_mysql"
|
||||
"PDO_MYSQL: драйвер модуля PDO для СУБД MySQL"
|
||||
when "pdo_odbc"
|
||||
"PDO_ODBC: драйвер модуля PDO для СУБД ODBC и DB2"
|
||||
when "pdo_pgsql"
|
||||
"PDO_PGSQL: драйвер модуля PDO для СУБД PostgreSQL"
|
||||
when "pdo_sqlite"
|
||||
"PDO_SQLITE: драйвер модуля PDO для СУБД SQLite"
|
||||
when "pgsql"
|
||||
"Модуль поддержки взаимодействия PHP с PostgreSQL"
|
||||
when "phar"
|
||||
"Модуль phar предоставляет возможность поместить целое PHP-приложение в один-единственный файл c именем phar (PHP Archive) для простого распространения и установки"
|
||||
when "posix"
|
||||
"Этот модуль содержит интерфейс к функциям, определённым в стандарте IEEE 1003.1 (POSIX.1), которые не доступны с помощью других средств."
|
||||
when "pspell"
|
||||
"Функции позволяют проверять правописание слова и предлагают варианты исправления."
|
||||
when "snmp"
|
||||
"Модуль SNMP предоставляет простой и удобный набор инструментов для управления удалёнными устройствами через Simple Network Management Protocol (простой протокол управления сетями)"
|
||||
when "soap"
|
||||
"Модуль SOAP может использоваться для написания как серверной, так и клиентской части. Он реализует спецификации » SOAP 1.1, » SOAP 1.2 и » WSDL 1.1."
|
||||
when "sodium"
|
||||
"Sodium — современная, простая в работе программная библиотека для шифрования и дешифрования данных, выполнения операций с подписями, хеширования паролей и других криптографических целей"
|
||||
when "sysvmsg"
|
||||
"Модуль поддержки сообщений System V"
|
||||
when "sysvsem"
|
||||
"Поддержка семафоров"
|
||||
when "sysvshm"
|
||||
"Поддержка разделяемой памяти"
|
||||
when "tidy"
|
||||
"Модуль коррекции разметки tidy"
|
||||
when "xmlreader"
|
||||
"Модуль XMLReader — синтаксический анализатор XML-документов"
|
||||
when "xmlrpc"
|
||||
"Функции модуля помогают писать клиентский или серверный код по правилам стандарта XML-RPC"
|
||||
when "xmlwriter"
|
||||
"Модуль XMLWriter оборачивает API-интерфейс парсера xmlWriter, который входит в состав модуля libxml."
|
||||
when "xsl"
|
||||
"Модуль XSL реализует XSL-стандарт путём XSLT-преобразований, которые выполняет через библиотеку libxslt"
|
||||
when "zip"
|
||||
"Модуль позволяет легко читать и записывать как в сами сжатые ZIP-архивы, так и в файлы внутри них"
|
||||
else
|
||||
"нет описания"
|
||||
end
|
||||
end
|
||||
|
||||
def disable_module(php_ver, module_name)
|
||||
php_mods = get_list_of_installed_php_modules(php_ver)
|
||||
return if php_mods[module_name].nil?
|
||||
|
||||
if File.exist? ("/opt/brepo/php#{php_ver}/etc/php.d/#{php_mods[module_name]}.ini")
|
||||
File.unlink("/opt/brepo/php#{php_ver}/etc/php.d/#{php_mods[module_name]}.ini")
|
||||
end
|
||||
end
|
||||
|
||||
def enable_module(php_ver, module_name)
|
||||
php_mods = get_list_of_installed_php_modules(php_ver)
|
||||
return if php_mods[module_name].nil?
|
||||
|
||||
if php_mods[module_name] == "disabled"
|
||||
case module_name
|
||||
when "opcache"
|
||||
File.symlink("/opt/brepo/php#{php_ver}/etc/mod-installed/#{module_name}.ini", "/opt/brepo/php#{php_ver}/etc/php.d/10-#{module_name}.ini")
|
||||
when "mysqli", "pdo_mysql", "xmlreader", "zip"
|
||||
File.symlink("/opt/brepo/php#{php_ver}/etc/mod-installed/#{module_name}.ini", "/opt/brepo/php#{php_ver}/etc/php.d/30-#{module_name}.ini")
|
||||
else
|
||||
File.symlink("/opt/brepo/php#{php_ver}/etc/mod-installed/#{module_name}.ini", "/opt/brepo/php#{php_ver}/etc/php.d/20-#{module_name}.ini")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def command(args)
|
||||
return log_return("Not enough arguments. Needed command") if args.length < 1
|
||||
|
||||
m_command = args[0].strip
|
||||
case m_command
|
||||
when "php_list"
|
||||
result = get_list_of_installed_php.map { |item| { "PHPVER" => item } }
|
||||
format = (args[1].nil? ? "shell" : args[1].strip)
|
||||
hestia_print_array_of_hashes(result, format, "PHPVER")
|
||||
ACTION_OK
|
||||
when "php_modules"
|
||||
vers = args[1]
|
||||
if vers.nil?
|
||||
log_return("Verssion should be specified. #{args}")
|
||||
else
|
||||
vers = vers.strip
|
||||
modules_list = get_list_of_installed_php_modules(vers)
|
||||
m_keys = modules_list.keys.sort
|
||||
result = []
|
||||
m_keys.each do |kk|
|
||||
tmp_hash = {}
|
||||
tmp_hash["PHPVER"] = vers
|
||||
tmp_hash["MODNAME"] = kk
|
||||
tmp_hash["STATE"] = modules_list[kk]
|
||||
tmp_hash["DESCR"] = get_php_module_description(kk)
|
||||
result << tmp_hash
|
||||
end
|
||||
format = (args[2].nil? ? "shell" : args[2].strip)
|
||||
hestia_print_array_of_hashes(result, format, "PHPVER,MODNAME,STATE,DESCR")
|
||||
ACTION_OK
|
||||
end
|
||||
when "php_enable"
|
||||
vers = args[1]
|
||||
mod_n = args[2]
|
||||
if vers.nil? || mod_n.nil?
|
||||
log_return("Verssion and module name should be specified. #{args}")
|
||||
else
|
||||
vers = vers.strip
|
||||
mod_n = mod_n.strip
|
||||
enable_module(vers, mod_n)
|
||||
ACTION_OK
|
||||
end
|
||||
when "php_disable"
|
||||
vers = args[1]
|
||||
mod_n = args[2]
|
||||
if vers.nil? || mod_n.nil?
|
||||
log_return("Verssion and module name should be specified. #{args}")
|
||||
else
|
||||
vers = vers.strip
|
||||
mod_n = mod_n.strip
|
||||
disable_module(vers, mod_n)
|
||||
ACTION_OK
|
||||
end
|
||||
when "help"
|
||||
puts "#{$0} php_brepo_modules COMMAND [OPTIONS] [json|csv|plain]"
|
||||
puts "COMMANDS:"
|
||||
puts " php_list - list all local php installed"
|
||||
puts " php_modules [php_ver] - list available php module"
|
||||
puts " php_enable [php_ver] [module_name] - enable php module"
|
||||
puts " php_disable [php_ver] [module_name] - disable php module"
|
||||
puts " help - help"
|
||||
ACTION_OK
|
||||
else
|
||||
log_return("Unknown command. #{args}")
|
||||
end
|
||||
end
|
||||
|
||||
implements IPluginInterface
|
||||
end
|
||||
|
||||
module EmptyModule
|
||||
def get_object
|
||||
Proc.new { EmptyWorker.new }
|
||||
end
|
||||
|
||||
module_function :get_object
|
||||
end
|
||||
|
||||
class Kernel::PluginConfiguration
|
||||
include EmptyModule
|
||||
|
||||
@@loaded_plugins[EmptyWorker::MODULE_ID] = EmptyModule.get_object
|
||||
end
|
||||
@@ -1,47 +1,53 @@
|
||||
{
|
||||
"name": "filegator/filegator",
|
||||
"description": "Filegator",
|
||||
"license": "MIT",
|
||||
"type": "project",
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "7.2.5"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2",
|
||||
"monolog/monolog": "^1.24",
|
||||
"nikic/fast-route": "^1.3",
|
||||
"symfony/security-csrf": "^4.4",
|
||||
"symfony/http-foundation": "^4.4",
|
||||
"dibi/dibi": "^4.1",
|
||||
"php-di/php-di": "^6.0",
|
||||
"rakit/validation": "^1.1",
|
||||
"league/flysystem": "^1.1",
|
||||
"league/flysystem-ziparchive": "^1.0",
|
||||
"league/flysystem-sftp": "^1.0",
|
||||
"hestiacp/phpquoteshellarg": "^1.0"
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "Milos Stojanovic",
|
||||
"email": "alcalbg@gmail.com"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Filegator\\": "backend"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Tests\\": "tests/backend/"
|
||||
}
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^8.0",
|
||||
"symfony/var-dumper": "^4.4",
|
||||
"league/flysystem-memory": "^1.0",
|
||||
"phpstan/phpstan": "^0.11.8"
|
||||
}
|
||||
"name": "filegator/filegator",
|
||||
"description": "Filegator",
|
||||
"license": "MIT",
|
||||
"type": "project",
|
||||
"repositories": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://dev.brepo.ru/brepo/phpquoteshellarg.git"
|
||||
}
|
||||
],
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "8.1"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"php": "^8.1",
|
||||
"monolog/monolog": "^1.24",
|
||||
"nikic/fast-route": "^1.3",
|
||||
"symfony/security-csrf": "^4.4",
|
||||
"symfony/http-foundation": "^4.4",
|
||||
"dibi/dibi": "^4.1",
|
||||
"php-di/php-di": "^6.0",
|
||||
"rakit/validation": "^1.1",
|
||||
"league/flysystem": "^1.1",
|
||||
"league/flysystem-ziparchive": "^1.0",
|
||||
"league/flysystem-sftp": "^1.0",
|
||||
"brepo/phpquoteshellarg": "dev-master"
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "Milos Stojanovic",
|
||||
"email": "alcalbg@gmail.com"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Filegator\\": "backend"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Tests\\": "tests/backend/"
|
||||
}
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^8.0",
|
||||
"symfony/var-dumper": "^4.4",
|
||||
"league/flysystem-memory": "^1.0",
|
||||
"phpstan/phpstan": "^2.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
8384
install/common/filegator/composer.lock
generated
8384
install/common/filegator/composer.lock
generated
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
||||
# ======================================================== #
|
||||
#
|
||||
# Hestia Control Panel Installer for RHEL based OS
|
||||
# https://www.hestiacp.com/
|
||||
# https://hestiadocs.brepo.ru/
|
||||
#
|
||||
# Currently Supported Versions:
|
||||
# Red Hat Enterprise Linux based distros
|
||||
@@ -14,8 +14,6 @@
|
||||
# Variables&Functions #
|
||||
#----------------------------------------------------------#
|
||||
export PATH=$PATH:/sbin
|
||||
RHOST='rpm.hestiacp.com'
|
||||
GPG='gpg.hestiacp.com'
|
||||
VERSION='rhel'
|
||||
HESTIA='/usr/local/hestia'
|
||||
LOG="/root/hst_install_backups/hst_install-$(date +%d%m%Y%H%M).log"
|
||||
@@ -40,25 +38,21 @@ HESTIA_COMMON_DIR="$HESTIA/install/common"
|
||||
VERBOSE='no'
|
||||
|
||||
# Define software versions
|
||||
HESTIA_INSTALL_VER='1.9.0~alpha'
|
||||
HESTIA_INSTALL_VER='1.9.4.rpm~alpha'
|
||||
|
||||
# Dependencies
|
||||
mariadb_v="10.11"
|
||||
if [ "$release" -lt 9 ]; then
|
||||
multiphp_v=("72" "73" "74" "80" "81" "82" "83")
|
||||
else
|
||||
multiphp_v=("74" "80" "81" "82" "83")
|
||||
fi
|
||||
|
||||
# default PHP version
|
||||
php_v="82"
|
||||
|
||||
php_modules_install="mysqlnd mysqli pdo_mysql pgsql pdo sqlite pdo_sqlite pdo_pgsql imap ldap zip opcache xmlwriter xmlreader gd intl pspell"
|
||||
php_modules_disable=""
|
||||
mod_php="enable"
|
||||
|
||||
software="nginx
|
||||
httpd.${arch} httpd-tools httpd-itk mod_fcgid mod_suphp mod_ssl
|
||||
php${php_v}-php.${arch} php${php_v}-php-cgi.${arch} php${php_v}-php-mysqlnd.${arch} php${php_v}-php-pgsql.${arch}
|
||||
php${php_v}-php-pdo php${php_v}-php-common php${php_v}-php-pecl-imagick php${php_v}-php-imap php${php_v}-php-ldap
|
||||
php${php_v}-php-pecl-apcu php${php_v}-php-pecl-zip php${php_v}-php-cli php${php_v}-php-opcache php${php_v}-php-xml
|
||||
php${php_v}-php-gd php${php_v}-php-intl php${php_v}-php-mbstring php${php_v}-php-pspell php${php_v}-php-readline
|
||||
MariaDB-client MariaDB-common MariaDB-server
|
||||
mysql.${arch} mysql-common mysql-server
|
||||
postgresql-server postgresql sqlite.${arch}
|
||||
@@ -97,6 +91,7 @@ help() {
|
||||
-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
|
||||
-s, --hostname Set hostname
|
||||
-e, --email Set admin email
|
||||
-p, --password Set admin password
|
||||
@@ -208,6 +203,56 @@ validate_email() {
|
||||
fi
|
||||
}
|
||||
|
||||
get_link_name(){
|
||||
str_result=""
|
||||
ext_name=$1
|
||||
pattern=("01-ioncube.ini" "10-opcache.ini" "20-bcmath.ini" "20-bz2.ini" "20-calendar.ini" "20-ctype.ini" "20-curl.ini" "20-dba.ini" "20-dom.ini" "20-enchant.ini" "20-exif.ini" "20-ffi.ini" "20-fileinfo.ini" "20-ftp.ini" "20-gd.ini" "20-gettext.ini" "20-gmp.ini" "20-iconv.ini" "20-imap.ini" "20-intl.ini" "20-ldap.ini" "20-mbstring.ini" "20-mysqlnd.ini" "20-odbc.ini" "20-pdo.ini" "20-phar.ini" "20-posix.ini" "20-pspell.ini" "20-shmop.ini" "20-simplexml.ini" "20-sockets.ini" "20-sqlite3.ini" "20-sysvmsg.ini" "20-sysvsem.ini" "20-sysvshm.ini" "20-tokenizer.ini" "20-xml.ini" "20-xmlwriter.ini" "20-xsl.ini" "30-mysqli.ini" "30-pdo_dblib.ini" "30-pdo_firebird.ini" "30-pdo_mysql.ini" "30-pdo_odbc.ini" "30-pdo_sqlite.ini" "30-xmlreader.ini" "30-zip.ini" "40-apcu.ini" "40-ast.ini" "40-bolt.ini" "40-brotli.ini" "40-geos.ini" "40-imagick.ini" "40-libvirt-php.ini" "40-lz4.ini" "40-pdlib.ini")
|
||||
check="^[0-9]+-${ext_name}.ini"
|
||||
for str in ${pattern[@]}; do
|
||||
if [[ $str =~ $check ]]; then
|
||||
str_result="$str"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ -z "$str_result" ]; then
|
||||
echo "50-${ext_name}.ini"
|
||||
else
|
||||
echo "$str_result"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
enable_local_php_extension(){
|
||||
vers=$1
|
||||
ext_name=$2
|
||||
ext_nm=$(get_link_name "$ext_name")
|
||||
if [ -e "/opt/brepo/php${vers}/etc/php.d/" ]; then
|
||||
if [ ! -e "/opt/brepo/php${vers}/etc/php.d/${ext_nm}" -a -e "/opt/brepo/php${vers}/etc/mod-installed/${ext_name}.ini" ]; then
|
||||
pushd "/opt/brepo/php${vers}/etc/php.d/"
|
||||
ln -s ../mod-installed/${ext_name}.ini /opt/brepo/php${vers}/etc/php.d/${ext_nm}
|
||||
popd
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
disable_local_php_extension(){
|
||||
vers=$1
|
||||
ext_name=$2
|
||||
ext_nm=$(get_link_name "$ext_name")
|
||||
if [ -e "/opt/brepo/php${vers}/etc/php.d/" ]; then
|
||||
if [ -e "/opt/brepo/php${vers}/etc/php.d/${ext_nm}" ]; then
|
||||
rm -f "/opt/brepo/php${vers}/etc/php.d/${ext_nm}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
enable_mod_php(){
|
||||
vers=$1
|
||||
if [ -e "/etc/httpd/conf.d.prep/php${vers}.conf" ]; then
|
||||
ln -s /etc/httpd/conf.d.prep/php${vers}.conf /etc/httpd/conf.h.d/mod_php${vers}.conf
|
||||
fi
|
||||
}
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
@@ -247,6 +292,7 @@ for arg; do
|
||||
--with-debs) args="${args}-D " ;;
|
||||
--help) args="${args}-h " ;;
|
||||
--nopublicip) args="${args}-I " ;;
|
||||
--uselocalphp) args="${args}-u" ;;
|
||||
*)
|
||||
[[ "${arg:0:1}" == "-" ]] || delim="\""
|
||||
args="${args}${delim}${arg}${delim} "
|
||||
@@ -256,7 +302,7 @@ done
|
||||
eval set -- "$args"
|
||||
|
||||
# Parsing arguments
|
||||
while getopts "I:a:w:v:j:k:m:M:g:d:x:z:Z:c:t:i:b:r:o:q:l:y:s:e:p:R:fh" Option; do
|
||||
while getopts "u:I:a:w:v:j:k:m:M:g:d:x:z:Z:c:t:i:b:r:o:q:l:y:s:e:p:R:fh" Option; do
|
||||
case $Option in
|
||||
a) apache=$OPTARG ;; # Apache
|
||||
w) phpfpm=$OPTARG ;; # PHP-FPM
|
||||
@@ -286,6 +332,7 @@ while getopts "I:a:w:v:j:k:m:M:g:d:x:z:Z:c:t:i:b:r:o:q:l:y:s:e:p:R:fh" Option; d
|
||||
f) force='yes' ;; # Force install
|
||||
h) help ;; # Help
|
||||
I) nopublicip=$OPTARG ;; # NoPublicIP
|
||||
u) uselocalphp=$OPTARG ;; # UseLocalPHP
|
||||
*) help ;; # Print help (default)
|
||||
esac
|
||||
done
|
||||
@@ -322,6 +369,7 @@ set_default_value 'api' 'yes'
|
||||
set_default_value 'nopublicip' 'yes'
|
||||
set_default_port '8083'
|
||||
set_default_lang 'en'
|
||||
set_default_value 'uselocalphp' 'yes'
|
||||
|
||||
# Checking software conflicts
|
||||
if [ "$proftpd" = 'yes' ]; then
|
||||
@@ -462,23 +510,23 @@ esac
|
||||
install_welcome_message() {
|
||||
DISPLAY_VER=$(echo $HESTIA_INSTALL_VER | sed "s|~alpha||g" | sed "s|~beta||g")
|
||||
echo
|
||||
echo ' _ _ _ _ ____ ____ '
|
||||
echo ' | | | | ___ ___| |_(_) __ _ / ___| _ \ '
|
||||
echo ' | |_| |/ _ \/ __| __| |/ _` | | | |_) | '
|
||||
echo ' | _ | __/\__ \ |_| | (_| | |___| __/ '
|
||||
echo ' |_| |_|\___||___/\__|_|\__,_|\____|_| '
|
||||
echo ' _ _ _ _ ____ ____ '
|
||||
echo ' | | | | ___ ___| |_(_) __ _ / ___| _ \ _ _ . . '
|
||||
echo ' | |_| |/ _ \/ __| __| |/ _` | | | |_) | | \| \|\/| '
|
||||
echo ' | _ | __/\__ \ |_| | (_| | |___| __/ |_/|_/| | '
|
||||
echo ' |_| |_|\___||___/\__|_|\__,_|\____|_| | \| | | '
|
||||
echo " "
|
||||
echo " Hestia Control Panel "
|
||||
echo " Hestia Control Panel(rpm edition) "
|
||||
if [[ "$HESTIA_INSTALL_VER" =~ "beta" ]]; then
|
||||
echo " BETA RELEASE "
|
||||
fi
|
||||
if [[ "$HESTIA_INSTALL_VER" =~ "alpha" ]]; then
|
||||
echo " DEVELOPMENT SNAPSHOT "
|
||||
echo " NOT INTENDED FOR PRODUCTION USE "
|
||||
echo " USE AT YOUR OWN RISK "
|
||||
fi
|
||||
echo " ${DISPLAY_VER} "
|
||||
echo " www.hestiacp.com "
|
||||
echo " hestiadocs.brepo.ru "
|
||||
echo " Original: www.hestiacp.com "
|
||||
echo
|
||||
echo "========================================================================"
|
||||
echo
|
||||
@@ -684,7 +732,19 @@ echo "[ * ] NGINX"
|
||||
|
||||
# Installing Remi PHP repo
|
||||
echo "[ * ] PHP"
|
||||
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-$release.rpm
|
||||
php_pkgs_lst=""
|
||||
if [ "$uselocalphp" == "yes" ]; then
|
||||
write_config_value "LOCAL_PHP" "yes"
|
||||
php_pkgs_lst="brepo-php${php_v} brepo-php${php_v}-mod-apache"
|
||||
else
|
||||
write_config_value "LOCAL_PHP" "no"
|
||||
php_pkgs_lst="php${php_v}-php.${arch} php${php_v}-php-cgi.${arch} php${php_v}-php-mysqlnd.${arch} php${php_v}-php-pgsql.${arch}
|
||||
php${php_v}-php-pdo php${php_v}-php-common php${php_v}-php-pecl-imagick php${php_v}-php-imap php${php_v}-php-ldap
|
||||
php${php_v}-php-pecl-apcu php${php_v}-php-pecl-zip php${php_v}-php-cli php${php_v}-php-opcache php${php_v}-php-xml
|
||||
php${php_v}-php-gd php${php_v}-php-intl php${php_v}-php-mbstring php${php_v}-php-pspell php${php_v}-php-readline"
|
||||
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-$release.rpm
|
||||
fi
|
||||
software="$software $php_pkgs_lst"
|
||||
|
||||
# Installing MariaDB repo
|
||||
if [ "$mysql" = 'yes' ]; then
|
||||
@@ -805,10 +865,14 @@ rm -rf $HESTIA > /dev/null 2>&1
|
||||
#----------------------------------------------------------#
|
||||
|
||||
if [ "$phpfpm" = 'yes' ]; then
|
||||
fpm="php${php_v}-php-fpm php${php_v}-php-cgi.${arch} php${php_v}-php-mysqlnd.${arch} php${php_v}-php-pgsql.${arch}
|
||||
php${php_v}-php-pdo php${php_v}-php-common php${php_v}-php-pecl-imagick php${php_v}-php-imap php${php_v}-php-ldap
|
||||
php${php_v}-php-pecl-apcu php${php_v}-php-pecl-zip php${php_v}-php-cli php${php_v}-php-opcache php${php_v}-php-xml
|
||||
php${php_v}-php-gd php${php_v}-php-intl php${php_v}-php-mbstring php${php_v}-php-pspell php${php_v}-php-readline"
|
||||
if [ "$uselocalphp" == "yes" ]; then
|
||||
fpm="brepo-php${php_v}-fpm"
|
||||
else
|
||||
fpm="php${php_v}-php-fpm php${php_v}-php-cgi.${arch} php${php_v}-php-mysqlnd.${arch} php${php_v}-php-pgsql.${arch}
|
||||
php${php_v}-php-pdo php${php_v}-php-common php${php_v}-php-pecl-imagick php${php_v}-php-imap php${php_v}-php-ldap
|
||||
php${php_v}-php-pecl-apcu php${php_v}-php-pecl-zip php${php_v}-php-cli php${php_v}-php-opcache php${php_v}-php-xml
|
||||
php${php_v}-php-gd php${php_v}-php-intl php${php_v}-php-mbstring php${php_v}-php-pspell php${php_v}-php-readline"
|
||||
fi
|
||||
software="$software $fpm"
|
||||
fi
|
||||
|
||||
@@ -825,6 +889,8 @@ if [ "$apache" = 'no' ]; then
|
||||
software=$(echo "$software" | sed -e "s/mod_fcgid//")
|
||||
software=$(echo "$software" | sed -e "s/mod_ssl//")
|
||||
software=$(echo "$software" | sed -e "s/php${php_v}-php.${arch}//")
|
||||
software=$(echo "$software" | sed -e "s/brepo-php${php_v}-mod-apache//")
|
||||
mod_php="disable"
|
||||
fi
|
||||
if [ "$vsftpd" = 'no' ]; then
|
||||
software=$(echo "$software" | sed -e "s/vsftpd//")
|
||||
@@ -873,6 +939,9 @@ if [ "$postgresql" = 'no' ]; then
|
||||
software=$(echo "$software" | sed -e "s/postgresql-server//")
|
||||
software=$(echo "$software" | sed -e "s/php${php_v}-php-pgsql.${arch}//")
|
||||
software=$(echo "$software" | sed -e "s/phppgadmin//")
|
||||
php_modules_install=$(echo "$php_modules_install" | sed -e "s/pgsql//")
|
||||
php_modules_install=$(echo "$php_modules_install" | sed -e "s/pdo_pgsql//")
|
||||
php_modules_disable="$php_modules_disable pgsql pdo_pgsql"
|
||||
fi
|
||||
if [ "$fail2ban" = 'no' ]; then
|
||||
software=$(echo "$software" | sed -e "s/fail2ban//")
|
||||
@@ -888,6 +957,8 @@ if [ "$phpfpm" = 'yes' ]; then
|
||||
software=$(echo "$software" | sed -e "s/mod_suphp//")
|
||||
software=$(echo "$software" | sed -e "s/mod_fcgid//")
|
||||
software=$(echo "$software" | sed -e "s/php${php_v}-php.${arch}//")
|
||||
software=$(echo "$software" | sed -e "s/brepo-php${php_v}-mod-apache//")
|
||||
mod_php="disable"
|
||||
fi
|
||||
if [ -d "$withrpms" ]; then
|
||||
software=$(echo "$software" | sed -e "s/hestia-nginx//")
|
||||
@@ -935,7 +1006,21 @@ echo "========================================================================"
|
||||
echo
|
||||
|
||||
# Create PHP symlink
|
||||
alternatives --install /usr/bin/php php /opt/remi/php${php_v}/root/usr/bin/php 1
|
||||
if [ "$uselocalphp" == "yes" ]; then
|
||||
alternatives --install /usr/bin/php php /opt/brepo/php${php_v}/bin/php 1
|
||||
echo "[ * ] Configuring php settings..."
|
||||
for mod in $php_modules_install; do
|
||||
enable_local_php_extension "${php_v}" "$mod"
|
||||
done
|
||||
for mod in $php_modules_disable; do
|
||||
disable_local_php_extension "${php_v}" "$mod"
|
||||
done
|
||||
if [ "$mod_php" == "enable" ]; then
|
||||
enable_mod_php "${php_v}"
|
||||
fi
|
||||
else
|
||||
alternatives --install /usr/bin/php php /opt/remi/php${php_v}/root/usr/bin/php 1
|
||||
fi
|
||||
|
||||
# Install Hestia packages from local folder
|
||||
if [ -n "$withrpms" ] && [ -d "$withrpms" ]; then
|
||||
@@ -1066,6 +1151,12 @@ chmod 660 $HESTIA/conf/hestia.conf
|
||||
# If a custom port is specified it will be set at the end of the installation process.
|
||||
write_config_value "BACKEND_PORT" "8083"
|
||||
|
||||
if [ "$uselocalphp" == "yes" ]; then
|
||||
write_config_value "LOCAL_PHP" "yes"
|
||||
else
|
||||
write_config_value "LOCAL_PHP" "no"
|
||||
fi
|
||||
|
||||
# Web stack
|
||||
if [ "$apache" = 'yes' ]; then
|
||||
write_config_value "WEB_SYSTEM" "httpd"
|
||||
@@ -1332,15 +1423,22 @@ if [ "$apache" = 'yes' ]; then
|
||||
|
||||
# Enable needed modules
|
||||
if [ "$nginx" = "no" ]; then
|
||||
dnf install -y mod_ssl mod_h2
|
||||
dnf install -y mod_ssl mod_http2
|
||||
fi
|
||||
|
||||
# IDK why those modules still here, but ok. if they are disabled by default
|
||||
sed 's/^LoadModule suexec_module/#LoadModule suexec_module/' -i /etc/httpd/conf.modules.d/01-suexec.conf
|
||||
sed 's/^LoadModule fcgid_module/#LoadModule fcgid_module/' -i /etc/httpd/conf.modules.d/10-fcgid.conf
|
||||
|
||||
if [ -e /etc/httpd/conf.modules.d/01-suexec.conf ]; then
|
||||
sed 's/^LoadModule suexec_module/#LoadModule suexec_module/' -i /etc/httpd/conf.modules.d/01-suexec.conf
|
||||
fi
|
||||
if [ -e /etc/httpd/conf.modules.d/10-fcgid.conf ]; then
|
||||
sed 's/^LoadModule fcgid_module/#LoadModule fcgid_module/' -i /etc/httpd/conf.modules.d/10-fcgid.conf
|
||||
fi
|
||||
|
||||
# Switch status loader to custom one
|
||||
sed 's/^LoadModule status_module/#LoadModule status_module/' -i /etc/httpd/conf.modules.d/00-base.conf
|
||||
if [ -e /etc/httpd/conf.modules.d/00-base.conf ]; then
|
||||
sed 's/^LoadModule status_module/#LoadModule status_module/' -i /etc/httpd/conf.modules.d/00-base.conf
|
||||
fi
|
||||
echo 'LoadModule status_module modules/mod_status.so' > /etc/httpd/conf.modules.d/00-hestia-status.conf
|
||||
|
||||
if [ "$phpfpm" = 'yes' ]; then
|
||||
@@ -1386,12 +1484,21 @@ if [ "$phpfpm" = "yes" ]; then
|
||||
|
||||
echo "[ * ] Configuring PHP $php_v..."
|
||||
# Create www.conf for webmail and php(*)admin
|
||||
cp -f $HESTIA_INSTALL_DIR/php-fpm/www.conf /etc/opt/remi/php${php_v}/php-fpm.d
|
||||
systemctl enable php${php_v}-php-fpm --now >> $LOG
|
||||
check_result $? "php-fpm start failed"
|
||||
# Set default php version to $php_v
|
||||
alternatives --install /usr/bin/php php /usr/bin/php$php_v 1 > /dev/null 2>&1
|
||||
alternatives --set php /usr/bin/php$php_v > /dev/null 2>&1
|
||||
if [ "$uselocalphp" == "yes" ]; then
|
||||
cp -f $HESTIA_INSTALL_DIR/php-fpm/www.conf /opt/brepo/php${php_v}/etc/php-fpm.d
|
||||
systemctl enable brepo-php-fpm${php_v}.service --now >> $LOG
|
||||
check_result $? "php-fpm start failed"
|
||||
# Set default php version to $php_v
|
||||
alternatives --install /usr/bin/php php /opt/brepo/php${php_v}/bin/php 1 > /dev/null 2>&1
|
||||
alternatives --set php /opt/brepo/php${php_v}/bin/php > /dev/null 2>&1
|
||||
else
|
||||
cp -f $HESTIA_INSTALL_DIR/php-fpm/www.conf /etc/opt/remi/php${php_v}/php-fpm.d
|
||||
systemctl enable php${php_v}-php-fpm --now >> $LOG
|
||||
check_result $? "php-fpm start failed"
|
||||
# Set default php version to $php_v
|
||||
alternatives --install /usr/bin/php php /usr/bin/php$php_v 1 > /dev/null 2>&1
|
||||
alternatives --set php /usr/bin/php$php_v > /dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------------#
|
||||
@@ -1399,14 +1506,24 @@ fi
|
||||
#----------------------------------------------------------#
|
||||
|
||||
echo "[ * ] Configuring PHP..."
|
||||
# Set system php for selector
|
||||
hestiacp-php-admin system "$php_v"
|
||||
|
||||
ZONE=$(timedatectl > /dev/null 2>&1 | grep Timezone | awk '{print $2}')
|
||||
if [ -z "$ZONE" ]; then
|
||||
ZONE='UTC'
|
||||
fi
|
||||
for pconf in $(find /etc/opt/remi/php* -name php.ini); do
|
||||
sed -i "s%;date.timezone =%date.timezone = $ZONE%g" $pconf
|
||||
sed -i 's%_open_tag = Off%_open_tag = On%g' $pconf
|
||||
done
|
||||
if [ "$uselocalphp" == "yes" ]; then
|
||||
for pconf in $(find /opt/brepo/php* -name php.ini); do
|
||||
sed -i "s%;date.timezone =%date.timezone = $ZONE%g" $pconf
|
||||
sed -i 's%_open_tag = Off%_open_tag = On%g' $pconf
|
||||
done
|
||||
else
|
||||
for pconf in $(find /etc/opt/remi/php* -name php.ini); do
|
||||
sed -i "s%;date.timezone =%date.timezone = $ZONE%g" $pconf
|
||||
sed -i 's%_open_tag = Off%_open_tag = On%g' $pconf
|
||||
done
|
||||
fi
|
||||
|
||||
# Cleanup php session files not changed in the last 7 days (60*24*7 minutes)
|
||||
echo '#!/bin/sh' > /etc/cron.daily/php-session-cleanup
|
||||
@@ -2026,7 +2143,7 @@ write_config_value "POLICY_SYSTEM_PROTECTED_ADMIN" "no"
|
||||
write_config_value "POLICY_SYSTEM_PASSWORD_RESET" "yes"
|
||||
write_config_value "POLICY_SYSTEM_HIDE_SERVICES" "no"
|
||||
write_config_value "POLICY_SYSTEM_ENABLE_BACON" "no"
|
||||
write_config_value "PLUGIN_APP_INSTALLER" "false"
|
||||
write_config_value "PLUGIN_APP_INSTALLER" "true"
|
||||
write_config_value "DEBUG_MODE" "no"
|
||||
write_config_value "ENFORCE_SUBDOMAIN_OWNERSHIP" "yes"
|
||||
write_config_value "USE_SERVER_SMTP" "false"
|
||||
@@ -2073,25 +2190,19 @@ fi
|
||||
echo -e -n " Username: admin
|
||||
Password: $displaypass
|
||||
|
||||
Thank you for choosing Hestia Control Panel to power your full stack web server,
|
||||
Thank you for choosing Hestia Control Panel(RPM edition) to power your full stack web server,
|
||||
we hope that you enjoy using it as much as we do!
|
||||
|
||||
Please feel free to contact us at any time if you have any questions,
|
||||
or if you encounter any bugs or problems:
|
||||
|
||||
Documentation: https://docs.hestiacp.com/
|
||||
Documentation: https://hestiadocs.brepo.ru/
|
||||
Forum: https://forum.hestiacp.com/
|
||||
GitHub: https://www.github.com/hestiacp/hestiacp
|
||||
GitHub: https://github.com/bayrepo/hestiacp-rpm or development storage https://dev.brepo.ru/bayrepo/hestiacp
|
||||
|
||||
Note: Automatic updates are enabled by default. If you would like to disable them,
|
||||
please log in and navigate to Server > Updates to turn them off.
|
||||
|
||||
Help support the Hestia Control Panel project by donating via PayPal:
|
||||
https://www.hestiacp.com/donate
|
||||
|
||||
--
|
||||
Sincerely yours,
|
||||
The Hestia Control Panel development team
|
||||
The Hestia Control Panel(RPM edition) development team
|
||||
|
||||
Made with love & pride by the open-source community around the world.
|
||||
" >> $tmpfile
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,13 +4,11 @@
|
||||
#
|
||||
# Hestia Control Panel Installation Routine
|
||||
# Automatic OS detection wrapper
|
||||
# https://www.hestiacp.com/
|
||||
# https://hestiadocs.brepo.ru/
|
||||
#
|
||||
# Currently Supported Operating Systems:
|
||||
# Supported Operating Systems:
|
||||
#
|
||||
# Debian 10, 11
|
||||
# Ubuntu 20.04, 22.04
|
||||
# AlmaLinux, EuroLinux, Red Hat EnterPrise Linux, Rocky Linux 8, 9
|
||||
# AlmaLinux, EuroLinux, Red Hat EnterPrise Linux, Rocky Linux, MSVSphere 9
|
||||
#
|
||||
# ======================================================== #
|
||||
|
||||
@@ -42,21 +40,7 @@ fi
|
||||
|
||||
# Detect OS
|
||||
if [ -e "/etc/os-release" ] && [ ! -e "/etc/redhat-release" ]; then
|
||||
type=$(grep "^ID=" /etc/os-release | cut -f 2 -d '=')
|
||||
if [ "$type" = "ubuntu" ]; then
|
||||
# Check if lsb_release is installed
|
||||
if [ -e '/usr/bin/lsb_release' ]; then
|
||||
release="$(lsb_release -s -r)"
|
||||
VERSION='ubuntu'
|
||||
else
|
||||
echo "lsb_release is currently not installed, please install it:"
|
||||
echo "apt-get update && apt-get install lsb-release"
|
||||
exit 1
|
||||
fi
|
||||
elif [ "$type" = "debian" ]; then
|
||||
release=$(cat /etc/debian_version | grep -o "[0-9]\{1,2\}" | head -n1)
|
||||
VERSION='debian'
|
||||
fi
|
||||
type="NoSupport"
|
||||
elif [ -e "/etc/os-release" ] && [ -e "/etc/redhat-release" ]; then
|
||||
type=$(grep "^ID=" /etc/os-release | cut -f 2 -d '"')
|
||||
VERSION=$type
|
||||
@@ -71,13 +55,10 @@ fi
|
||||
no_support_message() {
|
||||
echo "****************************************************"
|
||||
echo "Your operating system (OS) is not supported by"
|
||||
echo "Hestia Control Panel. Officially supported releases:"
|
||||
echo "Hestia Control Panel (RPM edition). Officially supported releases:"
|
||||
echo "****************************************************"
|
||||
echo " Debian 10, 11"
|
||||
echo " Ubuntu 20.04, 22.04 LTS"
|
||||
# Commenting this out for now
|
||||
echo " Red Hat Enterprise Linux 8, 9 and related versions of"
|
||||
echo " AlmaLinux, Rocky Linux, Oracle Linux Server and EuroLinux"
|
||||
echo " Red Hat Enterprise Linux 9 and related versions of"
|
||||
echo " AlmaLinux, Rocky Linux, Oracle Linux Server and EuroLinux, MSVSphere"
|
||||
echo ""
|
||||
exit 1
|
||||
}
|
||||
|
||||
@@ -1,47 +1,53 @@
|
||||
{
|
||||
"name": "filegator/filegator",
|
||||
"description": "Filegator",
|
||||
"license": "MIT",
|
||||
"type": "project",
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "7.2.5"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2",
|
||||
"monolog/monolog": "^1.24",
|
||||
"nikic/fast-route": "^1.3",
|
||||
"symfony/security-csrf": "^4.4",
|
||||
"symfony/http-foundation": "^4.4",
|
||||
"dibi/dibi": "^4.1",
|
||||
"php-di/php-di": "^6.0",
|
||||
"rakit/validation": "^1.1",
|
||||
"league/flysystem": "^1.1",
|
||||
"league/flysystem-ziparchive": "^1.0",
|
||||
"league/flysystem-sftp": "^1.0",
|
||||
"hestiacp/phpquoteshellarg": "^1.0"
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "Milos Stojanovic",
|
||||
"email": "alcalbg@gmail.com"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Filegator\\": "backend"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Tests\\": "tests/backend/"
|
||||
}
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^8.0",
|
||||
"symfony/var-dumper": "^4.4",
|
||||
"league/flysystem-memory": "^1.0",
|
||||
"phpstan/phpstan": "^0.11.8"
|
||||
}
|
||||
"name": "filegator/filegator",
|
||||
"description": "Filegator",
|
||||
"license": "MIT",
|
||||
"type": "project",
|
||||
"repositories": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://dev.brepo.ru/brepo/phpquoteshellarg.git"
|
||||
}
|
||||
],
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "8.1"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"php": "^8.1",
|
||||
"monolog/monolog": "^1.24",
|
||||
"nikic/fast-route": "^1.3",
|
||||
"symfony/security-csrf": "^4.4",
|
||||
"symfony/http-foundation": "^4.4",
|
||||
"dibi/dibi": "^4.1",
|
||||
"php-di/php-di": "^6.0",
|
||||
"rakit/validation": "^1.1",
|
||||
"league/flysystem": "^1.1",
|
||||
"league/flysystem-ziparchive": "^1.0",
|
||||
"league/flysystem-sftp": "^1.0",
|
||||
"brepo/phpquoteshellarg": "dev-master"
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "Milos Stojanovic",
|
||||
"email": "alcalbg@gmail.com"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Filegator\\": "backend"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Tests\\": "tests/backend/"
|
||||
}
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^8.0",
|
||||
"symfony/var-dumper": "^4.4",
|
||||
"league/flysystem-memory": "^1.0",
|
||||
"phpstan/phpstan": "^2.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
8384
install/rpm/filemanager/filegator/composer.lock
generated
8384
install/rpm/filemanager/filegator/composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -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")
|
||||
multiphp_v=("5.6" "7.0" "7.1" "7.2" "7.3" "7.4" "8.0" "8.1" "8.2", "8.3")
|
||||
|
||||
#######################################################################################
|
||||
####### 3rd Party Software Updates #######
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "hestia",
|
||||
"private": true,
|
||||
"version": "1.8.6",
|
||||
"version": "1.9.5.rpm",
|
||||
"description": "An open-source Linux web server control panel.",
|
||||
"repository": "https://github.com/hestiacp/hestiacp",
|
||||
"license": "GPL-3.0-or-later",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%global _hardened_build 1
|
||||
|
||||
Name: hestia
|
||||
Version: 1.9.2
|
||||
Version: 1.9.5
|
||||
Release: 1%{dist}
|
||||
Summary: Hestia Control Panel
|
||||
Group: System Environment/Base
|
||||
@@ -184,8 +184,17 @@ fi
|
||||
%{_tmpfilesdir}/%{name}.conf
|
||||
|
||||
%changelog
|
||||
* Sun Jan 05 2025 Alexey Berezhok <a@bayrepo.ru> - 1.9.2-1
|
||||
* Sun Jan 19 2025 Alexey Berezhok <a@bayrepo.ru> - 1.9.5-1
|
||||
- Added support alternative php
|
||||
- Fixed php.ini editing
|
||||
- Restore supporting some webapplications setup
|
||||
|
||||
* Sat Jan 11 2025 Alexey Berezhok <a@bayrepo.ru> - 1.9.4-1
|
||||
- Added quota support in rpm for xfs and ext4
|
||||
|
||||
* Sun Jan 05 2025 Alexey Berezhok <a@bayrepo.ru> - 1.9.3-1
|
||||
- Added minor fixes
|
||||
- Added authorization fix for rhel 9.5
|
||||
|
||||
* Mon Dec 30 2024 Alexey Berezhok <a@bayrepo.ru> - 1.9.1-1
|
||||
- Added port specification ofor local services on domain editing
|
||||
|
||||
@@ -123,6 +123,9 @@ if (!empty($installer)) {
|
||||
$appInstallerInfo = $app_installer->info();
|
||||
$supported = false;
|
||||
$supported_versions = [];
|
||||
if ($appInstallerInfo["enabled"] != true) {
|
||||
continue;
|
||||
}
|
||||
foreach ($php_versions as $version) {
|
||||
if (in_array($version, $appInstallerInfo["php_support"])) {
|
||||
$supported = true;
|
||||
|
||||
@@ -29,32 +29,18 @@ exec(HESTIA_CMD . "v-list-web-templates-backend json", $output, $return_var);
|
||||
$backend_templates = json_decode(implode("", $output), true);
|
||||
unset($output);
|
||||
|
||||
exec(HESTIA_CMD . "v-check-rhel-utility", $output, $return_var);
|
||||
$is_rhel = str_contains(implode("", $output), "+");
|
||||
unset($output);
|
||||
//exec(HESTIA_CMD . "v-check-rhel-utility", $output, $return_var);
|
||||
//$is_rhel = str_contains(implode("", $output), "+");
|
||||
//unset($output);
|
||||
|
||||
$v_php_versions = [
|
||||
"php-5.6",
|
||||
"php-7.0",
|
||||
"php-7.1",
|
||||
"php-7.2",
|
||||
"php-7.3",
|
||||
"php-7.4",
|
||||
"php-8.0",
|
||||
"php-8.1",
|
||||
"php-8.2",
|
||||
"php-74",
|
||||
"php-80",
|
||||
"php-81",
|
||||
"php-82",
|
||||
"php-83",
|
||||
];
|
||||
|
||||
if ($is_rhel){
|
||||
$v_php_versions = [
|
||||
"php-74",
|
||||
"php-80",
|
||||
"php-81",
|
||||
"php-82",
|
||||
"php-83",
|
||||
"php-84",
|
||||
];
|
||||
}
|
||||
|
||||
sort($v_php_versions);
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ if (!empty($_POST["save"])) {
|
||||
}
|
||||
|
||||
// List config
|
||||
exec(HESTIA_CMD . "v-list-sys-php-config json", $output, $return_var);
|
||||
exec(HESTIA_CMD . "v-list-sys-php-config default json", $output, $return_var);
|
||||
$data = json_decode(implode("", $output), true);
|
||||
unset($output);
|
||||
$v_memory_limit = $data["CONFIG"]["memory_limit"];
|
||||
|
||||
@@ -11,11 +11,32 @@ if ($_SESSION["userContext"] != "admin") {
|
||||
exit();
|
||||
}
|
||||
|
||||
$php_version = "default";
|
||||
if (!empty($_GET["vers"])){
|
||||
$php_version_tmp = trim(urldecode($_GET["vers"]));
|
||||
if (preg_match('/^\d+$/', $php_version_tmp) === 1){
|
||||
exec(HESTIA_CMD . "v-list-sys-php json", $output, $return_var);
|
||||
$php = json_decode(implode("", $output), true);
|
||||
unset($output);
|
||||
foreach ($php as $version) {
|
||||
if ($version == $php_version_tmp){
|
||||
$php_version = $php_version_tmp;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check POST request
|
||||
if (!empty($_POST["save"])) {
|
||||
// Check token
|
||||
verify_csrf($_POST);
|
||||
|
||||
$php_save = "php";
|
||||
if ($php_version != "default"){
|
||||
$php_save .= $php_version;
|
||||
}
|
||||
|
||||
// Set restart flag
|
||||
$v_restart = "yes";
|
||||
if (empty($_POST["v_restart"])) {
|
||||
@@ -30,7 +51,7 @@ if (!empty($_POST["save"])) {
|
||||
fwrite($fp, str_replace("\r\n", "\n", $_POST["v_config"]));
|
||||
fclose($fp);
|
||||
exec(
|
||||
HESTIA_CMD . "v-change-sys-service-config " . $new_conf . " php " . $v_restart,
|
||||
HESTIA_CMD . "v-change-sys-service-config " . $new_conf . " " . $php_save . " " . $v_restart,
|
||||
$output,
|
||||
$return_var,
|
||||
);
|
||||
@@ -46,7 +67,7 @@ if (!empty($_POST["save"])) {
|
||||
}
|
||||
|
||||
// List config
|
||||
exec(HESTIA_CMD . "v-list-sys-php-config json", $output, $return_var);
|
||||
exec(HESTIA_CMD . "v-list-sys-php-config " . $php_version . " json", $output, $return_var);
|
||||
$data = json_decode(implode("", $output), true);
|
||||
unset($output);
|
||||
$v_memory_limit = $data["CONFIG"]["memory_limit"];
|
||||
|
||||
@@ -36,7 +36,7 @@ if (!empty($_POST["save"])) {
|
||||
);
|
||||
check_return_code($return_var, $output);
|
||||
unset($output);
|
||||
unlink($new_conf);
|
||||
//unlink($new_conf);
|
||||
}
|
||||
|
||||
// Set success message
|
||||
@@ -46,7 +46,7 @@ if (!empty($_POST["save"])) {
|
||||
}
|
||||
|
||||
// List config
|
||||
exec(HESTIA_CMD . "v-list-sys-php-config json", $output, $return_var);
|
||||
exec(HESTIA_CMD . "v-list-sys-php-config default json", $output, $return_var);
|
||||
$data = json_decode(implode("", $output), true);
|
||||
unset($output);
|
||||
$v_memory_limit = $data["CONFIG"]["memory_limit"];
|
||||
|
||||
96
web/extm/php_brepo_modules/edit/index.php
Normal file
96
web/extm/php_brepo_modules/edit/index.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
use function Hestiacp\quoteshellarg\quoteshellarg;
|
||||
|
||||
$TAB = "EXTMODULES";
|
||||
|
||||
// Main include
|
||||
include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
|
||||
|
||||
// Check user
|
||||
if ($_SESSION["userContext"] != "admin") {
|
||||
header("Location: /list/user");
|
||||
exit();
|
||||
}
|
||||
|
||||
exec(HESTIA_CMD . "v-ext-modules state php_brepo_modules json", $output, $return_var);
|
||||
$check_passenger_enabled = json_decode(implode("", $output), true);
|
||||
if (($return_var != 0) || (empty($check_passenger_enabled)) || ($check_passenger_enabled[0]["STATE"] != "enabled")){
|
||||
header("Location: /list/extmodules/");
|
||||
exit();
|
||||
}
|
||||
unset($output);
|
||||
|
||||
$error_message = "";
|
||||
if ((!empty($_GET["ver"])) && ($_GET["ver"] != "")) {
|
||||
$php_vers = $_GET["ver"];
|
||||
$ver_quoted = quoteshellarg($_GET["ver"]);
|
||||
exec(HESTIA_CMD . "v-ext-modules-run php_brepo_modules php_modules " . $ver_quoted . " json", $output, $return_var);
|
||||
$phps_modules = [];
|
||||
if ($return_var == 0) {
|
||||
$phps_modules = json_decode(implode("", $output), true);
|
||||
} else {
|
||||
$error_message = $output;
|
||||
}
|
||||
unset($output);
|
||||
if (!empty($_POST["save"]) && $error_message == ""){
|
||||
$new_modules = $_POST["v_php_module_name"];
|
||||
$chg = false;
|
||||
foreach ($new_modules as $key => $value){
|
||||
if (!preg_match("/(\d\d)-.+/i", $value)){
|
||||
$mod_name = quoteshellarg($value);
|
||||
$chg = true;
|
||||
exec(HESTIA_CMD . "v-ext-modules-run php_brepo_modules php_enable " . $ver_quoted . " " . $mod_name, $output, $return_var);
|
||||
unset($output);
|
||||
}
|
||||
}
|
||||
foreach ($phps_modules as $key => $value){
|
||||
if ($value["STATE"]!="disabled"){
|
||||
$fnd = false;
|
||||
foreach ($new_modules as $ikey => $ivalue){
|
||||
if ($ivalue==$value["STATE"]){
|
||||
$fnd = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!$fnd){
|
||||
$chg = true;
|
||||
$mod_name = quoteshellarg($phps_modules[$key]["MODNAME"]);
|
||||
exec(HESTIA_CMD . "v-ext-modules-run php_brepo_modules php_disable " . $ver_quoted . " " . $mod_name, $output, $return_var);
|
||||
unset($output);
|
||||
}
|
||||
}
|
||||
}
|
||||
exec(HESTIA_CMD . "v-ext-modules-run php_brepo_modules php_modules " . $ver_quoted . " json", $output, $return_var);
|
||||
$phps_modules = [];
|
||||
if ($return_var == 0) {
|
||||
$phps_modules = json_decode(implode("", $output), true);
|
||||
} else {
|
||||
$error_message = $output;
|
||||
}
|
||||
unset($output);
|
||||
if ($chg){
|
||||
exec(HESTIA_CMD . "v-restart-web-backend", $output, $return_var);
|
||||
}
|
||||
}
|
||||
|
||||
// Render page
|
||||
render_page($user, $TAB, "extmodules/extmodules_php_brepo_modules_list");
|
||||
} else {
|
||||
// Data
|
||||
exec(HESTIA_CMD . "v-ext-modules-run php_brepo_modules php_list json", $output, $return_var);
|
||||
$phps = [];
|
||||
if ($return_var == 0) {
|
||||
$phps = json_decode(implode("", $output), true);
|
||||
ksort($phps);
|
||||
} else {
|
||||
$error_message = $output;
|
||||
}
|
||||
|
||||
unset($output);
|
||||
|
||||
// Render page
|
||||
render_page($user, $TAB, "extmodules/extmodules_php_brepo_modules");
|
||||
}
|
||||
|
||||
// Back uri
|
||||
$_SESSION["back"] = $_SERVER["REQUEST_URI"];
|
||||
@@ -1,7 +1,13 @@
|
||||
{
|
||||
"repositories": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://dev.brepo.ru/brepo/phpquoteshellarg.git"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"phpmailer/phpmailer": "6.8.0",
|
||||
"hestiacp/phpquoteshellarg": "1.0.2",
|
||||
"brepo/phpquoteshellarg": "dev-master",
|
||||
"robthree/twofactorauth": "2.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
38
web/inc/composer.lock
generated
38
web/inc/composer.lock
generated
@@ -4,45 +4,36 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "bd5fba3223573f480531e48f5e3ce14e",
|
||||
"content-hash": "134682d586741e300ffeae0ccfb99351",
|
||||
"packages": [
|
||||
{
|
||||
"name": "hestiacp/phpquoteshellarg",
|
||||
"version": "v1.0.2",
|
||||
"name": "brepo/phpquoteshellarg",
|
||||
"version": "dev-master",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/hestiacp/phpquoteshellarg.git",
|
||||
"reference": "7fd1a3a648cdc39a3fe2aab78a1a3a0267f92f49"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/hestiacp/phpquoteshellarg/zipball/7fd1a3a648cdc39a3fe2aab78a1a3a0267f92f49",
|
||||
"reference": "7fd1a3a648cdc39a3fe2aab78a1a3a0267f92f49",
|
||||
"shasum": ""
|
||||
"url": "https://dev.brepo.ru/brepo/phpquoteshellarg.git",
|
||||
"reference": "943298a03acc3ff7a89eff948534f90d1c6ba950"
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.2"
|
||||
"php": ">=8.0"
|
||||
},
|
||||
"default-branch": true,
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/Hestiacp/quoteshellarg/quoteshellarg.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"Unlicense"
|
||||
],
|
||||
"description": "Improved escape shell arguments for support of special charactars",
|
||||
"homepage": "https://github.com/hestiacp",
|
||||
"homepage": "https://dev.brepo.ru/bayrepo/hestiacp",
|
||||
"keywords": [
|
||||
"escapeshellarg",
|
||||
"quoteshellarg"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/hestiacp/phpquoteshellarg/tree/v1.0.2"
|
||||
},
|
||||
"time": "2023-07-23T09:16:27+00:00"
|
||||
"time": "2025-02-03T20:07:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpmailer/phpmailer",
|
||||
@@ -209,10 +200,13 @@
|
||||
"packages-dev": [],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": [],
|
||||
"stability-flags": {
|
||||
"brepo/phpquoteshellarg": 20
|
||||
},
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": [],
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "2.3.0"
|
||||
"platform": {},
|
||||
"platform-dev": {},
|
||||
"plugin-api-version": "2.6.0"
|
||||
}
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ export default function handleEditWebListeners() {
|
||||
}
|
||||
});
|
||||
}
|
||||
if (proxyTemplateSelect.value === "srvproxy") {
|
||||
if (proxyTemplateSelect !== null && proxyTemplateSelect !== undefined && proxyTemplateSelect.value === "srvproxy") {
|
||||
proxyConnect.style.display = 'block';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,6 +126,7 @@ $phpfpm = [];
|
||||
foreach ($php as $version) {
|
||||
$phpfpm[] = "php" . $version . "-fpm";
|
||||
$phpfpm[] = "php" . $version . "-php-fpm";
|
||||
$phpfpm[] = "brepo-php-fpm" . $version;
|
||||
}
|
||||
$clamav_names = [];
|
||||
$clamav_names[] = "clamav-daemon";
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-30 00:03+0300\n"
|
||||
"POT-Creation-Date: 2025-02-02 21:50+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -128,9 +128,6 @@ msgstr ""
|
||||
#: ../../web/templates/pages/edit_server.php:470
|
||||
#: ../../web/templates/pages/edit_server.php:817
|
||||
#: ../../web/templates/pages/edit_user.php:64
|
||||
#: ../../web/templates/pages/edit_web.php:114
|
||||
#: ../../web/templates/pages/edit_web.php:429
|
||||
#: ../../web/templates/pages/edit_web.php:536
|
||||
#: ../../web/templates/pages/list_db.php:65
|
||||
#: ../../web/templates/pages/list_db.php:113
|
||||
#: ../../web/templates/pages/list_db.php:247
|
||||
@@ -138,6 +135,9 @@ msgstr ""
|
||||
#: ../../web/templates/pages/login/login_a.php:14
|
||||
#: ../../web/templates/pages/login/reset2fa.php:27
|
||||
#: ../../web/templates/pages/login/reset_1.php:14
|
||||
#: ../../web/templates/pages/edit_web.php:114
|
||||
#: ../../web/templates/pages/edit_web.php:429
|
||||
#: ../../web/templates/pages/edit_web.php:536
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
@@ -155,11 +155,11 @@ msgstr ""
|
||||
#: ../../web/templates/pages/edit_server.php:577
|
||||
#: ../../web/templates/pages/edit_server.php:829
|
||||
#: ../../web/templates/pages/edit_user.php:84
|
||||
#: ../../web/templates/pages/login/login_1.php:12
|
||||
#: ../../web/templates/pages/login/login_a.php:19
|
||||
#: ../../web/templates/pages/edit_web.php:119
|
||||
#: ../../web/templates/pages/edit_web.php:438
|
||||
#: ../../web/templates/pages/edit_web.php:544
|
||||
#: ../../web/templates/pages/login/login_1.php:12
|
||||
#: ../../web/templates/pages/login/login_a.php:19
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@@ -266,8 +266,8 @@ msgstr ""
|
||||
#: ../../web/templates/pages/edit_dns.php:28
|
||||
#: ../../web/templates/pages/edit_dns_rec.php:28
|
||||
#: ../../web/templates/pages/edit_mail.php:38
|
||||
#: ../../web/templates/pages/edit_web.php:59
|
||||
#: ../../web/templates/pages/generate_ssl.php:18
|
||||
#: ../../web/templates/pages/edit_web.php:59
|
||||
msgid "Domain"
|
||||
msgstr ""
|
||||
|
||||
@@ -280,7 +280,6 @@ msgstr ""
|
||||
#: ../../web/templates/pages/add_web.php:47
|
||||
#: ../../web/templates/pages/edit_dns.php:33
|
||||
#: ../../web/templates/pages/edit_ip.php:35
|
||||
#: ../../web/templates/pages/edit_web.php:76
|
||||
#: ../../web/templates/pages/list_dns.php:28
|
||||
#: ../../web/templates/pages/list_firewall.php:39
|
||||
#: ../../web/templates/pages/list_firewall.php:75
|
||||
@@ -295,6 +294,7 @@ msgstr ""
|
||||
#: ../../web/templates/pages/list_web.php:34
|
||||
#: ../../web/templates/pages/list_web.php:80
|
||||
#: ../../web/templates/pages/list_web.php:311
|
||||
#: ../../web/templates/pages/edit_web.php:76
|
||||
msgid "IP Address"
|
||||
msgstr ""
|
||||
|
||||
@@ -355,6 +355,8 @@ msgstr ""
|
||||
#: ../../web/templates/pages/list_firewall.php:30
|
||||
#: ../../web/templates/pages/list_firewall.php:70
|
||||
#: ../../web/templates/pages/list_firewall.php:111
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:32
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:44
|
||||
msgid "Action"
|
||||
msgstr ""
|
||||
|
||||
@@ -919,14 +921,14 @@ msgstr ""
|
||||
#: ../../web/edit/server/exim4/index.php:44
|
||||
#: ../../web/edit/server/fail2ban/index.php:44
|
||||
#: ../../web/edit/server/httpd/index.php:44
|
||||
#: ../../web/edit/server/index.php:1762 ../../web/edit/server/index.php:1766
|
||||
#: ../../web/edit/server/index.php:1748 ../../web/edit/server/index.php:1752
|
||||
#: ../../web/edit/server/mariadb/index.php:44
|
||||
#: ../../web/edit/server/mysql/index.php:44
|
||||
#: ../../web/edit/server/mysqld/index.php:44
|
||||
#: ../../web/edit/server/named/index.php:44
|
||||
#: ../../web/edit/server/nginx/index.php:44
|
||||
#: ../../web/edit/server/php-fpm/index.php:44
|
||||
#: ../../web/edit/server/php/index.php:44
|
||||
#: ../../web/edit/server/php/index.php:65
|
||||
#: ../../web/edit/server/php5-fpm/index.php:44
|
||||
#: ../../web/edit/server/postgresql/index.php:65
|
||||
#: ../../web/edit/server/proftpd/index.php:44
|
||||
@@ -947,7 +949,7 @@ msgstr ""
|
||||
msgid "Info (read-only mode): Crontab can only be edited via SSH."
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/edit/server/index.php:1239
|
||||
#: ../../web/edit/server/index.php:1225
|
||||
msgid "Inactive session timeout can not lower than 1 minute."
|
||||
msgstr ""
|
||||
|
||||
@@ -1036,12 +1038,12 @@ msgstr ""
|
||||
msgid "Unsupported hash method"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/login/index.php:142 ../../web/login/index.php:199
|
||||
#: ../../web/login/index.php:222 ../../web/login/index.php:246
|
||||
#: ../../web/login/index.php:142 ../../web/login/index.php:204
|
||||
#: ../../web/login/index.php:227 ../../web/login/index.php:251
|
||||
msgid "Invalid username or password"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/login/index.php:272 ../../web/login/index.php:287
|
||||
#: ../../web/login/index.php:277 ../../web/login/index.php:292
|
||||
msgid "Invalid or missing 2FA token"
|
||||
msgstr ""
|
||||
|
||||
@@ -1400,10 +1402,10 @@ msgstr ""
|
||||
#: ../../web/templates/includes/panel.php:294
|
||||
#: ../../web/templates/pages/add_mail_acc.php:82
|
||||
#: ../../web/templates/pages/edit_mail_acc.php:82
|
||||
#: ../../web/templates/pages/edit_web.php:64
|
||||
#: ../../web/templates/pages/generate_ssl.php:22
|
||||
#: ../../web/templates/pages/list_mail_acc.php:89
|
||||
#: ../../web/templates/pages/list_mail_acc.php:268
|
||||
#: ../../web/templates/pages/edit_web.php:64
|
||||
msgid "Aliases"
|
||||
msgstr ""
|
||||
|
||||
@@ -1514,7 +1516,6 @@ msgstr ""
|
||||
#: ../../web/templates/pages/edit_server_php.php:6
|
||||
#: ../../web/templates/pages/edit_server_service.php:6
|
||||
#: ../../web/templates/pages/edit_user.php:6
|
||||
#: ../../web/templates/pages/edit_web.php:6
|
||||
#: ../../web/templates/pages/edit_whitelabel.php:6
|
||||
#: ../../web/templates/pages/list_access_key.php:16
|
||||
#: ../../web/templates/pages/list_access_keys.php:7
|
||||
@@ -1553,8 +1554,11 @@ msgstr ""
|
||||
#: ../../web/templates/pages/login/reset_2.php:27
|
||||
#: ../../web/templates/pages/login/reset_3.php:29
|
||||
#: ../../web/templates/pages/setup_webapp.php:6
|
||||
#: ../../web/templates/pages/edit_web.php:6
|
||||
#: ../../web/templates/pages/extmodules.php:6
|
||||
#: ../../web/templates/pages/extmodules_passenger_manager.php:6
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:6
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:6
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
@@ -1593,10 +1597,11 @@ msgstr ""
|
||||
#: ../../web/templates/pages/edit_server_php.php:11
|
||||
#: ../../web/templates/pages/edit_server_service.php:11
|
||||
#: ../../web/templates/pages/edit_user.php:37
|
||||
#: ../../web/templates/pages/edit_web.php:19
|
||||
#: ../../web/templates/pages/edit_whitelabel.php:11
|
||||
#: ../../web/templates/pages/setup_webapp.php:11
|
||||
#: ../../web/templates/pages/edit_web.php:19
|
||||
#: ../../web/templates/pages/extmodules_passenger_manager.php:11
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:11
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
@@ -1632,9 +1637,9 @@ msgstr ""
|
||||
#: ../../web/templates/pages/edit_ip.php:69
|
||||
#: ../../web/templates/pages/edit_ip.php:75
|
||||
#: ../../web/templates/pages/edit_mail.php:132
|
||||
#: ../../web/templates/pages/generate_ssl.php:28
|
||||
#: ../../web/templates/pages/edit_web.php:215
|
||||
#: ../../web/templates/pages/edit_web.php:398
|
||||
#: ../../web/templates/pages/generate_ssl.php:28
|
||||
msgid "Optional"
|
||||
msgstr ""
|
||||
|
||||
@@ -1720,11 +1725,11 @@ msgstr ""
|
||||
#: ../../web/templates/pages/edit_db.php:43
|
||||
#: ../../web/templates/pages/edit_mail_acc.php:46
|
||||
#: ../../web/templates/pages/edit_user.php:85
|
||||
#: ../../web/templates/pages/generate_ssl.php:59
|
||||
#: ../../web/templates/pages/setup_webapp.php:63
|
||||
#: ../../web/templates/pages/edit_web.php:120
|
||||
#: ../../web/templates/pages/edit_web.php:439
|
||||
#: ../../web/templates/pages/edit_web.php:545
|
||||
#: ../../web/templates/pages/generate_ssl.php:59
|
||||
#: ../../web/templates/pages/setup_webapp.php:63
|
||||
msgid "Generate"
|
||||
msgstr ""
|
||||
|
||||
@@ -2065,8 +2070,6 @@ msgstr ""
|
||||
#: ../../web/templates/pages/add_dns.php:140
|
||||
#: ../../web/templates/pages/add_dns.php:146
|
||||
#: ../../web/templates/pages/add_dns.php:152
|
||||
#: ../../web/templates/pages/edit_web.php:423
|
||||
#: ../../web/templates/pages/edit_web.php:530
|
||||
#: ../../web/templates/pages/list_access_keys.php:41
|
||||
#: ../../web/templates/pages/list_access_keys.php:101
|
||||
#: ../../web/templates/pages/list_access_keys.php:102
|
||||
@@ -2134,6 +2137,8 @@ msgstr ""
|
||||
#: ../../web/templates/pages/list_web.php:299
|
||||
#: ../../web/templates/pages/list_web.php:300
|
||||
#: ../../web/templates/pages/list_web.php:304
|
||||
#: ../../web/templates/pages/edit_web.php:423
|
||||
#: ../../web/templates/pages/edit_web.php:530
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
@@ -2722,23 +2727,23 @@ msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_mail.php:121
|
||||
#: ../../web/templates/pages/edit_server.php:930
|
||||
#: ../../web/templates/pages/edit_web.php:204
|
||||
#: ../../web/templates/pages/list_ssl.php:28
|
||||
#: ../../web/templates/pages/edit_web.php:204
|
||||
msgid "SSL Certificate"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_mail.php:122
|
||||
#: ../../web/templates/pages/edit_server.php:938
|
||||
#: ../../web/templates/pages/edit_web.php:205
|
||||
#: ../../web/templates/pages/generate_ssl.php:16
|
||||
#: ../../web/templates/pages/list_ssl.php:16
|
||||
#: ../../web/templates/pages/edit_web.php:205
|
||||
msgid "Generate Self-Signed SSL Certificate"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_mail.php:127
|
||||
#: ../../web/templates/pages/edit_server.php:950
|
||||
#: ../../web/templates/pages/edit_web.php:210
|
||||
#: ../../web/templates/pages/list_ssl.php:55
|
||||
#: ../../web/templates/pages/edit_web.php:210
|
||||
msgid "SSL Private Key"
|
||||
msgstr ""
|
||||
|
||||
@@ -2874,8 +2879,8 @@ msgid "Enable debug mode"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_server.php:147
|
||||
#: ../../web/templates/pages/list_services.php:12
|
||||
#: ../../web/templates/pages/list_updates.php:29
|
||||
#: ../../web/templates/pages/list_services.php:12
|
||||
msgid "Updates"
|
||||
msgstr ""
|
||||
|
||||
@@ -3226,9 +3231,9 @@ msgstr ""
|
||||
#: ../../web/templates/pages/list_services.php:25
|
||||
#: ../../web/templates/pages/list_services.php:28
|
||||
#: ../../web/templates/pages/list_services.php:41
|
||||
#: ../../web/templates/pages/list_services.php:178
|
||||
#: ../../web/templates/pages/list_services.php:179
|
||||
#: ../../web/templates/pages/list_services.php:183
|
||||
#: ../../web/templates/pages/list_services.php:187
|
||||
#: ../../web/templates/pages/list_services.php:188
|
||||
#: ../../web/templates/pages/list_services.php:192
|
||||
msgid "Restart"
|
||||
msgstr ""
|
||||
|
||||
@@ -3335,140 +3340,6 @@ msgstr ""
|
||||
msgid "Default Name Servers"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:11
|
||||
msgid "Purge NGINX Cache"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:15
|
||||
#: ../../web/templates/pages/list_webapps.php:16
|
||||
msgid "Quick Install App"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:56
|
||||
msgid "Edit Web Domain"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:71
|
||||
msgid ""
|
||||
"If the aliases changes, Let's Encrypt will obtain a new SSL certificate."
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:88
|
||||
msgid "Web Statistics"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:107
|
||||
msgid "Statistics Authorization"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:133
|
||||
msgid "Enable domain redirection"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:140
|
||||
#: ../../web/templates/pages/edit_web.php:146
|
||||
#, php-format
|
||||
msgid "Redirect visitors to %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:152
|
||||
msgid "Redirect visitors to a custom domain or web address"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:157
|
||||
msgid "Target domain or URL"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:161
|
||||
msgid "Status code"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:189
|
||||
msgid "Enable automatic HTTPS redirection"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:195
|
||||
msgid "Enable HTTP Strict Transport Security (HSTS)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:257
|
||||
msgid "Hide Certificate"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:257
|
||||
#: ../../web/templates/pages/edit_web.php:258
|
||||
msgid "Show Certificate"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:292
|
||||
msgid "Enable FastCGI cache"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:301
|
||||
msgid "Cache Duration"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:334
|
||||
msgid "Proxy Support"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:365
|
||||
msgid "Set port for internal service"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:371
|
||||
msgid "Proxy Extensions"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:380
|
||||
msgid "Custom document root"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:385
|
||||
msgid "Point to"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:408
|
||||
msgid "Additional FTP account(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:430
|
||||
#: ../../web/templates/pages/edit_web.php:537
|
||||
#, php-format
|
||||
msgid "Prefix %s will be added to username automatically"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:446
|
||||
#: ../../web/templates/pages/edit_web.php:552
|
||||
#: ../../web/templates/pages/extmodules_passenger_manager.php:43
|
||||
msgid "Path"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:454
|
||||
#: ../../web/templates/pages/edit_web.php:558
|
||||
msgid "Send FTP credentials to email"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:463
|
||||
msgid "Add FTP account"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:472
|
||||
msgid "Passenger options"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:485
|
||||
msgid "Enable passenger for domain"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:490
|
||||
msgid "Set ruby path for domain"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:512
|
||||
msgid "Enable logging to browser for domain"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_whitelabel.php:33
|
||||
msgid "White Label Options"
|
||||
msgstr ""
|
||||
@@ -3615,13 +3486,13 @@ msgstr ""
|
||||
#: ../../web/templates/pages/list_mail_acc.php:56
|
||||
#: ../../web/templates/pages/list_packages.php:32
|
||||
#: ../../web/templates/pages/list_packages.php:35
|
||||
#: ../../web/templates/pages/list_services.php:38
|
||||
#: ../../web/templates/pages/list_services.php:43
|
||||
#: ../../web/templates/pages/list_stats.php:29
|
||||
#: ../../web/templates/pages/list_user.php:41
|
||||
#: ../../web/templates/pages/list_user.php:54
|
||||
#: ../../web/templates/pages/list_web.php:41
|
||||
#: ../../web/templates/pages/list_web.php:49
|
||||
#: ../../web/templates/pages/list_services.php:38
|
||||
#: ../../web/templates/pages/list_services.php:43
|
||||
msgid "Apply to selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -3639,9 +3510,9 @@ msgstr ""
|
||||
#: ../../web/templates/pages/list_mail.php:73
|
||||
#: ../../web/templates/pages/list_mail_acc.php:83
|
||||
#: ../../web/templates/pages/list_packages.php:52
|
||||
#: ../../web/templates/pages/list_services.php:100
|
||||
#: ../../web/templates/pages/list_user.php:80
|
||||
#: ../../web/templates/pages/list_web.php:76
|
||||
#: ../../web/templates/pages/list_services.php:100
|
||||
msgid "Select all"
|
||||
msgstr ""
|
||||
|
||||
@@ -3690,12 +3561,12 @@ msgstr ""
|
||||
#: ../../web/templates/pages/list_mail_acc.php:164
|
||||
#: ../../web/templates/pages/list_packages.php:118
|
||||
#: ../../web/templates/pages/list_packages.php:119
|
||||
#: ../../web/templates/pages/list_services.php:151
|
||||
#: ../../web/templates/pages/list_services.php:152
|
||||
#: ../../web/templates/pages/list_user.php:144
|
||||
#: ../../web/templates/pages/list_user.php:145
|
||||
#: ../../web/templates/pages/list_web.php:194
|
||||
#: ../../web/templates/pages/list_web.php:195
|
||||
#: ../../web/templates/pages/list_services.php:152
|
||||
#: ../../web/templates/pages/list_services.php:153
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
@@ -3915,10 +3786,10 @@ msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_cron.php:133
|
||||
#: ../../web/templates/pages/list_cron.php:136
|
||||
#: ../../web/templates/pages/list_services.php:158
|
||||
#: ../../web/templates/pages/list_services.php:168
|
||||
#: ../../web/templates/pages/list_services.php:171
|
||||
#: ../../web/templates/pages/extmodules.php:95
|
||||
#: ../../web/templates/pages/extmodules.php:107
|
||||
#: ../../web/templates/pages/list_services.php:163
|
||||
#: ../../web/templates/pages/list_services.php:177
|
||||
#: ../../web/templates/pages/list_services.php:180
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
@@ -4404,7 +4275,7 @@ msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_server_info.php:42
|
||||
#: ../../web/templates/pages/list_services.php:106
|
||||
#: ../../web/templates/pages/list_services.php:208
|
||||
#: ../../web/templates/pages/list_services.php:217
|
||||
msgid "CPU"
|
||||
msgstr ""
|
||||
|
||||
@@ -4434,83 +4305,6 @@ msgstr ""
|
||||
msgid "Partially implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:9
|
||||
msgid "Task Monitor"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:26
|
||||
#: ../../web/templates/pages/list_services.php:180
|
||||
#, php-format
|
||||
msgid "Are you sure you want to restart %s?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:31
|
||||
msgid "ExtModules"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:39
|
||||
#: ../../web/templates/pages/list_services.php:117
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:40
|
||||
#: ../../web/templates/pages/list_services.php:124
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:68
|
||||
msgid "Production Release"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:74
|
||||
msgid "Operating System"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:80
|
||||
msgid "Load Average"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:86
|
||||
#: ../../web/templates/pages/list_services.php:105
|
||||
#: ../../web/templates/pages/list_services.php:204
|
||||
msgid "Uptime"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:95
|
||||
msgid "Services"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:102
|
||||
#: ../../web/templates/pages/list_services.php:156
|
||||
msgid "Service"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:104
|
||||
#: ../../web/templates/pages/list_services.php:200
|
||||
#: ../../web/templates/pages/list_updates.php:34
|
||||
#: ../../web/templates/pages/list_updates.php:58
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:107
|
||||
#: ../../web/templates/pages/list_services.php:212
|
||||
msgid "Memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:191
|
||||
#, php-format
|
||||
msgid "Are you sure you want to stop service %s?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:191
|
||||
#, php-format
|
||||
msgid "Are you sure you want to start service %s?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:213
|
||||
msgid "MB"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_ssl.php:82
|
||||
msgid "SSL CSR"
|
||||
msgstr ""
|
||||
@@ -4553,6 +4347,15 @@ msgstr ""
|
||||
msgid "Package Names"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_updates.php:34
|
||||
#: ../../web/templates/pages/list_updates.php:58
|
||||
#: ../../web/templates/pages/list_services.php:104
|
||||
#: ../../web/templates/pages/list_services.php:209
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:39
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:69
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_user.php:43
|
||||
msgid "Rebuild User Profile"
|
||||
msgstr ""
|
||||
@@ -4633,6 +4436,11 @@ msgid_plural "%d web domains"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: ../../web/templates/pages/list_webapps.php:16
|
||||
#: ../../web/templates/pages/edit_web.php:15
|
||||
msgid "Quick Install App"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_webapps.php:29
|
||||
msgid "Setup"
|
||||
msgstr ""
|
||||
@@ -4747,59 +4555,188 @@ msgstr ""
|
||||
msgid "Please make sure ~/web/%s/public_html is empty!"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:15
|
||||
#: ../../web/templates/pages/edit_web.php:11
|
||||
msgid "Purge NGINX Cache"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:56
|
||||
msgid "Edit Web Domain"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:71
|
||||
msgid ""
|
||||
"If the aliases changes, Let's Encrypt will obtain a new SSL certificate."
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:88
|
||||
msgid "Web Statistics"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:107
|
||||
msgid "Statistics Authorization"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:133
|
||||
msgid "Enable domain redirection"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:140
|
||||
#: ../../web/templates/pages/edit_web.php:146
|
||||
#, php-format
|
||||
msgid "Redirect visitors to %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:152
|
||||
msgid "Redirect visitors to a custom domain or web address"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:157
|
||||
msgid "Target domain or URL"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:161
|
||||
msgid "Status code"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:189
|
||||
msgid "Enable automatic HTTPS redirection"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:195
|
||||
msgid "Enable HTTP Strict Transport Security (HSTS)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:257
|
||||
msgid "Hide Certificate"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:257
|
||||
#: ../../web/templates/pages/edit_web.php:258
|
||||
msgid "Show Certificate"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:292
|
||||
msgid "Enable FastCGI cache"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:301
|
||||
msgid "Cache Duration"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:334
|
||||
msgid "Proxy Support"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:365
|
||||
msgid "Set port for internal service"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:371
|
||||
msgid "Proxy Extensions"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:380
|
||||
msgid "Custom document root"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:385
|
||||
msgid "Point to"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:408
|
||||
msgid "Additional FTP account(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:430
|
||||
#: ../../web/templates/pages/edit_web.php:537
|
||||
#, php-format
|
||||
msgid "Prefix %s will be added to username automatically"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:446
|
||||
#: ../../web/templates/pages/edit_web.php:552
|
||||
#: ../../web/templates/pages/extmodules_passenger_manager.php:43
|
||||
msgid "Path"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:454
|
||||
#: ../../web/templates/pages/edit_web.php:558
|
||||
msgid "Send FTP credentials to email"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:463
|
||||
msgid "Add FTP account"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:472
|
||||
msgid "Passenger options"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:485
|
||||
msgid "Enable passenger for domain"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:490
|
||||
msgid "Set ruby path for domain"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:512
|
||||
msgid "Enable logging to browser for domain"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:27
|
||||
msgid "List modules"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:19
|
||||
#: ../../web/templates/pages/extmodules.php:50
|
||||
#: ../../web/templates/pages/extmodules.php:31
|
||||
#: ../../web/templates/pages/extmodules.php:62
|
||||
msgid "Module ID"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:20
|
||||
#: ../../web/templates/pages/extmodules.php:54
|
||||
#: ../../web/templates/pages/extmodules.php:32
|
||||
#: ../../web/templates/pages/extmodules.php:66
|
||||
msgid "Module name"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:22
|
||||
#: ../../web/templates/pages/extmodules.php:78
|
||||
#: ../../web/templates/pages/extmodules.php:34
|
||||
#: ../../web/templates/pages/extmodules.php:90
|
||||
msgid "Module description"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:23
|
||||
#: ../../web/templates/pages/extmodules.php:82
|
||||
#: ../../web/templates/pages/extmodules.php:35
|
||||
#: ../../web/templates/pages/extmodules.php:94
|
||||
msgid "Module state"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:24
|
||||
#: ../../web/templates/pages/extmodules.php:86
|
||||
#: ../../web/templates/pages/extmodules.php:36
|
||||
#: ../../web/templates/pages/extmodules.php:98
|
||||
msgid "Requirements"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:25
|
||||
#: ../../web/templates/pages/extmodules.php:90
|
||||
#: ../../web/templates/pages/extmodules.php:37
|
||||
#: ../../web/templates/pages/extmodules.php:102
|
||||
msgid "Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:35
|
||||
#: ../../web/templates/pages/extmodules.php:47
|
||||
msgid "Enable module"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:38
|
||||
#: ../../web/templates/pages/extmodules.php:50
|
||||
#, php-format
|
||||
msgid "Are you sure you want to enable module %s?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:42
|
||||
#: ../../web/templates/pages/extmodules.php:54
|
||||
msgid "Disable module"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:45
|
||||
#: ../../web/templates/pages/extmodules.php:57
|
||||
#, php-format
|
||||
msgid "Are you sure you want to disable module %s?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:114
|
||||
#: ../../web/templates/pages/extmodules.php:126
|
||||
msgid "Extended modules list"
|
||||
msgstr ""
|
||||
|
||||
@@ -4819,6 +4756,110 @@ msgstr ""
|
||||
msgid "Ruby available list"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:9
|
||||
msgid "Task Monitor"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:26
|
||||
#: ../../web/templates/pages/list_services.php:189
|
||||
#, php-format
|
||||
msgid "Are you sure you want to restart %s?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:31
|
||||
msgid "ExtModules"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:39
|
||||
#: ../../web/templates/pages/list_services.php:117
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:40
|
||||
#: ../../web/templates/pages/list_services.php:124
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:68
|
||||
msgid "Production Release"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:74
|
||||
msgid "Operating System"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:80
|
||||
msgid "Load Average"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:86
|
||||
#: ../../web/templates/pages/list_services.php:105
|
||||
#: ../../web/templates/pages/list_services.php:213
|
||||
msgid "Uptime"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:95
|
||||
msgid "Services"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:102
|
||||
#: ../../web/templates/pages/list_services.php:157
|
||||
msgid "Service"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:107
|
||||
#: ../../web/templates/pages/list_services.php:221
|
||||
msgid "Memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:200
|
||||
#, php-format
|
||||
msgid "Are you sure you want to stop service %s?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:200
|
||||
#, php-format
|
||||
msgid "Are you sure you want to start service %s?"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:222
|
||||
msgid "MB"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:27
|
||||
msgid "Available PHP list"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:31
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:40
|
||||
msgid "PHP version"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:45
|
||||
msgid "Change modules list"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:46
|
||||
msgid "Change modules list for PHP"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:59
|
||||
msgid "PHP modules tunning"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:32
|
||||
msgid "Available modules list for version PHP"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:38
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:47
|
||||
msgid "PHP module name"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:82
|
||||
msgid "PHP modules list"
|
||||
msgstr ""
|
||||
|
||||
#: ../../web/update/hestia/index.php:20
|
||||
#, php-format
|
||||
msgid "Error: %s update failed."
|
||||
|
||||
Binary file not shown.
@@ -2,7 +2,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: hestiacp\n"
|
||||
"Report-Msgid-Bugs-To: a@bayrepo.ru\n"
|
||||
"PO-Revision-Date: 2024-12-30 11:26\n"
|
||||
"PO-Revision-Date: 2025-02-02 22:03\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Russian\n"
|
||||
"Language: ru_RU\n"
|
||||
@@ -123,9 +123,6 @@ msgstr "База данных"
|
||||
#: ../../web/templates/pages/edit_server.php:470
|
||||
#: ../../web/templates/pages/edit_server.php:817
|
||||
#: ../../web/templates/pages/edit_user.php:64
|
||||
#: ../../web/templates/pages/edit_web.php:114
|
||||
#: ../../web/templates/pages/edit_web.php:429
|
||||
#: ../../web/templates/pages/edit_web.php:536
|
||||
#: ../../web/templates/pages/list_db.php:65
|
||||
#: ../../web/templates/pages/list_db.php:113
|
||||
#: ../../web/templates/pages/list_db.php:247
|
||||
@@ -133,6 +130,9 @@ msgstr "База данных"
|
||||
#: ../../web/templates/pages/login/login_a.php:14
|
||||
#: ../../web/templates/pages/login/reset2fa.php:27
|
||||
#: ../../web/templates/pages/login/reset_1.php:14
|
||||
#: ../../web/templates/pages/edit_web.php:114
|
||||
#: ../../web/templates/pages/edit_web.php:429
|
||||
#: ../../web/templates/pages/edit_web.php:536
|
||||
msgid "Username"
|
||||
msgstr "Аккаунт"
|
||||
|
||||
@@ -150,11 +150,11 @@ msgstr "Аккаунт"
|
||||
#: ../../web/templates/pages/edit_server.php:577
|
||||
#: ../../web/templates/pages/edit_server.php:829
|
||||
#: ../../web/templates/pages/edit_user.php:84
|
||||
#: ../../web/templates/pages/login/login_1.php:12
|
||||
#: ../../web/templates/pages/login/login_a.php:19
|
||||
#: ../../web/templates/pages/edit_web.php:119
|
||||
#: ../../web/templates/pages/edit_web.php:438
|
||||
#: ../../web/templates/pages/edit_web.php:544
|
||||
#: ../../web/templates/pages/login/login_1.php:12
|
||||
#: ../../web/templates/pages/login/login_a.php:19
|
||||
msgid "Password"
|
||||
msgstr "Пароль"
|
||||
|
||||
@@ -272,8 +272,8 @@ msgstr "База данных {%s} успешно создана. / {Откры
|
||||
#: ../../web/templates/pages/edit_dns.php:28
|
||||
#: ../../web/templates/pages/edit_dns_rec.php:28
|
||||
#: ../../web/templates/pages/edit_mail.php:38
|
||||
#: ../../web/templates/pages/edit_web.php:59
|
||||
#: ../../web/templates/pages/generate_ssl.php:18
|
||||
#: ../../web/templates/pages/edit_web.php:59
|
||||
msgid "Domain"
|
||||
msgstr "Домен"
|
||||
|
||||
@@ -286,7 +286,6 @@ msgstr "Домен"
|
||||
#: ../../web/templates/pages/add_web.php:47
|
||||
#: ../../web/templates/pages/edit_dns.php:33
|
||||
#: ../../web/templates/pages/edit_ip.php:35
|
||||
#: ../../web/templates/pages/edit_web.php:76
|
||||
#: ../../web/templates/pages/list_dns.php:28
|
||||
#: ../../web/templates/pages/list_firewall.php:39
|
||||
#: ../../web/templates/pages/list_firewall.php:75
|
||||
@@ -301,6 +300,7 @@ msgstr "Домен"
|
||||
#: ../../web/templates/pages/list_web.php:34
|
||||
#: ../../web/templates/pages/list_web.php:80
|
||||
#: ../../web/templates/pages/list_web.php:311
|
||||
#: ../../web/templates/pages/edit_web.php:76
|
||||
msgid "IP Address"
|
||||
msgstr "IP адрес"
|
||||
|
||||
@@ -361,6 +361,8 @@ msgstr "IP-адрес успешно заблокирован."
|
||||
#: ../../web/templates/pages/list_firewall.php:30
|
||||
#: ../../web/templates/pages/list_firewall.php:70
|
||||
#: ../../web/templates/pages/list_firewall.php:111
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:32
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:44
|
||||
msgid "Action"
|
||||
msgstr "Действие"
|
||||
|
||||
@@ -971,14 +973,14 @@ msgstr "Загрузка файла удаленной резервной коп
|
||||
#: ../../web/edit/server/exim4/index.php:44
|
||||
#: ../../web/edit/server/fail2ban/index.php:44
|
||||
#: ../../web/edit/server/httpd/index.php:44
|
||||
#: ../../web/edit/server/index.php:1762 ../../web/edit/server/index.php:1766
|
||||
#: ../../web/edit/server/index.php:1748 ../../web/edit/server/index.php:1752
|
||||
#: ../../web/edit/server/mariadb/index.php:44
|
||||
#: ../../web/edit/server/mysql/index.php:44
|
||||
#: ../../web/edit/server/mysqld/index.php:44
|
||||
#: ../../web/edit/server/named/index.php:44
|
||||
#: ../../web/edit/server/nginx/index.php:44
|
||||
#: ../../web/edit/server/php-fpm/index.php:44
|
||||
#: ../../web/edit/server/php/index.php:44
|
||||
#: ../../web/edit/server/php/index.php:65
|
||||
#: ../../web/edit/server/php5-fpm/index.php:44
|
||||
#: ../../web/edit/server/postgresql/index.php:65
|
||||
#: ../../web/edit/server/proftpd/index.php:44
|
||||
@@ -999,7 +1001,7 @@ msgstr "Ошибка: неизвестный идентификатор запи
|
||||
msgid "Info (read-only mode): Crontab can only be edited via SSH."
|
||||
msgstr "Информация (read-only режим): Crontab может быть отредактирован только через SSH."
|
||||
|
||||
#: ../../web/edit/server/index.php:1239
|
||||
#: ../../web/edit/server/index.php:1225
|
||||
msgid "Inactive session timeout can not lower than 1 minute."
|
||||
msgstr "Длительность неактивной сессии не может быть меньше 1 минуты."
|
||||
|
||||
@@ -1095,12 +1097,12 @@ msgstr "Аккаунт отключён"
|
||||
msgid "Unsupported hash method"
|
||||
msgstr "Неподдерживаемый метод хеширования"
|
||||
|
||||
#: ../../web/login/index.php:142 ../../web/login/index.php:199
|
||||
#: ../../web/login/index.php:222 ../../web/login/index.php:246
|
||||
#: ../../web/login/index.php:142 ../../web/login/index.php:204
|
||||
#: ../../web/login/index.php:227 ../../web/login/index.php:251
|
||||
msgid "Invalid username or password"
|
||||
msgstr "Неверный логин или пароль"
|
||||
|
||||
#: ../../web/login/index.php:272 ../../web/login/index.php:287
|
||||
#: ../../web/login/index.php:277 ../../web/login/index.php:292
|
||||
msgid "Invalid or missing 2FA token"
|
||||
msgstr "Неверный или отсутствующий токен ДФА"
|
||||
|
||||
@@ -1480,10 +1482,10 @@ msgstr "Домены"
|
||||
#: ../../web/templates/includes/panel.php:294
|
||||
#: ../../web/templates/pages/add_mail_acc.php:82
|
||||
#: ../../web/templates/pages/edit_mail_acc.php:82
|
||||
#: ../../web/templates/pages/edit_web.php:64
|
||||
#: ../../web/templates/pages/generate_ssl.php:22
|
||||
#: ../../web/templates/pages/list_mail_acc.php:89
|
||||
#: ../../web/templates/pages/list_mail_acc.php:268
|
||||
#: ../../web/templates/pages/edit_web.php:64
|
||||
msgid "Aliases"
|
||||
msgstr "Алиасы"
|
||||
|
||||
@@ -1594,7 +1596,6 @@ msgstr "РЕЗЕРВНОЕ КОПИРОВАНИЕ"
|
||||
#: ../../web/templates/pages/edit_server_php.php:6
|
||||
#: ../../web/templates/pages/edit_server_service.php:6
|
||||
#: ../../web/templates/pages/edit_user.php:6
|
||||
#: ../../web/templates/pages/edit_web.php:6
|
||||
#: ../../web/templates/pages/edit_whitelabel.php:6
|
||||
#: ../../web/templates/pages/list_access_key.php:16
|
||||
#: ../../web/templates/pages/list_access_keys.php:7
|
||||
@@ -1633,8 +1634,11 @@ msgstr "РЕЗЕРВНОЕ КОПИРОВАНИЕ"
|
||||
#: ../../web/templates/pages/login/reset_2.php:27
|
||||
#: ../../web/templates/pages/login/reset_3.php:29
|
||||
#: ../../web/templates/pages/setup_webapp.php:6
|
||||
#: ../../web/templates/pages/edit_web.php:6
|
||||
#: ../../web/templates/pages/extmodules.php:6
|
||||
#: ../../web/templates/pages/extmodules_passenger_manager.php:6
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:6
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:6
|
||||
msgid "Back"
|
||||
msgstr "Назад"
|
||||
|
||||
@@ -1673,10 +1677,11 @@ msgstr "Назад"
|
||||
#: ../../web/templates/pages/edit_server_php.php:11
|
||||
#: ../../web/templates/pages/edit_server_service.php:11
|
||||
#: ../../web/templates/pages/edit_user.php:37
|
||||
#: ../../web/templates/pages/edit_web.php:19
|
||||
#: ../../web/templates/pages/edit_whitelabel.php:11
|
||||
#: ../../web/templates/pages/setup_webapp.php:11
|
||||
#: ../../web/templates/pages/edit_web.php:19
|
||||
#: ../../web/templates/pages/extmodules_passenger_manager.php:11
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:11
|
||||
msgid "Save"
|
||||
msgstr "Сохранить"
|
||||
|
||||
@@ -1712,9 +1717,9 @@ msgstr "Коментарий"
|
||||
#: ../../web/templates/pages/edit_ip.php:69
|
||||
#: ../../web/templates/pages/edit_ip.php:75
|
||||
#: ../../web/templates/pages/edit_mail.php:132
|
||||
#: ../../web/templates/pages/generate_ssl.php:28
|
||||
#: ../../web/templates/pages/edit_web.php:215
|
||||
#: ../../web/templates/pages/edit_web.php:398
|
||||
#: ../../web/templates/pages/generate_ssl.php:28
|
||||
msgid "Optional"
|
||||
msgstr "Опционально"
|
||||
|
||||
@@ -1800,11 +1805,11 @@ msgstr "Каждые %s минут"
|
||||
#: ../../web/templates/pages/edit_db.php:43
|
||||
#: ../../web/templates/pages/edit_mail_acc.php:46
|
||||
#: ../../web/templates/pages/edit_user.php:85
|
||||
#: ../../web/templates/pages/generate_ssl.php:59
|
||||
#: ../../web/templates/pages/setup_webapp.php:63
|
||||
#: ../../web/templates/pages/edit_web.php:120
|
||||
#: ../../web/templates/pages/edit_web.php:439
|
||||
#: ../../web/templates/pages/edit_web.php:545
|
||||
#: ../../web/templates/pages/generate_ssl.php:59
|
||||
#: ../../web/templates/pages/setup_webapp.php:63
|
||||
msgid "Generate"
|
||||
msgstr "Сгенерировать"
|
||||
|
||||
@@ -2148,8 +2153,6 @@ msgstr "Серверы имен"
|
||||
#: ../../web/templates/pages/add_dns.php:140
|
||||
#: ../../web/templates/pages/add_dns.php:146
|
||||
#: ../../web/templates/pages/add_dns.php:152
|
||||
#: ../../web/templates/pages/edit_web.php:423
|
||||
#: ../../web/templates/pages/edit_web.php:530
|
||||
#: ../../web/templates/pages/list_access_keys.php:41
|
||||
#: ../../web/templates/pages/list_access_keys.php:101
|
||||
#: ../../web/templates/pages/list_access_keys.php:102
|
||||
@@ -2217,6 +2220,8 @@ msgstr "Серверы имен"
|
||||
#: ../../web/templates/pages/list_web.php:299
|
||||
#: ../../web/templates/pages/list_web.php:300
|
||||
#: ../../web/templates/pages/list_web.php:304
|
||||
#: ../../web/templates/pages/edit_web.php:423
|
||||
#: ../../web/templates/pages/edit_web.php:530
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
|
||||
@@ -2812,23 +2817,23 @@ msgstr ""
|
||||
|
||||
#: ../../web/templates/pages/edit_mail.php:121
|
||||
#: ../../web/templates/pages/edit_server.php:930
|
||||
#: ../../web/templates/pages/edit_web.php:204
|
||||
#: ../../web/templates/pages/list_ssl.php:28
|
||||
#: ../../web/templates/pages/edit_web.php:204
|
||||
msgid "SSL Certificate"
|
||||
msgstr "SSL сертификат"
|
||||
|
||||
#: ../../web/templates/pages/edit_mail.php:122
|
||||
#: ../../web/templates/pages/edit_server.php:938
|
||||
#: ../../web/templates/pages/edit_web.php:205
|
||||
#: ../../web/templates/pages/generate_ssl.php:16
|
||||
#: ../../web/templates/pages/list_ssl.php:16
|
||||
#: ../../web/templates/pages/edit_web.php:205
|
||||
msgid "Generate Self-Signed SSL Certificate"
|
||||
msgstr "Создать самозаверяющий SSL-сертификат"
|
||||
|
||||
#: ../../web/templates/pages/edit_mail.php:127
|
||||
#: ../../web/templates/pages/edit_server.php:950
|
||||
#: ../../web/templates/pages/edit_web.php:210
|
||||
#: ../../web/templates/pages/list_ssl.php:55
|
||||
#: ../../web/templates/pages/edit_web.php:210
|
||||
msgid "SSL Private Key"
|
||||
msgstr "Закрытый ключ SSL"
|
||||
|
||||
@@ -2964,8 +2969,8 @@ msgid "Enable debug mode"
|
||||
msgstr "Включить режим отладки"
|
||||
|
||||
#: ../../web/templates/pages/edit_server.php:147
|
||||
#: ../../web/templates/pages/list_services.php:12
|
||||
#: ../../web/templates/pages/list_updates.php:29
|
||||
#: ../../web/templates/pages/list_services.php:12
|
||||
msgid "Updates"
|
||||
msgstr "Обновления"
|
||||
|
||||
@@ -3318,9 +3323,9 @@ msgstr "Файрвол"
|
||||
#: ../../web/templates/pages/list_services.php:25
|
||||
#: ../../web/templates/pages/list_services.php:28
|
||||
#: ../../web/templates/pages/list_services.php:41
|
||||
#: ../../web/templates/pages/list_services.php:178
|
||||
#: ../../web/templates/pages/list_services.php:179
|
||||
#: ../../web/templates/pages/list_services.php:183
|
||||
#: ../../web/templates/pages/list_services.php:187
|
||||
#: ../../web/templates/pages/list_services.php:188
|
||||
#: ../../web/templates/pages/list_services.php:192
|
||||
msgid "Restart"
|
||||
msgstr "Перезапуск"
|
||||
|
||||
@@ -3427,141 +3432,6 @@ msgstr "Версия PHP для CLI"
|
||||
msgid "Default Name Servers"
|
||||
msgstr "Серверы имен"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:11
|
||||
msgid "Purge NGINX Cache"
|
||||
msgstr "Очистить кэш памяти NGINX"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:15
|
||||
#: ../../web/templates/pages/list_webapps.php:16
|
||||
msgid "Quick Install App"
|
||||
msgstr "Установить приложение"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:56
|
||||
msgid "Edit Web Domain"
|
||||
msgstr "Изменить веб-домен"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:71
|
||||
msgid ""
|
||||
"If the aliases changes, Let's Encrypt will obtain a new SSL certificate."
|
||||
msgstr ""
|
||||
"Если алиасы изменяются, Let's Encrypt запросит новый SSL сертификат."
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:88
|
||||
msgid "Web Statistics"
|
||||
msgstr "Статистика сайта"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:107
|
||||
msgid "Statistics Authorization"
|
||||
msgstr "Ограниченный доступ к статистике"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:133
|
||||
msgid "Enable domain redirection"
|
||||
msgstr "Включить редирект для домена"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:140
|
||||
#: ../../web/templates/pages/edit_web.php:146
|
||||
#, php-format
|
||||
msgid "Redirect visitors to %s"
|
||||
msgstr "Перенаправлять посетителей на %s"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:152
|
||||
msgid "Redirect visitors to a custom domain or web address"
|
||||
msgstr "Перенаправлять посетителей на домен или веб адрес"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:157
|
||||
msgid "Target domain or URL"
|
||||
msgstr "Целевой домен или URL"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:161
|
||||
msgid "Status code"
|
||||
msgstr "Код редиректа"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:189
|
||||
msgid "Enable automatic HTTPS redirection"
|
||||
msgstr "Включить автоматическое перенаправление на HTTPS"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:195
|
||||
msgid "Enable HTTP Strict Transport Security (HSTS)"
|
||||
msgstr "Включить строгую транспортную безопасность HTTP (HSTS)"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:257
|
||||
msgid "Hide Certificate"
|
||||
msgstr "Скрыть сертификат"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:257
|
||||
#: ../../web/templates/pages/edit_web.php:258
|
||||
msgid "Show Certificate"
|
||||
msgstr "Показать сертификат"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:292
|
||||
msgid "Enable FastCGI cache"
|
||||
msgstr "Включить кеш FastCGI"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:301
|
||||
msgid "Cache Duration"
|
||||
msgstr "Время жизни кеша"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:334
|
||||
msgid "Proxy Support"
|
||||
msgstr "Поддержка Proxy"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:365
|
||||
msgid "Set port for internal service"
|
||||
msgstr "Установить порт для локального сервиса"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:371
|
||||
msgid "Proxy Extensions"
|
||||
msgstr "Обработка Proxy"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:380
|
||||
msgid "Custom document root"
|
||||
msgstr "Пользовательский document root"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:385
|
||||
msgid "Point to"
|
||||
msgstr "Указывает на "
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:408
|
||||
msgid "Additional FTP account(s)"
|
||||
msgstr "Дополнительные учетные записи FTP"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:430
|
||||
#: ../../web/templates/pages/edit_web.php:537
|
||||
#, php-format
|
||||
msgid "Prefix %s will be added to username automatically"
|
||||
msgstr "Префикс %s будет добавлен к имени пользователя автоматически"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:446
|
||||
#: ../../web/templates/pages/edit_web.php:552
|
||||
#: ../../web/templates/pages/extmodules_passenger_manager.php:43
|
||||
msgid "Path"
|
||||
msgstr "Путь"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:454
|
||||
#: ../../web/templates/pages/edit_web.php:558
|
||||
msgid "Send FTP credentials to email"
|
||||
msgstr "Отправить данные FTP аккаунта на почту"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:463
|
||||
msgid "Add FTP account"
|
||||
msgstr "Добавить учетную запись FTP"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:472
|
||||
msgid "Passenger options"
|
||||
msgstr "Настройки passenger"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:485
|
||||
msgid "Enable passenger for domain"
|
||||
msgstr "Включить passenger для домена"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:490
|
||||
msgid "Set ruby path for domain"
|
||||
msgstr "Учтановить используемый ruby"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:512
|
||||
msgid "Enable logging to browser for domain"
|
||||
msgstr "Включить логирование в браузер"
|
||||
|
||||
#: ../../web/templates/pages/edit_whitelabel.php:33
|
||||
msgid "White Label Options"
|
||||
msgstr "Настройки \"Белой Этикетки\""
|
||||
@@ -3708,13 +3578,13 @@ msgstr "Сортировать по"
|
||||
#: ../../web/templates/pages/list_mail_acc.php:56
|
||||
#: ../../web/templates/pages/list_packages.php:32
|
||||
#: ../../web/templates/pages/list_packages.php:35
|
||||
#: ../../web/templates/pages/list_services.php:38
|
||||
#: ../../web/templates/pages/list_services.php:43
|
||||
#: ../../web/templates/pages/list_stats.php:29
|
||||
#: ../../web/templates/pages/list_user.php:41
|
||||
#: ../../web/templates/pages/list_user.php:54
|
||||
#: ../../web/templates/pages/list_web.php:41
|
||||
#: ../../web/templates/pages/list_web.php:49
|
||||
#: ../../web/templates/pages/list_services.php:38
|
||||
#: ../../web/templates/pages/list_services.php:43
|
||||
msgid "Apply to selected"
|
||||
msgstr "Применить к выбранному"
|
||||
|
||||
@@ -3732,9 +3602,9 @@ msgstr "Применить к выбранному"
|
||||
#: ../../web/templates/pages/list_mail.php:73
|
||||
#: ../../web/templates/pages/list_mail_acc.php:83
|
||||
#: ../../web/templates/pages/list_packages.php:52
|
||||
#: ../../web/templates/pages/list_services.php:100
|
||||
#: ../../web/templates/pages/list_user.php:80
|
||||
#: ../../web/templates/pages/list_web.php:76
|
||||
#: ../../web/templates/pages/list_services.php:100
|
||||
msgid "Select all"
|
||||
msgstr "Выбрать всё"
|
||||
|
||||
@@ -3783,12 +3653,12 @@ msgstr "Время"
|
||||
#: ../../web/templates/pages/list_mail_acc.php:164
|
||||
#: ../../web/templates/pages/list_packages.php:118
|
||||
#: ../../web/templates/pages/list_packages.php:119
|
||||
#: ../../web/templates/pages/list_services.php:151
|
||||
#: ../../web/templates/pages/list_services.php:152
|
||||
#: ../../web/templates/pages/list_user.php:144
|
||||
#: ../../web/templates/pages/list_user.php:145
|
||||
#: ../../web/templates/pages/list_web.php:194
|
||||
#: ../../web/templates/pages/list_web.php:195
|
||||
#: ../../web/templates/pages/list_services.php:152
|
||||
#: ../../web/templates/pages/list_services.php:153
|
||||
msgid "Select"
|
||||
msgstr "Выбрать"
|
||||
|
||||
@@ -4005,10 +3875,10 @@ msgstr "Вы уверены, что хотите заморозить дейст
|
||||
|
||||
#: ../../web/templates/pages/list_cron.php:133
|
||||
#: ../../web/templates/pages/list_cron.php:136
|
||||
#: ../../web/templates/pages/list_services.php:158
|
||||
#: ../../web/templates/pages/list_services.php:168
|
||||
#: ../../web/templates/pages/list_services.php:171
|
||||
#: ../../web/templates/pages/extmodules.php:95
|
||||
#: ../../web/templates/pages/extmodules.php:107
|
||||
#: ../../web/templates/pages/list_services.php:163
|
||||
#: ../../web/templates/pages/list_services.php:177
|
||||
#: ../../web/templates/pages/list_services.php:180
|
||||
msgid "Edit"
|
||||
msgstr "Изменить"
|
||||
|
||||
@@ -4480,7 +4350,7 @@ msgstr "Панель управления Hestia"
|
||||
|
||||
#: ../../web/templates/pages/list_server_info.php:42
|
||||
#: ../../web/templates/pages/list_services.php:106
|
||||
#: ../../web/templates/pages/list_services.php:208
|
||||
#: ../../web/templates/pages/list_services.php:217
|
||||
msgid "CPU"
|
||||
msgstr "Процессор"
|
||||
|
||||
@@ -4510,83 +4380,6 @@ msgstr "Политика"
|
||||
msgid "Partially implemented"
|
||||
msgstr "Частично реализовано"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:9
|
||||
msgid "Task Monitor"
|
||||
msgstr "Монитор задач"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:26
|
||||
#: ../../web/templates/pages/list_services.php:180
|
||||
#, php-format
|
||||
msgid "Are you sure you want to restart %s?"
|
||||
msgstr "Вы уверены, что хотите перезапустить %s?"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:31
|
||||
msgid "ExtModules"
|
||||
msgstr "Доп. модули"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:39
|
||||
#: ../../web/templates/pages/list_services.php:117
|
||||
msgid "Stop"
|
||||
msgstr "Остановить"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:40
|
||||
#: ../../web/templates/pages/list_services.php:124
|
||||
msgid "Start"
|
||||
msgstr "Запустить"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:68
|
||||
msgid "Production Release"
|
||||
msgstr "Версия продукта"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:74
|
||||
msgid "Operating System"
|
||||
msgstr "Операционная система"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:80
|
||||
msgid "Load Average"
|
||||
msgstr "Общая нагрузка"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:86
|
||||
#: ../../web/templates/pages/list_services.php:105
|
||||
#: ../../web/templates/pages/list_services.php:204
|
||||
msgid "Uptime"
|
||||
msgstr "Запущен"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:95
|
||||
msgid "Services"
|
||||
msgstr "Службы"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:102
|
||||
#: ../../web/templates/pages/list_services.php:156
|
||||
msgid "Service"
|
||||
msgstr "Службы"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:104
|
||||
#: ../../web/templates/pages/list_services.php:200
|
||||
#: ../../web/templates/pages/list_updates.php:34
|
||||
#: ../../web/templates/pages/list_updates.php:58
|
||||
msgid "Description"
|
||||
msgstr "Описание"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:107
|
||||
#: ../../web/templates/pages/list_services.php:212
|
||||
msgid "Memory"
|
||||
msgstr "Память"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:191
|
||||
#, php-format
|
||||
msgid "Are you sure you want to stop service %s?"
|
||||
msgstr "Вы уверены, что хотите остановить службу %s?"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:191
|
||||
#, php-format
|
||||
msgid "Are you sure you want to start service %s?"
|
||||
msgstr "Вы уверены, что хотите запустить службу %s?"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:213
|
||||
msgid "MB"
|
||||
msgstr "МБ"
|
||||
|
||||
#: ../../web/templates/pages/list_ssl.php:82
|
||||
msgid "SSL CSR"
|
||||
msgstr "SSL CSR запрос"
|
||||
@@ -4628,6 +4421,15 @@ msgstr "Включить автоматические обновления"
|
||||
msgid "Package Names"
|
||||
msgstr "Имена пакетов"
|
||||
|
||||
#: ../../web/templates/pages/list_updates.php:34
|
||||
#: ../../web/templates/pages/list_updates.php:58
|
||||
#: ../../web/templates/pages/list_services.php:104
|
||||
#: ../../web/templates/pages/list_services.php:209
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:39
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:69
|
||||
msgid "Description"
|
||||
msgstr "Описание"
|
||||
|
||||
#: ../../web/templates/pages/list_user.php:43
|
||||
msgid "Rebuild User Profile"
|
||||
msgstr "Восстановить профиль пользователя"
|
||||
@@ -4706,6 +4508,11 @@ msgid "%d web domain"
|
||||
msgid_plural "%d web domains"
|
||||
msgstr[0] ""
|
||||
|
||||
#: ../../web/templates/pages/list_webapps.php:16
|
||||
#: ../../web/templates/pages/edit_web.php:15
|
||||
msgid "Quick Install App"
|
||||
msgstr "Установить приложение"
|
||||
|
||||
#: ../../web/templates/pages/list_webapps.php:29
|
||||
msgid "Setup"
|
||||
msgstr "Настроить"
|
||||
@@ -4824,59 +4631,189 @@ msgstr ""
|
||||
msgid "Please make sure ~/web/%s/public_html is empty!"
|
||||
msgstr "Убедитесь, что ~/web/%s/public_html пуста!"
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:15
|
||||
#: ../../web/templates/pages/edit_web.php:11
|
||||
msgid "Purge NGINX Cache"
|
||||
msgstr "Очистить кэш памяти NGINX"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:56
|
||||
msgid "Edit Web Domain"
|
||||
msgstr "Изменить веб-домен"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:71
|
||||
msgid ""
|
||||
"If the aliases changes, Let's Encrypt will obtain a new SSL certificate."
|
||||
msgstr ""
|
||||
"Если алиасы изменяются, Let's Encrypt запросит новый SSL сертификат."
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:88
|
||||
msgid "Web Statistics"
|
||||
msgstr "Статистика сайта"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:107
|
||||
msgid "Statistics Authorization"
|
||||
msgstr "Ограниченный доступ к статистике"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:133
|
||||
msgid "Enable domain redirection"
|
||||
msgstr "Включить редирект для домена"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:140
|
||||
#: ../../web/templates/pages/edit_web.php:146
|
||||
#, php-format
|
||||
msgid "Redirect visitors to %s"
|
||||
msgstr "Перенаправлять посетителей на %s"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:152
|
||||
msgid "Redirect visitors to a custom domain or web address"
|
||||
msgstr "Перенаправлять посетителей на домен или веб адрес"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:157
|
||||
msgid "Target domain or URL"
|
||||
msgstr "Целевой домен или URL"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:161
|
||||
msgid "Status code"
|
||||
msgstr "Код редиректа"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:189
|
||||
msgid "Enable automatic HTTPS redirection"
|
||||
msgstr "Включить автоматическое перенаправление на HTTPS"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:195
|
||||
msgid "Enable HTTP Strict Transport Security (HSTS)"
|
||||
msgstr "Включить строгую транспортную безопасность HTTP (HSTS)"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:257
|
||||
msgid "Hide Certificate"
|
||||
msgstr "Скрыть сертификат"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:257
|
||||
#: ../../web/templates/pages/edit_web.php:258
|
||||
msgid "Show Certificate"
|
||||
msgstr "Показать сертификат"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:292
|
||||
msgid "Enable FastCGI cache"
|
||||
msgstr "Включить кеш FastCGI"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:301
|
||||
msgid "Cache Duration"
|
||||
msgstr "Время жизни кеша"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:334
|
||||
msgid "Proxy Support"
|
||||
msgstr "Поддержка Proxy"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:365
|
||||
msgid "Set port for internal service"
|
||||
msgstr "Установить порт для локального сервиса"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:371
|
||||
msgid "Proxy Extensions"
|
||||
msgstr "Обработка Proxy"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:380
|
||||
msgid "Custom document root"
|
||||
msgstr "Пользовательский document root"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:385
|
||||
msgid "Point to"
|
||||
msgstr "Указывает на "
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:408
|
||||
msgid "Additional FTP account(s)"
|
||||
msgstr "Дополнительные учетные записи FTP"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:430
|
||||
#: ../../web/templates/pages/edit_web.php:537
|
||||
#, php-format
|
||||
msgid "Prefix %s will be added to username automatically"
|
||||
msgstr "Префикс %s будет добавлен к имени пользователя автоматически"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:446
|
||||
#: ../../web/templates/pages/edit_web.php:552
|
||||
#: ../../web/templates/pages/extmodules_passenger_manager.php:43
|
||||
msgid "Path"
|
||||
msgstr "Путь"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:454
|
||||
#: ../../web/templates/pages/edit_web.php:558
|
||||
msgid "Send FTP credentials to email"
|
||||
msgstr "Отправить данные FTP аккаунта на почту"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:463
|
||||
msgid "Add FTP account"
|
||||
msgstr "Добавить учетную запись FTP"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:472
|
||||
msgid "Passenger options"
|
||||
msgstr "Настройки passenger"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:485
|
||||
msgid "Enable passenger for domain"
|
||||
msgstr "Включить passenger для домена"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:490
|
||||
msgid "Set ruby path for domain"
|
||||
msgstr "Учтановить используемый ruby"
|
||||
|
||||
#: ../../web/templates/pages/edit_web.php:512
|
||||
msgid "Enable logging to browser for domain"
|
||||
msgstr "Включить логирование в браузер"
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:27
|
||||
msgid "List modules"
|
||||
msgstr "Список модулей"
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:19
|
||||
#: ../../web/templates/pages/extmodules.php:50
|
||||
#: ../../web/templates/pages/extmodules.php:31
|
||||
#: ../../web/templates/pages/extmodules.php:62
|
||||
msgid "Module ID"
|
||||
msgstr "ID модуля"
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:20
|
||||
#: ../../web/templates/pages/extmodules.php:54
|
||||
#: ../../web/templates/pages/extmodules.php:32
|
||||
#: ../../web/templates/pages/extmodules.php:66
|
||||
msgid "Module name"
|
||||
msgstr "Имя модуля"
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:22
|
||||
#: ../../web/templates/pages/extmodules.php:78
|
||||
#: ../../web/templates/pages/extmodules.php:34
|
||||
#: ../../web/templates/pages/extmodules.php:90
|
||||
msgid "Module description"
|
||||
msgstr "Описание модуля"
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:23
|
||||
#: ../../web/templates/pages/extmodules.php:82
|
||||
#: ../../web/templates/pages/extmodules.php:35
|
||||
#: ../../web/templates/pages/extmodules.php:94
|
||||
msgid "Module state"
|
||||
msgstr "Состояние"
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:24
|
||||
#: ../../web/templates/pages/extmodules.php:86
|
||||
#: ../../web/templates/pages/extmodules.php:36
|
||||
#: ../../web/templates/pages/extmodules.php:98
|
||||
msgid "Requirements"
|
||||
msgstr "Зависимости"
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:25
|
||||
#: ../../web/templates/pages/extmodules.php:90
|
||||
#: ../../web/templates/pages/extmodules.php:37
|
||||
#: ../../web/templates/pages/extmodules.php:102
|
||||
msgid "Configuration"
|
||||
msgstr "Конфигурация"
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:35
|
||||
#: ../../web/templates/pages/extmodules.php:47
|
||||
msgid "Enable module"
|
||||
msgstr "Включить модуль"
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:38
|
||||
#: ../../web/templates/pages/extmodules.php:50
|
||||
#, php-format
|
||||
msgid "Are you sure you want to enable module %s?"
|
||||
msgstr "Вы уверены, что хотите включить модуль %s?"
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:42
|
||||
#: ../../web/templates/pages/extmodules.php:54
|
||||
msgid "Disable module"
|
||||
msgstr "Отключить модуль"
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:45
|
||||
#: ../../web/templates/pages/extmodules.php:57
|
||||
#, php-format
|
||||
msgid "Are you sure you want to disable module %s?"
|
||||
msgstr "Вы уверены, что хотите отключить модуль %s?"
|
||||
|
||||
#: ../../web/templates/pages/extmodules.php:114
|
||||
#: ../../web/templates/pages/extmodules.php:126
|
||||
msgid "Extended modules list"
|
||||
msgstr "Список расширенных модулей"
|
||||
|
||||
@@ -4896,6 +4833,110 @@ msgstr "Вы уверены, что хотите удалить запись?"
|
||||
msgid "Ruby available list"
|
||||
msgstr "Список доступных ruby"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:9
|
||||
msgid "Task Monitor"
|
||||
msgstr "Монитор задач"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:26
|
||||
#: ../../web/templates/pages/list_services.php:189
|
||||
#, php-format
|
||||
msgid "Are you sure you want to restart %s?"
|
||||
msgstr "Вы уверены, что хотите перезапустить %s?"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:31
|
||||
msgid "ExtModules"
|
||||
msgstr "Доп. модули"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:39
|
||||
#: ../../web/templates/pages/list_services.php:117
|
||||
msgid "Stop"
|
||||
msgstr "Остановить"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:40
|
||||
#: ../../web/templates/pages/list_services.php:124
|
||||
msgid "Start"
|
||||
msgstr "Запустить"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:68
|
||||
msgid "Production Release"
|
||||
msgstr "Версия продукта"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:74
|
||||
msgid "Operating System"
|
||||
msgstr "Операционная система"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:80
|
||||
msgid "Load Average"
|
||||
msgstr "Общая нагрузка"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:86
|
||||
#: ../../web/templates/pages/list_services.php:105
|
||||
#: ../../web/templates/pages/list_services.php:213
|
||||
msgid "Uptime"
|
||||
msgstr "Запущен"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:95
|
||||
msgid "Services"
|
||||
msgstr "Службы"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:102
|
||||
#: ../../web/templates/pages/list_services.php:157
|
||||
msgid "Service"
|
||||
msgstr "Службы"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:107
|
||||
#: ../../web/templates/pages/list_services.php:221
|
||||
msgid "Memory"
|
||||
msgstr "Память"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:200
|
||||
#, php-format
|
||||
msgid "Are you sure you want to stop service %s?"
|
||||
msgstr "Вы уверены, что хотите остановить службу %s?"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:200
|
||||
#, php-format
|
||||
msgid "Are you sure you want to start service %s?"
|
||||
msgstr "Вы уверены, что хотите запустить службу %s?"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:222
|
||||
msgid "MB"
|
||||
msgstr "МБ"
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:27
|
||||
msgid "Available PHP list"
|
||||
msgstr "Список доступных PHP"
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:31
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:40
|
||||
msgid "PHP version"
|
||||
msgstr "Версия PHP"
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:45
|
||||
msgid "Change modules list"
|
||||
msgstr "Изменить список модулей"
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:46
|
||||
msgid "Change modules list for PHP"
|
||||
msgstr "Изменить список модулей для PHP"
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules.php:59
|
||||
msgid "PHP modules tunning"
|
||||
msgstr "Настройка PHP модулей"
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:32
|
||||
msgid "Available modules list for version PHP"
|
||||
msgstr "Доступный список модулей для версии PHP"
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:38
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:47
|
||||
msgid "PHP module name"
|
||||
msgstr "Имя PHP модуля"
|
||||
|
||||
#: ../../web/templates/pages/extmodules/extmodules_php_brepo_modules_list.php:82
|
||||
msgid "PHP modules list"
|
||||
msgstr "Список PHP модулей"
|
||||
|
||||
#: ../../web/update/hestia/index.php:20
|
||||
#, php-format
|
||||
msgid "Error: %s update failed."
|
||||
|
||||
@@ -145,13 +145,18 @@ function authenticate_user($user, $password, $twofa = "") {
|
||||
} else {
|
||||
$salt = $pam[$user]["SALT"];
|
||||
$method = $pam[$user]["METHOD"];
|
||||
$round = $pam[$user]["ROUND"];
|
||||
|
||||
if ($method == "md5") {
|
||||
$hash = crypt($password, '$1$' . $salt . '$');
|
||||
}
|
||||
if ($method == "sha-512") {
|
||||
$hash = crypt($password, '$6$rounds=5000$' . $salt . '$');
|
||||
$hash = str_replace('$rounds=5000', "", $hash);
|
||||
if ($round == "") {
|
||||
$hash = crypt($password, '$6$rounds=5000$' . $salt . '$');
|
||||
$hash = str_replace('$rounds=5000', "", $hash);
|
||||
} else {
|
||||
$hash = crypt($password, '$6$' . $round . '$' . $salt . '$');
|
||||
}
|
||||
}
|
||||
if ($method == "yescrypt") {
|
||||
$fp = tmpfile();
|
||||
|
||||
@@ -38,20 +38,20 @@ abstract class BaseSetup implements InstallerInterface {
|
||||
}
|
||||
|
||||
public function info() {
|
||||
$this->appInfo["enabled"] = true;
|
||||
//$this->appInfo["enabled"] = true;
|
||||
if (isset($this->config["server"]["php"]["supported"])) {
|
||||
$this->appInfo["php_support"] = $this->config["server"]["php"]["supported"];
|
||||
} else {
|
||||
$this->appInfo["php_support"] = [
|
||||
"5.6",
|
||||
"7.0",
|
||||
"7.1",
|
||||
"7.2",
|
||||
"7.3",
|
||||
"7.4",
|
||||
"8.0",
|
||||
"8.1",
|
||||
"8.2",
|
||||
"56",
|
||||
"70",
|
||||
"71",
|
||||
"72",
|
||||
"73",
|
||||
"74",
|
||||
"80",
|
||||
"81",
|
||||
"82",
|
||||
];
|
||||
}
|
||||
return $this->appInfo;
|
||||
|
||||
@@ -9,7 +9,7 @@ class DokuWikiSetup extends BaseSetup {
|
||||
protected $appInfo = [
|
||||
"name" => "DokuWiki",
|
||||
"group" => "wiki",
|
||||
"enabled" => true,
|
||||
"enabled" => false,
|
||||
"version" => "2023-04-04a",
|
||||
"thumbnail" => "dokuwiki-logo.svg",
|
||||
];
|
||||
@@ -57,7 +57,7 @@ class DokuWikiSetup extends BaseSetup {
|
||||
"template" => "default",
|
||||
],
|
||||
"php" => [
|
||||
"supported" => ["7.3", "7.4", "8.0", "8.1"],
|
||||
"supported" => ["73", "74", "80", "81"],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@@ -10,7 +10,7 @@ class DrupalSetup extends BaseSetup {
|
||||
protected $appInfo = [
|
||||
"name" => "Drupal",
|
||||
"group" => "cms",
|
||||
"enabled" => "yes",
|
||||
"enabled" => false,
|
||||
"version" => "latest",
|
||||
"thumbnail" => "drupal-thumb.png",
|
||||
];
|
||||
@@ -30,7 +30,7 @@ class DrupalSetup extends BaseSetup {
|
||||
"template" => "drupal-composer",
|
||||
],
|
||||
"php" => [
|
||||
"supported" => ["8.1", "8.2"],
|
||||
"supported" => ["81", "82"],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@@ -32,7 +32,7 @@ class FlarumSetup extends BaseSetup {
|
||||
"template" => "flarum",
|
||||
],
|
||||
"php" => [
|
||||
"supported" => ["8.0", "8.1", "8.2"],
|
||||
"supported" => ["80", "81", "82"],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@@ -32,7 +32,7 @@ class GravSetup extends BaseSetup {
|
||||
"template" => "grav",
|
||||
],
|
||||
"php" => [
|
||||
"supported" => ["7.4", "8.0", "8.1"],
|
||||
"supported" => ["74", "80", "81"],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@@ -26,7 +26,7 @@ class LaravelSetup extends BaseSetup {
|
||||
"template" => "laravel",
|
||||
],
|
||||
"php" => [
|
||||
"supported" => ["8.1", "8.2"],
|
||||
"supported" => ["81", "82"],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@@ -9,7 +9,7 @@ class MediaWikiSetup extends BaseSetup {
|
||||
protected $appInfo = [
|
||||
"name" => "MediaWiki",
|
||||
"group" => "cms",
|
||||
"enabled" => true,
|
||||
"enabled" => false,
|
||||
"version" => "1.40.0",
|
||||
"thumbnail" => "MediaWiki-2020-logo.svg", //Max size is 300px by 300px
|
||||
];
|
||||
@@ -34,7 +34,7 @@ class MediaWikiSetup extends BaseSetup {
|
||||
"template" => "default",
|
||||
],
|
||||
"php" => [
|
||||
"supported" => ["7.4", "8.0"],
|
||||
"supported" => ["74", "80"],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@@ -8,7 +8,7 @@ class NextcloudSetup extends BaseSetup {
|
||||
protected $appInfo = [
|
||||
"name" => "Nextcloud",
|
||||
"group" => "cloud",
|
||||
"enabled" => true,
|
||||
"enabled" => false,
|
||||
"version" => "latest",
|
||||
"thumbnail" => "nextcloud-thumb.png",
|
||||
];
|
||||
@@ -29,7 +29,7 @@ class NextcloudSetup extends BaseSetup {
|
||||
"template" => "owncloud",
|
||||
],
|
||||
"php" => [
|
||||
"supported" => ["8.0", "8.1", "8.2"],
|
||||
"supported" => ["80", "81", "82"],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@@ -34,7 +34,7 @@ class OpencartSetup extends BaseSetup {
|
||||
"template" => "opencart",
|
||||
],
|
||||
"php" => [
|
||||
"supported" => ["7.4", "8.0", "8.1", "8.2"],
|
||||
"supported" => ["74", "80", "81", "82"],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@@ -8,7 +8,7 @@ class PrestashopSetup extends BaseSetup {
|
||||
protected $appInfo = [
|
||||
"name" => "Prestashop",
|
||||
"group" => "ecommerce",
|
||||
"enabled" => true,
|
||||
"enabled" => false,
|
||||
"version" => "8.1.0",
|
||||
"thumbnail" => "prestashop-thumb.png",
|
||||
];
|
||||
@@ -35,7 +35,7 @@ class PrestashopSetup extends BaseSetup {
|
||||
"template" => "prestashop",
|
||||
],
|
||||
"php" => [
|
||||
"supported" => ["8.0", "8.1"],
|
||||
"supported" => ["80", "81"],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@@ -8,7 +8,7 @@ class SymfonySetup extends BaseSetup {
|
||||
protected $appInfo = [
|
||||
"name" => "Symfony",
|
||||
"group" => "framework",
|
||||
"enabled" => true,
|
||||
"enabled" => false,
|
||||
"version" => "latest",
|
||||
"thumbnail" => "symfony-thumb.png",
|
||||
];
|
||||
@@ -26,7 +26,7 @@ class SymfonySetup extends BaseSetup {
|
||||
"template" => "symfony4-5",
|
||||
],
|
||||
"php" => [
|
||||
"supported" => ["8.1", "8.2"],
|
||||
"supported" => ["81", "82"],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@@ -10,7 +10,7 @@ class WordpressSetup extends BaseSetup {
|
||||
protected $appInfo = [
|
||||
"name" => "WordPress",
|
||||
"group" => "cms",
|
||||
"enabled" => true,
|
||||
"enabled" => false,
|
||||
"version" => "latest",
|
||||
"thumbnail" => "wp-thumb.png",
|
||||
];
|
||||
@@ -61,7 +61,7 @@ class WordpressSetup extends BaseSetup {
|
||||
"template" => "wordpress",
|
||||
],
|
||||
"php" => [
|
||||
"supported" => ["7.4", "8.0", "8.1", "8.2"],
|
||||
"supported" => ["74", "80", "81", "82"],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
<!-- Begin toolbar -->
|
||||
<div class="toolbar">
|
||||
<div class="toolbar-inner">
|
||||
<div class="toolbar-buttons">
|
||||
<a class="button button-secondary button-back js-button-back" href="/list/server/">
|
||||
<i class="fas fa-arrow-left icon-blue"></i><?= _("Back") ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End toolbar -->
|
||||
|
||||
<div class="container">
|
||||
|
||||
<?php
|
||||
if (!empty($error_message)) {
|
||||
?>
|
||||
<div class="u-text-center inline-alert inline-alert-danger u-mb20" role="alert">
|
||||
<i class="fas fa-circle-exclamation"></i>
|
||||
<p><?= $error_message ?></p>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
<h1 class="u-text-center u-hide-desktop u-mt20 u-pr30 u-mb20 u-pl30"><?= _("Available PHP list") ?></h1>
|
||||
|
||||
<div class="units-table js-units-container">
|
||||
<div class="units-table-header">
|
||||
<div class="units-table-cell u-text-center"><?= _("PHP version") ?></div>
|
||||
<div class="units-table-cell u-text-center"><?= _("Action") ?></div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
foreach ($phps as $key => $value) {
|
||||
?>
|
||||
<div class="units-table-row js-unit">
|
||||
<div class="units-table-cell u-text-center">
|
||||
<span class="u-hide-desktop"><?= _("PHP version") ?>:</span>
|
||||
<?php echo "PHP ".$phps[$key]["PHPVER"]; ?>
|
||||
</div>
|
||||
<div class="units-table-cell u-text-center-desktop">
|
||||
<span class="u-hide-desktop"><?= _("Action") ?>:</span>
|
||||
<?= _("Change modules list") ?>
|
||||
<a href="/extm/php_brepo_modules/edit/?ver=<?= urlencode($phps[$key]['PHPVER']) ?>" title="<?= _("Change modules list for PHP") ?><?= $phps[$key]['PHPVER'] ?>">
|
||||
<i class="fa-solid fa-gear icon-purple"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<footer class="app-footer">
|
||||
<div class="container app-footer-inner">
|
||||
<p>
|
||||
<?= _("PHP modules tunning") ?>
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -0,0 +1,85 @@
|
||||
<!-- Begin toolbar -->
|
||||
<div class="toolbar">
|
||||
<div class="toolbar-inner">
|
||||
<div class="toolbar-buttons">
|
||||
<a class="button button-secondary button-back js-button-back" href="/extm/php_brepo_modules/edit/">
|
||||
<i class="fas fa-arrow-left icon-blue"></i><?= _("Back") ?>
|
||||
</a>
|
||||
</div>
|
||||
<div class="toolbar-buttons">
|
||||
<button type="submit" class="button" form="main-form">
|
||||
<i class="fas fa-floppy-disk icon-purple"></i><?= _("Save") ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End toolbar -->
|
||||
|
||||
<div class="container">
|
||||
|
||||
<?php
|
||||
if (!empty($error_message)) {
|
||||
?>
|
||||
<div class="u-text-center inline-alert inline-alert-danger u-mb20" role="alert">
|
||||
<i class="fas fa-circle-exclamation"></i>
|
||||
<p><?= $error_message ?></p>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
<h1 class="u-text-center u-mt20 u-pr30 u-mb20 u-pl30"><?= _("Available modules list for version PHP") ?> <?= $php_vers ?></h1>
|
||||
|
||||
<form id="main-form" name="v_ruby_path" method="post">
|
||||
<input type="hidden" name="save" value="save">
|
||||
<div class="units-table js-units-container">
|
||||
<div class="units-table-header">
|
||||
<div class="units-table-cell u-text-center"><?= _("PHP module name") ?></div>
|
||||
<div class="units-table-cell u-text-center"><?= _("Description") ?></div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
foreach ($phps_modules as $key => $value) {
|
||||
?>
|
||||
<div class="units-table-row js-unit">
|
||||
<div class="units-table-cell js-unit">
|
||||
<span class="u-hide-desktop"><?= _("PHP module name") ?>:</span>
|
||||
<div class="form-check">
|
||||
<input
|
||||
class="form-check-input"
|
||||
type="checkbox"
|
||||
name="v_php_module_name[]"
|
||||
id="v_php_module_name[]"
|
||||
<?= $phps_modules[$key]["STATE"] != "disabled" ? "checked" : "" ?>
|
||||
<?php
|
||||
if ($phps_modules[$key]["STATE"] != "disabled") {
|
||||
echo " value=\"" . $phps_modules[$key]["STATE"] . "\"";
|
||||
} else {
|
||||
echo " value=\"" . $phps_modules[$key]["MODNAME"] ."\"";
|
||||
}
|
||||
?>
|
||||
>
|
||||
<label for="v_policy_user_change_theme">
|
||||
<?= $phps_modules[$key]["MODNAME"] ?>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="units-table-cell">
|
||||
<span class="u-hide-desktop"><?= _("Description") ?>:</span>
|
||||
<?= $phps_modules[$key]["DESCR"] ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<footer class="app-footer">
|
||||
<div class="container app-footer-inner">
|
||||
<p>
|
||||
<?= _("PHP modules list") ?>
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -126,15 +126,16 @@
|
||||
$spnd_icon_class = 'icon-green';
|
||||
$state_icon = 'fa-circle-minus icon-red';
|
||||
}
|
||||
$vers="";
|
||||
if (in_array($key, $phpfpm)){
|
||||
$edit_url="php";
|
||||
preg_match('/\d+/', $key, $matches);
|
||||
$vers=$matches[0] ?? '82';;
|
||||
} else {
|
||||
$edit_url=$key;
|
||||
}
|
||||
if (in_array($key, $clamav_names)){
|
||||
$edit_url="clamav-daemon";
|
||||
} else {
|
||||
$edit_url=$key;
|
||||
}
|
||||
|
||||
$cpu = $data[$key]['CPU'] / 10;
|
||||
@@ -155,7 +156,11 @@
|
||||
<div class="units-table-cell units-table-heading-cell u-text-bold">
|
||||
<span class="u-hide-desktop"><?= _("Service") ?>:</span>
|
||||
<i class="fas <?= $state_icon ?> u-mr5"></i>
|
||||
<a href="/edit/server/<? echo $edit_url ?>/" title="<?= _("Edit") ?>: <?= $key ?>">
|
||||
<a href="/edit/server/<? echo $edit_url ?>/<?php
|
||||
if ($vers!=""){
|
||||
echo "?vers=" . urlencode($vers);
|
||||
}
|
||||
?>" title="<?= _("Edit") ?>: <?= $key ?>">
|
||||
<?= $key ?>
|
||||
</a>
|
||||
</div>
|
||||
@@ -164,7 +169,11 @@
|
||||
<li class="units-table-row-action shortcut-enter" data-key-action="href">
|
||||
<a
|
||||
class="units-table-row-action-link"
|
||||
href="/edit/server/<? echo $edit_url ?>/"
|
||||
href="/edit/server/<? echo $edit_url ?>/<?php
|
||||
if ($vers!=""){
|
||||
echo "?vers=". urlencode($vers);
|
||||
}
|
||||
?>"
|
||||
title="<?= _("Edit") ?>"
|
||||
>
|
||||
<i class="fas fa-pencil icon-orange"></i>
|
||||
|
||||
Reference in New Issue
Block a user