This commit is contained in:
cutemeli
2025-12-22 10:35:30 +00:00
parent 0bfc6c8425
commit 5ce7ca2c5d
38927 changed files with 0 additions and 4594700 deletions

View File

@@ -1,44 +0,0 @@
#!/opt/plesk/python/3/bin/python
# Copyright 1999-2024. Plesk International GmbH. All rights reserved.
import platform
import os
import sys
if platform.system() != 'Windows':
# Configure migrator so:
# - nobody except root and Plesk user under which migrator is running can read/modify the files.
# - both backend (running as superuser) and frontend (running as "psaadm") could work with the files.
# Expected permissions for files created by backend are:
# rw-rw---- root psaadm
# Expected permissions for directories created by backend are:
# rwxrwx--- root psaadm
# So, frontend could work with files by group "psadm", and backend could work with the files as superuser.
import grp
try:
frontend_group_entry = grp.getgrnam('psaadm')
except KeyError:
frontend_group_entry = None
if frontend_group_entry is not None:
frontend_group_id = frontend_group_entry.gr_gid
os.setegid(frontend_group_id)
# Do not allow others to work with files
os.umask(0o007)
execution_path = __file__
while os.path.islink(execution_path):
execution_path = os.readlink(execution_path)
base_dir = '/usr/local/psa/admin/plib/modules/panel-migrator/backend'
lib_dir = '/usr/local/psa/admin/plib/modules/panel-migrator/backend/lib'
var_dir = '/usr/local/psa/var/modules/panel-migrator'
sys.path.extend([os.path.join(lib_dir, 'python')])
from parallels.core.cli.migration_cli import run
if __name__ == '__main__':
sys.exit(run(base_dir, var_dir, execution_path, sys.argv[1:]))

View File

@@ -1,8 +0,0 @@
#!/bin/bash -e
### Copyright 1999-2017. Plesk International GmbH. All rights reserved.
find /usr/local/psa/var/modules/panel-migrator -type d -exec chmod 770 {} \;
find /usr/local/psa/var/modules/panel-migrator -type f -exec chmod 660 {} \;
find /usr/local/psa/var/modules/panel-migrator -exec chown root:psaadm {} \;
chmod -R o-rwx /var/lib/psa/dumps
chmod -R o-w /usr/local/psa/admin/share/pmmcli
chmod -R o-w /usr/local/psa/var/apspackages

View File

