diff --git a/scripts/install_php.sh b/scripts/install_php.sh index 2e0d09b..db46f4a 100755 --- a/scripts/install_php.sh +++ b/scripts/install_php.sh @@ -31,17 +31,17 @@ function add_php_repo() { if [ ! -f "/etc/apt/sources.list.d/ondrej-php-${RELEASE_NAME}.list" ]; then run touch "/etc/apt/sources.list.d/ondrej-php-${RELEASE_NAME}.list" run bash -c "echo 'deb https://packages.sury.org/php/ ${RELEASE_NAME} main' > /etc/apt/sources.list.d/ondrej-php-${RELEASE_NAME}.list" - run bash -c "wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg" - run apt-get -qq update -y + run wget -qO /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg + run apt update -qq -y else - warning "PHP repository already exists." + info "PHP repository already exists." fi ;; ubuntu) - # Fix for NO_PUBKEY key servers error. - run apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 4F4EA0AAE5267A6C + #run apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 4F4EA0AAE5267A6C + run apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 14AA40EC0831756756D7F66C4F4EA0AAE5267A6C run add-apt-repository -y ppa:ondrej/php - run apt-get -qq update -y + run apt update -qq -y ;; *) fail "Unable to install PHP, this GNU/Linux distribution is not supported." @@ -64,26 +64,26 @@ function install_php_fpm() { # Checking if php already installed. if [[ -n $(command -v "php${PHPv}") ]]; then PHP_IS_INSTALLED="yes" - warning "PHP${PHPv} & FPM package already installed..." + info "PHP${PHPv} & FPM package already installed..." else # Add repo first add_php_repo echo "Installing PHP${PHPv} & FPM..." - if hash apt-get 2>/dev/null; then - PHP_PKGS=("php${PHPv} php${PHPv}-bcmath php${PHPv}-cli php${PHPv}-common \ -php${PHPv}-curl php${PHPv}-dev php${PHPv}-fpm php${PHPv}-mysql php${PHPv}-gd \ -php${PHPv}-gmp php${PHPv}-imap php${PHPv}-intl php${PHPv}-json \ -php${PHPv}-mbstring php${PHPv}-opcache php${PHPv}-pspell php${PHPv}-readline \ -php${PHPv}-ldap php${PHPv}-snmp php${PHPv}-soap php${PHPv}-sqlite3 \ -php${PHPv}-tidy php${PHPv}-xml php${PHPv}-xmlrpc php${PHPv}-xsl php${PHPv}-zip \ + if hash apt 2>/dev/null; then + PHP_PKGS=("php${PHPv} php${PHPv}-bcmath php${PHPv}-bz2 php${PHPv}-calendar php${PHPv}-cli \ +php${PHPv}-common php${PHPv}-curl php${PHPv}-dev php${PHPv}-exif php${PHPv}-fpm php${PHPv}-gd \ +php${PHPv}-gettext php${PHPv}-gmp php${PHPv}-gnupg php${PHPv}-iconv php${PHPv}-imap php${PHPv}-intl \ +php${PHPv}-json php${PHPv}-mbstring php${PHPv}-mysql php${PHPv}-opcache php${PHPv}-pdo php${PHPv}-posix \ +php${PHPv}-pspell php${PHPv}-readline php${PHPv}-ldap php${PHPv}-snmp php${PHPv}-soap php${PHPv}-sqlite3 \ +php${PHPv}-tidy php${PHPv}-tokenizer php${PHPv}-xml php${PHPv}-xmlrpc php${PHPv}-xsl php${PHPv}-zip \ php-pear php-xml pkg-php-tools spawn-fcgi fcgiwrap" "${PHP_PKGS[@]}") if [[ "${#PHP_PKGS[@]}" -gt 0 ]]; then echo "Installing PHP${PHPv} & FPM packages..." # shellcheck disable=SC2068 - run apt-get -qq install -y ${PHP_PKGS[@]} + run apt install -qq -y ${PHP_PKGS[@]} fi if [[ -n $(command -v "php${PHPv}") ]]; then @@ -104,7 +104,7 @@ php-pear php-xml pkg-php-tools spawn-fcgi fcgiwrap" "${PHP_PKGS[@]}") if [ "${PHPv//.}" -lt "70" ]; then #run mkdir -p /usr/lib/php/php-helper - run apt-get -qq install -y php-geoip + run apt install -qq -y php-geoip else run pecl install geoip-1.1.1 @@ -140,14 +140,13 @@ php-pear php-xml pkg-php-tools spawn-fcgi fcgiwrap" "${PHP_PKGS[@]}") echo "Installing PHP Mcrypt module..." if [ "${PHPv//.}" -lt "72" ]; then - run apt-get -qq install -y "php${PHPv}-mcrypt" + run apt install -qq -y "php${PHPv}-mcrypt" elif [ "${PHPv}" == "7.2" ]; then - run apt-get -qq install -y gcc make autoconf libc-dev pkg-config \ - libmcrypt-dev libreadline-dev && \ + run apt install -qq -y libmcrypt-dev libreadline-dev && \ run pecl install mcrypt-1.0.1 # Enable Mcrypt module. - echo "Updating PHP ini file with Mcrypt module..." + echo "Updating PHP${PHPv} ini file with Mcrypt module..." [ ! -f "/etc/php/${PHPv}/mods-available/mcrypt.ini" ] && \ run touch "/etc/php/${PHPv}/mods-available/mcrypt.ini" @@ -163,23 +162,14 @@ php-pear php-xml pkg-php-tools spawn-fcgi fcgiwrap" "${PHP_PKGS[@]}") "/etc/php/${PHPv}/fpm/conf.d/20-mcrypt.ini" fi else - run apt-get -qq install -y dh-php + run apt install -qq -y dh-php # Use libsodium instead. - warning -n "Info: " - echo "Mcrypt module is deprecated for PHP ${PHPv} or greater, use Libsodium or OpenSSL for encryption." + info "Mcrypt module is deprecated for PHP${PHPv} or greater, use Libsodium or OpenSSL for encryption." fi fi - elif hash yum 2>/dev/null; then - if [ "${VERSION_ID}" == "5" ]; then - yum -y update - #yum -y localinstall ${PHP_PKGS[@]} --nogpgcheck - else - yum -y update - #yum -y localinstall ${PHP_PKGS[@]} - fi else - fail "Unable to install NGiNX, this GNU/Linux distribution is not supported." + fail "Unable to install PHP${PHPv}, this GNU/Linux distribution is not supported." fi # Create PHP log dir. @@ -233,7 +223,7 @@ function enable_ioncube() { echo "Enabling ionCube PHP${PHPv} loader" if "${DRYRUN}"; then - warning "ionCube PHP${PHPv} enabled in dryrun mode." + info "ionCube PHP${PHPv} enabled in dryrun mode." else if [ -f "/usr/lib/php/loaders/ioncube/ioncube_loader_lin_${PHPv}.so" ]; then cat > "/etc/php/${PHPv}/mods-available/ioncube.ini" < "/etc/php/${PHPv}/mods-available/sourceguardian.ini" <> /home/${LEMPER_USERNAME}/.bashrc" + run bash -c "echo '[ -d \"\$HOME/.composer/vendor/bin\" ] && export PATH=\"\$PATH:\$HOME/.composer/vendor/bin\"' >> /home/${LEMPER_USERNAME}/.bash_profile" + run bash -c "echo '[ -d \"\$HOME/.composer/vendor/bin\" ] && export PATH=\"\$PATH:\$HOME/.composer/vendor/bin\"' >> /home/${LEMPER_USERNAME}/.profile" else - error 'Invalid PHP Composer installer signature.' + error "Invalid PHP Composer installer signature." fi #run rm composer-setup.php @@ -874,14 +876,14 @@ function init_php_fpm_install() { ;; *) - warning "Your selected PHP loader ${SELECTED_PHPLOADER} is not supported yet." + info "Your selected PHP loader ${SELECTED_PHPLOADER} is not supported yet." ;; esac fi # Final optimization. #if "${DRYRUN}"; then - # warning "PHP${PHPv} & FPM installed and optimized in dryrun mode." + # info "PHP${PHPv} & FPM installed and optimized in dryrun mode." #else if [ "${PHPv}" != "all" ]; then optimize_php_fpm "${PHPv}" @@ -903,7 +905,7 @@ function init_php_fpm_install() { fi # Install PHP composer. - install_php_composer + install_php_composer "${PHPv}" } echo "[PHP & FPM Packages Installation]" @@ -916,7 +918,7 @@ if [[ -n $(command -v php5.6) && \ -n $(command -v php7.2) && \ -n $(command -v php7.3) && \ -n $(command -v php7.4) ]]; then - warning "All available PHP version already exists. Installation skipped..." + info "All available PHP version already exists. Installation skipped..." else init_php_fpm_install "$@" fi