icinga installed & removed grafan/prometheus
This commit is contained in:
50
root/parallels/pool/PSA_18.0.72_17583/examiners/congratulations.sh
Executable file
50
root/parallels/pool/PSA_18.0.72_17583/examiners/congratulations.sh
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
out()
|
||||
{
|
||||
echo -e "\t$*" >&2
|
||||
}
|
||||
|
||||
print_urls()
|
||||
{
|
||||
plesk login 2>/dev/null | sed -e $'s|^|\t * |' >&2
|
||||
}
|
||||
|
||||
print_congratulations()
|
||||
{
|
||||
local mode="$1" # 'install' or 'upgrade'
|
||||
local process=
|
||||
[ "$mode" = "install" ] && process="installation" || process="upgrade"
|
||||
|
||||
out
|
||||
out " Congratulations!"
|
||||
out
|
||||
out "The $process has been finished. Plesk is now running on your server."
|
||||
out
|
||||
if [ "$mode" = "install" ]; then
|
||||
out "To complete the configuration process, browse either of URLs:"
|
||||
print_urls
|
||||
out
|
||||
fi
|
||||
out "Use the username 'admin' to log in. To log in as 'admin', use the 'plesk login' command."
|
||||
out "You can also log in as 'root' using your 'root' password."
|
||||
out
|
||||
out "Use the 'plesk' command to manage the server. Run 'plesk help' for more info."
|
||||
out
|
||||
out "Use the following commands to start and stop the Plesk web interface:"
|
||||
out "'systemctl start psa.service' and 'systemctl stop psa.service' respectively."
|
||||
out
|
||||
if [ "$mode" = "install" ]; then
|
||||
out "If you would like to migrate your subscriptions from other hosting panel"
|
||||
out "or older Plesk version to this server, please check out our assistance"
|
||||
out "options: https://www.plesk.com/professional-services/"
|
||||
out
|
||||
fi
|
||||
}
|
||||
|
||||
unset GREP_OPTIONS
|
||||
|
||||
print_congratulations "$1"
|
||||
# Force showing text when used as AI post-examiner
|
||||
exit 1
|
||||
532
root/parallels/pool/PSA_18.0.72_17583/examiners/disk_space_check.sh
Executable file
532
root/parallels/pool/PSA_18.0.72_17583/examiners/disk_space_check.sh
Executable file
@@ -0,0 +1,532 @@
|
||||
#!/bin/bash
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
[ -z "$PLESK_INSTALLER_DEBUG" ] || set -x
|
||||
[ -z "$PLESK_INSTALLER_STRICT_MODE" ] || set -e
|
||||
|
||||
export LC_ALL=C
|
||||
unset GREP_OPTIONS
|
||||
|
||||
RET_SUCCESS=0
|
||||
RET_WARN=1
|
||||
RET_FATAL=2
|
||||
|
||||
is_function_defined()
|
||||
{
|
||||
local fn="$1"
|
||||
case "$(type $fn 2>/dev/null)" in
|
||||
*function*)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
return 1
|
||||
}
|
||||
|
||||
# @params are tags in format "key=value"
|
||||
# Report body (human readable information) is read from stdin
|
||||
# and copied to stderr.
|
||||
make_error_report()
|
||||
{
|
||||
local report_file="${PLESK_INSTALLER_ERROR_REPORT:-}"
|
||||
|
||||
local python_bin=
|
||||
for bin in "/opt/psa/bin/python" "/usr/local/psa/bin/python" "/usr/bin/python2" "/opt/psa/bin/py3-python" "/usr/local/psa/bin/py3-python" "/usr/libexec/platform-python" "/usr/bin/python3"; do
|
||||
if [ -x "$bin" ]; then
|
||||
python_bin="$bin"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -n "$report_file" -a -x "$python_bin" ]; then
|
||||
"$python_bin" -c 'import sys, json
|
||||
report_file = sys.argv[1]
|
||||
error = sys.stdin.read()
|
||||
|
||||
sys.stderr.write(error)
|
||||
|
||||
data = {
|
||||
"error": error,
|
||||
}
|
||||
|
||||
for tag in sys.argv[2:]:
|
||||
k, v = tag.split("=", 1)
|
||||
data[k] = v
|
||||
|
||||
with open(report_file, "a") as f:
|
||||
json.dump(data, f)
|
||||
f.write("\n")
|
||||
' "$report_file" "date=$(date --utc --iso-8601=ns)" "$@"
|
||||
else
|
||||
cat - >&2
|
||||
fi
|
||||
}
|
||||
|
||||
detect_platform()
|
||||
{
|
||||
. /etc/os-release
|
||||
os_name="$ID"
|
||||
os_version="${VERSION_ID%%.*}"
|
||||
os_arch="$(uname -m)"
|
||||
if [ -e /etc/debian_version ]; then
|
||||
case "$os_arch" in
|
||||
x86_64) pkg_arch="amd64" ;;
|
||||
aarch64) pkg_arch="arm64" ;;
|
||||
esac
|
||||
if [ -n "$VERSION_CODENAME" ]; then
|
||||
os_codename="$VERSION_CODENAME"
|
||||
else
|
||||
case "$os_name$os_version" in
|
||||
debian10) os_codename="buster" ;;
|
||||
debian11) os_codename="bullseye" ;;
|
||||
debian12) os_codename="bookworm" ;;
|
||||
ubuntu18) os_codename="bionic" ;;
|
||||
ubuntu20) os_codename="focal" ;;
|
||||
ubuntu22) os_codename="jammy" ;;
|
||||
ubuntu24) os_codename="noble" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
case "$os_name$os_version" in
|
||||
rhel7|centos7|cloudlinux7|virtuozzo7)
|
||||
package_manager="yum"
|
||||
;;
|
||||
rhel*|centos*|cloudlinux*|almalinux*|rocky*)
|
||||
package_manager="dnf"
|
||||
;;
|
||||
debian*|ubuntu*)
|
||||
package_manager="apt"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$os_name" = "ubuntu" -o "$os_name" = "debian" ]; then
|
||||
PRODUCT_ROOT_D="/opt/psa"
|
||||
else
|
||||
PRODUCT_ROOT_D="/usr/local/psa"
|
||||
fi
|
||||
}
|
||||
|
||||
has_os_impl_function()
|
||||
{
|
||||
local prefix="$1"
|
||||
local fn="${prefix}_${os_name}${os_version}"
|
||||
is_function_defined "$fn"
|
||||
}
|
||||
|
||||
call_os_impl_function()
|
||||
{
|
||||
local prefix="$1"
|
||||
shift
|
||||
local fn="${prefix}_${os_name}${os_version}"
|
||||
"$fn" "$@"
|
||||
}
|
||||
|
||||
skip_checker_on_flag()
|
||||
{
|
||||
local name="$1"
|
||||
local flag="$2"
|
||||
|
||||
if [ -f "$flag" ]; then
|
||||
echo "$name was skipped due to flag file." >&2
|
||||
exit $RET_SUCCESS
|
||||
fi
|
||||
}
|
||||
|
||||
skip_checker_on_env()
|
||||
{
|
||||
local name="$1"
|
||||
local env="$2"
|
||||
|
||||
if [ -n "$env" ]; then
|
||||
echo "$name was skipped due to environment variable." >&2
|
||||
exit $RET_SUCCESS
|
||||
fi
|
||||
}
|
||||
|
||||
checker_main()
|
||||
{
|
||||
local fnprefix="$1"
|
||||
shift
|
||||
|
||||
detect_platform
|
||||
# try to execute checker only if all attributes are detected
|
||||
[ -n "$os_name" -a -n "$os_version" ] || return $RET_SUCCESS
|
||||
|
||||
for checker in "${fnprefix}_${os_name}${os_version}" "${fnprefix}_${os_name}" "${fnprefix}"; do
|
||||
if is_function_defined "$checker"; then
|
||||
local rc=$RET_SUCCESS
|
||||
"$checker" "$@" || rc=$?
|
||||
[ "$(( $rc & $RET_FATAL ))" = "0" ] || return $RET_FATAL
|
||||
[ "$(( $rc & $RET_WARN ))" = "0" ] || return $RET_WARN
|
||||
return $rc
|
||||
fi
|
||||
done
|
||||
return $RET_SUCCESS
|
||||
}
|
||||
|
||||
#!/bin/sh
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
# If env variable PLESK_INSTALLER_ERROR_REPORT=path_to_file is specified then in case of error
|
||||
# disk_space_check.sh writes single line json report into it with the following fields:
|
||||
# - "stage": "diskspacecheck"
|
||||
# - "level": "error"
|
||||
# - "errtype": "notenoughdiskspace"
|
||||
# - "volume": volume with not enough diskspace (e.g. "/")
|
||||
# - "required": required diskspace on the volume, human readable (e.g. "600 MB")
|
||||
# - "available": available diskspace on the volume, human readable (e.g. "255 MB")
|
||||
# - "needtofree": amount of diskspace which should be freed on the volume, human readable (e.g. "345 MB")
|
||||
# - "date": time of error occurance ("2020-03-24T06:59:43,127545441+0000")
|
||||
# - "error": human readable error message ("There is not enough disk space available in the / directory.")
|
||||
|
||||
# Required values below for Full installation are in MB. See 'du -cs -BM /*' and 'df -Pm'.
|
||||
|
||||
required_disk_space_cloudlinux7()
|
||||
{
|
||||
case "$1" in
|
||||
/opt) echo 900 ;;
|
||||
/usr) echo 4400 ;;
|
||||
/var) echo 600 ;;
|
||||
/tmp) echo 100 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
required_disk_space_cloudlinux8()
|
||||
{
|
||||
case "$1" in
|
||||
/opt) echo 1200 ;;
|
||||
/usr) echo 4400 ;;
|
||||
/var) echo 700 ;;
|
||||
/tmp) echo 100 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
required_disk_space_centos7()
|
||||
{
|
||||
case "$1" in
|
||||
/opt) echo 900 ;;
|
||||
/usr) echo 4100 ;;
|
||||
/var) echo 600 ;;
|
||||
/tmp) echo 100 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
required_disk_space_centos8()
|
||||
{
|
||||
case "$1" in
|
||||
/opt) echo 900 ;;
|
||||
/usr) echo 4500 ;;
|
||||
/var) echo 800 ;;
|
||||
/tmp) echo 100 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
required_disk_space_virtuozzo7()
|
||||
{
|
||||
required_disk_space_centos7 "$1"
|
||||
}
|
||||
|
||||
required_disk_space_rhel7()
|
||||
{
|
||||
required_disk_space_centos7 "$1"
|
||||
}
|
||||
|
||||
required_disk_space_rhel8()
|
||||
{
|
||||
required_disk_space_centos8 "$1"
|
||||
}
|
||||
|
||||
required_disk_space_almalinux8()
|
||||
{
|
||||
required_disk_space_centos8 "$1"
|
||||
}
|
||||
|
||||
required_disk_space_rocky8()
|
||||
{
|
||||
required_disk_space_centos8 "$1"
|
||||
}
|
||||
|
||||
required_disk_space_rhel9()
|
||||
{
|
||||
case "$1" in
|
||||
/opt) echo 500 ;;
|
||||
/usr) echo 4000 ;;
|
||||
/var) echo 800 ;;
|
||||
/tmp) echo 100 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
required_disk_space_almalinux9()
|
||||
{
|
||||
required_disk_space_rhel9 "$1"
|
||||
}
|
||||
|
||||
required_disk_space_almalinux10()
|
||||
{
|
||||
required_disk_space_almalinux9 "$1"
|
||||
}
|
||||
|
||||
required_disk_space_cloudlinux9()
|
||||
{
|
||||
required_disk_space_rhel9 "$1"
|
||||
}
|
||||
|
||||
required_disk_space_debian10()
|
||||
{
|
||||
case "$1" in
|
||||
/opt) echo 1800 ;;
|
||||
/usr) echo 2300 ;;
|
||||
/var) echo 1700 ;;
|
||||
/tmp) echo 100 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
required_disk_space_debian11()
|
||||
{
|
||||
case "$1" in
|
||||
/opt) echo 1500 ;;
|
||||
/usr) echo 3100 ;;
|
||||
/var) echo 1800 ;;
|
||||
/tmp) echo 100 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
required_disk_space_debian12()
|
||||
{
|
||||
case "$1" in
|
||||
/opt) echo 2700 ;;
|
||||
/usr) echo 2500 ;;
|
||||
/var) echo 2200 ;;
|
||||
/tmp) echo 100 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
required_disk_space_ubuntu18()
|
||||
{
|
||||
case "$1" in
|
||||
/opt) echo 900 ;;
|
||||
/usr) echo 1800 ;;
|
||||
/var) echo 600 ;;
|
||||
/tmp) echo 100 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
required_disk_space_ubuntu20()
|
||||
{
|
||||
case "$1" in
|
||||
/opt) echo 1800 ;;
|
||||
/usr) echo 2900 ;;
|
||||
/var) echo 1600 ;;
|
||||
/tmp) echo 100 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
required_disk_space_ubuntu22()
|
||||
{
|
||||
case "$1" in
|
||||
/opt) echo 1800 ;;
|
||||
/usr) echo 3900 ;;
|
||||
/var) echo 1900 ;;
|
||||
/tmp) echo 100 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
required_disk_space_ubuntu24()
|
||||
{
|
||||
case "$1" in
|
||||
/opt) echo 3200 ;;
|
||||
/usr) echo 1800 ;;
|
||||
/var) echo 2400 ;;
|
||||
/tmp) echo 100 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
required_update_upgrade_disk_space()
|
||||
{
|
||||
case "$1" in
|
||||
/opt) echo 100 ;;
|
||||
/usr) echo 300 ;;
|
||||
/var) echo 600 ;;
|
||||
/tmp) echo 100 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
clean_tmp()
|
||||
{
|
||||
local volume="$1"
|
||||
local path="/tmp"
|
||||
is_path_on_volume "$path" "$volume" || return 0
|
||||
|
||||
echo "Cleaning $path via 'systemd-tmpfiles --clean --prefix $path'"
|
||||
systemd-tmpfiles --clean --prefix "$path" 2>&1
|
||||
}
|
||||
|
||||
clean_yum()
|
||||
{
|
||||
local volume="$1"
|
||||
local path="/var/cache/yum"
|
||||
is_path_on_volume "$path" "$volume" || return 0
|
||||
|
||||
echo "Cleaning $path via 'yum clean all'"
|
||||
yum clean all 2>&1
|
||||
|
||||
# The command above doesn't clean untracked repos (missing in configuration), clean if left > 2 Mb
|
||||
[ "`du -sm "$path" | awk '{ print $1 }'`" -gt 2 ] || return 0
|
||||
echo "Cleaning $path via 'rm -rf $path/*'"
|
||||
rm -rf "$path"/* 2>&1
|
||||
}
|
||||
|
||||
clean_dnf()
|
||||
{
|
||||
local volume="$1"
|
||||
local path="/var/cache/dnf"
|
||||
is_path_on_volume "$path" "$volume" || return 0
|
||||
|
||||
echo "Cleaning $path via 'dnf clean all'"
|
||||
dnf clean all 2>&1
|
||||
}
|
||||
|
||||
clean_apt()
|
||||
{
|
||||
local volume="$1"
|
||||
local path="/var/cache/apt"
|
||||
is_path_on_volume "$path" "$volume" || return 0
|
||||
|
||||
echo "Cleaning $path via 'apt-get clean'"
|
||||
apt-get clean 2>&1
|
||||
}
|
||||
|
||||
clean_journal()
|
||||
{
|
||||
local volume="$1"
|
||||
local path="/var/log/journal"
|
||||
is_path_on_volume "$path" "$volume" || return 0
|
||||
|
||||
# Note that --rotate may cause more space to be freed, but may also cause more space to be used
|
||||
echo "Cleaning $path via 'journalctl --vacuum-time 1d'"
|
||||
journalctl --vacuum-time 1d 2>&1
|
||||
}
|
||||
|
||||
clean_ext_packages()
|
||||
{
|
||||
local volume="$1"
|
||||
local path="$PRODUCT_ROOT_D/var/modules-packages"
|
||||
is_path_on_volume "$path" "$volume" || return 0
|
||||
|
||||
echo "Cleaning $path via 'rm -rf $path/*'"
|
||||
rm -rf "$path"/* 2>&1
|
||||
}
|
||||
|
||||
# @param $1 target directory
|
||||
mount_point()
|
||||
{
|
||||
df -Pm $1 | awk 'NR==2 { print $6 }'
|
||||
}
|
||||
|
||||
# @param $1 target directory
|
||||
available_disk_space()
|
||||
{
|
||||
df -Pm $1 | awk 'NR==2 { print $4 }'
|
||||
}
|
||||
|
||||
is_path_on_volume()
|
||||
{
|
||||
local path="$1"
|
||||
local volume="$2"
|
||||
[ -d "$path" ] && [ "`mount_point "$path"`" = "$volume" ]
|
||||
}
|
||||
|
||||
# @param $1 target directory
|
||||
# @param $2 mode (install/upgrade/update)
|
||||
req_disk_space()
|
||||
{
|
||||
if [ "$2" != "install" ]; then
|
||||
required_update_upgrade_disk_space "$1"
|
||||
return
|
||||
fi
|
||||
|
||||
has_os_impl_function "required_disk_space" || {
|
||||
echo "There are no requirements defined for $os_name$os_version." >&2
|
||||
echo "Disk space check cannot be performed." >&2
|
||||
exit $RET_WARN
|
||||
}
|
||||
call_os_impl_function "required_disk_space" "$1"
|
||||
}
|
||||
|
||||
human_readable_size()
|
||||
{
|
||||
echo "$1" | awk '
|
||||
function human(x) {
|
||||
s = "MGTEPYZ";
|
||||
while (x >= 1000 && length(s) > 1) {
|
||||
x /= 1024; s = substr(s, 2);
|
||||
}
|
||||
# 0.05 below will make sure the value is rounded up
|
||||
return sprintf("%.1f %sB", x + 0.05, substr(s, 1, 1));
|
||||
}
|
||||
{ print human($1); }'
|
||||
}
|
||||
|
||||
# @param $1 target directory
|
||||
# @param $2 required disk space
|
||||
# @param $3 check only flag (don't emit errors)
|
||||
check_available_disk_space()
|
||||
{
|
||||
local volume="$1"
|
||||
local required="$2"
|
||||
local check_only="${3:-}"
|
||||
local available="$(available_disk_space "$volume")"
|
||||
if [ "$available" -lt "$required" ]; then
|
||||
local needtofree
|
||||
needtofree="`human_readable_size $((required - available))`"
|
||||
[ -n "$check_only" ] ||
|
||||
make_error_report 'stage=diskspacecheck' 'level=error' 'errtype=notenoughdiskspace' \
|
||||
"volume=$volume" "required=$required MB" "available=$available MB" "needtofree=$needtofree" \
|
||||
<<-EOL
|
||||
There is not enough disk space available in the $1 directory.
|
||||
You need to free up $needtofree.
|
||||
EOL
|
||||
return "$RET_FATAL"
|
||||
fi
|
||||
}
|
||||
|
||||
# @param $1 target directory
|
||||
# @param $2 required disk space
|
||||
clean_and_check_available_disk_space()
|
||||
{
|
||||
if [ -n "$PLESK_INSTALLER_FORCE_CLEAN_DISK_SPACE" ] || ! check_available_disk_space "$@" --check-only; then
|
||||
clean_disk_space "$1"
|
||||
check_available_disk_space "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
# Cleans up disk space on the volume
|
||||
clean_disk_space()
|
||||
{
|
||||
local volume="$1"
|
||||
for cleanup_func in clean_tmp clean_yum clean_dnf clean_apt clean_journal clean_ext_packages; do
|
||||
"$cleanup_func" "$volume"
|
||||
done
|
||||
}
|
||||
|
||||
# @param $1 mode (install/upgrade/update)
|
||||
clean_and_check_disk_space()
|
||||
{
|
||||
local mode="$1"
|
||||
local shared=0
|
||||
|
||||
for target_directory in /opt /usr /var /tmp; do
|
||||
local required=$(req_disk_space "$target_directory" "$mode")
|
||||
[ -n "$required" ] || return "$RET_WARN"
|
||||
|
||||
if is_path_on_volume "$target_directory" "/"; then
|
||||
shared="$((shared + required))"
|
||||
else
|
||||
clean_and_check_available_disk_space "$target_directory" "$required" || return $?
|
||||
fi
|
||||
done
|
||||
|
||||
clean_and_check_available_disk_space "/" "$shared" || return $?
|
||||
}
|
||||
|
||||
checker_main 'clean_and_check_disk_space' "$1"
|
||||
224
root/parallels/pool/PSA_18.0.72_17583/examiners/package_manager_check.sh
Executable file
224
root/parallels/pool/PSA_18.0.72_17583/examiners/package_manager_check.sh
Executable file
@@ -0,0 +1,224 @@
|
||||
#!/bin/bash
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
[ -z "$PLESK_INSTALLER_DEBUG" ] || set -x
|
||||
[ -z "$PLESK_INSTALLER_STRICT_MODE" ] || set -e
|
||||
|
||||
export LC_ALL=C
|
||||
unset GREP_OPTIONS
|
||||
|
||||
RET_SUCCESS=0
|
||||
RET_WARN=1
|
||||
RET_FATAL=2
|
||||
|
||||
is_function_defined()
|
||||
{
|
||||
local fn="$1"
|
||||
case "$(type $fn 2>/dev/null)" in
|
||||
*function*)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
return 1
|
||||
}
|
||||
|
||||
# @params are tags in format "key=value"
|
||||
# Report body (human readable information) is read from stdin
|
||||
# and copied to stderr.
|
||||
make_error_report()
|
||||
{
|
||||
local report_file="${PLESK_INSTALLER_ERROR_REPORT:-}"
|
||||
|
||||
local python_bin=
|
||||
for bin in "/opt/psa/bin/python" "/usr/local/psa/bin/python" "/usr/bin/python2" "/opt/psa/bin/py3-python" "/usr/local/psa/bin/py3-python" "/usr/libexec/platform-python" "/usr/bin/python3"; do
|
||||
if [ -x "$bin" ]; then
|
||||
python_bin="$bin"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -n "$report_file" -a -x "$python_bin" ]; then
|
||||
"$python_bin" -c 'import sys, json
|
||||
report_file = sys.argv[1]
|
||||
error = sys.stdin.read()
|
||||
|
||||
sys.stderr.write(error)
|
||||
|
||||
data = {
|
||||
"error": error,
|
||||
}
|
||||
|
||||
for tag in sys.argv[2:]:
|
||||
k, v = tag.split("=", 1)
|
||||
data[k] = v
|
||||
|
||||
with open(report_file, "a") as f:
|
||||
json.dump(data, f)
|
||||
f.write("\n")
|
||||
' "$report_file" "date=$(date --utc --iso-8601=ns)" "$@"
|
||||
else
|
||||
cat - >&2
|
||||
fi
|
||||
}
|
||||
|
||||
detect_platform()
|
||||
{
|
||||
. /etc/os-release
|
||||
os_name="$ID"
|
||||
os_version="${VERSION_ID%%.*}"
|
||||
os_arch="$(uname -m)"
|
||||
if [ -e /etc/debian_version ]; then
|
||||
case "$os_arch" in
|
||||
x86_64) pkg_arch="amd64" ;;
|
||||
aarch64) pkg_arch="arm64" ;;
|
||||
esac
|
||||
if [ -n "$VERSION_CODENAME" ]; then
|
||||
os_codename="$VERSION_CODENAME"
|
||||
else
|
||||
case "$os_name$os_version" in
|
||||
debian10) os_codename="buster" ;;
|
||||
debian11) os_codename="bullseye" ;;
|
||||
debian12) os_codename="bookworm" ;;
|
||||
ubuntu18) os_codename="bionic" ;;
|
||||
ubuntu20) os_codename="focal" ;;
|
||||
ubuntu22) os_codename="jammy" ;;
|
||||
ubuntu24) os_codename="noble" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
case "$os_name$os_version" in
|
||||
rhel7|centos7|cloudlinux7|virtuozzo7)
|
||||
package_manager="yum"
|
||||
;;
|
||||
rhel*|centos*|cloudlinux*|almalinux*|rocky*)
|
||||
package_manager="dnf"
|
||||
;;
|
||||
debian*|ubuntu*)
|
||||
package_manager="apt"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$os_name" = "ubuntu" -o "$os_name" = "debian" ]; then
|
||||
PRODUCT_ROOT_D="/opt/psa"
|
||||
else
|
||||
PRODUCT_ROOT_D="/usr/local/psa"
|
||||
fi
|
||||
}
|
||||
|
||||
has_os_impl_function()
|
||||
{
|
||||
local prefix="$1"
|
||||
local fn="${prefix}_${os_name}${os_version}"
|
||||
is_function_defined "$fn"
|
||||
}
|
||||
|
||||
call_os_impl_function()
|
||||
{
|
||||
local prefix="$1"
|
||||
shift
|
||||
local fn="${prefix}_${os_name}${os_version}"
|
||||
"$fn" "$@"
|
||||
}
|
||||
|
||||
skip_checker_on_flag()
|
||||
{
|
||||
local name="$1"
|
||||
local flag="$2"
|
||||
|
||||
if [ -f "$flag" ]; then
|
||||
echo "$name was skipped due to flag file." >&2
|
||||
exit $RET_SUCCESS
|
||||
fi
|
||||
}
|
||||
|
||||
skip_checker_on_env()
|
||||
{
|
||||
local name="$1"
|
||||
local env="$2"
|
||||
|
||||
if [ -n "$env" ]; then
|
||||
echo "$name was skipped due to environment variable." >&2
|
||||
exit $RET_SUCCESS
|
||||
fi
|
||||
}
|
||||
|
||||
checker_main()
|
||||
{
|
||||
local fnprefix="$1"
|
||||
shift
|
||||
|
||||
detect_platform
|
||||
# try to execute checker only if all attributes are detected
|
||||
[ -n "$os_name" -a -n "$os_version" ] || return $RET_SUCCESS
|
||||
|
||||
for checker in "${fnprefix}_${os_name}${os_version}" "${fnprefix}_${os_name}" "${fnprefix}"; do
|
||||
if is_function_defined "$checker"; then
|
||||
local rc=$RET_SUCCESS
|
||||
"$checker" "$@" || rc=$?
|
||||
[ "$(( $rc & $RET_FATAL ))" = "0" ] || return $RET_FATAL
|
||||
[ "$(( $rc & $RET_WARN ))" = "0" ] || return $RET_WARN
|
||||
return $rc
|
||||
fi
|
||||
done
|
||||
return $RET_SUCCESS
|
||||
}
|
||||
|
||||
#!/bin/sh
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
check_package_manager_deb_based()
|
||||
{
|
||||
local output=
|
||||
output="`dpkg --audit 2>&1`" || output="$output"$'\n'"'dpkg --audit' finished with error code $?."
|
||||
|
||||
if [ -n "$output" ]; then
|
||||
make_error_report 'stage=packagemanagercheck' 'level=error' 'errtype=brokenpackages' <<-EOL
|
||||
The system package manager reports the following problems:
|
||||
|
||||
$output
|
||||
|
||||
To continue with the installation, you need to resolve these issues
|
||||
using the procedure below:
|
||||
|
||||
1. Make sure you have a full server snapshot. Although the
|
||||
following steps are usually safe, they can still cause
|
||||
data loss or irreversible changes.
|
||||
2. Run 'dpkg --configure -a'. This command can fix some of the
|
||||
issues. However, it may fail. Regardless if it fails or not,
|
||||
proceed with the following steps.
|
||||
3. Run 'PLESK_INSTALLER_SKIP_PACKAGE_MANAGER_CHECK=1 plesk installer update --skip-cleanup'.
|
||||
Instead of 'update', you may need to use the command you used
|
||||
previously (for example, 'upgrade' or 'install').
|
||||
4. The next step depends on the outcome of the previous one:
|
||||
- If step 3 was completed with the "You already have the latest
|
||||
version of product(s) and all the selected components installed.
|
||||
Installation will not continue." message,
|
||||
run 'plesk repair installation'.
|
||||
- If step 3 failed, run 'dpkg --audit'. This command can show you
|
||||
packages that need to be reinstalled. To reinstall them, run
|
||||
'apt-get install --reinstall <packages>'.
|
||||
5. Run 'plesk installer update' to revert temporary changes and
|
||||
validate that the issues are resolved. If the command fails or
|
||||
triggers this check again, contact Plesk support.
|
||||
|
||||
For more information, see
|
||||
https://support.plesk.com/hc/en-us/articles/12871173047447-Plesk-update-on-Debian-Ubuntu-fails-dpkg-was-interrupted-you-must-manually-run-dpkg-configure-a-to-correct-the-problem
|
||||
EOL
|
||||
return "$RET_FATAL"
|
||||
fi
|
||||
}
|
||||
|
||||
check_package_manager_debian()
|
||||
{
|
||||
check_package_manager_deb_based
|
||||
}
|
||||
|
||||
check_package_manager_ubuntu()
|
||||
{
|
||||
check_package_manager_deb_based
|
||||
}
|
||||
|
||||
skip_checker_on_env "Package manager check" "$PLESK_INSTALLER_SKIP_PACKAGE_MANAGER_CHECK"
|
||||
skip_checker_on_flag "Package manager check" "/tmp/plesk-installer-skip-package-manager-check.flag"
|
||||
checker_main 'check_package_manager' "$@"
|
||||
38
root/parallels/pool/PSA_18.0.72_17583/examiners/php_launcher.sh
Executable file
38
root/parallels/pool/PSA_18.0.72_17583/examiners/php_launcher.sh
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/bin/sh
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
die()
|
||||
{
|
||||
echo $*
|
||||
exit 1
|
||||
}
|
||||
|
||||
[ -n "$1" ] || die "Usage: $0 php_script [args...]"
|
||||
|
||||
[ "X${PLESK_INSTALLER_DEBUG}" = "X" ] || set -x
|
||||
[ "X${PLESK_INSTALLER_STRICT_MODE}" = "X" ] || set -e
|
||||
|
||||
php_bin=
|
||||
|
||||
lookup()
|
||||
{
|
||||
[ -z "$php_bin" ] || return
|
||||
|
||||
local paths="$1"
|
||||
local name="$2"
|
||||
|
||||
for path in $paths; do
|
||||
if [ -x "$path/$name" ]; then
|
||||
php_bin="$path/$name"
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
lookup "/usr/local/psa/admin/bin /opt/psa/admin/bin" "php"
|
||||
lookup "/usr/local/psa/bin /opt/psa/bin" "sw-engine-pleskrun"
|
||||
|
||||
[ -n "$php_bin" ] || \
|
||||
die "Unable to locate the sw-engine PHP interpreter to execute the script. Make sure that Parallels Plesk Panel is installed on this server."
|
||||
|
||||
exec "${php_bin}" "$@"
|
||||
30
root/parallels/pool/PSA_18.0.72_17583/examiners/py_launcher.sh
Executable file
30
root/parallels/pool/PSA_18.0.72_17583/examiners/py_launcher.sh
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
die()
|
||||
{
|
||||
echo "$*"
|
||||
exit 1
|
||||
}
|
||||
|
||||
[ -f "$1" ] || die "Usage: $0 PEX [args...]"
|
||||
|
||||
[ "X${PLESK_INSTALLER_DEBUG}" = "X" ] || set -x
|
||||
[ "X${PLESK_INSTALLER_STRICT_MODE}" = "X" ] || set -e
|
||||
|
||||
find_python_bin()
|
||||
{
|
||||
local bin
|
||||
for bin in "/opt/psa/bin/py3-python" "/usr/local/psa/bin/py3-python" "/usr/libexec/platform-python" "/usr/bin/python3" "/opt/psa/bin/python" "/usr/local/psa/bin/python" "/usr/bin/python2"; do
|
||||
[ -x "$bin" ] || continue
|
||||
python_bin="$bin"
|
||||
return 0
|
||||
done
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
find_python_bin ||
|
||||
die "Unable to locate Python interpreter to execute the script."
|
||||
|
||||
exec "$python_bin" "$@"
|
||||
782
root/parallels/pool/PSA_18.0.72_17583/examiners/repository_check.sh
Executable file
782
root/parallels/pool/PSA_18.0.72_17583/examiners/repository_check.sh
Executable file
@@ -0,0 +1,782 @@
|
||||
#!/bin/bash
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
[ -z "$PLESK_INSTALLER_DEBUG" ] || set -x
|
||||
[ -z "$PLESK_INSTALLER_STRICT_MODE" ] || set -e
|
||||
|
||||
export LC_ALL=C
|
||||
unset GREP_OPTIONS
|
||||
|
||||
RET_SUCCESS=0
|
||||
RET_WARN=1
|
||||
RET_FATAL=2
|
||||
|
||||
is_function_defined()
|
||||
{
|
||||
local fn="$1"
|
||||
case "$(type $fn 2>/dev/null)" in
|
||||
*function*)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
return 1
|
||||
}
|
||||
|
||||
# @params are tags in format "key=value"
|
||||
# Report body (human readable information) is read from stdin
|
||||
# and copied to stderr.
|
||||
make_error_report()
|
||||
{
|
||||
local report_file="${PLESK_INSTALLER_ERROR_REPORT:-}"
|
||||
|
||||
local python_bin=
|
||||
for bin in "/opt/psa/bin/python" "/usr/local/psa/bin/python" "/usr/bin/python2" "/opt/psa/bin/py3-python" "/usr/local/psa/bin/py3-python" "/usr/libexec/platform-python" "/usr/bin/python3"; do
|
||||
if [ -x "$bin" ]; then
|
||||
python_bin="$bin"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -n "$report_file" -a -x "$python_bin" ]; then
|
||||
"$python_bin" -c 'import sys, json
|
||||
report_file = sys.argv[1]
|
||||
error = sys.stdin.read()
|
||||
|
||||
sys.stderr.write(error)
|
||||
|
||||
data = {
|
||||
"error": error,
|
||||
}
|
||||
|
||||
for tag in sys.argv[2:]:
|
||||
k, v = tag.split("=", 1)
|
||||
data[k] = v
|
||||
|
||||
with open(report_file, "a") as f:
|
||||
json.dump(data, f)
|
||||
f.write("\n")
|
||||
' "$report_file" "date=$(date --utc --iso-8601=ns)" "$@"
|
||||
else
|
||||
cat - >&2
|
||||
fi
|
||||
}
|
||||
|
||||
detect_platform()
|
||||
{
|
||||
. /etc/os-release
|
||||
os_name="$ID"
|
||||
os_version="${VERSION_ID%%.*}"
|
||||
os_arch="$(uname -m)"
|
||||
if [ -e /etc/debian_version ]; then
|
||||
case "$os_arch" in
|
||||
x86_64) pkg_arch="amd64" ;;
|
||||
aarch64) pkg_arch="arm64" ;;
|
||||
esac
|
||||
if [ -n "$VERSION_CODENAME" ]; then
|
||||
os_codename="$VERSION_CODENAME"
|
||||
else
|
||||
case "$os_name$os_version" in
|
||||
debian10) os_codename="buster" ;;
|
||||
debian11) os_codename="bullseye" ;;
|
||||
debian12) os_codename="bookworm" ;;
|
||||
ubuntu18) os_codename="bionic" ;;
|
||||
ubuntu20) os_codename="focal" ;;
|
||||
ubuntu22) os_codename="jammy" ;;
|
||||
ubuntu24) os_codename="noble" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
case "$os_name$os_version" in
|
||||
rhel7|centos7|cloudlinux7|virtuozzo7)
|
||||
package_manager="yum"
|
||||
;;
|
||||
rhel*|centos*|cloudlinux*|almalinux*|rocky*)
|
||||
package_manager="dnf"
|
||||
;;
|
||||
debian*|ubuntu*)
|
||||
package_manager="apt"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$os_name" = "ubuntu" -o "$os_name" = "debian" ]; then
|
||||
PRODUCT_ROOT_D="/opt/psa"
|
||||
else
|
||||
PRODUCT_ROOT_D="/usr/local/psa"
|
||||
fi
|
||||
}
|
||||
|
||||
has_os_impl_function()
|
||||
{
|
||||
local prefix="$1"
|
||||
local fn="${prefix}_${os_name}${os_version}"
|
||||
is_function_defined "$fn"
|
||||
}
|
||||
|
||||
call_os_impl_function()
|
||||
{
|
||||
local prefix="$1"
|
||||
shift
|
||||
local fn="${prefix}_${os_name}${os_version}"
|
||||
"$fn" "$@"
|
||||
}
|
||||
|
||||
skip_checker_on_flag()
|
||||
{
|
||||
local name="$1"
|
||||
local flag="$2"
|
||||
|
||||
if [ -f "$flag" ]; then
|
||||
echo "$name was skipped due to flag file." >&2
|
||||
exit $RET_SUCCESS
|
||||
fi
|
||||
}
|
||||
|
||||
skip_checker_on_env()
|
||||
{
|
||||
local name="$1"
|
||||
local env="$2"
|
||||
|
||||
if [ -n "$env" ]; then
|
||||
echo "$name was skipped due to environment variable." >&2
|
||||
exit $RET_SUCCESS
|
||||
fi
|
||||
}
|
||||
|
||||
checker_main()
|
||||
{
|
||||
local fnprefix="$1"
|
||||
shift
|
||||
|
||||
detect_platform
|
||||
# try to execute checker only if all attributes are detected
|
||||
[ -n "$os_name" -a -n "$os_version" ] || return $RET_SUCCESS
|
||||
|
||||
for checker in "${fnprefix}_${os_name}${os_version}" "${fnprefix}_${os_name}" "${fnprefix}"; do
|
||||
if is_function_defined "$checker"; then
|
||||
local rc=$RET_SUCCESS
|
||||
"$checker" "$@" || rc=$?
|
||||
[ "$(( $rc & $RET_FATAL ))" = "0" ] || return $RET_FATAL
|
||||
[ "$(( $rc & $RET_WARN ))" = "0" ] || return $RET_WARN
|
||||
return $rc
|
||||
fi
|
||||
done
|
||||
return $RET_SUCCESS
|
||||
}
|
||||
|
||||
#!/bin/sh
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
# If env variable PLESK_INSTALLER_ERROR_REPORT=path_to_file is specified then in case of error
|
||||
# repository_check.sh writes single line json report into it with the following fields:
|
||||
# - "stage": "repositorycheck"
|
||||
# - "level": "error"
|
||||
# - "errtype" is one of the following:
|
||||
# * "reponotcached" - repository is not cached (mostly due to unavailability).
|
||||
# * "reponotenabled" - required repository is not enabled.
|
||||
# * "reponotsupported" - unsupported repository is enabled.
|
||||
# * "configmanagernotinstalled" - dnf config-manager is disabled.
|
||||
# - "repo": repository name.
|
||||
# - "date": time of error occurance ("2020-03-24T06:59:43,127545441+0000")
|
||||
# - "error": human readable error message.
|
||||
|
||||
report_no_repo()
|
||||
{
|
||||
local repo="$1"
|
||||
|
||||
make_error_report 'stage=repositorycheck' 'level=error' 'errtype=reponotenabled' "repo=$repo" <<-EOL
|
||||
Plesk installation requires '$repo' OS repository to be enabled.
|
||||
Make sure it is available and enabled, then try again.
|
||||
EOL
|
||||
}
|
||||
|
||||
report_no_repo_cache()
|
||||
{
|
||||
local repo="$1"
|
||||
|
||||
make_error_report 'stage=repositorycheck' 'level=error' 'errtype=reponotcached' "repo=$repo" <<-EOL
|
||||
Unable to create $package_manager cache for '$repo' OS repository.
|
||||
Make sure the repository is available, otherwise either disable it or fix its configuration, then try again.
|
||||
EOL
|
||||
}
|
||||
|
||||
report_unsupported_repo()
|
||||
{
|
||||
local repo="$1"
|
||||
|
||||
make_error_report 'stage=repositorycheck' 'level=error' 'errtype=reponotsupported' "repo=$repo" <<-EOL
|
||||
Plesk installation doesn't support '$repo' OS repository.
|
||||
Make sure it is disabled, then try again.
|
||||
EOL
|
||||
}
|
||||
|
||||
report_rh_no_config_manager()
|
||||
{
|
||||
local target
|
||||
case "$package_manager" in
|
||||
yum)
|
||||
target="yum-utils package"
|
||||
;;
|
||||
dnf)
|
||||
target="config-manager dnf plugin"
|
||||
;;
|
||||
esac
|
||||
|
||||
make_error_report 'stage=repositorycheck' 'level=error' 'errtype=configmanagernotinstalled' <<-EOL
|
||||
Failed to install $target.
|
||||
Make sure repositories configuration of $package_manager package manager is correct
|
||||
(use '$package_manager repolist --verbose' to get its actual state), then try again.
|
||||
EOL
|
||||
}
|
||||
|
||||
check_rh_broken_repos()
|
||||
{
|
||||
local rh_enabled_repos rh_available_repos
|
||||
|
||||
# 1. `yum repolist` and `dnf repolist` list all repos
|
||||
# which were enabled before last cache creation
|
||||
# even if cache for them was not created.
|
||||
# If some repo is misconfigured and cache was created with `skip_if_unavailable=1`
|
||||
# then such repo will be listed anyway despite on cache state.
|
||||
# If some repo was enabled after last cache creation
|
||||
# then `repolist --cacheonly` will fail.
|
||||
# 2. `yum repolist --verbose` and `dnf repoinfo` list only repos
|
||||
# which were successfully cached before.
|
||||
# These commands fail if at least one repo is not available
|
||||
# and the 'skip_if_unavailable' flag is not set.
|
||||
case "$package_manager" in
|
||||
yum)
|
||||
rh_enabled_repos="$(
|
||||
{
|
||||
yum repolist enabled --cacheonly -q 2>/dev/null \
|
||||
|| yum repolist enabled -q --setopt='*.skip_if_unavailable=1'
|
||||
} | sed -n -e '1d' -e 's/^\*\?!\?\([^/[:space:]]\+\).*/\1/p'
|
||||
)" || return $RET_FATAL
|
||||
|
||||
rh_available_repos="$(
|
||||
yum repolist enabled --verbose --cacheonly -q --setopt='*.skip_if_unavailable=1' \
|
||||
| sed -n -e 's/^Repo-id\s*:\s*\([^/[:space:]]\+\).*/\1/p'
|
||||
)" || return $RET_FATAL
|
||||
;;
|
||||
dnf)
|
||||
rh_enabled_repos="$(
|
||||
{
|
||||
dnf repolist --enabled --cacheonly -q 2>/dev/null \
|
||||
|| dnf repolist --enabled -q --setopt='*.skip_if_unavailable=1'
|
||||
} | sed -n -e '1d' -e 's/^!\?\(\S\+\).*/\1/p'
|
||||
)" || return $RET_FATAL
|
||||
|
||||
rh_available_repos="$( \
|
||||
dnf repoinfo --enabled --cacheonly -q --setopt='*.skip_if_unavailable=1' \
|
||||
| sed -n -e 's|^Repo-id\s*:\s*\(\S\+\)\s*$|\1|p'
|
||||
)" || return $RET_FATAL
|
||||
;;
|
||||
esac
|
||||
|
||||
local rh_enabled_repos_f="$(mktemp /tmp/plesk-installer.preupgrade_checker.XXXXXX)"
|
||||
echo "$rh_enabled_repos" | sort > "$rh_enabled_repos_f"
|
||||
local rh_available_repos_f="$(mktemp /tmp/plesk-installer.preupgrade_checker.XXXXXX)"
|
||||
echo "$rh_available_repos" | sort > "$rh_available_repos_f"
|
||||
|
||||
local repo rc=0
|
||||
for repo in $(comm -23 "$rh_enabled_repos_f" "$rh_available_repos_f"); do
|
||||
report_no_repo_cache "$repo"
|
||||
rc=$RET_WARN
|
||||
done
|
||||
|
||||
rm -f "$rh_enabled_repos_f" "$rh_available_repos_f"
|
||||
|
||||
return $rc
|
||||
}
|
||||
|
||||
has_rh_enabled_repo()
|
||||
{
|
||||
local repo="$1"
|
||||
|
||||
# Try to get list of repos from cache first.
|
||||
# If some repo was enabled after last cache creation
|
||||
# or some repo is unavailable the query from cache will fail.
|
||||
# Try to fetch actual metadata in this case.
|
||||
case "$package_manager" in
|
||||
yum)
|
||||
# Repo-id may end with OS version and/or architecture
|
||||
# if baseurl of the repo refers to $releasever and/or $basearch variables
|
||||
# eg 'epel/7/x86_64', 'epel/7', 'epel/x86_64'
|
||||
{
|
||||
yum repolist enabled --verbose --cacheonly -q 2>/dev/null \
|
||||
|| yum repolist enabled --verbose -q --setopt='*.skip_if_unavailable=1'
|
||||
} | grep -E -q "^Repo-id\s*: $repo(/.+)?\s*$"
|
||||
;;
|
||||
dnf)
|
||||
# note: --noplugins may cause failure and empty output on RedHat
|
||||
{
|
||||
dnf repoinfo --enabled --cacheonly -q 2>/dev/null \
|
||||
|| dnf repoinfo --enabled -q --setopt='*.skip_if_unavailable=1'
|
||||
} | grep -E -q "^Repo-id\s*: $repo\s*$"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
has_rh_config_manager()
|
||||
{
|
||||
case "$package_manager" in
|
||||
yum) yum-config-manager --help >/dev/null 2>&1 ;;
|
||||
dnf) dnf config-manager --help >/dev/null 2>&1 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
install_rh_config_manager()
|
||||
{
|
||||
case "$package_manager" in
|
||||
yum) yum install --disablerepo 'PLESK_*' -q -y 'yum-utils' --setopt='*.skip_if_unavailable=1' ;;
|
||||
dnf) dnf install --disablerepo 'PLESK_*' -q -y 'dnf-command(config-manager)' --setopt='*.skip_if_unavailable=1' ;;
|
||||
esac
|
||||
}
|
||||
|
||||
check_rh_config_manager()
|
||||
{
|
||||
if ! has_rh_config_manager && ! install_rh_config_manager; then
|
||||
report_rh_no_config_manager
|
||||
return $RET_FATAL
|
||||
fi
|
||||
}
|
||||
|
||||
enable_rh_repo()
|
||||
{
|
||||
case "$package_manager" in
|
||||
yum) yum-config-manager --enable "$@" && has_rh_enabled_repo "$@" ;;
|
||||
dnf) dnf config-manager --set-enabled "$@" && has_rh_enabled_repo "$@" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
enable_sm_repo()
|
||||
{
|
||||
! has_rh_enabled_repo "$@" || return 0
|
||||
subscription-manager repos --enable "$@" || return $?
|
||||
# On RedHat 8 above command may return 0 on failure with "Repositories disabled by configuration."
|
||||
has_rh_enabled_repo "$@"
|
||||
}
|
||||
|
||||
check_epel()
|
||||
{
|
||||
! enable_rh_repo "epel" || return 0
|
||||
|
||||
# try to install epel-release from centos/extras or plesk/thirdparty repo
|
||||
# and then try to update it to last version shipped by epel itself
|
||||
# to make package upgradable with pum
|
||||
"$package_manager" install --disablerepo 'PLESK_*' -q -y 'epel-release' --setopt='*.skip_if_unavailable=1' 2>/dev/null \
|
||||
|| "$package_manager" install --disablerepo='*' --enablerepo 'PLESK_18_*-thirdparty' -q -y 'epel-release' \
|
||||
|| "$package_manager" install -q -y "https://dl.fedoraproject.org/pub/epel/epel-release-latest-$os_version.noarch.rpm" \
|
||||
&& "$package_manager" update -q -y 'epel-release' --setopt='*.skip_if_unavailable=1' 2>/dev/null
|
||||
|
||||
# Ensure any other EPEL repos have cache for subsequent check for broken repos (AL9)
|
||||
local epel_repos="$(
|
||||
[ "$package_manager" != "dnf" ] || {
|
||||
dnf repolist --enabled --cacheonly -q 2>/dev/null ||
|
||||
dnf repolist --enabled -q --setopt='*.skip_if_unavailable=1'
|
||||
} | sed -n -e '1d' -e 's/^!\?\(epel\S\+\).*/\1/p'
|
||||
)"
|
||||
for repo in $epel_repos; do
|
||||
"$package_manager" makecache --repo "$repo" -q
|
||||
done
|
||||
|
||||
! has_rh_enabled_repo "epel" || return 0
|
||||
|
||||
report_no_repo "epel"
|
||||
return $RET_FATAL
|
||||
}
|
||||
|
||||
check_codeready()
|
||||
{
|
||||
local repo_rhel="codeready-builder-for-rhel-$os_version-$os_arch-rpms"
|
||||
local repo_rhui="codeready-builder-for-rhel-$os_version-rhui-rpms"
|
||||
local repo_rhui_alt="codeready-builder-for-rhel-$os_version-$os_arch-rhui-rpms"
|
||||
local repo_rhui_alt2="rhui-codeready-builder-for-rhel-$os_version-$os_arch-rhui-rpms"
|
||||
|
||||
! enable_sm_repo "$repo_rhel" || return 0
|
||||
! enable_rh_repo "$repo_rhui" || return 0
|
||||
! enable_rh_repo "$repo_rhui_alt" || return 0
|
||||
! enable_rh_repo "$repo_rhui_alt2" || return 0
|
||||
|
||||
report_no_repo "$repo_rhel"
|
||||
return $RET_FATAL
|
||||
}
|
||||
|
||||
check_optional()
|
||||
{
|
||||
local repo_rhel="rhel-$os_version-server-optional-rpms"
|
||||
local repo_rhui="rhel-$os_version-server-rhui-optional-rpms"
|
||||
|
||||
! enable_sm_repo "$repo_rhel" || return 0
|
||||
! enable_rh_repo "$repo_rhui" || return 0
|
||||
|
||||
report_no_repo "$repo_rhel"
|
||||
return $RET_FATAL
|
||||
}
|
||||
|
||||
check_repos_rhel9()
|
||||
{
|
||||
check_rh_config_manager || return $?
|
||||
|
||||
local rc=0
|
||||
|
||||
check_epel || rc="$(( $rc | $? ))"
|
||||
check_codeready || rc="$(( $rc | $? ))"
|
||||
check_rh_broken_repos || rc="$(( $rc | $? ))"
|
||||
|
||||
return $rc
|
||||
}
|
||||
|
||||
check_repos_almalinux9()
|
||||
{
|
||||
check_rh_config_manager || return $?
|
||||
|
||||
local rc=0
|
||||
check_epel || rc="$(( $rc | $? ))"
|
||||
check_rh_broken_repos || rc="$(( $rc | $? ))"
|
||||
|
||||
# powertools is renamed to crb since AlmaLinux 9
|
||||
! enable_rh_repo "crb" || return $rc
|
||||
|
||||
report_no_repo "crb"
|
||||
return $RET_FATAL
|
||||
}
|
||||
|
||||
check_repos_cloudlinux9()
|
||||
{
|
||||
check_repos_almalinux9 "$@"
|
||||
}
|
||||
|
||||
check_repos_almalinux10()
|
||||
{
|
||||
check_repos_almalinux9 "$@"
|
||||
}
|
||||
|
||||
check_repos_centos8()
|
||||
{
|
||||
check_rh_config_manager || return $?
|
||||
|
||||
local rc=0
|
||||
check_epel || rc="$(( $rc | $? ))"
|
||||
check_rh_broken_repos || rc="$(( $rc | $? ))"
|
||||
|
||||
# names of repos are lowercased since 8.3
|
||||
! enable_rh_repo "powertools" || return $rc
|
||||
! enable_rh_repo "PowerTools" || return $rc
|
||||
|
||||
report_no_repo "powertools"
|
||||
return $RET_FATAL
|
||||
}
|
||||
|
||||
check_repos_cloudlinux8()
|
||||
{
|
||||
check_rh_config_manager || return $?
|
||||
|
||||
local rc=0
|
||||
check_epel || rc="$(( $rc | $? ))"
|
||||
check_rh_broken_repos || rc="$(( $rc | $? ))"
|
||||
|
||||
# names of repos are changed since 8.5
|
||||
! enable_rh_repo "powertools" || return $rc
|
||||
! enable_rh_repo "cloudlinux-PowerTools" || return $rc
|
||||
|
||||
report_no_repo "powertools"
|
||||
return $RET_FATAL
|
||||
}
|
||||
|
||||
check_repos_rhel8()
|
||||
{
|
||||
check_rh_config_manager || return $?
|
||||
|
||||
local rc=0
|
||||
check_epel || rc="$(( $rc | $? ))"
|
||||
check_rh_broken_repos || rc="$(( $rc | $? ))"
|
||||
|
||||
[ "$1" = "install" ] || return $rc
|
||||
|
||||
check_codeready || rc="$(( $rc | $? ))"
|
||||
|
||||
return $rc
|
||||
}
|
||||
|
||||
check_repos_almalinux8()
|
||||
{
|
||||
check_repos_centos8 "$@"
|
||||
}
|
||||
|
||||
check_repos_rocky8()
|
||||
{
|
||||
check_repos_centos8 "$@"
|
||||
}
|
||||
|
||||
check_repos_rhel7()
|
||||
{
|
||||
check_rh_config_manager || return $?
|
||||
|
||||
local rc=0
|
||||
|
||||
check_epel || rc="$(( $rc | $? ))"
|
||||
check_optional || rc="$(( $rc | $? ))"
|
||||
check_rh_broken_repos || rc="$(( $rc | $? ))"
|
||||
|
||||
return $rc
|
||||
}
|
||||
|
||||
check_repos_centos7_based()
|
||||
{
|
||||
check_rh_config_manager || return $?
|
||||
|
||||
local rc=0
|
||||
|
||||
check_epel || rc="$(( $rc | $? ))"
|
||||
check_rh_broken_repos || rc="$(( $rc | $? ))"
|
||||
|
||||
return $rc
|
||||
}
|
||||
|
||||
sed_escape()
|
||||
{
|
||||
# Note: this is not a full implementation
|
||||
echo -n "$1" | sed -e 's|\.|\\.|g'
|
||||
}
|
||||
|
||||
switch_eol_centos_repos()
|
||||
{
|
||||
local old_mirrorlist_host="mirrorlist.centos.org"
|
||||
local old_host="mirror.centos.org"
|
||||
local new_host="vault.centos.org"
|
||||
|
||||
grep -qFw "$old_host" /etc/yum.repos.d/CentOS-*.repo 2>/dev/null || return 0
|
||||
local backup="`mktemp -d "/tmp/yum.repos.d-$(date --rfc-3339=date)-XXXXXX"`"
|
||||
! [ -d "$backup" ] || cp -raT /etc/yum.repos.d "$backup" || :
|
||||
|
||||
sed -i \
|
||||
-e "s|^\s*\(mirrorlist\b[^/]*//`sed_escape "$old_mirrorlist_host"`/.*\)$|#\1|" \
|
||||
-e "s|^#*\s*baseurl\b\([^/]*\)//`sed_escape "$old_host"`/\(.*\)$|baseurl\1//$new_host/\2|" \
|
||||
/etc/yum.repos.d/CentOS-*.repo
|
||||
echo "YUM package manager repositories were backed up to '$backup' and switched from $old_host to $new_host ." >&2
|
||||
}
|
||||
|
||||
check_repos_centos7()
|
||||
{
|
||||
switch_eol_centos_repos
|
||||
|
||||
check_repos_centos7_based "$@"
|
||||
}
|
||||
|
||||
check_repos_cloudlinux7()
|
||||
{
|
||||
check_repos_centos7_based "$@"
|
||||
}
|
||||
|
||||
check_repos_virtuozzo7()
|
||||
{
|
||||
check_repos_centos7_based "$@"
|
||||
}
|
||||
|
||||
find_apt_repo()
|
||||
{
|
||||
local repo="$1"
|
||||
|
||||
local dist_tag=
|
||||
! [ "$os_name" = "ubuntu" ] || dist_tag="a"
|
||||
! [ "$os_name" = "debian" ] || dist_tag="n"
|
||||
|
||||
if [ -z "$_apt_cache_policy" ]; then
|
||||
# extract info of each available release as a string which consists of 'tag=value'
|
||||
# filter out releases with priority less or equal to 100
|
||||
_apt_cache_policy="$(
|
||||
apt-cache policy \
|
||||
| grep "b=$pkg_arch" \
|
||||
| grep -Eo '([a-z]=[^,]+,?)*' \
|
||||
)"
|
||||
fi
|
||||
|
||||
local l="$(echo "$repo" | cut -f1 -d'/')"
|
||||
local d="$(echo "$repo" | cut -f2 -d'/')"
|
||||
local c="$(echo "$repo" | cut -f3 -d'/')"
|
||||
|
||||
# try to find releases by distribution and component
|
||||
echo "$_apt_cache_policy" \
|
||||
| grep -E "(^|,)l=$l(,|$)" \
|
||||
| grep -E "(^|,)$dist_tag=$d(,|$)" \
|
||||
| grep -E "(^|,)c=$c(,|$)" \
|
||||
| while IFS="$(printf '\n')" read rel && [ -n "$rel" ]; do
|
||||
l="$(echo "$rel" | grep -Eo "(^|,)l=[^,]+" | cut -f2 -d"=")"
|
||||
d="$(echo "$rel" | grep -Eo "(^|,)$dist_tag=[^,]+" | cut -f2 -d"=")"
|
||||
c="$(echo "$rel" | grep -Eo "(^|,)c=[^,]+" | cut -f2 -d"=")"
|
||||
echo "$l/$d/$c"
|
||||
done
|
||||
}
|
||||
|
||||
apt_install_packages()
|
||||
{
|
||||
DEBIAN_FRONTEND=noninteractive LANG=C PATH=/usr/sbin:/usr/bin:/sbin:/bin \
|
||||
apt-get -qq --assume-yes -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -o APT::Install-Recommends=no \
|
||||
install "$@"
|
||||
}
|
||||
|
||||
# Takes a list of suites and disables them in APT sources.
|
||||
# Multiline deb822 format is supported.
|
||||
disable_apt_suites_deb822()
|
||||
{
|
||||
local python3=/usr/bin/python3
|
||||
|
||||
"$python3" -c 'import aptsources.sourceslist' 2>/dev/null ||
|
||||
apt_install_packages python3-apt
|
||||
|
||||
"$python3" -c '
|
||||
import sys
|
||||
|
||||
from aptsources.sourceslist import SourcesList
|
||||
|
||||
|
||||
suites_to_disable=set(sys.argv[1:])
|
||||
|
||||
sources_list = SourcesList(deb822=True)
|
||||
|
||||
sources_changed = False
|
||||
for src in sources_list:
|
||||
if src.invalid:
|
||||
continue
|
||||
suites = getattr(src, "suites", ())
|
||||
if not suites:
|
||||
continue
|
||||
new_suites = [s for s in suites if s not in suites_to_disable]
|
||||
if len(new_suites) != len(suites):
|
||||
sources_changed = True
|
||||
if len(new_suites) == 0:
|
||||
src.disabled = True
|
||||
else:
|
||||
src.suites = new_suites
|
||||
|
||||
if sources_changed:
|
||||
sources_list.save()
|
||||
' "$@"
|
||||
|
||||
# Since we have changed the repositories list, we should re-read _apt_cache_policy on a next call
|
||||
# of the find_apt_repo function. Hence we have to reset the value of the variable
|
||||
_apt_cache_policy=""
|
||||
}
|
||||
|
||||
disable_apt_repo()
|
||||
{
|
||||
local repos_to_disable="$(find_apt_repo "$1" | cut -d '/' -f 2,3 | sort | uniq)"
|
||||
if [ -z "$repos_to_disable" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "$repos_to_disable" \
|
||||
| while IFS= read -r repo_to_disable && [ -n "$repo_to_disable" ]; do
|
||||
local distrib=${repo_to_disable%%/*}
|
||||
local component=${repo_to_disable##*/}
|
||||
find /etc/apt -name "*.list" -exec \
|
||||
sed -i -e "/^\s*#/! s/.*\s$distrib\s\+$component\b/# &/" {} +
|
||||
done
|
||||
|
||||
# Since we have changed the repositories list, we should re-read _apt_cache_policy on a next call
|
||||
# of the find_apt_repo function. Hence we have to reset the value of the variable
|
||||
_apt_cache_policy=""
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
check_required_apt_repo()
|
||||
{
|
||||
local repo="$1"
|
||||
[ -z "$(find_apt_repo "$repo")" ] || return 0
|
||||
report_no_repo "$repo"
|
||||
return $RET_FATAL
|
||||
}
|
||||
|
||||
check_unsupported_apt_repos_ubuntu()
|
||||
{
|
||||
[ -n "$os_codename" ] || return 0
|
||||
local mode="$1"
|
||||
|
||||
local repos="$(
|
||||
find_apt_repo "Ubuntu/[^,]+/[^,]+" | grep -v "Ubuntu/$os_codename.*/.*"
|
||||
find_apt_repo "Debian[^,]*/[^,]+/[^,]+"
|
||||
)"
|
||||
[ -n "$repos" ] || return 0
|
||||
|
||||
echo "$repos" | while IFS="$(printf '\n')" read repo; do
|
||||
report_unsupported_repo "$repo"
|
||||
done
|
||||
|
||||
[ "$mode" = "install" ] || return $RET_WARN
|
||||
return $RET_FATAL
|
||||
}
|
||||
|
||||
check_repos_ubuntu18()
|
||||
{
|
||||
[ -n "$os_codename" ] || return 0
|
||||
local mode="$1"
|
||||
local rc=0
|
||||
|
||||
check_required_apt_repo "Ubuntu/$os_codename/main" || rc="$(( $rc | $? ))"
|
||||
check_required_apt_repo "Ubuntu/$os_codename/universe" || rc="$(( $rc | $? ))"
|
||||
check_required_apt_repo "Ubuntu/$os_codename-updates/main" || rc="$(( $rc | $? ))"
|
||||
check_required_apt_repo "Ubuntu/$os_codename-updates/universe" || rc="$(( $rc | $? ))"
|
||||
check_unsupported_apt_repos_ubuntu "$mode" || rc="$(( $rc | $? ))"
|
||||
|
||||
return $rc
|
||||
}
|
||||
|
||||
|
||||
check_repos_ubuntu()
|
||||
{
|
||||
[ -n "$os_codename" ] || return 0
|
||||
local mode="$1"
|
||||
local rc=0
|
||||
|
||||
check_required_apt_repo "Ubuntu/$os_codename/main" || rc="$(( $rc | $? ))"
|
||||
check_required_apt_repo "Ubuntu/$os_codename/universe" || rc="$(( $rc | $? ))"
|
||||
check_unsupported_apt_repos_ubuntu "$mode" || rc="$(( $rc | $? ))"
|
||||
|
||||
return $rc
|
||||
}
|
||||
|
||||
check_unsupported_apt_repos_debian()
|
||||
{
|
||||
[ -n "$os_codename" ] || return 0
|
||||
local mode="$1"
|
||||
|
||||
local repos="$(
|
||||
find_apt_repo "Debian Backports/$os_codename-backports/[^,]+"
|
||||
find_apt_repo "Debian[^,]*/[^,]+/[^,]+" | grep -v "Debian.*/$os_codename.*/.*"
|
||||
find_apt_repo "Ubuntu/[^,]+/[^,]+"
|
||||
)"
|
||||
[ -n "$repos" ] || return 0
|
||||
|
||||
echo "$repos" | while IFS="$(printf '\n')" read repo; do
|
||||
report_unsupported_repo "$repo"
|
||||
done
|
||||
|
||||
[ "$mode" = "install" ] || return $RET_WARN
|
||||
return $RET_FATAL
|
||||
}
|
||||
|
||||
check_repos_debian()
|
||||
{
|
||||
[ -n "$os_codename" ] || return 0
|
||||
local mode="$1"
|
||||
local rc=0
|
||||
|
||||
if [ "$os_name" = "debian" -a "$os_version" -ge 12 ]; then
|
||||
disable_apt_suites_deb822 "$os_codename-backports"
|
||||
else
|
||||
disable_apt_repo "Debian Backports/$os_codename-backports/[^,]+"
|
||||
fi
|
||||
|
||||
check_required_apt_repo "Debian/$os_codename/main" || rc="$(( $rc | $? ))"
|
||||
check_unsupported_apt_repos_debian "$mode" || rc="$(( $rc | $? ))"
|
||||
|
||||
return $rc
|
||||
}
|
||||
|
||||
# ---
|
||||
|
||||
skip_checker_on_flag "Repository check" "/tmp/plesk-installer-skip-repository-check.flag"
|
||||
|
||||
checker_main 'check_repos' "$1"
|
||||
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
require_once('api-common/cu.php');
|
||||
require_once('api-common/cuApp.php');
|
||||
|
||||
cu::initCLI();
|
||||
|
||||
class InstallationInfo extends cuApp
|
||||
{
|
||||
protected $_needToCheckPsaConfigured = false;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->allowed_commands = [
|
||||
[
|
||||
CU_OPT_LONG => 'save',
|
||||
CU_OPT_PARAM => false,
|
||||
CU_OPT_DESC => 'Save info about Plesk installation',
|
||||
],
|
||||
];
|
||||
|
||||
$this->allowed_options = [
|
||||
[
|
||||
CU_OPT_LONG => 'mode',
|
||||
CU_OPT_PARAM => true,
|
||||
],
|
||||
[
|
||||
CU_OPT_LONG => 'preset',
|
||||
CU_OPT_PARAM => true,
|
||||
],
|
||||
[
|
||||
CU_OPT_LONG => 'arguments',
|
||||
CU_OPT_PARAM => true,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
protected function _saveCommand($mode, $preset, $arguments)
|
||||
{
|
||||
put_param('installation_mode', $this->getMode($mode));
|
||||
put_param('installation_preset', $preset);
|
||||
put_param('installation_arguments', $arguments);
|
||||
put_param('installation_finish', time());
|
||||
}
|
||||
|
||||
private function getMode($mode)
|
||||
{
|
||||
if (!$this->os->isUnix()) {
|
||||
return $mode;
|
||||
}
|
||||
if (empty(getenv('PLESK_ONE_CLICK_INSTALLER'))) {
|
||||
return $mode;
|
||||
}
|
||||
return 'ONE_CLICK';
|
||||
}
|
||||
}
|
||||
|
||||
$app = new InstallationInfo();
|
||||
$app->runFromCli();
|
||||
7
root/parallels/pool/PSA_18.0.72_17583/examiners/sh_cmd.sh
Executable file
7
root/parallels/pool/PSA_18.0.72_17583/examiners/sh_cmd.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
[ "X${PLESK_INSTALLER_DEBUG}" = "X" ] || set -x
|
||||
[ "X${PLESK_INSTALLER_STRICT_MODE}" = "X" ] || set -e
|
||||
|
||||
exec "$@"
|
||||
287
root/parallels/pool/PSA_18.0.72_17583/examiners/tune_memory_swap.sh
Executable file
287
root/parallels/pool/PSA_18.0.72_17583/examiners/tune_memory_swap.sh
Executable file
@@ -0,0 +1,287 @@
|
||||
#!/bin/bash
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
[ -z "$PLESK_INSTALLER_DEBUG" ] || set -x
|
||||
[ -z "$PLESK_INSTALLER_STRICT_MODE" ] || set -e
|
||||
|
||||
export LC_ALL=C
|
||||
unset GREP_OPTIONS
|
||||
|
||||
RET_SUCCESS=0
|
||||
RET_WARN=1
|
||||
RET_FATAL=2
|
||||
|
||||
is_function_defined()
|
||||
{
|
||||
local fn="$1"
|
||||
case "$(type $fn 2>/dev/null)" in
|
||||
*function*)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
return 1
|
||||
}
|
||||
|
||||
detect_platform()
|
||||
{
|
||||
. /etc/os-release
|
||||
os_name="$ID"
|
||||
os_version="${VERSION_ID%%.*}"
|
||||
os_arch="$(uname -m)"
|
||||
if [ -e /etc/debian_version ]; then
|
||||
case "$os_arch" in
|
||||
x86_64) pkg_arch="amd64" ;;
|
||||
aarch64) pkg_arch="arm64" ;;
|
||||
esac
|
||||
if [ -n "$VERSION_CODENAME" ]; then
|
||||
os_codename="$VERSION_CODENAME"
|
||||
else
|
||||
case "$os_name$os_version" in
|
||||
debian10) os_codename="buster" ;;
|
||||
debian11) os_codename="bullseye" ;;
|
||||
debian12) os_codename="bookworm" ;;
|
||||
ubuntu18) os_codename="bionic" ;;
|
||||
ubuntu20) os_codename="focal" ;;
|
||||
ubuntu22) os_codename="jammy" ;;
|
||||
ubuntu24) os_codename="noble" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
case "$os_name$os_version" in
|
||||
rhel7|centos7|cloudlinux7|virtuozzo7)
|
||||
package_manager="yum"
|
||||
;;
|
||||
rhel*|centos*|cloudlinux*|almalinux*|rocky*)
|
||||
package_manager="dnf"
|
||||
;;
|
||||
debian*|ubuntu*)
|
||||
package_manager="apt"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$os_name" = "ubuntu" -o "$os_name" = "debian" ]; then
|
||||
PRODUCT_ROOT_D="/opt/psa"
|
||||
else
|
||||
PRODUCT_ROOT_D="/usr/local/psa"
|
||||
fi
|
||||
}
|
||||
|
||||
checker_main()
|
||||
{
|
||||
local fnprefix="$1"
|
||||
shift
|
||||
|
||||
detect_platform
|
||||
# try to execute checker only if all attributes are detected
|
||||
[ -n "$os_name" -a -n "$os_version" ] || return $RET_SUCCESS
|
||||
|
||||
for checker in "${fnprefix}_${os_name}${os_version}" "${fnprefix}_${os_name}" "${fnprefix}"; do
|
||||
if is_function_defined "$checker"; then
|
||||
local rc=$RET_SUCCESS
|
||||
"$checker" "$@" || rc=$?
|
||||
[ "$(( $rc & $RET_FATAL ))" = "0" ] || return $RET_FATAL
|
||||
[ "$(( $rc & $RET_WARN ))" = "0" ] || return $RET_WARN
|
||||
return $rc
|
||||
fi
|
||||
done
|
||||
return $RET_SUCCESS
|
||||
}
|
||||
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
# echo message to product log and console (always visible)
|
||||
pp_echo()
|
||||
{
|
||||
if [ -n "$product_log" ] ; then
|
||||
echo "$@" >> "$product_log" 2>&1
|
||||
fi
|
||||
echo "$@" >&2
|
||||
}
|
||||
|
||||
detect_vz()
|
||||
{
|
||||
[ -z "$PLESK_VZ_RESULT" ] || return $PLESK_VZ_RESULT
|
||||
|
||||
PLESK_VZ_RESULT=1
|
||||
PLESK_VZ=0
|
||||
PLESK_VE_HW_NODE=0
|
||||
PLESK_VZ_TYPE=
|
||||
|
||||
local issue_file="/etc/issue"
|
||||
local vzcheck_file="/proc/self/status"
|
||||
[ -f "$vzcheck_file" ] || return 1
|
||||
|
||||
local env_id=`sed -ne 's|^envID\:[[:space:]]*\([[:digit:]]\+\)$|\1|p' "$vzcheck_file"`
|
||||
[ -n "$env_id" ] || return 1
|
||||
if [ "$env_id" = "0" ]; then
|
||||
# Either VZ/OpenVZ HW node or unjailed CloudLinux
|
||||
PLESK_VE_HW_NODE=1
|
||||
return 1
|
||||
fi
|
||||
|
||||
if grep -q "CloudLinux" "$issue_file" >/dev/null 2>&1 ; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ -f "/proc/vz/veredir" ]; then
|
||||
PLESK_VZ_TYPE="vz"
|
||||
elif [ -d "/proc/vz" ]; then
|
||||
PLESK_VZ_TYPE="openvz"
|
||||
fi
|
||||
|
||||
PLESK_VZ=1
|
||||
PLESK_VZ_RESULT=0
|
||||
return 0
|
||||
}
|
||||
|
||||
# detects lxc and docker containers
|
||||
detect_lxc()
|
||||
{
|
||||
[ -z "$PLESK_LXC_RESULT" ] || return $PLESK_LXC_RESULT
|
||||
PLESK_LXC_RESULT=1
|
||||
PLESK_LXC=0
|
||||
if { [ -f /proc/1/cgroup ] && grep -q 'docker\|lxc' /proc/1/cgroup; } || \
|
||||
{ [ -f /proc/1/environ ] && cat /proc/1/environ | tr \\0 \\n | grep -q "container=lxc"; };
|
||||
then
|
||||
PLESK_LXC_RESULT=0
|
||||
PLESK_LXC=1
|
||||
fi
|
||||
return "$PLESK_LXC_RESULT"
|
||||
}
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
# vim:ft=sh
|
||||
|
||||
set_file_swap_params()
|
||||
{
|
||||
local pleskswaprc='/etc/pleskswaprc'
|
||||
[ ! -f "$pleskswaprc" ] || . /etc/pleskswaprc
|
||||
[ -n "$PLESK_SWAP_PATH" ] || PLESK_SWAP_PATH='/pleskswap'
|
||||
[ -n "$PLESK_SWAP_SIZE" ] || PLESK_SWAP_SIZE='1G'
|
||||
[ -n "$PLESK_REQUIRED_MEMORY" ] || PLESK_REQUIRED_MEMORY='1G'
|
||||
|
||||
FSTAB='/etc/fstab'
|
||||
}
|
||||
|
||||
file_swap_is_required()
|
||||
{
|
||||
local total_mem_mib=$(LC_ALL=C LANG=C free -m -t | awk '/^Total:/ { print $2 }')
|
||||
local required_mem_mib="`units2units $PLESK_REQUIRED_MEMORY M`"
|
||||
[ "$total_mem_mib" -lt "$required_mem_mib" ] || return 1
|
||||
pp_echo "Total amount of memory is less than minimal required size (${total_mem_mib}M < ${required_mem_mib}M)"
|
||||
return 0
|
||||
}
|
||||
|
||||
file_swap_is_switched_off()
|
||||
{
|
||||
case "${PLESK_SWAP:-}" in
|
||||
0|false|disable)
|
||||
pp_echo "Swapfile creation is disabled: envirinment vaiable \$PLESK_SWAP='$PLESK_SWAP'."
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -f "/etc/pleskswapdisable" ]; then
|
||||
pp_echo "Swapfile creation is disabled: file '/etc/pleskswapdisable' is present."
|
||||
return 0
|
||||
fi
|
||||
|
||||
detect_vz
|
||||
if [ "$PLESK_VZ" = "1" ]; then
|
||||
pp_echo "Swapfile creation is disabled: installation into Virtuozzo container."
|
||||
return 0
|
||||
fi
|
||||
|
||||
detect_lxc
|
||||
if [ "$PLESK_LXC" = "1" ]; then
|
||||
pp_echo "Swapfile creation is disabled: installation into Docker/LXC container."
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
file_swap_enable()
|
||||
{
|
||||
if file_swap_status; then
|
||||
echo "Error: Plesk swapfile is already enabled." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
local swap_size_mb="`units2units $PLESK_SWAP_SIZE M`"
|
||||
|
||||
pp_echo "===> Enable swapfile in $PLESK_SWAP_PATH"
|
||||
dd if=/dev/zero of="$PLESK_SWAP_PATH" bs=1M count="$swap_size_mb" status=none || return 1
|
||||
chmod 0600 "$PLESK_SWAP_PATH" || return 1
|
||||
mkswap "$PLESK_SWAP_PATH" || return 1
|
||||
if ! grep -qw "^$PLESK_SWAP_PATH" "${FSTAB}"; then
|
||||
cp -f "${FSTAB}" "${FSTAB}.saved_by_plesk"
|
||||
echo "$PLESK_SWAP_PATH none swap sw 0 0" >> "${FSTAB}"
|
||||
fi
|
||||
if swapon "$PLESK_SWAP_PATH"; then
|
||||
rm -f "${FSTAB}.saved_by_plesk"
|
||||
return 0
|
||||
else
|
||||
[ ! -f "${FSTAB}.saved_by_plesk" ] || mv -f "${FSTAB}.saved_by_plesk" "${FSTAB}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
file_swap_status()
|
||||
{
|
||||
[ -f "$PLESK_SWAP_PATH" ] || return 1
|
||||
grep -qw "^$PLESK_SWAP_PATH" "${FSTAB}" || return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
units2units() {
|
||||
local bytes
|
||||
local n="${1%%[^0-9]*}"
|
||||
case "${1,,}" in
|
||||
*[0-9]) bytes="$1" ;;
|
||||
*k|*kib) bytes="$(( $n * 1024 ** 1 ))" ;;
|
||||
*m|*mib) bytes="$(( $n * 1024 ** 2 ))" ;;
|
||||
*g|*gib) bytes="$(( $n * 1024 ** 3 ))" ;;
|
||||
*t|*tib) bytes="$(( $n * 1024 ** 4 ))" ;;
|
||||
*kb) bytes="$(( $n * 1000 ** 1 ))" ;;
|
||||
*mb) bytes="$(( $n * 1000 ** 2 ))" ;;
|
||||
*gb) bytes="$(( $n * 1000 ** 3 ))" ;;
|
||||
*tb) bytes="$(( $n * 1000 ** 4 ))" ;;
|
||||
*) echo "units2units: incorrect value '$1'" >&2; exit 1 ;;
|
||||
esac
|
||||
case "${2,,}" in
|
||||
k|kib) echo $(( $bytes / 1024 ** 1 )) ;;
|
||||
m|mib) echo $(( $bytes / 1024 ** 2 )) ;;
|
||||
g|gib) echo $(( $bytes / 1024 ** 3 )) ;;
|
||||
t|tib) echo $(( $bytes / 1024 ** 4 )) ;;
|
||||
kb) echo $(( $bytes / 1000 ** 1 )) ;;
|
||||
mb) echo $(( $bytes / 1000 ** 2 )) ;;
|
||||
gb) echo $(( $bytes / 1000 ** 3 )) ;;
|
||||
tb) echo $(( $bytes / 1000 ** 4 )) ;;
|
||||
"") echo $bytes ;;
|
||||
*) echo "Unknown unit: $2" >&2; exit 1 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
#!/bin/sh
|
||||
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
||||
|
||||
tune_memory_swap()
|
||||
{
|
||||
local mode="$1"
|
||||
[ "$mode" = 'install' ] || return 0 # clean install only
|
||||
set_file_swap_params
|
||||
file_swap_is_required || return 0
|
||||
! file_swap_is_switched_off || return 0 # disabled by admin
|
||||
! file_swap_status || return 0 # already enabled
|
||||
if ! file_swap_enable; then
|
||||
pp_echo "Failed to enable swapfile. Installation may fail or freeze due to insufficient memory."
|
||||
return "$RET_WARN"
|
||||
fi
|
||||
}
|
||||
|
||||
product_log=
|
||||
product_problems_log=
|
||||
checker_main 'tune_memory_swap' "$1"
|
||||
@@ -0,0 +1,927 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<build_1 confver="3.11" os_name="Linux" os_vendor="Ubuntu" os_version="24.04" os_release_name="noble" os_arch="x86_64" environment="" build_dir="dist-deb-Ubuntu-24.04-x86_64" send_feedback="true" uninstall_support="yes" gpgcheck="yes" apt_source=" noble all" persistent_apt_source=" noble extras">
|
||||
<exact_required_autoinstaller version="3.72.0" binary_directory="Installer/3.72.0" />
|
||||
<required_autoinstaller version="3.18.12" binary_directory="Parallels_Installer" />
|
||||
<bootstrapper>
|
||||
<package name="pp18.0.72-bootstrapper" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="bootstrapper/pp18.0.72-bootstrapper_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="222968" buildtime="0" md5="3accef6b6ba2d430ebabf656664e08bc" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine-cli-7.72" version="7.72.1" release="ubuntu.24.04.250807.1639" file="bootstrapper/sw-engine-cli-7.72_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="6751546" buildtime="0" md5="d8eba017de68f4e229e5c87f57a643d7" classes="aspect=panel" arch="amd64" />
|
||||
<action sequence="prep" sequence-order="-2" stage="execute" exec-cmd="touch /var/lock/plesk-report-update.flag; :" />
|
||||
<action sequence="prep" sequence-order="-1" stage="execute" exec-cmd="touch /tmp/pp-bootstrapper-mode.flag; touch /var/lock/parallels-panel-maintenance-mode.flag; rm -f /var/lock/parallels-panel-upgrade-failure.flag; :" />
|
||||
<action sequence="prep" sequence-order="1" stage="rollback" exec-cmd="rm -f /tmp/pp-bootstrapper-mode.flag; rm -f /var/lock/parallels-panel-maintenance-mode.flag; rm -f /var/lock/parallels-panel-upgrade-failure.flag; :" />
|
||||
<action sequence="pkgs" sequence-order="1" stage="rollback" exec-cmd="rm -f /tmp/pp-bootstrapper-mode.flag; rm -f /var/lock/parallels-panel-maintenance-mode.flag; touch /var/lock/parallels-panel-upgrade-failure.flag; :" />
|
||||
<action sequence="post" sequence-order="1" stage="rollback" exec-cmd="rm -f /tmp/pp-bootstrapper-mode.flag; rm -f /var/lock/parallels-panel-maintenance-mode.flag; touch /var/lock/parallels-panel-upgrade-failure.flag; :" />
|
||||
<action sequence="post" sequence-order="1" stage="commit" exec-cmd="rm -f /tmp/pp-bootstrapper-mode.flag; rm -f /var/lock/parallels-panel-maintenance-mode.flag; :" />
|
||||
<action sequence="post" sequence-order="9990" exec-cmd="test ! -x /opt/psa/admin/sbin/packagemng || /opt/psa/admin/sbin/packagemng --set-dirty-flag" />
|
||||
<action sequence="post" sequence-order="9991" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh perform-deferred-actions" />
|
||||
<action sequence="post" sequence-order="9998" exec-cmd="/opt/psa/admin/sbin/update_history" />
|
||||
</bootstrapper>
|
||||
<examine name="Create swap space if needed" scope="pre_install" script="examiners/tune_memory_swap.sh" options="install" />
|
||||
<examine name="Enabled repositories check" scope="pre_install" script="examiners/repository_check.sh" options="install" />
|
||||
<examine name="Enabled repositories check" scope="pre_upgrade" script="examiners/repository_check.sh" options="upgrade" />
|
||||
<examine name="Enabled repositories check" scope="pre_update" script="examiners/repository_check.sh" options="update" />
|
||||
<examine name="Package manager check" scope="pre_any" script="examiners/package_manager_check.sh" />
|
||||
<examine name="Check and fix broken timezone" scope="pre_upgrade" script="examiners/check_broken_timezone.sh" options="upgrade" />
|
||||
<examine name="Check and fix broken timezone" scope="pre_update" script="examiners/check_broken_timezone.sh" options="update" />
|
||||
<examine name="Available disk space check" scope="pre_install" script="examiners/disk_space_check.sh" options="install" />
|
||||
<examine name="Available disk space check" scope="pre_upgrade" script="examiners/disk_space_check.sh" options="upgrade" />
|
||||
<examine name="Available disk space check" scope="pre_update" script="examiners/disk_space_check.sh" options="update" />
|
||||
<examine name="Installation is finished" scope="post_install" script="examiners/congratulations.sh" options="install" />
|
||||
<examine name="Upgrade is finished" scope="post_upgrade" script="examiners/congratulations.sh" options="upgrade" />
|
||||
<examine name="Prepare result notification" scope="pre_any" script="examiners/sh_cmd.sh" options="touch /var/lock/plesk-report-update.flag" always="true" />
|
||||
<examine name="Installation result notification" scope="post_install" script="/report-update" launcher="examiners/py_launcher.sh" options="--op install --rc {RC} --start-flag /var/lock/plesk-report-update.flag --to=18.0.72.3" always="true" />
|
||||
<examine name="Upgrade result notification" scope="post_upgrade" script="/report-update" launcher="examiners/py_launcher.sh" options="--op upgrade --rc {RC} --start-flag /var/lock/plesk-report-update.flag --to=18.0.72.3 --from={FROM_RELEASE_VERSION}" always="true" />
|
||||
<examine name="Update result notification" scope="post_update" script="/report-update" launcher="examiners/py_launcher.sh" options="--op update --rc {RC} --start-flag /var/lock/plesk-report-update.flag --to=18.0.72.3 --from={FROM_RELEASE_VERSION}" always="true" />
|
||||
<examine name="Store installation info" scope="post_install" script="examiners/save-installation-info.php" launcher="examiners/php_launcher.sh" options="--save -mode {WORK_MODE} -preset {PRESET} -arguments {ARGUMENTS}" always="true" />
|
||||
<gpg_public_key>-----BEGIN PGP PUBLIC KEY BLOCK-----