@@ -1,192 +0,0 @@
#!/bin/bash
### Copyright 1999-2025. Plesk International GmbH. All rights reserved.
set -e
ai_url="${REPOSITORY_URL:-https://autoinstall.plesk.com}"
gpg_key_url="$ai_url/plesk-2025-03-05.gpg"
python_package="plesk-py3"
modules=(
PyYAML==6.0 paramiko==3.4.0 dnspython==2.2.1 imapclient==3.0.1
)
modules_to_check=(
PyYAML paramiko dnspython imapclient
)
python_path="/opt/plesk/python/3/bin/pip"
export DEBIAN_FRONTEND=noninteractive
psa_version=()
IFS=" " read -r -a psa_version <<< "$(cat /usr/local/psa/version)"
if [ "$PLESK_DEBUG" != "1" ] ; then
yum_quiet="-q"
apt_quiet="-qq"
fi
remove_debian_migrator_repository()
{
rm -f /etc/apt/sources.list.d/plesk-migrator.list
}
remove_centos_migrator_repository()
{
rm -f /etc/yum.repos.d/plesk-migrator.repo
}
remove_debian()
{
remove_debian_migrator_repository
[ -n "$(command -v apt-get)" ] && apt-get remove -y $apt_quiet "$python_package"
}
remove_centos()
{
remove_centos_migrator_repository
[ -n "$(command -v yum)" ] && yum remove -y $yum_quiet "$python_package"
}
if [ "$1" = "remove" ] ; then
case "${psa_version[1]}${psa_version[2]}" in
Debian*|Ubuntu*) remove_debian ;;
CentOS*|RedHatel*) remove_centos ;;
*) not_supported "${psa_version[1]} ${psa_version[2]}" ;;
esac
exit 0
fi
not_supported()
{
echo "Sorry, your operating system $1 is not supported" >&2
exit 1
}
check_installed_debian()
{
if ! dpkg -s "$python_package" > /dev/null
then
echo "Package $python_package was not installed" >&2
exit 1
fi
}
check_installed_centos()
{
if ! rpm -q "$python_package" > /dev/null
then
echo "Package $python_package was not installed" >&2
exit 1
fi
}
install_python_modules_by_pip()
{
$python_path install "${modules[@]}" > /dev/null
}
check_installed_python_modules()
{
local has_missing_modules=0
for module in "${modules_to_check[@]}"; do
if ! $python_path show "$module" > /dev/null
then
echo "Python module $module was not installed" >&2
has_missing_modules=1
fi
done
exit $has_missing_modules
}
bootstrap_debian()
{
local plesk_can_manage_repos="$3"
[[ $plesk_can_manage_repos ]] && remove_debian_migrator_repository
local os_name="$1"
local os_version="$2"
local arch_spec=""
case "$(uname -m)" in
x86_64) arch_spec="[arch=amd64]" ;;
aarch64) arch_spec="[arch=arm64]" ;;
esac
local url_path="$4"
[[ -z "$5" ]] || echo 'APT::Get::AllowUnauthenticated "true";' > "/etc/apt/apt.conf.d/plesk-migrator"
echo "Bootstrapping dependencies for $os_name $os_version..."
if [[ $plesk_can_manage_repos ]]; then
plesk sbin repository --create --persistent --source "deb $arch_spec $ai_url/$url_path $os_version all" --gpg-key "$gpg_key_url"
plesk sbin package --install "$python_package"
plesk sbin repository --delete --persistent --source "deb $arch_spec $ai_url/$url_path $os_version all"
else
echo "deb $arch_spec $ai_url/$url_path $os_version all" > /etc/apt/sources.list.d/plesk-migrator.list
apt-get update $apt_quiet -o Dir::Etc::sourcelist="sources.list.d/plesk-migrator.list" \
-o Dir::Etc::sourceparts="-" \
-o APT::Get::List-Cleanup="0"
apt-get install -y $apt_quiet -o APT::Install-Suggests=false -o APT::Install-Recommends=false "$python_package"
fi
check_installed_debian
install_python_modules_by_pip
check_installed_python_modules
}
bootstrap_redhat()
{
local plesk_can_manage_repos="$3"
[[ $plesk_can_manage_repos ]] && remove_centos_migrator_repository
local os_name="$1"
local os_version="$2"
local os_arch
os_arch="$(uname -m)"
[[ "$(uname -m)" =~ .*64$ ]] || os_arch='i386'
local url_path="$4"
echo "Bootstrapping dependencies for centos $os_version $os_arch..."
if [[ $plesk_can_manage_repos ]]; then
plesk sbin repository --create --persistent \
--baseurl "$ai_url/$url_path/dist-rpm-$os_name-$os_version-$os_arch" \
--gpg-key "$gpg_key_url"
plesk sbin package --install "$python_package"
else
cat > /etc/yum.repos.d/plesk-migrator.repo <<EOF
[plesk-migrator]
name=Plesk packages for migrator
baseurl=$ai_url/$url_path/dist-rpm-$os_name-$os_version-$os_arch
enabled=1
gpgcheck=1
gpgkey=$gpg_key_url
EOF
yum install -y $yum_quiet "$python_package"
fi
check_installed_centos
install_python_modules_by_pip
check_installed_python_modules
}
pmm_repo="PMM_1.1.0"
plesk_version=()
IFS="." read -r -a plesk_version <<< "${psa_version[0]}"
[[ ${plesk_version[0]} -ge 17 ]] && plesk_can_manage_repos=true || plesk_can_manage_repos=false
case "${psa_version[1]}${psa_version[2]}" in
Debian10*) bootstrap_debian "debian" "buster" $plesk_can_manage_repos "$pmm_repo" ;;
Debian11*) bootstrap_debian "debian" "bullseye" $plesk_can_manage_repos "$pmm_repo" ;;
Debian12*) bootstrap_debian "debian" "bookworm" $plesk_can_manage_repos "$pmm_repo" ;;
Debian13*) bootstrap_debian "debian" "trixie" $plesk_can_manage_repos "$pmm_repo" ;;
Ubuntu18.04) bootstrap_debian "ubuntu" "bionic" $plesk_can_manage_repos "$pmm_repo" ;;
Ubuntu20.04) bootstrap_debian "ubuntu" "focal" $plesk_can_manage_repos "$pmm_repo" ;;
Ubuntu22.04) bootstrap_debian "ubuntu" "jammy" $plesk_can_manage_repos "$pmm_repo" ;;
Ubuntu24.04) bootstrap_debian "ubuntu" "noble" $plesk_can_manage_repos "$pmm_repo" ;;
CentOS7*|RedHatel7*) bootstrap_redhat "CentOS" "7" $plesk_can_manage_repos "$pmm_repo" ;;
RedHatel8*) bootstrap_redhat "RedHat" "el8" $plesk_can_manage_repos "$pmm_repo" ;;
RedHatel9*) bootstrap_redhat "RedHat" "el9" $plesk_can_manage_repos "$pmm_repo" ;;
RedHatel10*) bootstrap_redhat "RedHat" "el10" $plesk_can_manage_repos "$pmm_repo" ;;
*) not_supported "${psa_version[1]} ${psa_version[2]}" ;;
esac
echo "Done"

View File

@@ -1,5 +0,0 @@
#!/bin/bash -e
### Copyright 1999-2017. Plesk International GmbH. All rights reserved.
chmod u=rwx,g=rx,o=rx /usr/local/psa/var/modules/panel-migrator/
chown psaadm:psaadm /usr/local/psa/var/modules/panel-migrator/

View File

@@ -1,17 +0,0 @@
@echo off
for /f "skip=2 tokens=3*" %%i IN ('reg query "HKLM\SOFTWARE\Plesk\PSA Config\Config" /v PRODUCT_DATA_D /reg:32') do set plesk_data_path=%%i %%j
call :TRIM %plesk_data_path% plesk_data_path
set PLESK_EXTENSION_ID=panel-migrator
set plesk_migrator_var_path=%plesk_data_path%var\modules\panel-migrator
set plesk_python_path=%plesk_migrator_var_path%\python\python.exe
set plesk_migrator_backend_path=%plesk_dir%admin\plib\modules\panel-migrator\backend\plesk-migrator.py
"%plesk_python_path%" "%plesk_migrator_backend_path%" "%plesk_migrator_var_path%" %*
goto :EOF
:TRIM
SET %2=%1
goto :EOF

View File

@@ -1,3 +0,0 @@
#!/bin/sh
rm -rf /var/log/plesk/PMM