75 lines
1.8 KiB
Bash
Executable File
75 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
die ()
|
|
{
|
|
echo "$@" 1>&2;
|
|
exit 1
|
|
}
|
|
|
|
do_install ()
|
|
{
|
|
local packages="plesk-rbenv passenger"
|
|
local plesk_ruby_version="1.5.0"
|
|
# Note: EoL Ruby versions are still built but not installed by default
|
|
local versions="3.2.9 3.3.9 3.4.5"
|
|
local base_url="${REPOSITORY_URL:-https://autoinstall.plesk.com}"
|
|
local gpg_key_url="$base_url/plesk-2025-03-05.gpg"
|
|
|
|
[ "$OS_ARCH" = "x86_64" -o "$OS_ARCH" = "aarch64" ] || die "Unsupported architecture"
|
|
|
|
case "$OS_PKGTYPE" in
|
|
rpm)
|
|
local os_name
|
|
local os_version
|
|
if [ "$OS_SHORT_VERSION" = "7" ]; then
|
|
os_name="CentOS"
|
|
os_version="7"
|
|
else
|
|
os_name="RedHat"
|
|
os_version="el$OS_SHORT_VERSION"
|
|
fi
|
|
plesk sbin repository --create --persistent \
|
|
--baseurl "$base_url/RUBY_${plesk_ruby_version}/dist-rpm-$os_name-$os_version-$OS_ARCH" \
|
|
--gpg-key "$gpg_key_url"
|
|
packages+=" mod_passenger"
|
|
;;
|
|
deb)
|
|
local arch_spec=
|
|
case "$OS_ARCH" in
|
|
x86_64) arch_spec="[arch=amd64]" ;;
|
|
aarch64) arch_spec="[arch=arm64]" ;;
|
|
esac
|
|
|
|
plesk sbin repository --create --persistent \
|
|
--source "deb $arch_spec $base_url/RUBY_${plesk_ruby_version} $OS_CODENAME all" \
|
|
--gpg-key "$gpg_key_url"
|
|
|
|
packages+=" libapache2-mod-passenger-plesk"
|
|
;;
|
|
*)
|
|
die "Unsupported package type $OS_PKGTYPE ($OS_NAME $OS_VERSION): only rpm and deb are supported"
|
|
;;
|
|
esac
|
|
|
|
for v in $versions; do
|
|
packages+=" plesk-ruby$v"
|
|
done
|
|
|
|
plesk sbin package --install $packages
|
|
|
|
plesk sbin httpd_modules_ctl --enable 'passenger'
|
|
|
|
# since Plesk 18.0.57 the nginx passenger module is disabled by default
|
|
# before Plesk 18.0.57 nginx_modules_ctl doesn't rule passenger module
|
|
# and this is the reason why the error is skipped here
|
|
plesk sbin nginx_modules_ctl --enable 'phusion-passenger' || true
|
|
}
|
|
|
|
if [ "${1:-}" = "remove" ] ; then
|
|
:
|
|
else
|
|
do_install
|
|
fi
|