D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
thread-self
/
root
/
opt
/
psa
/
admin
/
sbin
/
modules
/
nodejs
/
Filename :
installer
back
Copy
#!/bin/bash set -eu die () { echo "$@" 1>&2; exit 1 } NODENV_SRC_PATH="/usr/local/psa/admin/plib/modules/nodejs/libexec/nodenv" NODENV_DST_BASE_PATH="/usr/libexec" NODENV_DST_PATH="$NODENV_DST_BASE_PATH/nodenv" NODENV_TARGET="/usr/bin/nodenv" install_nodenv() { chmod 755 "$NODENV_SRC_PATH"/* cp -rf "$NODENV_SRC_PATH" "$NODENV_DST_BASE_PATH" if [ ! -e "$NODENV_TARGET" ] ; then ln -sf "$NODENV_DST_PATH/nodenv" "$NODENV_TARGET" fi cp "$NODENV_SRC_PATH/nodenv-init-profile" /etc/profile.d/nodenv.sh } remove_nodenv() { local nodenv_realpath=$(realpath "$NODENV_TARGET") if [ "$nodenv_realpath" = "$NODENV_DST_PATH/nodenv" ] ; then rm $NODENV_TARGET fi if [ -d "$NODENV_DST_PATH" ] ; then rm -rf "$NODENV_DST_PATH" fi rm /etc/profile.d/nodenv.sh } do_install () { local packages="passenger" [ "$OS_ARCH" = "x86_64" -o "$OS_ARCH" = "aarch64" ] || die "Unsupported architecture" case "$OS_PKGTYPE" in rpm) packages+=" mod_passenger" ;; deb) packages+=" libapache2-mod-passenger-plesk" ;; *) die "Unsupported package type $OS_PKGTYPE ($OS_NAME $OS_VERSION): only rpm and deb are supported" ;; esac plesk sbin package --install $packages install_nodenv } do_remove() { remove_nodenv } if [ "${1:-}" = "remove" ] ; then do_remove else do_install fi