mQGNBGfIt/cBDADGVazaP3jWndhBaSljtWGtGqrRjNVnsu5YPtOsmOgQ0x7VZQft
C/LpT5QnOVip5DBfAUBbxLzZ0C6/YP4+7yJRcAbecuFEwln02AeiE7tzQu8P8cvC
V4VTTKcdWzEhKMaoSS1tiIKGVGPuQcYwAvhY5pcrFgMypYOOsLjZtR0oOrmqpMlC
x2JMmD6gwGONzNv3EungSV8QVE7sgyttmuCUR2QlbCJQjNWpkgvstNxXRvWiuvrK
gGNVdd14r5juOv3PA2TwWsEFUR8hfK7eqtDYo8BS9HigUkjI35B/CWxi55mgAXDq
Xdwtc79dWGvnCruFmTVp6W3kTEwPXC0SphHAqE4r8+HoKX3fMXb7oddqwYXUCOuS
z7xan1KctOe/c5Y9EbERjBLdr4sJrOkJv91PBuL7Scz33o7lHKCXrvuVQmLhRvT1
rG2D6/Ya/WaFFWI8z8MqINZgMtwzmcow/xapj8c6e1lgOblQ0j1qiiptQTuIoC49
JgZTFr3A6mcYOrEAEQEAAbQbUGxlc2sgVGVhbSA8aW5mb0BwbGVzay5jb20+iQHO
BBMBCgA4FiEEbBkTJQiO2DphjsDC6SmQRc5VDlcFAmfIt/cCGwMFCwkIBwIGFQoJ
CAsCBBYCAwECHgECF4AACgkQ6SmQRc5VDld7pwv9FrqzISuXHelFotpDXcqPqcWQ
W97mi4dkyo9dY+UBFXqprPaC9+mM9HW7a+lZSgWdxc+CY2MrbcIXfdnaJmJWJGqc
dvW122hjQRe7ClrwRAL06HDj5yhMHqhFPUbb8a+PoKb1d8vRQHHrLpUhcpwhsLr5
aZFZop3NKN3ktPQiqoMPAHBuG4Aag6puG9BZS4jBvTJXvD9JAd7wQkxvPW/BJvBK
ILlOrs/6UTdgIDNv8qlUt77vS1s6RpGVJXRhjj9J1f6Lfg2xJZMO0fLqOxgUjSrG
jV1r6tnS6pxi0onXJsSmMEli4wsZpnotr35Vwu9Eekb6KTq5K05YJxnqi6G2qFY7
nRpXSvfjYJ+MDP3a3fhryqfFd6lQdnuNv4XMBRnwr6VJNzsRg/xkYlPkDZ2dbXVl
AwUTIX6Uw6F8ToUE8v/KGNHEiLycCv2Szk/nLawr3aLCfijgxTaP+RzUUb44ex/k
nm6at9hCZbNknBGcMPXb6Y6MTSOQKhmpR4n+a4KluQGNBGfIt/cBDACtcVnLn1ye
JFEhPja0IJE4AxmVLGGWHKLBLGqyoONwAi9LA/+kfTL0MhhM4Ib8dmg4N7HfTROd
HvhjlsRLnqBoTuPyz8Jh1oxkmM3gYGAR10GulqNNXLWNVdqJjtfRKLGZr5MhsCdb
i7tKA42/hWqqKVmCGEkc5IOl0kd8qvCPM/vqFvHYBxF5Ov5aUhSTwQBVbrcsU1Qc
K491VjCk1Fw1BpV3sj0pYs2MPaR0k3A3pMLG6oMI900wt/wiZMjNSyFCxhEYFrLR
t7qkuLcN+LZ94USiowPP04QxaDj5mFnQ+O0n4UAKRJ9/uHGbhCFuej1/DkB9urP0
SGbte51v2KisuWG/nBkg119gQeXKLIGNC5aE2TTQBTaEBL09teDeQMg8TbQlu6v/
AIFpgrwckmvAk6afaWpAZ0GTNZ0DQL1wD6m8E8T4JFcVIQ+C1IzKu6OE7KKMzyjg
crI9HMLpGSEOzRfR334nSYsWFS88XW6msltMNWn3jNSLOQ+1Xf+RN3cAEQEAAYkB
tQQYAQoAIBYhBGwZEyUIjtg6YY7AwukpkEXOVQ5XBQJnyLf3AhsMAAoJEOkpkEXO
VQ5XoooL91q50qxg/09vV1GldlFBF1eFEUsSVwOYoGKtsRzebWEdGc8Ze4Cks5fq
CQipKjPC1kmShocshFBYKDRChiXk+b/djK0U1aEaRZYP/ro953yfXVnV68WeoiJ4
EIH9qXMzDcMn58fVEvz9EYyk8b3VcBru+0TgCvWrNVJBd7DF8YJXs2rSAfhu5Sdf
P4uL9hhhF1TWPJjFG3L4gW8Ah9vgmaU9uQhIP3e3ANWxOtEhjhnnO8noJCxELKeS
tTve7EYpscuixfOXPwmY3zJATXLt/+QJAcnGasFcTkw/XFvGOOZJ/7mx+GUhD23D
AjsA3ozjL3FLS/v7A4rYEUc/dClX3lMKwEK7ZVNtmtt1WsbuHX/Py/R5XhyA3V1W
JOwV1Mgnmu8BS62JcWY6oB0mhc3uGd6Tgs1ZkeisnBsi0Oi4YQ8Ms0v1NZHXgwtL
JbRkcLFAL8rErnC0728220B+2Aik4DHZZI0M7Fre7QPWiU9a1R7AUCxsgQfEum5m
VNnMRY8n
=Hv0N
-----END PGP PUBLIC KEY BLOCK-----</gpg_public_key>
|
||||
<product id="plesk">
|
||||
<keypackages>
|
||||
<keypackage>psa</keypackage>
|
||||
</keypackages>
|
||||
<release id="PLESK_18_0_72" name="Plesk Obsidian 18.0.72" version="18.0.72" upgrade_allowed_from="17.0.17" />
|
||||
</product>
|
||||
<ext_catalog url="https://ext.plesk.com" />
|
||||
<component name="panel" description="Plesk" classes="vendor=parallels,patched,aspect=panel" deny_implicit_removal="true">
|
||||
<bootstrapper>
|
||||
<package name="pp18.0.72-bootstrapper" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="bootstrapper/pp18.0.72-bootstrapper_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="222968" buildtime="0" md5="3accef6b6ba2d430ebabf656664e08bc" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine-cli-7.72" version="7.72.1" release="ubuntu.24.04.250807.1639" file="bootstrapper/sw-engine-cli-7.72_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="6751546" buildtime="0" md5="d8eba017de68f4e229e5c87f57a643d7" classes="aspect=panel" arch="amd64" />
|
||||
<action sequence="prep" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh prep-install BASE" />
|
||||
<action sequence="post" exec-cmd="touch /var/lock/plesk_deferred_awstats_configure" />
|
||||
<action sequence="post" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh post-install psa-vhost" />
|
||||
<action sequence="post" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh post-install BASE" sequence-order="100" />
|
||||
<action sequence="prep" critical="false" sequence-order="9999" stage="rollback" exec-cmd="test ! -f /opt/psa/admin/plib/scripts/update-failure-notification.php || /opt/psa/admin/bin/php /opt/psa/admin/plib/scripts/update-failure-notification.php" />
|
||||
<action sequence="pkgs" critical="false" sequence-order="9999" stage="rollback" exec-cmd="test ! -f /opt/psa/admin/plib/scripts/update-failure-notification.php || /opt/psa/admin/bin/php /opt/psa/admin/plib/scripts/update-failure-notification.php" />
|
||||
<action sequence="post" critical="false" sequence-order="9999" stage="rollback" exec-cmd="test ! -f /opt/psa/admin/plib/scripts/update-failure-notification.php || /opt/psa/admin/bin/php /opt/psa/admin/plib/scripts/update-failure-notification.php" />
|
||||
<action sequence="post" critical="false" sequence-order="9999" stage="commit" exec-cmd="test ! -f /opt/psa/admin/plib/scripts/update-success-notification.php || /opt/psa/admin/bin/php /opt/psa/admin/plib/scripts/update-success-notification.php" />
|
||||
</bootstrapper>
|
||||
<examine name="Plesk license key availability check" scope="pre_upgrade" script="examiners/license_key_check.php" launcher="examiners/php_launcher.sh" options="''" />
|
||||
<examine name="Plesk pre-upgrade check" scope="pre_upgrade" script="examiners/panel_preupgrade_checker.php" launcher="examiners/php_launcher.sh" options="''" />
|
||||
<keypackages>
|
||||
<keypackage name="plesk-core" />
|
||||
<keypackage name="psa" />
|
||||
<keypackage name="plesk-web-hosting" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="plesk-core" />
|
||||
<keypackage name="psa" />
|
||||
</keypackages>
|
||||
<requires>mysqlgroup</requires>
|
||||
<requires>l10n</requires>
|
||||
<requires>proftpd</requires>
|
||||
<requires>webservers</requires>
|
||||
<package name="libapache2-mod-aclr2-psa" version="14081815" release="v.ubuntu.24.04+p18.0.72.0+t250815.1551" file="opt/hosting/nginxSupport/libapache2-mod-aclr2-psa_14081815-v.ubuntu.24.04+p18.0.72.0+t250815.1551_amd64.deb" size="7560" buildtime="0" md5="a28f5beb35a60d36a79e568bbaaae7f8" arch="amd64" />
|
||||
<package name="libapache2-mod-sysenv-psa" version="0.2" release="v.ubuntu.24.04+p18.0.72.0+t250815.1551" file="opt/hosting/sysenv/libapache2-mod-sysenv-psa_0.2-v.ubuntu.24.04+p18.0.72.0+t250815.1551_amd64.deb" size="3808" buildtime="0" md5="3bcdfbc177deb003bc533f43e9c68aed" arch="amd64" />
|
||||
<package name="libaps" version="1.0.17" release="ubuntu.24.04.250807.1639" file="engine/libaps_1.0.17-ubuntu.24.04.250807.1639_amd64.deb" size="1305304" buildtime="0" md5="cc17819956b72a9a6fbb2f8e71a6f7c2" classes="aspect=panel" arch="amd64" />
|
||||
<package name="libpam-plesk" version="18.0" release="v.ubuntu.24.04+p18.0.72.0+t250730.0425" file="base/libpam-plesk_18.0-v.ubuntu.24.04+p18.0.72.0+t250730.0425_amd64.deb" size="502912" buildtime="0" md5="10d0a911ac821dea3e4885564b940033" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-backup-utilities" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="base/plesk-backup-utilities_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="4112048" buildtime="0" md5="3ac332296554514353db76d69cdfed67" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-completion" version="18.0" release="v.ubuntu.24.04+p18.0.72.0+t250812.0917" file="base/plesk-completion_18.0-v.ubuntu.24.04+p18.0.72.0+t250812.0917_amd64.deb" size="2174056" buildtime="0" md5="42558b13d66d1997ed39ab3430bc70ff" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-control-panel" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="base/plesk-control-panel_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_all.deb" size="11108380" buildtime="0" md5="033f2a3fb49075fb09478cc3dc341017" classes="aspect=panel" arch="all" />
|
||||
<package name="plesk-core" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="base/plesk-core_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="31138128" buildtime="0" md5="2d53b533c86abeea8b2715655f7de5e3" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-core-utilities" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="base/plesk-core-utilities_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="1323252" buildtime="0" md5="fee7a38997e4e4abbfcbbd2425057572" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-engine" version="18.0" release="v.ubuntu.24.04+p18.0.72.0+t250805.0830" file="engine/plesk-engine_18.0-v.ubuntu.24.04+p18.0.72.0+t250805.0830_all.deb" size="1152" buildtime="0" md5="f4138d9fdc5d1b86876f2e756746b8e3" classes="aspect=panel" arch="all" />
|
||||
<package name="plesk-libmaodbc" version="3.2.6" release="v.ubuntu.24.04+p18.0.72.0+t250804.0806" file="base/plesk-libmaodbc_3.2.6-v.ubuntu.24.04+p18.0.72.0+t250804.0806_amd64.deb" size="272216" buildtime="0" md5="a77c83e2e866558d5e7a1e9104dad680" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-libmariadbclient-3.4" version="3.4.5" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="base/plesk-libmariadbclient-3.4_3.4.5-v.ubuntu.24.04+p18.0.72.0+t250730.0652_amd64.deb" size="125628" buildtime="0" md5="79400ccb0eb789dbc7dc4d9e9b82a7b0" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-librdbmspp" version="2.0.7" release="ubuntu.24.04.250807.1639" file="engine/plesk-librdbmspp_2.0.7-ubuntu.24.04.250807.1639_amd64.deb" size="202370" buildtime="0" md5="63bedd6fac1395918774c30e3def111d" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-lmlib" version="0.2.8" release="ubuntu.24.04.250807.1639" file="engine/plesk-lmlib_0.2.8-ubuntu.24.04.250807.1639_amd64.deb" size="464390" buildtime="0" md5="1b721ca7d17f00c148b59be139e61bfb" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-phpenv" version="0.9.0" release="v.ubuntu.24.04+p18.0.68.0+t250205.1631" file="opt/hosting/phpenv/plesk-phpenv_0.9.0-v.ubuntu.24.04+p18.0.68.0+t250205.1631_all.deb" size="16732" buildtime="0" md5="ca520d05c81f4984ddda3f465c51e49d" arch="all" />
|
||||
<package name="plesk-platform-runtime" version="1.0.7" release="ubuntu.24.04.250807.1639" file="engine/plesk-platform-runtime_1.0.7-ubuntu.24.04.250807.1639_amd64.deb" size="20526" buildtime="0" md5="1c1dd7f29ab56113da20a93e58b079e1" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-release" version="18.0.72.3" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="base/plesk-release_18.0.72.3-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="1452" buildtime="0" md5="58b268ce4764872bcbcdd15c20d8422a" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-repair-kit" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/repairkit/plesk-repair-kit_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="4774616" buildtime="0" md5="fb8b51a6e499d2dcc18ed517a95fa1fd" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-rrd" version="1.9.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="base/plesk-rrd_1.9.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="615964" buildtime="0" md5="adccd6ffc54b56c0f9d2ba47540e8c40" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-service-node-utilities" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="base/plesk-service-node-utilities_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="3712672" buildtime="0" md5="68e4860caa355e5d78da290b3f4d5a36" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-task-manager" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="base/plesk-task-manager_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="4563192" buildtime="0" md5="1be47d748f8f215def000a635764668f" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-ui-library" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="base/plesk-ui-library_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_all.deb" size="2566916" buildtime="0" md5="549cc13e924bd55471873700df4f9afc" classes="aspect=panel" arch="all" />
|
||||
<package name="plesk-web-hosting" version="18.0" release="v.ubuntu.24.04+p18.0.72.0+t250729.0744" file="opt/hosting/whc/plesk-web-hosting_18.0-v.ubuntu.24.04+p18.0.72.0+t250729.0744_amd64.deb" size="77248" buildtime="0" md5="7ed5516d1497310de8625aaeb31f470f" classes="aspect=panel" arch="amd64" />
|
||||
<package name="plesk-web-socket" version="18.0" release="v.ubuntu.24.04+p18.0.71.0+t250616.1400" file="base/plesk-web-socket_18.0-v.ubuntu.24.04+p18.0.71.0+t250616.1400_amd64.deb" size="19884" buildtime="0" md5="64559144e377f0f1525e34f3a7305138" classes="aspect=panel" arch="amd64" />
|
||||
<package name="psa" version="18.0.72" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="base/psa_18.0.72-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="33324" buildtime="0" md5="53551ded9aba7d1dda63d173a8574b9a" classes="aspect=panel" arch="amd64" />
|
||||
<package name="psa-autoinstaller" version="3.72.0" release="ubuntu.24.04.250715.0605" file="opt/updater/psa-autoinstaller_3.72.0-ubuntu.24.04.250715.0605_amd64.deb" size="4694128" buildtime="0" md5="056005c5a04e09e0389bc063f1a15d92" classes="aspect=panel" arch="amd64" />
|
||||
<package name="psa-libxml-proxy" version="2.9.12" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="base/psa-libxml-proxy_2.9.12-v.ubuntu.24.04+p18.0.72.0+t250730.0652_amd64.deb" size="657592" buildtime="0" md5="c62ce7167c9c649f1c05e313da161e78" classes="aspect=panel" arch="amd64" />
|
||||
<package name="psa-locale-base-en-us" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="base/psa-locale-base-en-us_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_all.deb" size="310344" buildtime="0" md5="7dcabe6665399695d597e36a0fb032b8" classes="aspect=panel" arch="all" />
|
||||
<package name="psa-logrotate" version="3.22.0" release="v.ubuntu.24.04+p18.0.63.0+t240726.0752" file="base/psa-logrotate_3.22.0-v.ubuntu.24.04+p18.0.63.0+t240726.0752_amd64.deb" size="61640" buildtime="0" md5="8f2af293558efd0be48e7df6ab2e0dee" classes="aspect=panel" arch="amd64" />
|
||||
<package name="psa-phpmyadmin" version="5.2.2" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="base/psa-phpmyadmin_5.2.2-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="7716172" buildtime="0" md5="903d8d7c2257806dc7739054196d0263" classes="aspect=panel" arch="all" />
|
||||
<package name="psa-updates" version="18.0" release="v.ubuntu.24.04+p18.0.72.0+t250715.1156" file="base/psa-updates_18.0-v.ubuntu.24.04+p18.0.72.0+t250715.1156_all.deb" size="1300" buildtime="0" md5="0943eec9edb6c9cd55874c1d7f6f9d8c" classes="aspect=panel" arch="all" />
|
||||
<package name="psa-vhost" version="18.0" release="v.ubuntu.24.04+p18.0.71.0+t250604.0821" file="opt/vhost/psa-vhost_18.0-v.ubuntu.24.04+p18.0.71.0+t250604.0821_all.deb" size="33264" buildtime="0" md5="589c23e25cfd8970c528eb6346b604ab" classes="aspect=panel" arch="all" />
|
||||
<package name="sw-collectd" version="5.12.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="base/sw-collectd_5.12.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="520832" buildtime="0" md5="2dc31545524e227e0a41b893c301c3b5" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-cp-server" version="2.14.1" release="v.ubuntu.24.04+p18.0.72.0+t250801.0534" file="engine/sw-cp-server_2.14.1-v.ubuntu.24.04+p18.0.72.0+t250801.0534_amd64.deb" size="920212" buildtime="0" md5="171408b0d29ad4347cac862e41668c08" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine" version="7.72.1" release="ubuntu.24.04.250807.1639" file="engine/sw-engine_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="14358558" buildtime="0" md5="eea8bbd1b64914e7bfb742749590b792" classes="aspect=panel" arch="amd64" />
|
||||
</component>
|
||||
<component name="bind" description="BIND DNS server" classes="vendor=mixed">
|
||||
<keypackages>
|
||||
<keypackage name="plesk-dns-bind-driver" />
|
||||
</keypackages>
|
||||
<package name="plesk-dns-bind-driver" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/dns/plesk-dns-bind-driver_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="582904" buildtime="0" md5="a8b17baff931d6c8961d89e081acee5b" classes="aspect=panel" arch="amd64" />
|
||||
</component>
|
||||
<component name="qmail" description="Qmail" classes="vendor=parallels">
|
||||
<bootstrapper>
|
||||
<package name="pp18.0.72-bootstrapper" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="bootstrapper/pp18.0.72-bootstrapper_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="222968" buildtime="0" md5="3accef6b6ba2d430ebabf656664e08bc" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine-cli-7.72" version="7.72.1" release="ubuntu.24.04.250807.1639" file="bootstrapper/sw-engine-cli-7.72_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="6751546" buildtime="0" md5="d8eba017de68f4e229e5c87f57a643d7" classes="aspect=panel" arch="amd64" />
|
||||
<action sequence="prep" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh prep-install mail-qc-driver" />
|
||||
<action sequence="post" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh post-install mail-qc-driver" />
|
||||
</bootstrapper>
|
||||
<keypackages>
|
||||
<keypackage name="plesk-mail-qc-driver" />
|
||||
<keypackage name="psa-qmail" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="psa-mail-qc-driver" />
|
||||
<keypackage name="psa-qmail" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="psa-qmail" />
|
||||
<nokeypackage name="psa-mail-pc-driver" />
|
||||
<nokeypackage name="plesk-mail-pc-driver" />
|
||||
</keypackages>
|
||||
<requires>imapservers</requires>
|
||||
<package name="plesk-mail-qc-driver" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/maildrivers/plesk-mail-qc-driver_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="674812" buildtime="0" md5="2ef920feeb65ec375794e0fe2fd836fe" classes="aspect=panel" arch="amd64" />
|
||||
<package name="psa-mail-driver-common" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/maildrivers/psa-mail-driver-common_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="2429160" buildtime="0" md5="0a1b18d0db9e4e391233933892c48f34" classes="aspect=panel" arch="amd64" />
|
||||
<package name="psa-qmail" version="3:1.03" release="v.ubuntu.24.04+p18.0.72.0+t250729.0744" file="opt/maildrivers/psa-qmail_1.03-v.ubuntu.24.04+p18.0.72.0+t250729.0744_amd64.deb" size="273552" buildtime="0" md5="3e8219299edc5812d1593c1ebc6d2159" arch="amd64" />
|
||||
<package name="psa-qmail" version="3:1.03" release="v.ubuntu.24.04+p18.0.72.0+t250729.0744" file="unknown_dir/psa-qmail_1.03-v.ubuntu.24.04+p18.0.72.0+t250729.0744_amd64.deb" size="273552" buildtime="0" md5="3e8219299edc5812d1593c1ebc6d2159" arch="amd64" />
|
||||
<package name="psa-qmail-rblsmtpd" version="0.88" release="v.ubuntu.24.04+p18.0.61.0+t240426.1307" file="opt/mail/psa-qmail-rblsmtpd_0.88-v.ubuntu.24.04+p18.0.61.0+t240426.1307_amd64.deb" size="18972" buildtime="0" md5="4becbb80fc739eb76bb19f1f4e6df429" arch="amd64" />
|
||||
<package name="psa-qmail-rblsmtpd" version="0.88" release="v.ubuntu.24.04+p18.0.61.0+t240426.1307" file="unknown_dir/psa-qmail-rblsmtpd_0.88-v.ubuntu.24.04+p18.0.61.0+t240426.1307_amd64.deb" size="18972" buildtime="0" md5="4becbb80fc739eb76bb19f1f4e6df429" arch="amd64" />
|
||||
</component>
|
||||
<component name="postfix" description="Postfix" classes="vendor=mixed">
|
||||
<bootstrapper>
|
||||
<package name="pp18.0.72-bootstrapper" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="bootstrapper/pp18.0.72-bootstrapper_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="222968" buildtime="0" md5="3accef6b6ba2d430ebabf656664e08bc" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine-cli-7.72" version="7.72.1" release="ubuntu.24.04.250807.1639" file="bootstrapper/sw-engine-cli-7.72_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="6751546" buildtime="0" md5="d8eba017de68f4e229e5c87f57a643d7" classes="aspect=panel" arch="amd64" />
|
||||
<action sequence="prep" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh prep-install mail-pc-driver" />
|
||||
<action sequence="post" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh post-install mail-pc-driver" />
|
||||
</bootstrapper>
|
||||
<keypackages>
|
||||
<keypackage name="plesk-mail-pc-driver" />
|
||||
<keypackage name="postfix" />
|
||||
</keypackages>
|
||||
<requires>imapservers</requires>
|
||||
<package name="plesk-mail-pc-driver" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/maildrivers/plesk-mail-pc-driver_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="1692640" buildtime="0" md5="319274c4b70a7aadfcffc13d438d87e8" classes="aspect=panel" arch="amd64" />
|
||||
<package name="psa-mail-driver-common" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/maildrivers/psa-mail-driver-common_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="2429160" buildtime="0" md5="0a1b18d0db9e4e391233933892c48f34" classes="aspect=panel" arch="amd64" />
|
||||
</component>
|
||||
<component name="msmtp" description="MSMTP (relay only)" classes="vendor=parallels">
|
||||
<bootstrapper>
|
||||
<package name="pp18.0.72-bootstrapper" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="bootstrapper/pp18.0.72-bootstrapper_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="222968" buildtime="0" md5="3accef6b6ba2d430ebabf656664e08bc" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine-cli-7.72" version="7.72.1" release="ubuntu.24.04.250807.1639" file="bootstrapper/sw-engine-cli-7.72_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="6751546" buildtime="0" md5="d8eba017de68f4e229e5c87f57a643d7" classes="aspect=panel" arch="amd64" />
|
||||
<action sequence="post" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh post-install mail-mc-driver" />
|
||||
</bootstrapper>
|
||||
<keypackages>
|
||||
<keypackage name="plesk-mail-mc-driver" />
|
||||
<keypackage name="sw-msmtp" />
|
||||
</keypackages>
|
||||
<conflicts>mailman</conflicts>
|
||||
<conflicts>spamassassin</conflicts>
|
||||
<conflicts>drweb</conflicts>
|
||||
<conflicts>sophos</conflicts>
|
||||
<conflicts>courier</conflicts>
|
||||
<conflicts>dovecot</conflicts>
|
||||
<package name="plesk-mail-mc-driver" version="18.0" release="v.ubuntu.24.04+p18.0.72.0+t250729.0744" file="opt/maildrivers/plesk-mail-mc-driver_18.0-v.ubuntu.24.04+p18.0.72.0+t250729.0744_amd64.deb" size="49856" buildtime="0" md5="ac9cb1f57062619b992da5b347a74b07" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-msmtp" version="1.8.30" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="opt/maildrivers/sw-msmtp_1.8.30-v.ubuntu.24.04+p18.0.72.0+t250730.0652_amd64.deb" size="156908" buildtime="0" md5="b4ead7eef789a67832bab99b23f9d82c" arch="amd64" />
|
||||
<package name="sw-msmtp" version="1.8.30" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="unknown_dir/sw-msmtp_1.8.30-v.ubuntu.24.04+p18.0.72.0+t250730.0652_amd64.deb" size="156908" buildtime="0" md5="b4ead7eef789a67832bab99b23f9d82c" arch="amd64" />
|
||||
</component>
|
||||
<component name="courier" description="Courier" classes="vendor=parallels">
|
||||
<bootstrapper>
|
||||
<package name="pp18.0.72-bootstrapper" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="bootstrapper/pp18.0.72-bootstrapper_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="222968" buildtime="0" md5="3accef6b6ba2d430ebabf656664e08bc" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine-cli-7.72" version="7.72.1" release="ubuntu.24.04.250807.1639" file="bootstrapper/sw-engine-cli-7.72_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="6751546" buildtime="0" md5="d8eba017de68f4e229e5c87f57a643d7" classes="aspect=panel" arch="amd64" />
|
||||
<action sequence="post" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh post-install courier-imap" />
|
||||
</bootstrapper>
|
||||
<keypackages>
|
||||
<keypackage name="plesk-courier-imap-driver" />
|
||||
<keypackage name="psa-courier-imap" />
|
||||
<keypackage name="psa-courier-authlib" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="psa-courier-imap" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="courier-imap" />
|
||||
</keypackages>
|
||||
<requires>mailservers</requires>
|
||||
<package name="plesk-courier-imap-driver" version="18.0" release="v.ubuntu.24.04+p18.0.72.0+t250729.0744" file="opt/mail/plesk-courier-imap-driver_18.0-v.ubuntu.24.04+p18.0.72.0+t250729.0744_amd64.deb" size="168724" buildtime="0" md5="e2517f88499e414a6cd4eb837d917198" classes="aspect=panel" arch="amd64" />
|
||||
<package name="psa-courier-authlib" version="0.72.4" release="v.ubuntu.24.04+p18.0.72.0+t250715.0607" file="opt/mail/psa-courier-authlib_0.72.4-v.ubuntu.24.04+p18.0.72.0+t250715.0607_amd64.deb" size="137552" buildtime="0" md5="a64604f29bc4c46708e634a4240b63ca" arch="amd64" />
|
||||
<package name="psa-courier-authlib" version="0.72.4" release="v.ubuntu.24.04+p18.0.72.0+t250715.0607" file="unknown_dir/psa-courier-authlib_0.72.4-v.ubuntu.24.04+p18.0.72.0+t250715.0607_amd64.deb" size="137552" buildtime="0" md5="a64604f29bc4c46708e634a4240b63ca" arch="amd64" />
|
||||
<package name="psa-courier-imap" version="5.2.11" release="v.ubuntu.24.04+p18.0.72.0+t250730.0425" file="opt/mail/psa-courier-imap_5.2.11-v.ubuntu.24.04+p18.0.72.0+t250730.0425_amd64.deb" size="439208" buildtime="0" md5="6e469c847c1856e9ea10716e41b5c98c" arch="amd64" />
|
||||
<package name="psa-courier-imap" version="5.2.11" release="v.ubuntu.24.04+p18.0.72.0+t250730.0425" file="unknown_dir/psa-courier-imap_5.2.11-v.ubuntu.24.04+p18.0.72.0+t250730.0425_amd64.deb" size="439208" buildtime="0" md5="6e469c847c1856e9ea10716e41b5c98c" arch="amd64" />
|
||||
<package name="psa-courier-unicode" version="2.3.2" release="v.ubuntu.24.04+p18.0.72.0+t250715.0607" file="opt/mail/psa-courier-unicode_2.3.2-v.ubuntu.24.04+p18.0.72.0+t250715.0607_amd64.deb" size="119508" buildtime="0" md5="f0708104d59de62888194be466b61c7c" arch="amd64" />
|
||||
<package name="psa-courier-unicode" version="2.3.2" release="v.ubuntu.24.04+p18.0.72.0+t250715.0607" file="unknown_dir/psa-courier-unicode_2.3.2-v.ubuntu.24.04+p18.0.72.0+t250715.0607_amd64.deb" size="119508" buildtime="0" md5="f0708104d59de62888194be466b61c7c" arch="amd64" />
|
||||
</component>
|
||||
<component name="dovecot" description="Dovecot" classes="vendor=parallels">
|
||||
<bootstrapper>
|
||||
<package name="pp18.0.72-bootstrapper" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="bootstrapper/pp18.0.72-bootstrapper_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="222968" buildtime="0" md5="3accef6b6ba2d430ebabf656664e08bc" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine-cli-7.72" version="7.72.1" release="ubuntu.24.04.250807.1639" file="bootstrapper/sw-engine-cli-7.72_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="6751546" buildtime="0" md5="d8eba017de68f4e229e5c87f57a643d7" classes="aspect=panel" arch="amd64" />
|
||||
<action sequence="post" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh post-install dovecot" />
|
||||
</bootstrapper>
|
||||
<keypackages>
|
||||
<keypackage name="plesk-dovecot-imap-driver" />
|
||||
<keypackage name="plesk-dovecot" />
|
||||
<keypackage name="plesk-dovecot-pigeonhole" />
|
||||
</keypackages>
|
||||
<requires>mailservers</requires>
|
||||
<package name="plesk-dovecot" version="2.3.21.1" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/mail/plesk-dovecot_2.3.21.1-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="1514856" buildtime="0" md5="915eea54d900fbf8680c11e9e541d743" arch="amd64" />
|
||||
<package name="plesk-dovecot" version="2.3.21.1" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="unknown_dir/plesk-dovecot_2.3.21.1-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="1514856" buildtime="0" md5="915eea54d900fbf8680c11e9e541d743" arch="amd64" />
|
||||
<package name="plesk-dovecot-core" version="2.3.21.1" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/mail/plesk-dovecot-core_2.3.21.1-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="3103340" buildtime="0" md5="ec7cf71b2087221febe593e967dfda30" arch="amd64" />
|
||||
<package name="plesk-dovecot-core" version="2.3.21.1" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="unknown_dir/plesk-dovecot-core_2.3.21.1-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="3103340" buildtime="0" md5="ec7cf71b2087221febe593e967dfda30" arch="amd64" />
|
||||
<package name="plesk-dovecot-imap-driver" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/mail/plesk-dovecot-imap-driver_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="268060" buildtime="0" md5="515e8136d29a3feef622d9dea89767d4" arch="amd64" />
|
||||
<package name="plesk-dovecot-pigeonhole" version="0.5.21.1" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/mail/plesk-dovecot-pigeonhole_0.5.21.1-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="679228" buildtime="0" md5="ab129182fde924ddc5fa6e0343e086a6" arch="amd64" />
|
||||
<package name="plesk-dovecot-pigeonhole" version="0.5.21.1" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="unknown_dir/plesk-dovecot-pigeonhole_0.5.21.1-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="679228" buildtime="0" md5="ab129182fde924ddc5fa6e0343e086a6" arch="amd64" />
|
||||
</component>
|
||||
<component name="php5" description="PHP from OS vendor" classes="vendor=mixed">
|
||||
<keypackages>
|
||||
<keypackage name="psa-php-configurator" />
|
||||
<keypackage name="php-fpm" />
|
||||
<keypackage name="php-common" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="psa-php-configurator" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
<package name="psa-php-configurator" version="1.8.0" release="v.ubuntu.24.04+p18.0.71.0+t250616.1400" file="opt/php/psa-php-configurator_1.8.0-v.ubuntu.24.04+p18.0.71.0+t250616.1400_amd64.deb" size="30376" buildtime="0" md5="dd077079899b4cc878e3525b0002f0b9" classes="aspect=panel" arch="amd64" />
|
||||
</component>
|
||||
<component name="postgresql" description="PostgreSQL server" classes="vendor=os">
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-15" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-14" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-13" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-12" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-11" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-10" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.6" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.5" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.4" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.3" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.2" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.1" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.0" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-8.4" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-8.3" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-8.2" />
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-15" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-14" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-13" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-12" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-11" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-10" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.6" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.5" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.4" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.3" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.2" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.1" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-9.0" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-8.4" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-8.3" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql-8.2" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="postgresql" />
|
||||
</keypackages>
|
||||
</component>
|
||||
<component name="mysql-sys" description="MySQL server" classes="vendor=os">
|
||||
<keypackages>
|
||||
<keypackage name="mariadb-server" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keyprovide name="mysql-server" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keyprovide name="virtual-mysql-server" />
|
||||
</keypackages>
|
||||
</component>
|
||||
<component name="apache" description="Apache" classes="vendor=os">
|
||||
<keypackages>
|
||||
<keypackage name="apache2" />
|
||||
<keypackage name="apache2-mpm-prefork" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="apache2" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="apache2-mpm-itk" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="apache2-mpm-prefork" />
|
||||
</keypackages>
|
||||
</component>
|
||||
<component name="spamassassin" description="SpamAssassin" classes="vendor=mixed,aspect=panel">
|
||||
<bootstrapper>
|
||||
<package name="pp18.0.72-bootstrapper" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="bootstrapper/pp18.0.72-bootstrapper_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="222968" buildtime="0" md5="3accef6b6ba2d430ebabf656664e08bc" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine-cli-7.72" version="7.72.1" release="ubuntu.24.04.250807.1639" file="bootstrapper/sw-engine-cli-7.72_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="6751546" buildtime="0" md5="d8eba017de68f4e229e5c87f57a643d7" classes="aspect=panel" arch="amd64" />
|
||||
<action sequence="post" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh post-install spammng" />
|
||||
</bootstrapper>
|
||||
<keypackages>
|
||||
<keypackage name="psa-spamassassin" />
|
||||
</keypackages>
|
||||
<package name="psa-spamassassin" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/mail/psa-spamassassin_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="73824" buildtime="0" md5="799e85fca88897c7cbd3a8113b9a572f" arch="amd64" />
|
||||
</component>
|
||||
<component name="mod_python" description="mod_python" hidden="true" classes="vendor=os" show_installed_hidden="true">
|
||||
<keypackages>
|
||||
<keypackage name="libapache2-mod-python" />
|
||||
</keypackages>
|
||||
<requires>webservers</requires>
|
||||
</component>
|
||||
<component name="drweb" description="Plesk Premium Antivirus" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-premium-av" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="psa-firewall" description="Plesk Firewall" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-firewall" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="watchdog" description="Watchdog system monitoring" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-watchdog" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="horde" description="Horde" hidden="true" classes="vendor=parallels" show_installed_hidden="true">
|
||||
<bootstrapper>
|
||||
<package name="pp18.0.72-bootstrapper" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="bootstrapper/pp18.0.72-bootstrapper_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="222968" buildtime="0" md5="3accef6b6ba2d430ebabf656664e08bc" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine-cli-7.72" version="7.72.1" release="ubuntu.24.04.250807.1639" file="bootstrapper/sw-engine-cli-7.72_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="6751546" buildtime="0" md5="d8eba017de68f4e229e5c87f57a643d7" classes="aspect=panel" arch="amd64" />
|
||||
<action sequence="prep" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh prep-install horde" />
|
||||
<action sequence="post" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh post-install horde" />
|
||||
</bootstrapper>
|
||||
<keypackages>
|
||||
<keypackage name="psa-horde" />
|
||||
<keypackage name="psa-turba" />
|
||||
<keypackage name="psa-imp" />
|
||||
<keypackage name="psa-ingo" />
|
||||
<keypackage name="psa-mnemo" />
|
||||
<keypackage name="psa-kronolith" />
|
||||
<keypackage name="psa-passwd" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="psa-horde" />
|
||||
</keypackages>
|
||||
<requires>php7.4</requires>
|
||||
<package name="psa-horde" version="5.2.23" release="v.ubuntu.24.04+p18.0.71.0+t250605.0924" file="opt/horde/psa-horde_5.2.23-v.ubuntu.24.04+p18.0.71.0+t250605.0924_all.deb" size="12096724" buildtime="0" md5="585068dfe3c240db43d2a784dd39b15d" arch="all" />
|
||||
<package name="psa-horde" version="5.2.23" release="v.ubuntu.24.04+p18.0.71.0+t250605.0924" file="unknown_dir/psa-horde_5.2.23-v.ubuntu.24.04+p18.0.71.0+t250605.0924_all.deb" size="12096724" buildtime="0" md5="585068dfe3c240db43d2a784dd39b15d" arch="all" />
|
||||
<package name="psa-imp" version="6.2.27" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="opt/horde/psa-imp_6.2.27-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="2449256" buildtime="0" md5="7cf6a514015004c868ebf82328637a62" arch="all" />
|
||||
<package name="psa-imp" version="6.2.27" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="unknown_dir/psa-imp_6.2.27-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="2449256" buildtime="0" md5="7cf6a514015004c868ebf82328637a62" arch="all" />
|
||||
<package name="psa-ingo" version="3.2.16" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="opt/horde/psa-ingo_3.2.16-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="789828" buildtime="0" md5="e030e131de669fb8f1cfb25f09ed765b" arch="all" />
|
||||
<package name="psa-ingo" version="3.2.16" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="unknown_dir/psa-ingo_3.2.16-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="789828" buildtime="0" md5="e030e131de669fb8f1cfb25f09ed765b" arch="all" />
|
||||
<package name="psa-kronolith" version="4.2.29" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="opt/horde/psa-kronolith_4.2.29-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="1328680" buildtime="0" md5="7be22d2bb29f7c8f15b8565bd7270365" arch="all" />
|
||||
<package name="psa-kronolith" version="4.2.29" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="unknown_dir/psa-kronolith_4.2.29-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="1328680" buildtime="0" md5="7be22d2bb29f7c8f15b8565bd7270365" arch="all" />
|
||||
<package name="psa-mnemo" version="4.2.14" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="opt/horde/psa-mnemo_4.2.14-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="627320" buildtime="0" md5="eb9ab421a7d62cb19d54e45ee672e8f0" arch="all" />
|
||||
<package name="psa-mnemo" version="4.2.14" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="unknown_dir/psa-mnemo_4.2.14-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="627320" buildtime="0" md5="eb9ab421a7d62cb19d54e45ee672e8f0" arch="all" />
|
||||
<package name="psa-passwd" version="5.0.7" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="opt/horde/psa-passwd_5.0.7-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="588708" buildtime="0" md5="79400978fe59830289bad7aa8d2d1ab7" arch="all" />
|
||||
<package name="psa-passwd" version="5.0.7" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="unknown_dir/psa-passwd_5.0.7-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="588708" buildtime="0" md5="79400978fe59830289bad7aa8d2d1ab7" arch="all" />
|
||||
<package name="psa-turba" version="4.2.29" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="opt/horde/psa-turba_4.2.29-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="1028588" buildtime="0" md5="b424925211492856256f71da66da7df5" arch="all" />
|
||||
<package name="psa-turba" version="4.2.29" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="unknown_dir/psa-turba_4.2.29-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="1028588" buildtime="0" md5="b424925211492856256f71da66da7df5" arch="all" />
|
||||
</component>
|
||||
<component name="roundcube" description="Roundcube" classes="vendor=parallels">
|
||||
<bootstrapper>
|
||||
<package name="pp18.0.72-bootstrapper" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="bootstrapper/pp18.0.72-bootstrapper_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="222968" buildtime="0" md5="3accef6b6ba2d430ebabf656664e08bc" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine-cli-7.72" version="7.72.1" release="ubuntu.24.04.250807.1639" file="bootstrapper/sw-engine-cli-7.72_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="6751546" buildtime="0" md5="d8eba017de68f4e229e5c87f57a643d7" classes="aspect=panel" arch="amd64" />
|
||||
<action sequence="prep" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh prep-install roundcube" />
|
||||
<action sequence="post" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh post-install roundcube" />
|
||||
</bootstrapper>
|
||||
<keypackages>
|
||||
<keypackage name="plesk-roundcube" />
|
||||
</keypackages>
|
||||
<requires>php8.3</requires>
|
||||
<package name="plesk-roundcube" version="1.6.11" release="v.ubuntu.24.04+p18.0.72.0+t250730.0425" file="opt/roundcube/plesk-roundcube_1.6.11-v.ubuntu.24.04+p18.0.72.0+t250730.0425_all.deb" size="4400380" buildtime="0" md5="3b5601a07202b7c536a95b826c0bf11d" arch="all" />
|
||||
<package name="plesk-roundcube" version="1.6.11" release="v.ubuntu.24.04+p18.0.72.0+t250730.0425" file="unknown_dir/plesk-roundcube_1.6.11-v.ubuntu.24.04+p18.0.72.0+t250730.0425_all.deb" size="4400380" buildtime="0" md5="3b5601a07202b7c536a95b826c0bf11d" arch="all" />
|
||||
</component>
|
||||
<component name="mod_fcgid" description="mod_fcgid" classes="vendor=parallels">
|
||||
<keypackages>
|
||||
<keypackage name="libapache2-mod-fcgid-psa" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="libapache2-mod-fcgid" />
|
||||
</keypackages>
|
||||
<requires>webservers</requires>
|
||||
<package name="libapache2-mod-fcgid-psa" version="2.3.9.5" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="opt/hosting/fcgid/libapache2-mod-fcgid-psa_2.3.9.5-v.ubuntu.24.04+p18.0.70.0+t250502.0855_amd64.deb" size="81612" buildtime="0" md5="e93e7034d0a6212a8dc7e85dd15e694d" arch="amd64" />
|
||||
<package name="libapache2-mod-fcgid-psa" version="2.3.9.5" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="unknown_dir/libapache2-mod-fcgid-psa_2.3.9.5-v.ubuntu.24.04+p18.0.70.0+t250502.0855_amd64.deb" size="81612" buildtime="0" md5="e93e7034d0a6212a8dc7e85dd15e694d" arch="amd64" />
|
||||
</component>
|
||||
<component name="mod_perl" description="mod_perl" hidden="true" classes="vendor=os" show_installed_hidden="true">
|
||||
<keypackages>
|
||||
<keypackage name="libapache2-mod-perl2" />
|
||||
</keypackages>
|
||||
<requires>webservers</requires>
|
||||
</component>
|
||||
<component name="proftpd" description="ProFTPD" classes="vendor=parallels">
|
||||
<bootstrapper>
|
||||
<package name="pp18.0.72-bootstrapper" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="bootstrapper/pp18.0.72-bootstrapper_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="222968" buildtime="0" md5="3accef6b6ba2d430ebabf656664e08bc" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine-cli-7.72" version="7.72.1" release="ubuntu.24.04.250807.1639" file="bootstrapper/sw-engine-cli-7.72_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="6751546" buildtime="0" md5="d8eba017de68f4e229e5c87f57a643d7" classes="aspect=panel" arch="amd64" />
|
||||
<action sequence="post" exec-cmd="touch /var/lock/plesk_deferred_ftp_proftpd_configure" />
|
||||
</bootstrapper>
|
||||
<keypackages>
|
||||
<keypackage name="psa-proftpd" />
|
||||
</keypackages>
|
||||
<package name="psa-proftpd" version="1.3.9" release="v.ubuntu.24.04+p18.0.72.0+t250730.0425" file="opt/hosting/proftpd/psa-proftpd_1.3.9-v.ubuntu.24.04+p18.0.72.0+t250730.0425_amd64.deb" size="3152996" buildtime="0" md5="65ec256431520fa6a9708c1cde4abe08" arch="amd64" />
|
||||
<package name="psa-proftpd" version="1.3.9" release="v.ubuntu.24.04+p18.0.72.0+t250730.0425" file="unknown_dir/psa-proftpd_1.3.9-v.ubuntu.24.04+p18.0.72.0+t250730.0425_amd64.deb" size="3152996" buildtime="0" md5="65ec256431520fa6a9708c1cde4abe08" arch="amd64" />
|
||||
</component>
|
||||
<component name="webalizer" description="Webalizer" classes="vendor=os">
|
||||
<keypackages>
|
||||
<keypackage name="webalizer" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="awstats" description="AWStats" classes="vendor=os">
|
||||
<keypackages>
|
||||
<keypackage name="plesk-awstats-configurator" />
|
||||
<keypackage name="awstats" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="plesk-awstats-configurator" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="awstats" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
<package name="plesk-awstats-configurator" version="18.0" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="opt/awstats/plesk-awstats-configurator_18.0-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="16016" buildtime="0" md5="1ced2c21ea31fcf12689fdcbe189213b" arch="all" />
|
||||
<package name="plesk-awstats-configurator" version="18.0" release="v.ubuntu.24.04+p18.0.70.0+t250502.0855" file="unknown_dir/plesk-awstats-configurator_18.0-v.ubuntu.24.04+p18.0.70.0+t250502.0855_all.deb" size="16016" buildtime="0" md5="1ced2c21ea31fcf12689fdcbe189213b" arch="all" />
|
||||
</component>
|
||||
<component name="fail2ban" description="Fail2Ban" classes="vendor=parallels">
|
||||
<bootstrapper>
|
||||
<package name="pp18.0.72-bootstrapper" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="bootstrapper/pp18.0.72-bootstrapper_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="222968" buildtime="0" md5="3accef6b6ba2d430ebabf656664e08bc" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine-cli-7.72" version="7.72.1" release="ubuntu.24.04.250807.1639" file="bootstrapper/sw-engine-cli-7.72_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="6751546" buildtime="0" md5="d8eba017de68f4e229e5c87f57a643d7" classes="aspect=panel" arch="amd64" />
|
||||
<action sequence="prep" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh prep-install fail2ban-configurator" />
|
||||
<action sequence="post" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh post-install fail2ban-configurator" />
|
||||
</bootstrapper>
|
||||
<keypackages>
|
||||
<keypackage name="plesk-fail2ban-configurator" />
|
||||
<keypackage name="fail2ban" />
|
||||
</keypackages>
|
||||
<package name="fail2ban" version="1:1.1.0" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="opt/fail2ban/fail2ban_1.1.0-v.ubuntu.24.04+p18.0.72.0+t250730.0652_all.deb" size="870408" buildtime="0" md5="47c7beb94acbe94e2272b85cbc981d16" arch="all" />
|
||||
<package name="fail2ban" version="1:1.1.0" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="unknown_dir/fail2ban_1.1.0-v.ubuntu.24.04+p18.0.72.0+t250730.0652_all.deb" size="870408" buildtime="0" md5="47c7beb94acbe94e2272b85cbc981d16" arch="all" />
|
||||
<package name="plesk-fail2ban-configurator" version="18.0" release="v.ubuntu.24.04+p18.0.72.0+t250730.0425" file="opt/fail2ban/plesk-fail2ban-configurator_18.0-v.ubuntu.24.04+p18.0.72.0+t250730.0425_all.deb" size="41804" buildtime="0" md5="5a996a96c7b81550ac2e4bb02b6ded53" classes="aspect=panel" arch="all" />
|
||||
</component>
|
||||
<component name="modsecurity" description="ModSecurity" classes="vendor=mixed">
|
||||
<keypackages>
|
||||
<keypackage name="plesk-modsecurity-crs" />
|
||||
<keypackage name="plesk-modsecurity-configurator" />
|
||||
<keypackage name="libapache2-modsecurity-plesk" />
|
||||
</keypackages>
|
||||
<keypackages>
|
||||
<keypackage name="plesk-modsecurity-crs" />
|
||||
<keypackage name="plesk-modsecurity-configurator" />
|
||||
<keypackage name="libapache2-modsecurity" />
|
||||
</keypackages>
|
||||
<package name="libapache2-modsecurity-plesk" version="1:2.9.12" release="v.ubuntu.24.04+p18.0.72.0+t250806.0608" file="opt/hosting/modsecurity/libapache2-modsecurity-plesk_2.9.12-v.ubuntu.24.04+p18.0.72.0+t250806.0608_amd64.deb" size="269700" buildtime="0" md5="3ffbc80f9582b2bf5c6cfad52b559a73" arch="amd64" />
|
||||
<package name="libapache2-modsecurity-plesk" version="1:2.9.12" release="v.ubuntu.24.04+p18.0.72.0+t250806.0608" file="unknown_dir/libapache2-modsecurity-plesk_2.9.12-v.ubuntu.24.04+p18.0.72.0+t250806.0608_amd64.deb" size="269700" buildtime="0" md5="3ffbc80f9582b2bf5c6cfad52b559a73" arch="amd64" />
|
||||
<package name="plesk-modsecurity-configurator" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/hosting/modsecurity/plesk-modsecurity-configurator_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_all.deb" size="554808" buildtime="0" md5="490a9b4239436fd312a5f64122269794" classes="aspect=panel" arch="all" />
|
||||
<package name="plesk-modsecurity-crs" version="1:4.15.0" release="v.ubuntu.24.04+p18.0.72.0+t250730.0425" file="opt/hosting/modsecurity/plesk-modsecurity-crs_4.15.0-v.ubuntu.24.04+p18.0.72.0+t250730.0425_amd64.deb" size="227944" buildtime="0" md5="37c64be2293174aae66d0dd069b0925f" arch="amd64" />
|
||||
<package name="plesk-modsecurity-crs" version="1:4.15.0" release="v.ubuntu.24.04+p18.0.72.0+t250730.0425" file="unknown_dir/plesk-modsecurity-crs_4.15.0-v.ubuntu.24.04+p18.0.72.0+t250730.0425_amd64.deb" size="227944" buildtime="0" md5="37c64be2293174aae66d0dd069b0925f" arch="amd64" />
|
||||
</component>
|
||||
<component name="passenger" description="Phusion Passenger server" classes="vendor=parallels">
|
||||
<keypackages>
|
||||
<keypackage name="libapache2-mod-passenger-plesk" />
|
||||
<keypackage name="passenger" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
<package name="libapache2-mod-passenger-plesk" version="1:6.0.27" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="opt/passenger/libapache2-mod-passenger-plesk_6.0.27-v.ubuntu.24.04+p18.0.72.0+t250730.0652_amd64.deb" size="308932" buildtime="0" md5="f21554251fb775b9d05320bd91a846d5" arch="amd64" />
|
||||
<package name="libapache2-mod-passenger-plesk" version="1:6.0.27" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="unknown_dir/libapache2-mod-passenger-plesk_6.0.27-v.ubuntu.24.04+p18.0.72.0+t250730.0652_amd64.deb" size="308932" buildtime="0" md5="f21554251fb775b9d05320bd91a846d5" arch="amd64" />
|
||||
<package name="passenger" version="1:6.0.27" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="opt/passenger/passenger_6.0.27-v.ubuntu.24.04+p18.0.72.0+t250730.0652_amd64.deb" size="5565476" buildtime="0" md5="d5e829033527345c7d8cf09e8224b192" arch="amd64" />
|
||||
<package name="passenger" version="1:6.0.27" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="unknown_dir/passenger_6.0.27-v.ubuntu.24.04+p18.0.72.0+t250730.0652_amd64.deb" size="5565476" buildtime="0" md5="d5e829033527345c7d8cf09e8224b192" arch="amd64" />
|
||||
<package name="passenger-dev" version="1:6.0.27" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="opt/passenger/passenger-dev_6.0.27-v.ubuntu.24.04+p18.0.72.0+t250730.0652_amd64.deb" size="4620252" buildtime="0" md5="b069a2526f57b3de1964e5b4de1c0aa5" arch="amd64" />
|
||||
<package name="passenger-dev" version="1:6.0.27" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="unknown_dir/passenger-dev_6.0.27-v.ubuntu.24.04+p18.0.72.0+t250730.0652_amd64.deb" size="4620252" buildtime="0" md5="b069a2526f57b3de1964e5b4de1c0aa5" arch="amd64" />
|
||||
<package name="passenger-native-libs" version="1:6.0.27" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="opt/passenger/passenger-native-libs_6.0.27-v.ubuntu.24.04+p18.0.72.0+t250730.0652_amd64.deb" size="6068" buildtime="0" md5="6d8455bf35f28518661b6ab41e2d01b3" arch="amd64" />
|
||||
<package name="passenger-native-libs" version="1:6.0.27" release="v.ubuntu.24.04+p18.0.72.0+t250730.0652" file="unknown_dir/passenger-native-libs_6.0.27-v.ubuntu.24.04+p18.0.72.0+t250730.0652_amd64.deb" size="6068" buildtime="0" md5="6d8455bf35f28518661b6ab41e2d01b3" arch="amd64" />
|
||||
</component>
|
||||
<component name="l10n" description="All language localization for Plesk" classes="vendor=parallels,aspect=panel">
|
||||
<bootstrapper>
|
||||
<package name="pp18.0.72-bootstrapper" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="bootstrapper/pp18.0.72-bootstrapper_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="222968" buildtime="0" md5="3accef6b6ba2d430ebabf656664e08bc" classes="aspect=panel" arch="amd64" />
|
||||
<package name="sw-engine-cli-7.72" version="7.72.1" release="ubuntu.24.04.250807.1639" file="bootstrapper/sw-engine-cli-7.72_7.72.1-ubuntu.24.04.250807.1639_amd64.deb" size="6751546" buildtime="0" md5="d8eba017de68f4e229e5c87f57a643d7" classes="aspect=panel" arch="amd64" />
|
||||
<action sequence="prep" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh prep-install l10n" />
|
||||
<action sequence="post" exec-cmd="/opt/psa/bootstrapper/pp18.0.72-bootstrapper/bootstrapper.sh post-install l10n" />
|
||||
</bootstrapper>
|
||||
<keypackages>
|
||||
<keypackage name="plesk-l10n" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
<package name="plesk-l10n" version="18.0" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/l10n/plesk-l10n_18.0-v.ubuntu.24.04+p18.0.72.3+t250915.0502_all.deb" size="7010896" buildtime="0" md5="bf805b62f340d2d0cda146e9fd85f73c" arch="all" />
|
||||
</component>
|
||||
<component name="git" description="Git" classes="vendor=parallels">
|
||||
<keypackages>
|
||||
<keypackage name="ext-git" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
<package name="plesk-git-http" version="18.0" release="v.ubuntu.24.04+p18.0.72.0+t250715.1156" file="opt/git/plesk-git-http_18.0-v.ubuntu.24.04+p18.0.72.0+t250715.1156_amd64.deb" size="3036" buildtime="0" md5="c75eff135a625c5ed36f7937083fd15a" arch="amd64" />
|
||||
<package name="plesk-git-http" version="18.0" release="v.ubuntu.24.04+p18.0.72.0+t250715.1156" file="unknown_dir/plesk-git-http_18.0-v.ubuntu.24.04+p18.0.72.0+t250715.1156_amd64.deb" size="3036" buildtime="0" md5="c75eff135a625c5ed36f7937083fd15a" arch="amd64" />
|
||||
</component>
|
||||
<component name="resctrl" description="Resource Controller (Cgroups)" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="plesk-resctrl" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
<package name="plesk-resctrl" version="18.0" release="v.ubuntu.24.04+p18.0.72.0+t250726.1516" file="opt/resctrl/plesk-resctrl_18.0-v.ubuntu.24.04+p18.0.72.0+t250726.1516_amd64.deb" size="42972" buildtime="0" md5="8a10626cd5c7175ce7d35669f3fa5faa" arch="amd64" />
|
||||
</component>
|
||||
<component name="nodejs" description="NodeJS support" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-nodejs" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
<requires>passenger</requires>
|
||||
</component>
|
||||
<component name="gems-pre" description="Tools required for building Ruby gems" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="plesk-gems-pre" />
|
||||
</keypackages>
|
||||
<requires>ruby</requires>
|
||||
<package name="plesk-gems-pre" version="0.0.1" release="v.ubuntu.24.04+p18.0.72.0+t250806.0900" file="opt/ruby/plesk-gems-pre_0.0.1-v.ubuntu.24.04+p18.0.72.0+t250806.0900_all.deb" size="1272" buildtime="0" md5="9544fe94793b47304d362d1c97eccc6c" arch="all" />
|
||||
</component>
|
||||
<component name="wp-toolkit" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-wp-toolkit" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="advisor" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-advisor" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="ruby" description="Ruby support" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-ruby" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
<requires>passenger</requires>
|
||||
</component>
|
||||
<component name="nginx" description="Nginx web server" classes="vendor=parallels">
|
||||
<keypackages>
|
||||
<keypackage name="sw-nginx" />
|
||||
</keypackages>
|
||||
<package name="mod-security-v3" version="3.0.14" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/hosting/nginx/mod-security-v3_3.0.14-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="448588" buildtime="0" md5="5c75c2f381545d47db903e77e7c2edc5" arch="amd64" />
|
||||
<package name="mod-security-v3" version="3.0.14" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="unknown_dir/mod-security-v3_3.0.14-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="448588" buildtime="0" md5="5c75c2f381545d47db903e77e7c2edc5" arch="amd64" />
|
||||
<package name="sw-nginx" version="1.28.0.1" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="opt/hosting/nginx/sw-nginx_1.28.0.1-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="4806880" buildtime="0" md5="b2af7e116c3feaba19053c63515a236c" arch="amd64" />
|
||||
<package name="sw-nginx" version="1.28.0.1" release="v.ubuntu.24.04+p18.0.72.3+t250915.0502" file="unknown_dir/sw-nginx_1.28.0.1-v.ubuntu.24.04+p18.0.72.3+t250915.0502_amd64.deb" size="4806880" buildtime="0" md5="b2af7e116c3feaba19053c63515a236c" arch="amd64" />
|
||||
</component>
|
||||
<component name="pmm" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-panel-migrator" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="xovi" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-xovi" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="imunify360" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-imunify360" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="sslit" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-sslit" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="letsencrypt" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-letsencrypt" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="repair-kit" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-repair-kit" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="composer" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-composer" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="monitoring" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-monitoring" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="log-browser" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-log-browser" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="ssh-terminal" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-ssh-terminal" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="site-import" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-site-import" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="sitejet" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-plesk-sitejet" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="ntp-timesync" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-ntp-timesync" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="sophos" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-sophos-av" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="mfa" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-mfa" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<component name="configurations-troubleshooter" description="" classes="vendor=parallels,aspect=panel">
|
||||
<keypackages>
|
||||
<keypackage name="ext-configurations-troubleshooter" />
|
||||
</keypackages>
|
||||
<requires>panel</requires>
|
||||
</component>
|
||||
<installation_types>
|
||||
<type name="Recommended,Typical" description="Install typically used components. Recommended for general use.">
|
||||
<component>panel</component>
|
||||
<component>roundcube</component>
|
||||
<component>postfix</component>
|
||||
<component>dovecot</component>
|
||||
<component>mod_fcgid</component>
|
||||
<component>proftpd</component>
|
||||
<component>webalizer</component>
|
||||
<component>awstats</component>
|
||||
<component>webservers</component>
|
||||
<component>nginx</component>
|
||||
<component>mysqlgroup</component>
|
||||
<component>l10n</component>
|
||||
<component>bind</component>
|
||||
<component>wp-toolkit</component>
|
||||
<component>advisor</component>
|
||||
<component>git</component>
|
||||
<component>xovi</component>
|
||||
<component>imunify360</component>
|
||||
<component>fail2ban</component>
|
||||
<component>modsecurity</component>
|
||||
<component>sslit</component>
|
||||
<component>letsencrypt</component>
|
||||
<component>repair-kit</component>
|
||||
<component>composer</component>
|
||||
<component>monitoring</component>
|
||||
<component>log-browser</component>
|
||||
<component>ssh-terminal</component>
|
||||
<component>site-import</component>
|
||||
<component>sitejet</component>
|
||||
<component>ntp-timesync</component>
|
||||
<component>php8.3</component>
|
||||
<component>php8.4</component>
|
||||
<component>mfa</component>
|
||||
<component>configurations-troubleshooter</component>
|
||||
</type>
|
||||
<type name="Full" description="Install all available components.">
|
||||
<component>panel</component>
|
||||
<component>roundcube</component>
|
||||
<component>postfix</component>
|
||||
<component>dovecot</component>
|
||||
<component>mod_fcgid</component>
|
||||
<component>proftpd</component>
|
||||
<component>webalizer</component>
|
||||
<component>awstats</component>
|
||||
<component>webservers</component>
|
||||
<component>nginx</component>
|
||||
<component>mysqlgroup</component>
|
||||
<component>l10n</component>
|
||||
<component>bind</component>
|
||||
<component>wp-toolkit</component>
|
||||
<component>advisor</component>
|
||||
<component>git</component>
|
||||
<component>xovi</component>
|
||||
<component>imunify360</component>
|
||||
<component>fail2ban</component>
|
||||
<component>modsecurity</component>
|
||||
<component>sslit</component>
|
||||
<component>letsencrypt</component>
|
||||
<component>repair-kit</component>
|
||||
<component>composer</component>
|
||||
<component>monitoring</component>
|
||||
<component>log-browser</component>
|
||||
<component>ssh-terminal</component>
|
||||
<component>site-import</component>
|
||||
<component>sitejet</component>
|
||||
<component>ntp-timesync</component>
|
||||
<component>php8.1</component>
|
||||
<component>php8.2</component>
|
||||
<component>php8.3</component>
|
||||
<component>php8.4</component>
|
||||
<component>mfa</component>
|
||||
<component>configurations-troubleshooter</component>
|
||||
<component>resctrl</component>
|
||||
<component>drweb</component>
|
||||
<component>postgresql</component>
|
||||
<component>spamassassin</component>
|
||||
<component>ruby</component>
|
||||
<component>gems-pre</component>
|
||||
<component>nodejs</component>
|
||||
<component>pmm</component>
|
||||
<component>psa-firewall</component>
|
||||
<component>watchdog</component>
|
||||
<component>passenger</component>
|
||||
<component>phpgroup</component>
|
||||
<component>sophos</component>
|
||||
</type>
|
||||
</installation_types>
|
||||
<component_groups>
|
||||
<group name="hosting" description="Web hosting">
|
||||
<component name="proftpd" />
|
||||
<component name="webalizer" />
|
||||
<component name="awstats" />
|
||||
<component name="modsecurity" />
|
||||
<component name="passenger" />
|
||||
<component name="ruby" />
|
||||
<component name="nodejs" />
|
||||
<component name="gems-pre" />
|
||||
<group name="apache_support" description="Apache">
|
||||
<group type="radio" name="webservers" description="Apache versions">
|
||||
<component name="apache" />
|
||||
<component name="apache-sni" default="true" />
|
||||
</group>
|
||||
<component name="mod_fcgid" />
|
||||
<component name="mod_perl" />
|
||||
<component name="mod_python" />
|
||||
</group>
|
||||
<group name="php_comps" description="PHP interpreter versions">
|
||||
<group type="radio" name="phpgroup" description="PHP interpreter versions">
|
||||
<component name="php5" />
|
||||
</group>
|
||||
<component name="php8.4" />
|
||||
<component name="php8.3" />
|
||||
<component name="php8.2" />
|
||||
<component name="php8.1" />
|
||||
<component name="php8.0" />
|
||||
<component name="php7.4" />
|
||||
<component name="php7.3" />
|
||||
<component name="php7.2" />
|
||||
<component name="php7.1" />
|
||||
<component name="php7.0" />
|
||||
<component name="php5.6" />
|
||||
<component name="php5.5" />
|
||||
<component name="php5.4" />
|
||||
<component name="php5.3" />
|
||||
<component name="php5.2" />
|
||||
</group>
|
||||
<group name="nginx_comps" description="Nginx web server and reverse proxy server">
|
||||
<component name="nginx" />
|
||||
</group>
|
||||
</group>
|
||||
<group name="webmails" description="Webmail services">
|
||||
<component name="horde" />
|
||||
<component name="roundcube" default="true" />
|
||||
</group>
|
||||
<group name="mail" description="Mail hosting">
|
||||
<group type="radio" name="mailservers" description="SMTP servers">
|
||||
<component name="postfix" default="true" />
|
||||
<component name="qmail" />
|
||||
<component name="msmtp" />
|
||||
</group>
|
||||
<group type="radio" name="imapservers" description="IMAP/POP3 servers">
|
||||
<component name="dovecot" default="true" />
|
||||
<component name="courier" />
|
||||
</group>
|
||||
<component name="drweb" />
|
||||
<component name="sophos" />
|
||||
<component name="spamassassin" />
|
||||
<component name="mailman" />
|
||||
</group>
|
||||
<group type="radio" name="mysqlgroup" description="MySQL server versions">
|
||||
<component name="mysql-sys" default="true" />
|
||||
</group>
|
||||
<group name="extensions" description="Plesk extensions">
|
||||
<component name="psa-firewall" />
|
||||
<component name="watchdog" />
|
||||
<component name="wp-toolkit" />
|
||||
<component name="advisor" />
|
||||
<component name="xovi" />
|
||||
<component name="imunify360" />
|
||||
<component name="sslit" />
|
||||
<component name="letsencrypt" />
|
||||
<component name="repair-kit" />
|
||||
<component name="composer" />
|
||||
<component name="monitoring" />
|
||||
<component name="log-browser" />
|
||||
<component name="ssh-terminal" />
|
||||
<component name="site-import" />
|
||||
<component name="sitejet" />
|
||||
<component name="ntp-timesync" />
|
||||
<component name="mfa" />
|
||||
<component name="configurations-troubleshooter" />
|
||||
</group>
|
||||
</component_groups>
|
||||
<updates updates_dir="update-deb-Ubuntu-24.04-x86_64" headers_file="" />
|
||||
<thirdparty thirdparty_dir="thirdparty-deb-Ubuntu-24.04-x86_64">
|
||||
<package name="plesk-libboost-1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="2204" buildtime="0" md5="a5365466a1ab4a4d6ff48184de747b93" arch="amd64" />
|
||||
<package name="plesk-libboost-atomic1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-atomic1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="6740" buildtime="0" md5="952ee985685b021f066538b101e95fe9" arch="amd64" />
|
||||
<package name="plesk-libboost-charconv1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-charconv1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="82462" buildtime="0" md5="ddf6a5d7e44e87dfc329f769d9b9b410" arch="amd64" />
|
||||
<package name="plesk-libboost-chrono1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-chrono1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="16066" buildtime="0" md5="464e523c45b8df24c76eeec5148cc4bc" arch="amd64" />
|
||||
<package name="plesk-libboost-context1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-context1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="4134" buildtime="0" md5="f8a4e1919740a45208ba3956e8b6e25c" arch="amd64" />
|
||||
<package name="plesk-libboost-date-time1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-date-time1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="3160" buildtime="0" md5="f06e0297a64c2eae0132beeb9db21c54" arch="amd64" />
|
||||
<package name="plesk-libboost-filesystem1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-filesystem1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="74374" buildtime="0" md5="096d8aa46acc387f42bee22ab5a307db" arch="amd64" />
|
||||
<package name="plesk-libboost-iostreams1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-iostreams1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="33404" buildtime="0" md5="ec98b9c456079f50cf3e8fded6547872" arch="amd64" />
|
||||
<package name="plesk-libboost-locale1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-locale1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="320462" buildtime="0" md5="7cd59a147b151b8419ab95467bd37b90" arch="amd64" />
|
||||
<package name="plesk-libboost-log1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-log1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="290942" buildtime="0" md5="efc96c5fae467d9132f3568291f8d747" arch="amd64" />
|
||||
<package name="plesk-libboost-process1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-process1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="31868" buildtime="0" md5="150c8ecfc1bd23c4ab2c665ad4d47f72" arch="amd64" />
|
||||
<package name="plesk-libboost-program-options1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-program-options1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="153736" buildtime="0" md5="d7edacb34e6070790775a184febed5ca" arch="amd64" />
|
||||
<package name="plesk-libboost-random1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-random1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="15400" buildtime="0" md5="b4259a42ffa0e3a14b3ba35ea33424dc" arch="amd64" />
|
||||
<package name="plesk-libboost-regex1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-regex1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="126542" buildtime="0" md5="b1edbf7063d27c15ffb8ca6fefef12c4" arch="amd64" />
|
||||
<package name="plesk-libboost-serialization1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-serialization1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="90142" buildtime="0" md5="24ab64ea54361eae50e584f806afbef5" arch="amd64" />
|
||||
<package name="plesk-libboost-system1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-system1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="3136" buildtime="0" md5="3835e30dfc1b84719561dd47b7f2e9ed" arch="amd64" />
|
||||
<package name="plesk-libboost-thread1.88" version="1.88.0" release="ubuntu.24.04.250718.1405" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libboost-thread1.88_1.88.0-ubuntu.24.04.250718.1405_amd64.deb" size="45848" buildtime="0" md5="423d7598c3650b066fac6268587d246a" arch="amd64" />
|
||||
<package name="plesk-libpoco-1.14.2" version="1.14.2" release="ubuntu.24.04.250715.1156" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libpoco-1.14.2_1.14.2-ubuntu.24.04.250715.1156_amd64.deb" size="2987006" buildtime="0" md5="0daa79010b2aaebffca562e919e34cf9" arch="amd64" />
|
||||
<package name="plesk-libstdc++14.3.0" version="14.3.0" release="ubuntu.24.04.250705.0905" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-libstdc++14.3.0_14.3.0-ubuntu.24.04.250705.0905_amd64.deb" size="1017840" buildtime="0" md5="67f900133fbe02c0755de18d4bb53e22" arch="amd64" />
|
||||
<package name="plesk-mysql-server" version="18.0.2" release="v.ubuntu.24.04+p18.0.61.0+t240426.1307" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-mysql-server_18.0.2-v.ubuntu.24.04+p18.0.61.0+t240426.1307_all.deb" size="1188" buildtime="0" md5="7dc1878f78e910bb5c594a361f5cde85" arch="all" />
|
||||
<package name="plesk-python3-regex" version="2022.1.18" release="v.ubuntu.24.04+p18.0.67.0+t241210.1818" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/plesk-python3-regex_2022.1.18-v.ubuntu.24.04+p18.0.67.0+t241210.1818_amd64.deb" size="376720" buildtime="0" md5="ed37a911f79bc4e8572deb52c4be678a" arch="amd64" />
|
||||
<package name="psa-pear" version="1.10.9" release="20191112.ubuntu.24.04.240426.1307" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/psa-pear_1.10.9-20191112.ubuntu.24.04.240426.1307_all.deb" size="338144" buildtime="0" md5="8cf8bb272422acfaac0c5e4c36d63b04" arch="all" />
|
||||
<package name="sw-tar" version="1.34" release="v.ubuntu.24.04+p18.0.61.0+t240426.1307" file="../dist-deb-Ubuntu-24.04-x86_64/contrib/sw-tar_1.34-v.ubuntu.24.04+p18.0.61.0+t240426.1307_amd64.deb" size="480592" buildtime="0" md5="57a4484d3cc5b6d4748be59b06c0bd38" arch="amd64" />
|
||||
</thirdparty>
|
||||
<extras extras_dir="extras-deb-Ubuntu-24.04-x86_64" persistent_repo="true" />
|
||||
<force_remove_packages />
|
||||
</build_1>
|
||||
35
root/parallels/pool/PSA_18.0.72_17583/release.inf3
Normal file
35
root/parallels/pool/PSA_18.0.72_17583/release.inf3
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<product id="plesk" name="Plesk">
|
||||
<active_icon src="http://autoinstall.plesk.com/icon_plesk.png" />
|
||||
<disabled_icon src="http://autoinstall.plesk.com/icon_plesk_disabled.png" />
|
||||
<product_site src="http://www.plesk.com/" />
|
||||
<kb_article_upgrade_from_not_supported_versions src="http://docs.plesk.com/release-notes/current/software-requirements/#s3" />
|
||||
|
||||
<keypackages>
|
||||
<keypackage>psa</keypackage>
|
||||
</keypackages>
|
||||
|
||||
<release id="PLESK_0_0_0" name="Plesk emtpy release for compatibility with old AI" version="0.0.0" upgrade_allowed_from="0.0.0" tags="development" hide_tags="interactive inanycase" />
|
||||
|
||||
<release_1 id="PLESK_18_0_72" name="Plesk Obsidian 18.0.72" version="18.0.72" codename="Obsidian" details_url="http://docs.plesk.com/release-notes/18.0/change-log/" nokeyupdate_from="18.0" upgrade_allowed_from="17.0.17" tags="development,testing,current,release,stable" promoted_tags="" hide_tags="interactive inanycase">
|
||||
<build os_name="Linux" os_vendor="AlmaLinux" os_version="10" os_arch="x86_64" config="plesk-18.0.72-rhel10-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="AlmaLinux" os_version="8" os_arch="x86_64" config="plesk-18.0.72-rhel8-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="AlmaLinux" os_version="9" os_arch="x86_64" config="plesk-18.0.72-rhel9-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="CentOS" os_version="7" os_arch="x86_64" config="plesk-18.0.72-cos7-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="CloudLinux" os_version="7" os_arch="x86_64" config="plesk-18.0.72-cl7-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="CloudLinux" os_version="8" os_arch="x86_64" config="plesk-18.0.72-cl8-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="CloudLinux" os_version="9" os_arch="x86_64" config="plesk-18.0.72-cl9-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="Debian" os_version="10.0" os_arch="x86_64" config="plesk-18.0.72-deb10.0-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="Debian" os_version="11.0" os_arch="x86_64" config="plesk-18.0.72-deb11.0-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="Debian" os_version="12.0" os_arch="x86_64" config="plesk-18.0.72-deb12.0-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="RedHat" os_version="el10" os_arch="x86_64" config="plesk-18.0.72-rhel10-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="RedHat" os_version="el8" os_arch="x86_64" config="plesk-18.0.72-rhel8-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="RedHat" os_version="el9" os_arch="x86_64" config="plesk-18.0.72-rhel9-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="Rocky" os_version="8" os_arch="x86_64" config="plesk-18.0.72-rhel8-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="Ubuntu" os_version="18.04" os_arch="x86_64" config="plesk-18.0.72-ubt18.04-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="Ubuntu" os_version="20.04" os_arch="x86_64" config="plesk-18.0.72-ubt20.04-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="Ubuntu" os_version="22.04" os_arch="aarch64" config="plesk-18.0.72-ubt22.04-aarch64.inf3" />
|
||||
<build os_name="Linux" os_vendor="Ubuntu" os_version="22.04" os_arch="x86_64" config="plesk-18.0.72-ubt22.04-x86_64.inf3" />
|
||||
<build os_name="Linux" os_vendor="Ubuntu" os_version="24.04" os_arch="x86_64" config="plesk-18.0.72-ubt24.04-x86_64.inf3" />
|
||||
</release_1>
|
||||
</product>
|
||||
Reference in New Issue
Block a user