8274 lines
258 KiB
Bash
Executable File
8274 lines
258 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# php ( fuer Apache 2 )
|
|
#
|
|
_VERSION=
|
|
|
|
_FREETYPE_VERSION="2.10.4"
|
|
_ICU4C_VERSION="57-2"
|
|
_LIBXML2_VERSION="2.9.4"
|
|
_PYTHON2_VERSION="2.7.16"
|
|
_OPENSSL1_VERSION="1.1.1w"
|
|
|
|
#WITHOUT_APACHE_MOD_PHP=true
|
|
_APACHE_MOD_PHP=no
|
|
|
|
_APACHE_VERSION=
|
|
|
|
_HTTPD_USER=www-data
|
|
|
|
_srcdir=$(dirname $(realpath $0))
|
|
|
|
_pwd=`pwd`
|
|
|
|
cert_URL_php_net="https://curl.haxx.se/ca/cacert.pem"
|
|
_default_cert_file=""
|
|
_default_cert_file_present=false
|
|
|
|
_PHP_FPM_SUPPORT=yes
|
|
_LEGACY_SQL_FUNCTION_SUPPORT=no
|
|
|
|
_SYMLINK_PHP=no
|
|
_SYMLINK_PHP_MAIN_VERSION=yes
|
|
|
|
_MEMORY_LIMIT="512M"
|
|
_MAX_EXECUTION_TIME=180
|
|
_MAX_INPUT_TIME=180
|
|
_UPLOAD_MAX_FILESIZE="128M"
|
|
_POST_MAX_SIZE="128M"
|
|
|
|
_ZLIB_OUTPUT_COMPRESSION="On"
|
|
|
|
# Default Settings opcache extension
|
|
#
|
|
DEFAULT_OPCACHE_ENABLE=1
|
|
DEFAULT_OPCACHE_ENABLE_CLI=1
|
|
#DEFAULT_OPCACHE_MEMORY_CONSUMPTION=128
|
|
DEFAULT_OPCACHE_MEMORY_CONSUMPTION=512
|
|
DEFAULT_OPCACHE_INTERNED_STRINGS_BUFFER=24
|
|
#DEFAULT_OPCACHE_MAX_ACCELERATED_FILES=10000
|
|
DEFAULT_OPCACHE_MAX_ACCELERATED_FILES=60000
|
|
#DEFAULT_OPCACHE_VALIDATE_TIMESTAMPS=1
|
|
DEFAULT_OPCACHE_VALIDATE_TIMESTAMPS=0
|
|
|
|
DEFAULT_OPCACHE_CONSISTENCY_CHECKS=0
|
|
|
|
DEFAULT_OPCACHE_REVALIDATE_FREQ=60
|
|
if [[ -d "/var/log/apache2" ]] ; then
|
|
DEFAULT_OPCACHE_ERROR_LOG="/var/log/apache2/opcache_errors.log"
|
|
elif [[ -d "/var/log/nginx" ]]; then
|
|
DEFAULT_OPCACHE_ERROR_LOG="/var/log/nginx/opcache_errors.log"
|
|
else
|
|
DEFAULT_OPCACHE_ERROR_LOG=""
|
|
fi
|
|
|
|
# Default Settings apc extension
|
|
#
|
|
DEFAULT_APC_ENABLE_CLI=1
|
|
DEFAULT_APC_SHM_SIZE="32M"
|
|
DEFAULT_APC_STAT=1
|
|
DEFAULT_APCU_STAT=1
|
|
DEFAULT_APC_BY_DEFAULT=1
|
|
DEFAULT_APC_SMART=0
|
|
|
|
_SKIP_UPDATE_DB=yes
|
|
|
|
_CRONTAB_BAKUP_FILE="$(mktemp)"
|
|
|
|
_VSERVER_GUEST=no
|
|
|
|
_backup_date="$(date +%Y%m%d-%H%M)"
|
|
|
|
|
|
## --- Some functions
|
|
## ---
|
|
echononl(){
|
|
echo X\\c > /tmp/shprompt$$
|
|
if [ `wc -c /tmp/shprompt$$ | awk '{print $1}'` -eq 1 ]; then
|
|
echo -e -n "$*\\c" 1>&2
|
|
else
|
|
echo -e -n "$*" 1>&2
|
|
fi
|
|
rm /tmp/shprompt$$
|
|
}
|
|
|
|
fatal(){
|
|
echo ""
|
|
echo -e "\t[ \033[31m\033[1mError\033[m ]: $*"
|
|
echo ""
|
|
echo -e "\t\033[31m\033[1mInstalllation wird abgebrochen\033[m\033[m"
|
|
echo ""
|
|
if [[ -f "${_CRONTAB_BAKUP_FILE}" ]]; then
|
|
crontab "${_CRONTAB_BAKUP_FILE}" > /dev/null 2>&1
|
|
fi
|
|
if $_default_cert_file_present ; then
|
|
mv "${_default_cert_file}.${_backup_date}" "${_default_cert_file}" > /dev/null 2>&1
|
|
fi
|
|
rm -f "$tmp_err_msg"
|
|
exit 1
|
|
}
|
|
|
|
error(){
|
|
echo ""
|
|
echo -e "\t[ \033[31m\033[1mError\033[m ]: $*"
|
|
echo ""
|
|
}
|
|
|
|
warn (){
|
|
echo ""
|
|
echo -e "\t[ \033[33m\033[1mWarning\033[m ]: $*"
|
|
echo ""
|
|
}
|
|
|
|
info (){
|
|
echo ""
|
|
echo -e "\t[ \033[32m\033[1mInfo\033[m ]: $*"
|
|
echo ""
|
|
}
|
|
|
|
|
|
echo_ok() {
|
|
echo -e "\033[75G[ \033[1;32mok\033[m ]"
|
|
## echo -e " [ ok ]"
|
|
}
|
|
echo_failed(){
|
|
echo -e "\033[75G[ \033[1;31mfailed\033[m ]"
|
|
## echo -e " [ failed ]"
|
|
}
|
|
echo_skipped() {
|
|
echo -e "\033[75G[ \033[37m\033[1mskipped\033[m ]"
|
|
}
|
|
echo_try_from_src() {
|
|
echo -e "\033[75G[ \033[33m\033[1mfailed\033[m ]"
|
|
echo ""
|
|
echo -e "\t[ \033[33m\033[1mInfo\033[m ]: Try installing extension from source..."
|
|
echo ""
|
|
}
|
|
echo_try_beta_version() {
|
|
echo -e "\033[75G[ \033[33m\033[1mfailed\033[m ]"
|
|
echo ""
|
|
echo -e "\t[ \033[33m\033[1mInfo\033[m ]: Try installing beta version..."
|
|
echo ""
|
|
}
|
|
|
|
is_int() {
|
|
return $(test "$@" -eq "$@" > /dev/null 2>&1);
|
|
}
|
|
|
|
detect_os_1 () {
|
|
|
|
if $(which lsb_release > /dev/null 2>&1) ; then
|
|
|
|
os_dist="$(lsb_release -i | awk '{print tolower($3)}')"
|
|
os_version="$(lsb_release -r | awk '{print tolower($2)}')"
|
|
os_codename="$(lsb_release -c | awk '{print tolower($2)}')"
|
|
|
|
if [[ "$os_dist" = "debian" ]]; then
|
|
if $(echo "$os_version" | grep -q '\.') ; then
|
|
os_version=$(echo "$os_version" | cut --delimiter='.' -f1)
|
|
fi
|
|
fi
|
|
|
|
elif [[ -e "/etc/os-release" ]]; then
|
|
|
|
. /etc/os-release
|
|
|
|
os_dist=$ID
|
|
os_version=${os_version_ID}
|
|
|
|
fi
|
|
|
|
# remove whitespace from os_dist and os_version
|
|
os_dist="${os_dist// /}"
|
|
os_version="${os_version// /}"
|
|
|
|
}
|
|
## ---
|
|
## --- END: functions
|
|
|
|
|
|
## --------------------------------------------------
|
|
|
|
# - Support systemd ?
|
|
# -
|
|
if [[ "X$(which systemd)" = "X" ]]; then
|
|
SYSTEMD_EXISTS=false
|
|
else
|
|
SYSTEMD_EXISTS=true
|
|
fi
|
|
|
|
# - Set variable
|
|
# - os_dist
|
|
# - os_version
|
|
# - os_codename
|
|
# -
|
|
detect_os_1
|
|
|
|
_required_base_packages=""
|
|
_required_compiler_packages=""
|
|
_required_extension_packages=""
|
|
|
|
# - PHP Extension imagick, geoip, memcached
|
|
# -
|
|
_required_extension_packages="$_required_extension_packages
|
|
libmagickwand-dev libmagickcore-dev
|
|
libgeoip1 libgeoip-dev geoip-bin
|
|
libmemcached-dev"
|
|
|
|
# - Compile stuff
|
|
# -
|
|
_required_compiler_packages="$_required_compiler_packages
|
|
g++ g++-multilib gcc gcc-multilib cpp
|
|
make automake autoconf libtool flex bison
|
|
gettext pkg-config gnu-standards
|
|
libssl-dev libreadline-dev libncurses-dev"
|
|
|
|
# - Needed to build apache webserver with php/ruby support
|
|
# -
|
|
_required_base_packages="$_required_base_packages
|
|
libxml2 libxml2-dev
|
|
curl libcurl4-openssl-dev
|
|
libqdbm-dev libgdbm-dev libpspell-dev
|
|
libjpeg-dev libxpm-dev libfreetype6-dev
|
|
libwmf-dev libtiff-dev libpaper-dev
|
|
libmagic-dev
|
|
libmagick-dev libgraphics-magick-perl
|
|
libgraphicsmagick++1-dev libgraphicsmagick1-dev
|
|
libgraphviz-dev libgsf-1-dev libilmbase-dev
|
|
libvpx-dev vpx-tools
|
|
libgpm-dev libkpathsea-dev libopenexr-dev librsvg2-dev libdjvulibre-dev
|
|
libatm-dev libexpat-dev
|
|
imagemagick graphicsmagick
|
|
re2c
|
|
sqlite3
|
|
exif libexiv2-dev
|
|
netpbm libnetpbm10-dev
|
|
libmcrypt-dev mcrypt
|
|
libwebp-dev
|
|
libpq-dev postgresql-client
|
|
libreadline-dev libncurses-dev
|
|
libxslt1-dev libpcre3-dev
|
|
libc-client-dev
|
|
libicu-dev
|
|
libtidy-dev
|
|
libmm-dev libgmp-dev libkrb5-dev libldap-dev
|
|
libmhash-dev
|
|
libapr1-dev libaprutil1-dev
|
|
liblua5.1-0 liblua5.1-0-dev
|
|
libsctp-dev
|
|
libcrypto++-dev
|
|
libzip-dev
|
|
libharfbuzz-dev
|
|
libsodium-dev
|
|
libxmlrpc-epi-dev"
|
|
|
|
# libcroco3-dev
|
|
|
|
# - Package libgraphicsmagick++3 is not available at ubunru 18.04"
|
|
# -
|
|
if [[ "$os_dist" != "ubuntu" ]] ; then
|
|
_required_base_packages="$_required_base_packages
|
|
libgraphicsmagick++3"
|
|
fi
|
|
|
|
if [[ "$os_dist" = "debian" ]] && [[ $os_version -lt 9 ]] ; then
|
|
_required_base_packages="$_required_base_packages
|
|
libjasper-dev
|
|
libpng12-dev"
|
|
if [[ ! -d "/usr/local/mysql/" ]]; then
|
|
_required_base_packages="$_required_base_packages libmysqlclient-dev"
|
|
fi
|
|
else
|
|
_required_base_packages="$_required_base_packages
|
|
libpng-dev"
|
|
if [[ ! -d "/usr/local/mysql/" ]]; then
|
|
_required_base_packages="$_required_base_packages default-libmysqlclient-dev"
|
|
fi
|
|
fi
|
|
|
|
if [[ "$os_dist" = "debian" ]] && [[ $os_version -eq 7 ]] ; then
|
|
_required_base_packages="$_required_base_packages
|
|
libgd2-xpm-dev
|
|
libdb5.1 libdb5.1++ libdb5.1++-dev libdb5.1-dev"
|
|
else
|
|
_required_base_packages="$_required_base_packages
|
|
libgd-dev
|
|
libdb5.3 libdb5.3++ libdb5.3++-dev libdb5.3-dev"
|
|
fi
|
|
|
|
if $SYSTEMD_EXISTS ; then
|
|
_required_base_packages="$_required_base_packages
|
|
libsystemd-dev"
|
|
fi
|
|
|
|
needed_compiler_packages=""
|
|
for _pkg in $_required_compiler_packages ; do
|
|
needed_compiler_packages="$needed_compiler_packages $_pkg"
|
|
done
|
|
|
|
needed_debian_packages=""
|
|
for _pkg in $_required_base_packages ; do
|
|
needed_debian_packages="$needed_debian_packages $_pkg"
|
|
done
|
|
|
|
needed_extension_packages=""
|
|
for _pkg in $_required_extension_packages ; do
|
|
needed_extension_packages="$needed_extension_packages $_pkg"
|
|
done
|
|
|
|
## --------------------------------------------------
|
|
|
|
tmp_err_msg=$(mktemp)
|
|
|
|
## - Determin httpd binary
|
|
## -
|
|
_httpd_binary="`which httpd`"
|
|
if [ -z "$_httpd_binary" ]; then
|
|
_httpd_binary="$(ps -axu | grep httpd | grep -e "^root" | grep -v grep | awk '{print$11}')"
|
|
if [ -z "$_httpd_binary" ]; then
|
|
if [ -x "/usr/local/apache2/bin/httpd" ]; then
|
|
_httpd_binary="/usr/local/apache2/bin/httpd"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
if [ -x "$_httpd_binary" ];then
|
|
## - Determin websever user
|
|
## -
|
|
_pass_web_user=false
|
|
web_user="`$_httpd_binary -t -D DUMP_RUN_CFG | grep -i -e "^User" | awk '{print$2}' | cut -d\"=\" -f2 | tr -d '"'`"
|
|
web_group="`$_httpd_binary -t -D DUMP_RUN_CFG | grep -i -e "^Group" | awk '{print$2}' | cut -d\"=\" -f2 | tr -d '"'`"
|
|
if [ -z "$web_user" -o -z "$web_group" ]; then
|
|
if [[ -f "/usr/local/apache2/conf/httpd.conf" ]] ; then
|
|
_HTTPD_USER="$(grep -E "^\s*User\s" "/usr/local/apache2/conf/httpd.conf" | awk '{print$2}')"
|
|
_HTTPD_GROUP="$(grep -E "^\s*Group\s" "/usr/local/apache2/conf/httpd.conf" | awk '{print$2}')"
|
|
fi
|
|
[[ -z "$_HTTPD_USER" ]] && _HTTPD_USER=www-data
|
|
|
|
else
|
|
_HTTPD_USER=$web_user
|
|
_HTTPD_GROUP=$web_group
|
|
fi
|
|
fi
|
|
|
|
|
|
|
|
## --------------------------------------------------
|
|
|
|
|
|
## --------------------------------------------------
|
|
|
|
clear
|
|
echo
|
|
echo -e "\033[21G\033[32mInstallation PHP \033[m"
|
|
echo
|
|
echo
|
|
echo
|
|
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo "Insert PHP version number."
|
|
echo ""
|
|
echo ""
|
|
VERSION=
|
|
while [ "X$VERSION" = "X" ]
|
|
do
|
|
echononl "PHP Version [$_VERSION]: "
|
|
read VERSION
|
|
if [ "X$VERSION" = "X" ]; then
|
|
VERSION=$_VERSION
|
|
fi
|
|
done
|
|
PHP_MAIN_VERSION=`echo $VERSION | cut -d '.' -f1,2`
|
|
PHP_MAJOR_VERSION=`echo $VERSION | cut -d '.' -f1`
|
|
PHP_MINOR_VERSION=`echo $VERSION | cut -d '.' -f2`
|
|
PHP_PATCH_LEVEL=`echo $VERSION | cut -d '.' -f3`
|
|
|
|
# Since version 7.4 package 'libsqlite3-dev' is needed
|
|
# Since version 7.4 package 'libonig-dev' is needed
|
|
#
|
|
if ([[ "$PHP_MAJOR_VERSION" -eq 7 ]] && [[ "$PHP_MINOR_VERSION" -gt 3 ]]) \
|
|
|| [[ "$PHP_MAJOR_VERSION" -gt 7 ]] ; then
|
|
needed_debian_packages="$needed_debian_packages
|
|
libsqlite3-dev
|
|
libonig-dev"
|
|
fi
|
|
|
|
# - A hack, because configure don't work with systemd on version 5.4.x
|
|
## -
|
|
if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
|
|
SYSTEMD_EXISTS=false
|
|
fi
|
|
|
|
## - Let make use multiple cores (-j<number of cores +1>)
|
|
## -
|
|
if [[ "$PHP_MAIN_VERSION" != "5.4" ]]; then
|
|
export MAKEFLAGS=-j$(expr `grep "^processor" /proc/cpuinfo | sort -u | wc -l` + 1)
|
|
else
|
|
unset MAKEFLAGS
|
|
fi
|
|
|
|
if [[ "$PHP_MAIN_VERSION" = "5.6" ]] && [[ $os_version -gt 11 ]]; then
|
|
|
|
warn "For php version 5.6 at debian 12 and above, you need manual installation of
|
|
|
|
\t freetype (libfreetype6-dev)
|
|
\t libxml2
|
|
\t icu4c (libicu)
|
|
\t openssl v 1.1.1 "
|
|
|
|
elif [[ "$PHP_MAIN_VERSION" = "5.6" ]] && [[ $os_version -gt 9 ]]; then
|
|
|
|
warn "For php version 5.6 at debian 10 and above, you need manual installation of
|
|
|
|
\t freetype (libfreetype6-dev)
|
|
\t libxml2
|
|
\t icu4c (libicu)"
|
|
fi
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo "Insert User/Group for apache daemon (httpd)."
|
|
echo ""
|
|
echo ""
|
|
|
|
HTTPD_USER=
|
|
while [ "X$HTTPD_USER" = "X" ]
|
|
do
|
|
echononl "apache user [${_HTTPD_USER}]: "
|
|
read HTTPD_USER
|
|
if [ "X$HTTPD_USER" = "X" ]; then
|
|
HTTPD_USER=$_HTTPD_USER
|
|
fi
|
|
done
|
|
if [ -z "$_HTTPD_GROUP" ]; then
|
|
if [ "$HTTPD_USER" = "nobody" ]; then
|
|
_HTTPD_GROUP="nogroup"
|
|
else
|
|
_HTTPD_GROUP=$HTTPD_USER
|
|
fi
|
|
fi
|
|
while [ "X$HTTPD_GROUP" = "X" ]
|
|
do
|
|
echononl "apache group [$_HTTPD_GROUP]: "
|
|
read HTTPD_GROUP
|
|
if [ "X$HTTPD_GROUP" = "X" ]; then
|
|
HTTPD_GROUP=$_HTTPD_GROUP
|
|
fi
|
|
done
|
|
|
|
_PHP_FPM_USER=$HTTPD_USER
|
|
_PHP_FPM_GROUP=$HTTPD_GROUP
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo -e "Install php-$VERSION with apache module? [ \033[33myes/no\033[m ]"
|
|
echo ""
|
|
echo ""
|
|
OK=""
|
|
while [ "X$OK" = "X" ]
|
|
do
|
|
echononl "Install mod_apache ? [ $_APACHE_MOD_PHP ] "
|
|
read OK
|
|
__to_lower=`echo $OK | tr '[:upper:]' '[:lower:]' | tr -d ' '`
|
|
if [ "X$OK" = "X" ]; then
|
|
OK=$_APACHE_MOD_PHP
|
|
break
|
|
fi
|
|
if [ "$__to_lower" = "yes" -o "$__to_lower" = "no" ]; then
|
|
OK=$__to_lower
|
|
break
|
|
fi
|
|
echo ""
|
|
echo -e "\t\033[31mWrong entry !! Try again..\033[m"
|
|
echo ""
|
|
OK=
|
|
done
|
|
if [ "$OK" = "yes" ]; then
|
|
WITHOUT_APACHE_MOD_PHP=false
|
|
WITH_MOD_PHP=true
|
|
else
|
|
WITHOUT_APACHE_MOD_PHP=true
|
|
WITH_MOD_PHP=false
|
|
fi
|
|
|
|
|
|
if $WITH_MOD_PHP ; then
|
|
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo "Insert version numbers apache (httpd) apr and apr-util."
|
|
echo ""
|
|
echo ""
|
|
APACHE_VERSION=
|
|
while [ "X$APACHE_VERSION" = "X" ]
|
|
do
|
|
echononl "apache version [$_APACHE_VERSION]: "
|
|
read APACHE_VERSION
|
|
if [ "X$APACHE_VERSION" = "X" ]; then
|
|
APACHE_VERSION=$_APACHE_VERSION
|
|
fi
|
|
if [ -d /usr/local/httpd-${APACHE_VERSION}_php-${VERSION} ]; then
|
|
echo ""
|
|
#echo -e "\t\033[31mApache Instalation found at \"/usr/local/httpd-${APACHE_VERSION}_php-${VERSION}\" !! Try again..\033[m"
|
|
echo -e "\t\033[32mApache Instalation found at \"/usr/local/httpd-${APACHE_VERSION}_php-${VERSION}\" !! Try again..\033[m"
|
|
echo ""
|
|
#APACHE_VERSION=
|
|
fi
|
|
done
|
|
APACHE_BASEDIR=/usr/local/httpd-${APACHE_VERSION}_php-${VERSION}
|
|
APXS=${APACHE_BASEDIR}/bin/apxs
|
|
|
|
PHP_VERSION_STRING="${VERSION}_httpd-${APACHE_VERSION}"
|
|
|
|
PREFIX_PHP="/usr/local/php-$VERSION-httpd-${APACHE_VERSION}"
|
|
PHP_INI_FILE="${APACHE_BASEDIR}/conf/php.ini"
|
|
_builddir=${_srcdir}/php-${VERSION}_httpd-${APACHE_VERSION}
|
|
_logdir=${_srcdir}/log_php-${VERSION}_httpd-${APACHE_VERSION}_build
|
|
|
|
else
|
|
|
|
PHP_VERSION_STRING="$VERSION"
|
|
|
|
PREFIX_PHP=/usr/local/php-$VERSION
|
|
PHP_INI_FILE="${PREFIX_PHP}/etc/php.ini"
|
|
_builddir=${_srcdir}/php-${VERSION}
|
|
_logdir=${_srcdir}/log_php-${VERSION}_build
|
|
|
|
fi
|
|
|
|
|
|
#echo ""
|
|
#echo ""
|
|
#echo -e "\033[32m--\033[m"
|
|
#echo ""
|
|
#echo -e "Define PHP parameters for php.ini file"
|
|
#echo ""
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo -e "\033[1mDefine base parameter for php.ini file\033[m"
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
|
|
## - php.ini: zlib.output_compression
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
__zlib_output_compression=$(grep -e "^\s*zlib.output_compression" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
if [ -n "$__zlib_output_compression" ] ; then
|
|
_ZLIB_OUTPUT_COMPRESSION=$__zlib_output_compression
|
|
fi
|
|
fi
|
|
|
|
ZLIB_OUTPUT_COMPRESSION=
|
|
while [[ "X$ZLIB_OUTPUT_COMPRESSION" = "X" ]]; do
|
|
echononl "zlib.output_compression - [$_ZLIB_OUTPUT_COMPRESSION]: "
|
|
read ZLIB_OUTPUT_COMPRESSION
|
|
if [ "X$ZLIB_OUTPUT_COMPRESSION" = "X" ]; then
|
|
ZLIB_OUTPUT_COMPRESSION=$_ZLIB_OUTPUT_COMPRESSION
|
|
fi
|
|
__read_val=${ZLIB_OUTPUT_COMPRESSION,,}
|
|
if [[ "$__read_val" != "on" ]] && [[ "$__read_val" != "off" ]]; then
|
|
warn "value for zlib.output_compression must be 'On' or 'Off'"
|
|
ZLIB_OUTPUT_COMPRESSION=
|
|
continue
|
|
fi
|
|
done
|
|
if [[ "$__read_val" = "on" ]] ; then
|
|
ZLIB_OUTPUT_COMPRESSION="On"
|
|
else
|
|
ZLIB_OUTPUT_COMPRESSION="Off"
|
|
fi
|
|
|
|
|
|
|
|
|
|
## - php.ini: memory_limit
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
__memory_limit=$(grep -e "^\s*memory_limit" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
if [ -n "$__memory_limit" ] ; then
|
|
_MEMORY_LIMIT=$__memory_limit
|
|
fi
|
|
fi
|
|
|
|
MEMORY_LIMIT=""
|
|
while [[ "X$MEMORY_LIMIT" = "X" ]]; do
|
|
echononl "memory_limit - Append unit \"K\", \"M\" or \"G\" [$_MEMORY_LIMIT]: "
|
|
read MEMORY_LIMIT
|
|
if [ "X$MEMORY_LIMIT" = "X" ]; then
|
|
MEMORY_LIMIT=$_MEMORY_LIMIT
|
|
fi
|
|
if is_int $MEMORY_LIMIT ; then
|
|
MEMORY_LIMIT="${MEMORY_LIMIT}M"
|
|
warn "No unit is given. \"M\" was appended: memory_limit: $MEMORY_LIMIT"
|
|
continue
|
|
fi
|
|
_unit="${MEMORY_LIMIT: -1}"
|
|
if [[ "$_unit" != "K" ]] && [[ "$_unit" != "M" ]] && [[ "$_unit" != "G" ]]; then
|
|
warn "Wrong unit was given for memory_limit. Reenter again"
|
|
MEMORY_LIMIT=""
|
|
continue
|
|
fi
|
|
if ! is_int ${MEMORY_LIMIT::-1} ; then
|
|
warn "Wrong value for memory_limit. was given. Reenter again"
|
|
MEMORY_LIMIT=""
|
|
fi
|
|
done
|
|
|
|
## - php.ini: max_execution_time
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
__max_execution_time=$(grep -e "^\s*max_execution_time" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
if [ -n "$__max_execution_time" ] ; then
|
|
_MAX_EXECUTION_TIME=$__max_execution_time
|
|
fi
|
|
fi
|
|
|
|
MAX_EXECUTION_TIME=""
|
|
while [[ "X$MAX_EXECUTION_TIME" = "X" ]]; do
|
|
echononl "max_execution_time (in Seconds) !! insert ONLY the number? [$_MAX_EXECUTION_TIME]: "
|
|
read MAX_EXECUTION_TIME
|
|
if [ "X$MAX_EXECUTION_TIME" = "X" ]; then
|
|
MAX_EXECUTION_TIME=$_MAX_EXECUTION_TIME
|
|
fi
|
|
if ! is_int ${MAX_EXECUTION_TIME} ; then
|
|
warn "Wrong value for max_execution_time was given. Reenter again"
|
|
MAX_EXECUTION_TIME=""
|
|
fi
|
|
done
|
|
|
|
## - php.ini: upload_max_filesize
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
__upload_max_filesize=$(grep -e "^\s*upload_max_filesize" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
if [ -n "$__upload_max_filesize" ] ; then
|
|
_UPLOAD_MAX_FILESIZE=$__upload_max_filesize
|
|
fi
|
|
fi
|
|
|
|
## - php.ini: max_input_time
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
__max_input_time=$(grep -e "^\s*max_input_time" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
if [ -n "$__max_input_time" ] ; then
|
|
_MAX_INPUT_TIME=$__max_input_time
|
|
fi
|
|
fi
|
|
|
|
MAX_INPUT_TIME=""
|
|
while [[ "X$MAX_INPUT_TIME" = "X" ]]; do
|
|
echononl "max_input_time (in Seconds) !! insert ONLY the number? [$_MAX_INPUT_TIME]: "
|
|
read MAX_INPUT_TIME
|
|
if [ "X$MAX_INPUT_TIME" = "X" ]; then
|
|
MAX_INPUT_TIME=$_MAX_INPUT_TIME
|
|
fi
|
|
if ! is_int ${MAX_INPUT_TIME} ; then
|
|
warn "Wrong value for max_input_time was given. Reenter again"
|
|
MAX_INPUT_TIME=""
|
|
fi
|
|
done
|
|
|
|
## - php.ini: upload_max_filesize
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
__upload_max_filesize=$(grep -e "^\s*upload_max_filesize" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
if [ -n "$__upload_max_filesize" ] ; then
|
|
_UPLOAD_MAX_FILESIZE=$__upload_max_filesize
|
|
fi
|
|
fi
|
|
|
|
UPLOAD_MAX_FILESIZE=""
|
|
while [[ "X$UPLOAD_MAX_FILESIZE" = "X" ]]; do
|
|
echononl "upload_max_filesize - Append unit \"K\", \"M\" or \"G\" [$_UPLOAD_MAX_FILESIZE]: "
|
|
read UPLOAD_MAX_FILESIZE
|
|
if [ "X$UPLOAD_MAX_FILESIZE" = "X" ]; then
|
|
UPLOAD_MAX_FILESIZE=$_UPLOAD_MAX_FILESIZE
|
|
fi
|
|
if is_int $UPLOAD_MAX_FILESIZE ; then
|
|
UPLOAD_MAX_FILESIZE="${UPLOAD_MAX_FILESIZE}M"
|
|
warn "No unit is given. \"M\" was appended: upload_max_filesize: $UPLOAD_MAX_FILESIZE"
|
|
continue
|
|
fi
|
|
_unit="${UPLOAD_MAX_FILESIZE: -1}"
|
|
if [[ "$_unit" != "K" ]] && [[ "$_unit" != "M" ]] && [[ "$_unit" != "G" ]]; then
|
|
warn "Wrong unit was given for upload_max_filesize Reenter again"
|
|
UPLOAD_MAX_FILESIZE=""
|
|
continue
|
|
fi
|
|
if ! is_int ${UPLOAD_MAX_FILESIZE::-1} ; then
|
|
warn "Wrong value for upload_max_filesize was given. Reenter again"
|
|
UPLOAD_MAX_FILESIZE=""
|
|
fi
|
|
done
|
|
|
|
## - php.ini: post_max_size
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
__post_max_size=$(grep -e "^\s*post_max_size" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
if [ -n "$__post_max_size" ] ; then
|
|
_POST_MAX_SIZE=$__post_max_size
|
|
fi
|
|
fi
|
|
|
|
POST_MAX_SIZE=""
|
|
while [[ "X$POST_MAX_SIZE" = "X" ]]; do
|
|
echononl "post_max_size - Append unit \"K\", \"M\" or \"G\" [$_POST_MAX_SIZE]: "
|
|
read POST_MAX_SIZE
|
|
if [ "X$POST_MAX_SIZE" = "X" ]; then
|
|
POST_MAX_SIZE=$_POST_MAX_SIZE
|
|
fi
|
|
if is_int $POST_MAX_SIZE ; then
|
|
POST_MAX_SIZE="${POST_MAX_SIZE}M"
|
|
warn "No unit was given. So I apaended \"M\": post_max_size: $POST_MAX_SIZE"
|
|
continue
|
|
fi
|
|
_unit="${POST_MAX_SIZE: -1}"
|
|
if [[ "$_unit" != "K" ]] && [[ "$_unit" != "M" ]] && [[ "$_unit" != "G" ]]; then
|
|
warn "Wrong unit was given for post_max_size. Reenter again"
|
|
POST_MAX_SIZE=""
|
|
continue
|
|
fi
|
|
if ! is_int ${POST_MAX_SIZE::-1} ; then
|
|
warn "Wrong value for post_max_size was given. Reenter again"
|
|
POST_MAX_SIZE=""
|
|
fi
|
|
done
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo -e "Install support of PHP-FPM (FastCGI Process Manager) [ \033[33myes/no\033[m ]"
|
|
echo ""
|
|
echo ""
|
|
OK=""
|
|
while [ "X$OK" = "X" ]
|
|
do
|
|
echononl "Install FPM support ? [ $_PHP_FPM_SUPPORT ] "
|
|
read OK
|
|
__to_lower=`echo $OK | tr '[:upper:]' '[:lower:]' | tr -d ' '`
|
|
if [ "X$OK" = "X" ]; then
|
|
OK=$_PHP_FPM_SUPPORT
|
|
break
|
|
fi
|
|
if [ "$__to_lower" = "yes" -o "$__to_lower" = "no" ]; then
|
|
OK=$__to_lower
|
|
break
|
|
fi
|
|
echo ""
|
|
echo -e "\t\033[31mWrong entry !! Try again..\033[m"
|
|
echo ""
|
|
OK=
|
|
done
|
|
if [ "$OK" = "yes" ]; then
|
|
WITH_PHP_FPM_SUPPORT=true
|
|
ACTIVATE_PHP_FPM_INIT_SCRIPT=true
|
|
|
|
DEFAULT_OPCACHE_ERROR_LOG="/var/log/php-${PHP_MAIN_VERSION}-fpm/opcache_error.log"
|
|
|
|
else
|
|
WITH_PHP_FPM_SUPPORT=false
|
|
ACTIVATE_PHP_FPM_INIT_SCRIPT=false
|
|
fi
|
|
|
|
if $WITH_PHP_FPM_SUPPORT ; then
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo ""
|
|
OK=""
|
|
echononl "Set \"umask\" to \"0002\" for PHP-FPM process? [no]: "
|
|
read OK
|
|
while [ "X$OK" != "Xyes" -a "X$OK" != "XYes" -a "X$OK" != "Xno" -a "X$OK" != "XNo" -a "X$OK" != "X" ]; do
|
|
echononl "falsche Angabe! [no]: "
|
|
read OK
|
|
done
|
|
if [ "$OK" = "yes" -o "$OK" = "Yes" ]; then
|
|
SET_UMASK=true
|
|
UMASK=0002
|
|
else
|
|
SET_UMASK=false
|
|
fi
|
|
|
|
|
|
DEFAULT_FPM_POOL_START_SERVER=15
|
|
DEFAULT_FPM_POOL_MIN_SPARE=6
|
|
DEFAULT_FPM_POOL_MAX_SPARE=24
|
|
DEFAULT_FPM_POOL_MAX_REQUESTS=500
|
|
DEFAULT_FPM_POOL_MAX_CHILDREN=250
|
|
|
|
# If php pool definitions exists on installed php, then take that value
|
|
#
|
|
if [[ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" ]] ; then
|
|
__pm_start_servers=$(grep -e "^\s*pm.start_servers" "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" | awk '{print$3}')
|
|
if [[ -n "$__pm_start_servers" ]] ; then
|
|
DEFAULT_FPM_POOL_START_SERVER=$__pm_start_servers
|
|
fi
|
|
fi
|
|
|
|
if [[ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" ]] ; then
|
|
__pm_min_spare_servers=$(grep -e "^\s*pm.min_spare_servers" "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" | awk '{print$3}')
|
|
if [[ -n "$__pm_min_spare_servers" ]] ; then
|
|
DEFAULT_FPM_POOL_MIN_SPARE=$__pm_min_spare_servers
|
|
fi
|
|
fi
|
|
|
|
if [[ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" ]] ; then
|
|
__pm_max_spare_servers=$(grep -e "^\s*pm.max_spare_servers" "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" | awk '{print$3}')
|
|
if [[ -n "$__pm_max_spare_servers" ]] ; then
|
|
DEFAULT_FPM_POOL_MAX_SPARE=$__pm_max_spare_servers
|
|
fi
|
|
fi
|
|
|
|
if [[ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" ]] ; then
|
|
__pm_max_requests=$(grep -e "^\s*pm.max_requests" "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" | awk '{print$3}')
|
|
if [[ -n "$__pm_max_requests" ]] ; then
|
|
DEFAULT_FPM_POOL_MAX_REQUESTS=$__pm_max_requests
|
|
fi
|
|
fi
|
|
|
|
if [[ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" ]] ; then
|
|
__pm_max_children=$(grep -e "^\s*pm.max_children" "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" | awk '{print$3}')
|
|
if [[ -n "$__pm_max_children" ]] ; then
|
|
DEFAULT_FPM_POOL_MAX_CHILDREN=$__pm_max_children
|
|
fi
|
|
fi
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo -e "Set PHP run directory (the directory where your php socket file is located"
|
|
echo ""
|
|
echo "posstible values are:"
|
|
echo " /tmp"
|
|
echo " /run/php"
|
|
echo " /var/run/php (deprecated"
|
|
echo ""
|
|
|
|
if [[ "$os_dist" = "debian" ]] && [[ $os_version -gt 9 ]] ; then
|
|
DEFAULT_FPM_RUN_DIR="/run/php"
|
|
else
|
|
DEFAULT_FPM_RUN_DIR="/var/run/php"
|
|
fi
|
|
FPM_RUN_DIR=""
|
|
while [[ -z "$FPM_RUN_DIR" ]] ; do
|
|
echononl "Define PHP run directory [\033[33m${DEFAULT_FPM_RUN_DIR}\033[m]: "
|
|
read FPM_RUN_DIR
|
|
if [[ -z "$FPM_RUN_DIR" ]]; then
|
|
FPM_RUN_DIR="${DEFAULT_FPM_RUN_DIR}"
|
|
else
|
|
if [[ ! "${FPM_RUN_DIR}" = "/tmp" ]] && [[ ! "${FPM_RUN_DIR}" = "/run" ]] \
|
|
&& [[ ! "${FPM_RUN_DIR}" = "/var/run" ]] ; then
|
|
echo -e "\n\t\033{1;mWrong value was given..\033[m]\n"
|
|
FPM_RUN_DIR=""
|
|
fi
|
|
fi
|
|
done
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo -e "Some FPM Pool Definitions for php-fpm.conf or included files.."
|
|
echo ""
|
|
echo "Possible values:"
|
|
echo " pm.start_servers 3 6 9 15"
|
|
echo " pm.min_spare_servers 2 4 6 6"
|
|
echo " pm.max_spare_servers 4 8 12 24"
|
|
echo ""
|
|
|
|
FPM_POOL_START_SERVER=""
|
|
while [[ "X$FPM_POOL_START_SERVER" = "X" ]]; do
|
|
echononl "pm.start_servers: [$DEFAULT_FPM_POOL_START_SERVER] "
|
|
read FPM_POOL_START_SERVER
|
|
if [ "X$FPM_POOL_START_SERVER" = "X" ]; then
|
|
FPM_POOL_START_SERVER=$DEFAULT_FPM_POOL_START_SERVER
|
|
break
|
|
fi
|
|
if ! is_int $FPM_POOL_START_SERVER ; then
|
|
warn "Wrong value for pm.start_servers was given (mus be an integer). Reenter again"
|
|
FPM_POOL_START_SERVER=""
|
|
continue
|
|
fi
|
|
done
|
|
|
|
FPM_POOL_MIN_SPARE=""
|
|
while [[ "X$FPM_POOL_MIN_SPARE" = "X" ]]; do
|
|
echononl "pm.min_spare_servers: [$DEFAULT_FPM_POOL_MIN_SPARE] "
|
|
read FPM_POOL_MIN_SPARE
|
|
if [ "X$FPM_POOL_MIN_SPARE" = "X" ]; then
|
|
FPM_POOL_MIN_SPARE=$DEFAULT_FPM_POOL_MIN_SPARE
|
|
break
|
|
fi
|
|
if ! is_int $FPM_POOL_MIN_SPARE ; then
|
|
warn "Wrong value for pm.min_spare_servers was given (mus be an integer). Reenter again"
|
|
FPM_POOL_MIN_SPARE=""
|
|
continue
|
|
fi
|
|
done
|
|
|
|
FPM_POOL_MAX_SPARE=""
|
|
while [[ "X$FPM_POOL_MAX_SPARE" = "X" ]]; do
|
|
echononl "pm.max_spare_servers: [$DEFAULT_FPM_POOL_MAX_SPARE] "
|
|
read FPM_POOL_MAX_SPARE
|
|
if [ "X$FPM_POOL_MAX_SPARE" = "X" ]; then
|
|
FPM_POOL_MAX_SPARE=$DEFAULT_FPM_POOL_MAX_SPARE
|
|
break
|
|
fi
|
|
if ! is_int $FPM_POOL_MAX_SPARE ; then
|
|
warn "Wrong value for pm.max_spare_servers was given (mus be an integer). Reenter again"
|
|
FPM_POOL_MAX_SPARE=""
|
|
continue
|
|
fi
|
|
done
|
|
|
|
FPM_POOL_MAX_REQUESTS=""
|
|
while [[ "X$FPM_POOL_MAX_REQUESTS" = "X" ]]; do
|
|
echononl "pm.max_requests: [$DEFAULT_FPM_POOL_MAX_REQUESTS] "
|
|
read FPM_POOL_MAX_REQUESTS
|
|
if [ "X$FPM_POOL_MAX_REQUESTS" = "X" ]; then
|
|
FPM_POOL_MAX_REQUESTS=$DEFAULT_FPM_POOL_MAX_REQUESTS
|
|
break
|
|
fi
|
|
if ! is_int $FPM_POOL_MAX_REQUESTS ; then
|
|
warn "Wrong value for pm.max_request was given (mus be an integer). Reenter again"
|
|
FPM_POOL_MAX_REQUESTS=""
|
|
continue
|
|
fi
|
|
done
|
|
|
|
FPM_POOL_MAX_CHILDREN=""
|
|
while [[ "X$FPM_POOL_MAX_CHILDREN" = "X" ]]; do
|
|
echononl "pm.max_children: [$DEFAULT_FPM_POOL_MAX_CHILDREN] "
|
|
read FPM_POOL_MAX_CHILDREN
|
|
if [ "X$FPM_POOL_MAX_CHILDREN" = "X" ]; then
|
|
FPM_POOL_MAX_CHILDREN=$DEFAULT_FPM_POOL_MAX_CHILDREN
|
|
break
|
|
fi
|
|
if ! is_int $FPM_POOL_MAX_CHILDREN ; then
|
|
warn "Wrong value for pm.max_children was given (mus be an integer). Reenter again"
|
|
FPM_POOL_MAX_CHILDREN=""
|
|
continue
|
|
fi
|
|
done
|
|
|
|
|
|
fi
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo -e "\033[1mDefine Parameters for 'opcache' extension\033[m"
|
|
echo -e "\033[32m--\033[m"
|
|
|
|
|
|
# - php.ini - opcache extension: opcache.enable
|
|
_key="opcache.enable"
|
|
_default_val=$DEFAULT_OPCACHE_ENABLE
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_OPCACHE_ENABLE=$(grep -e "^\s*${_key}/s*=" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_OPCACHE_ENABLE" ]] && _OPCACHE_ENABLE=$_default_val
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32mopcache.enable\033[m (bool)"
|
|
echo ""
|
|
echo " Enables the opcode cache. When disabled, code is not optimised or cached."
|
|
echo " The setting opcache.enable can not be enabled at runtime through ini_set(),"
|
|
echo " it can only be disabled. Trying to enable it in a script will generate a warning. "
|
|
echo ""
|
|
echo -e "\033[33mIts recommend to leave this enabled (\033[1m1\033[m)"
|
|
echo ""
|
|
OPCACHE_ENABLE=""
|
|
while [[ "X$OPCACHE_ENABLE" = "X" ]]; do
|
|
echononl "opcache.enable [$_OPCACHE_ENABLE]: "
|
|
read OPCACHE_ENABLE
|
|
if [ "X$OPCACHE_ENABLE" = "X" ]; then
|
|
OPCACHE_ENABLE=$_OPCACHE_ENABLE
|
|
continue
|
|
fi
|
|
if [[ "${OPCACHE_ENABLE}" != 0 ]] \
|
|
&& [[ "${OPCACHE_ENABLE,,}" != "no" ]] \
|
|
&& [[ "${OPCACHE_ENABLE,,}" != "false" ]] \
|
|
&& [[ "${OPCACHE_ENABLE}" != 1 ]] \
|
|
&& [[ "${OPCACHE_ENABLE,,}" != "yes" ]] \
|
|
&& [[ "${OPCACHE_ENABLE,,}" != "true" ]] ; then
|
|
OPCACHE_ENABLE=""
|
|
warn "Value for 'opcache.enable' must be bool [1/0/true/false/yes/no]."
|
|
continue
|
|
fi
|
|
echo ""
|
|
echo "OPCACHE_ENABLE: $OPCACHE_ENABLE"
|
|
echo "OPCACHE_ENABLE: ${OPCACHE_ENABLE,,}"
|
|
echo ""
|
|
if [[ "${OPCACHE_ENABLE,,}" = "no" ]] \
|
|
|| [[ "${OPCACHE_ENABLE,,}" = "false" ]]; then
|
|
OPCACHE_ENABLE=0
|
|
elif [[ "${OPCACHE_ENABLE,,}" = "yes" ]] \
|
|
|| [[ "${OPCACHE_ENABLE,,}" = "true" ]]; then
|
|
OPCACHE_ENABLE=1
|
|
fi
|
|
done
|
|
|
|
|
|
# - php.ini - opcache extension: opcache.enable_cli
|
|
_key="opcache.enable_cli"
|
|
_default_val=$DEFAULT_OPCACHE_ENABLE_CLI
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_OPCACHE_ENABLE_CLI=$(grep -e "^\s*${_key}" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_OPCACHE_ENABLE_CLI" ]] && _OPCACHE_ENABLE_CLI=$_default_val
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32mopcache.enable_cli\033[m (bool)"
|
|
echo ""
|
|
echo " Enables the opcode cache for the CLI version of PHP. "
|
|
echo ""
|
|
OPCACHE_ENABLE_CLI=""
|
|
while [[ "X$OPCACHE_ENABLE_CLI" = "X" ]]; do
|
|
echononl "opcache.enable_cli [$_OPCACHE_ENABLE_CLI]: "
|
|
read OPCACHE_ENABLE_CLI
|
|
if [ "X$OPCACHE_ENABLE_CLI" = "X" ]; then
|
|
OPCACHE_ENABLE_CLI=$_OPCACHE_ENABLE_CLI
|
|
continue
|
|
fi
|
|
if [[ "${OPCACHE_ENABLE_CLI}" != 0 ]] \
|
|
&& [[ "${OPCACHE_ENABLE_CLI,,}" != "no" ]] \
|
|
&& [[ "${OPCACHE_ENABLE_CLI,,}" != "false" ]] \
|
|
&& [[ "${OPCACHE_ENABLE_CLI}" != 1 ]] \
|
|
&& [[ "${OPCACHE_ENABLE_CLI,,}" != "yes" ]] \
|
|
&& [[ "${OPCACHE_ENABLE_CLI,,}" != "true" ]] ; then
|
|
OPCACHE_ENABLE_CLI=""
|
|
warn "Value for 'opcache.enable_cli' must be bool [1/0/true/false/yes/no]."
|
|
continue
|
|
fi
|
|
echo ""
|
|
echo "OPCACHE_ENABLE_CLI: $OPCACHE_ENABLE_CLI"
|
|
echo "OPCACHE_ENABLE_CLI: ${OPCACHE_ENABLE_CLI,,}"
|
|
echo ""
|
|
if [[ "${OPCACHE_ENABLE_CLI,,}" = "no" ]] \
|
|
|| [[ "${OPCACHE_ENABLE_CLI,,}" = "false" ]]; then
|
|
OPCACHE_ENABLE_CLI=0
|
|
elif [[ "${OPCACHE_ENABLE_CLI,,}" = "yes" ]] \
|
|
|| [[ "${OPCACHE_ENABLE_CLI,,}" = "true" ]]; then
|
|
OPCACHE_ENABLE_CLI=1
|
|
fi
|
|
done
|
|
|
|
|
|
# - php.ini - opcache extension: opcache.memory_consumption
|
|
_key="opcache.memory_consumption"
|
|
_default_val=$DEFAULT_OPCACHE_MEMORY_CONSUMPTION
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_OPCACHE_MEMORY_CONSUMPTION=$(grep -e "^\s*${_key}" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_OPCACHE_MEMORY_CONSUMPTION" ]] && _OPCACHE_MEMORY_CONSUMPTION=$_default_val
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32m${_key}\033[m (int - in megabytes)"
|
|
echo ""
|
|
echo " The size of the shared memory storage used by OPcache, in megabytes. The minimum"
|
|
echo " permissible value is "8", which is enforced if a smaller value is set."
|
|
echo ""
|
|
OPCACHE_MEMORY_CONSUMPTION=""
|
|
while [[ "X$OPCACHE_MEMORY_CONSUMPTION" = "X" ]]; do
|
|
echononl "${_key} [$_OPCACHE_MEMORY_CONSUMPTION]: "
|
|
read OPCACHE_MEMORY_CONSUMPTION
|
|
if [ "X$OPCACHE_MEMORY_CONSUMPTION" = "X" ]; then
|
|
OPCACHE_MEMORY_CONSUMPTION=$_OPCACHE_MEMORY_CONSUMPTION
|
|
fi
|
|
if ! is_int $OPCACHE_MEMORY_CONSUMPTION ; then
|
|
OPCACHE_MEMORY_CONSUMPTION=""
|
|
warn "Value for '${_key} must be a number."
|
|
continue
|
|
fi
|
|
done
|
|
|
|
|
|
# - php.ini - opcache extension: opcache.interned_strings_buffer
|
|
_key="opcache.interned_strings_buffer"
|
|
_default_val=$DEFAULT_OPCACHE_INTERNED_STRINGS_BUFFER
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_OPCACHE_INTERNED_STRINGS_BUFFER=$(grep -e "^\s*${_key}" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_OPCACHE_INTERNED_STRINGS_BUFFER" ]] && _OPCACHE_INTERNED_STRINGS_BUFFER=$_default_val
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32m${_key}\033[m (int - in megabytes)"
|
|
echo ""
|
|
echo " The amount of memory used to store interned strings, in megabytes. "
|
|
echo ""
|
|
OPCACHE_INTERNED_STRINGS_BUFFER=""
|
|
while [[ "X$OPCACHE_INTERNED_STRINGS_BUFFER" = "X" ]]; do
|
|
echononl "${_key} [$_OPCACHE_INTERNED_STRINGS_BUFFER]: "
|
|
read OPCACHE_INTERNED_STRINGS_BUFFER
|
|
if [ "X$OPCACHE_INTERNED_STRINGS_BUFFER" = "X" ]; then
|
|
OPCACHE_INTERNED_STRINGS_BUFFER=$_OPCACHE_INTERNED_STRINGS_BUFFER
|
|
fi
|
|
if ! is_int $OPCACHE_INTERNED_STRINGS_BUFFER ; then
|
|
OPCACHE_INTERNED_STRINGS_BUFFER=""
|
|
warn "Value for '${_key}' must be a number."
|
|
continue
|
|
fi
|
|
done
|
|
|
|
|
|
# - php.ini - opcache extension: opcache.max_accelerated_files
|
|
_key="opcache.max_accelerated_files"
|
|
_default_val=$DEFAULT_OPCACHE_MAX_ACCELERATED_FILES
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_OPCACHE_MAX_ACCELERATED_FILES=$(grep -e "^\s*${_key}" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_OPCACHE_MAX_ACCELERATED_FILES" ]] && _OPCACHE_MAX_ACCELERATED_FILES=$_default_val
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32m${_key}\033[m (int)"
|
|
echo ""
|
|
OPCACHE_MAX_ACCELERATED_FILES=""
|
|
while [[ "X$OPCACHE_MAX_ACCELERATED_FILES" = "X" ]]; do
|
|
echononl "${_key} [$_OPCACHE_MAX_ACCELERATED_FILES]: "
|
|
read OPCACHE_MAX_ACCELERATED_FILES
|
|
if [ "X$OPCACHE_MAX_ACCELERATED_FILES" = "X" ]; then
|
|
OPCACHE_MAX_ACCELERATED_FILES=$_OPCACHE_MAX_ACCELERATED_FILES
|
|
fi
|
|
if ! is_int $OPCACHE_MAX_ACCELERATED_FILES ; then
|
|
OPCACHE_MAX_ACCELERATED_FILES=""
|
|
warn "Value for '${_key}' be a number."
|
|
continue
|
|
fi
|
|
done
|
|
|
|
|
|
# - php.ini - opcache extension: opcache.revalidate_freq
|
|
_key="opcache.revalidate_freq"
|
|
_default_val=$DEFAULT_OPCACHE_REVALIDATE_FREQ
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_OPCACHE_REVALIDATE_FREQ=$(grep -e "^\s*${_key}" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_OPCACHE_REVALIDATE_FREQ" ]] && _OPCACHE_REVALIDATE_FREQ=$_default_val
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32m${_key}\033[m (int)"
|
|
echo ""
|
|
echo " How often to check script timestamps for updates, in seconds."
|
|
echo " 0 will result in OPcache checking for updates on every request."
|
|
echo ""
|
|
echo " This configuration directive is ignored if opcache.validate_timestamps"
|
|
echo " is disabled. "
|
|
echo ""
|
|
echo -e "\033[33mOn deveelopment systems maybe you want to set this value to \033[1m0\033[m"
|
|
echo ""
|
|
OPCACHE_REVALIDATE_FREQ=""
|
|
while [[ "X$OPCACHE_REVALIDATE_FREQ" = "X" ]]; do
|
|
echononl "${_key} [$_OPCACHE_REVALIDATE_FREQ]: "
|
|
read OPCACHE_REVALIDATE_FREQ
|
|
if [ "X$OPCACHE_REVALIDATE_FREQ" = "X" ]; then
|
|
OPCACHE_REVALIDATE_FREQ=$_OPCACHE_REVALIDATE_FREQ
|
|
fi
|
|
if ! is_int $OPCACHE_REVALIDATE_FREQ ; then
|
|
OPCACHE_REVALIDATE_FREQ=""
|
|
warn "Value for '${_key}' must be a number."
|
|
continue
|
|
fi
|
|
done
|
|
|
|
|
|
# - php.ini - opcache extension: opcache.validate_timestamps
|
|
_key="opcache.validate_timestamps"
|
|
_default_val=$DEFAULT_OPCACHE_VALIDATE_TIMESTAMPS
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_OPCACHE_VALIDATE_TIMESTAMPS=$(grep -e "^\s*${_key}" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_OPCACHE_VALIDATE_TIMESTAMPS" ]] && _OPCACHE_VALIDATE_TIMESTAMPS=$_default_val
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32m${_key}\033[m (bool)"
|
|
echo ""
|
|
echo " If enabled, OPcache will check for updated scripts every opcache.revalidate_freq seconds."
|
|
echo " When this directive is disabled, you must reset OPcache manually via opcache_reset(),"
|
|
echo " opcache_invalidate() or by restarting the Web server for changes to the filesystem"
|
|
echo " to take effect."
|
|
echo ""
|
|
echo -e "\033[33mTo disable this OPcache check, set value to \033[1m0\033[m"
|
|
echo ""
|
|
OPCACHE_VALIDATE_TIMESTAMPS=""
|
|
while [[ "X$OPCACHE_VALIDATE_TIMESTAMPS" = "X" ]]; do
|
|
echononl "${_key} [$_OPCACHE_VALIDATE_TIMESTAMPS]: "
|
|
read OPCACHE_VALIDATE_TIMESTAMPS
|
|
if [ "X$OPCACHE_VALIDATE_TIMESTAMPS" = "X" ]; then
|
|
OPCACHE_VALIDATE_TIMESTAMPS=$_OPCACHE_VALIDATE_TIMESTAMPS
|
|
continue
|
|
fi
|
|
if [[ "${OPCACHE_VALIDATE_TIMESTAMPS}" != 0 ]] \
|
|
&& [[ "${OPCACHE_VALIDATE_TIMESTAMPS,,}" != "no" ]] \
|
|
&& [[ "${OPCACHE_VALIDATE_TIMESTAMPS,,}" != "false" ]] \
|
|
&& [[ "${OPCACHE_VALIDATE_TIMESTAMPS}" != 1 ]] \
|
|
&& [[ "${OPCACHE_VALIDATE_TIMESTAMPS,,}" != "yes" ]] \
|
|
&& [[ "${OPCACHE_VALIDATE_TIMESTAMPS,,}" != "true" ]] ; then
|
|
OPCACHE_VALIDATE_TIMESTAMPS=""
|
|
warn "Value for '${_key}' must be bool [1/0/true/false/yes/no]."
|
|
continue
|
|
fi
|
|
echo ""
|
|
echo "OPCACHE_VALIDATE_TIMESTAMPS: $OPCACHE_VALIDATE_TIMESTAMPS"
|
|
echo "OPCACHE_VALIDATE_TIMESTAMPS: ${OPCACHE_VALIDATE_TIMESTAMPS,,}"
|
|
echo ""
|
|
if [[ "${OPCACHE_VALIDATE_TIMESTAMPS,,}" = "no" ]] \
|
|
|| [[ "${OPCACHE_VALIDATE_TIMESTAMPS,,}" = "false" ]]; then
|
|
OPCACHE_VALIDATE_TIMESTAMPS=0
|
|
elif [[ "${OPCACHE_VALIDATE_TIMESTAMPS,,}" = "yes" ]] \
|
|
|| [[ "${OPCACHE_VALIDATE_TIMESTAMPS,,}" = "true" ]]; then
|
|
OPCACHE_VALIDATE_TIMESTAMPS=1
|
|
fi
|
|
done
|
|
|
|
|
|
# - php.ini - opcache extension: opcache.consistency_checks
|
|
_key="opcache.consistency_checks"
|
|
_default_val=$DEFAULT_OPCACHE_CONSISTENCY_CHECKS
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_OPCACHE_CONSISTENCY_CHECKS=$(grep -e "^\s*${_key}" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_OPCACHE_CONSISTENCY_CHECKS" ]] && _OPCACHE_CONSISTENCY_CHECKS=$_default_val
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32m${_key}\033[m (bool)"
|
|
echo ""
|
|
echo " If enabled, OPcache will check for updated scripts every opcache.revalidate_freq seconds."
|
|
echo " When this directive is disabled, you must reset OPcache manually via opcache_reset(),"
|
|
echo " opcache_invalidate() or by restarting the Web server for changes to the filesystem"
|
|
echo " to take effect."
|
|
echo ""
|
|
echo -e "\033[33mTo disable this OPcache check, set value to \033[1m0\033[m"
|
|
echo ""
|
|
OPCACHE_CONSISTENCY_CHECKS=""
|
|
while [[ "X$OPCACHE_CONSISTENCY_CHECKS" = "X" ]]; do
|
|
echononl "${_key} [$_OPCACHE_CONSISTENCY_CHECKS]: "
|
|
read OPCACHE_CONSISTENCY_CHECKS
|
|
if [ "X$OPCACHE_CONSISTENCY_CHECKS" = "X" ]; then
|
|
OPCACHE_CONSISTENCY_CHECKS=$_OPCACHE_CONSISTENCY_CHECKS
|
|
continue
|
|
fi
|
|
if [[ "${OPCACHE_CONSISTENCY_CHECKS}" != 0 ]] \
|
|
&& [[ "${OPCACHE_CONSISTENCY_CHECKS,,}" != "no" ]] \
|
|
&& [[ "${OPCACHE_CONSISTENCY_CHECKS,,}" != "false" ]] \
|
|
&& [[ "${OPCACHE_CONSISTENCY_CHECKS}" != 1 ]] \
|
|
&& [[ "${OPCACHE_CONSISTENCY_CHECKS,,}" != "yes" ]] \
|
|
&& [[ "${OPCACHE_CONSISTENCY_CHECKS,,}" != "true" ]] ; then
|
|
OPCACHE_CONSISTENCY_CHECKS=""
|
|
warn "Value for '${_key}' must be bool [1/0/true/false/yes/no]."
|
|
continue
|
|
fi
|
|
echo ""
|
|
echo "OPCACHE_CONSISTENCY_CHECKS: $OPCACHE_CONSISTENCY_CHECKS"
|
|
echo "OPCACHE_CONSISTENCY_CHECKS: ${OPCACHE_CONSISTENCY_CHECKS,,}"
|
|
echo ""
|
|
if [[ "${OPCACHE_CONSISTENCY_CHECKS,,}" = "no" ]] \
|
|
|| [[ "${OPCACHE_CONSISTENCY_CHECKS,,}" = "false" ]]; then
|
|
OPCACHE_CONSISTENCY_CHECKS=0
|
|
elif [[ "${OPCACHE_CONSISTENCY_CHECKS,,}" = "yes" ]] \
|
|
|| [[ "${OPCACHE_CONSISTENCY_CHECKS,,}" = "true" ]]; then
|
|
OPCACHE_CONSISTENCY_CHECKS=1
|
|
fi
|
|
done
|
|
|
|
|
|
# - php.ini - opcache extension: opcache.error_log
|
|
_key="opcache.error_log"
|
|
_default_val="${DEFAULT_OPCACHE_ERROR_LOG}"
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_OPCACHE_ERROR_LOG=$(grep -e "^\s*${_key}" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
|
|
# remove leading double quotes
|
|
_OPCACHE_ERROR_LOG="${_OPCACHE_ERROR_LOG#"${_OPCACHE_ERROR_LOG%%[!\"]*}"}"
|
|
# remove trailing double quotes
|
|
_OPCACHE_ERROR_LOG="${_OPCACHE_ERROR_LOG%"${_OPCACHE_ERROR_LOG##*[!\"]}"}"
|
|
fi
|
|
[[ -z "$_OPCACHE_ERROR_LOG" ]] && _OPCACHE_ERROR_LOG=$_default_val
|
|
|
|
_foud=false
|
|
declare -i __number=4
|
|
OPTION=""
|
|
_CHOOSE=""
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32m${_key}\033[m (string)"
|
|
echo ""
|
|
if [[ "$_OPCACHE_ERROR_LOG" = "/var/log/apache2/opcache_errors.log" ]] ; then
|
|
echo -e " \033[1m[1] /var/log/apache2/opcache_errors.log\033[m"
|
|
_foud=true
|
|
__higlighted=1
|
|
else
|
|
echo " [1] /var/log/apache2/opcache_errors.log"
|
|
fi
|
|
if [[ "$_OPCACHE_ERROR_LOG" = "/var/log/nginx/opcache_errors.log" ]] ; then
|
|
echo -e " \033[1m[2] /var/log/nginx/opcache_errors.log\033[m"
|
|
_foud=true
|
|
__higlighted=2
|
|
else
|
|
echo " [2] /var/log/nginx/opcache_errors.log"
|
|
fi
|
|
if [[ -n "$_OPCACHE_ERROR_LOG" ]] && ! $_foud; then
|
|
echo -e " \033[1m[3] $_OPCACHE_ERROR_LOG\033[m"
|
|
echo -e " [4] other location"
|
|
echo -e " [5] \033[33m-- leave empty -\033[m"
|
|
__higlighted=3
|
|
__number=5
|
|
elif ! $_found ; then
|
|
echo -e " [\033[1m[3] other location"\033[m
|
|
echo -e " [4] \033[33m-- leave empty -\033[m"
|
|
__higlighted=3
|
|
else
|
|
echo -e " [3] other location"
|
|
echo -e " [4] \033[33m-- leave empty -\033[m"
|
|
fi
|
|
|
|
echo ""
|
|
echo "Type a number or press <RETURN> to choose highlighted value"
|
|
echo ""
|
|
echononl "Eingabe: "
|
|
while [[ -z "$_CHOOSE" ]]; do
|
|
read OPTION
|
|
[[ -z "$OPTION" ]] && OPTION=$__higlighted
|
|
case $OPTION in
|
|
1)
|
|
_CHOOSE=1
|
|
OPCACHE_ERROR_LOG="/var/log/apache2/opcache_errors.log"
|
|
;;
|
|
2)
|
|
_CHOOSE=2
|
|
OPCACHE_ERROR_LOG="/var/log/nginx/opcache_errors.log"
|
|
;;
|
|
3)
|
|
_CHOOSE=3
|
|
if [[ $__number -eq 5 ]] ; then
|
|
OPCACHE_ERROR_LOG="$_OPCACHE_ERROR_LOG"
|
|
else
|
|
OPCACHE_ERROR_LOG="OTHER"
|
|
fi
|
|
;;
|
|
4)
|
|
_CHOOSE=4
|
|
if [[ $__number -eq 5 ]] ; then
|
|
OPCACHE_ERROR_LOG="OTHER"
|
|
else
|
|
OPCACHE_ERROR_LOG=""
|
|
fi
|
|
;;
|
|
5)
|
|
if [[ $__number -eq 5 ]] ; then
|
|
_CHOOSE=5
|
|
OPCACHE_ERROR_LOG="EMPTY"
|
|
else
|
|
echo ""
|
|
echo -e "\tFalsche Eingabe ! [1/2/3/4] or type <RETURN> for the highlited default"
|
|
echo ""
|
|
echononl "Eingabe: "
|
|
fi
|
|
;;
|
|
*)
|
|
if [[ $__number -eq 5 ]] ; then
|
|
echo ""
|
|
echo -e "\tFalsche Eingabe ! [1/2/3/4/5] or type <RETURN> for the highlited default"
|
|
echo ""
|
|
echononl "Eingabe: "
|
|
else
|
|
echo ""
|
|
echo -e "\tFalsche Eingabe ! [1/2/3/4] or type <RETURN> for the highlited default"
|
|
echo ""
|
|
echononl "Eingabe: "
|
|
fi
|
|
;;
|
|
esac
|
|
done
|
|
|
|
|
|
echo ""
|
|
if [[ "$OPCACHE_ERROR_LOG" = "OTHER" ]]; then
|
|
|
|
OPCACHE_ERROR_LOG=""
|
|
|
|
while [[ "X$OPCACHE_ERROR_LOG" = "X" ]]; do
|
|
echononl "${_key}: "
|
|
read OPCACHE_ERROR_LOG
|
|
if [ "X$OPCACHE_ERROR_LOG" = "X" ]; then
|
|
warn "Value for '${_key}'must not be empty."
|
|
fi
|
|
if [[ ! -d "$(dirname "$OPCACHE_ERROR_LOG")" ]]; then
|
|
warn "Directory where log file should leave dows not exist!"
|
|
OPCACHE_ERROR_LOG=""
|
|
fi
|
|
done
|
|
fi
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo -e "\033[1mDefine Parameters for 'apcu' extension\033[m"
|
|
echo -e "\033[32m--\033[m"
|
|
|
|
|
|
# - php.ini - apcu extension: apc.enable_cli
|
|
_key="apc.enable_cli"
|
|
_default_val=$DEFAULT_APC_ENABLE_CLI
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_APC_ENABLE_CLI=$(grep -e "^\s*${_key}/s*=" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_APC_ENABLE_CLI" ]] && _APC_ENABLE_CLI=$_default_val
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32m${_key}\033[m (bool)"
|
|
echo ""
|
|
echo " Enables the CLI of the 'apcu' extension. "
|
|
echo ""
|
|
APC_ENABLE_CLI=""
|
|
while [[ "X$APC_ENABLE_CLI" = "X" ]]; do
|
|
echononl "${_key} [$_APC_ENABLE_CLI]: "
|
|
read APC_ENABLE_CLI
|
|
if [ "X$APC_ENABLE_CLI" = "X" ]; then
|
|
APC_ENABLE_CLI=$_APC_ENABLE_CLI
|
|
continue
|
|
fi
|
|
if [[ "${APC_ENABLE_CLI}" != 0 ]] \
|
|
&& [[ "${APC_ENABLE_CLI,,}" != "no" ]] \
|
|
&& [[ "${APC_ENABLE_CLI,,}" != "false" ]] \
|
|
&& [[ "${APC_ENABLE_CLI}" != 1 ]] \
|
|
&& [[ "${APC_ENABLE_CLI,,}" != "yes" ]] \
|
|
&& [[ "${APC_ENABLE_CLI,,}" != "true" ]] ; then
|
|
APC_ENABLE_CLI=""
|
|
warn "Value for '${_key}' must be bool [1/0/true/false/yes/no]."
|
|
continue
|
|
fi
|
|
echo ""
|
|
echo "APC_ENABLE_CLI: $APC_ENABLE_CLI"
|
|
echo "APC_ENABLE_CLI: ${APC_ENABLE_CLI,,}"
|
|
echo ""
|
|
if [[ "${APC_ENABLE_CLI,,}" = "no" ]] \
|
|
|| [[ "${APC_ENABLE_CLI,,}" = "false" ]]; then
|
|
APC_ENABLE_CLI=0
|
|
elif [[ "${APC_ENABLE_CLI,,}" = "yes" ]] \
|
|
|| [[ "${APC_ENABLE_CLI,,}" = "true" ]]; then
|
|
APC_ENABLE_CLI=1
|
|
fi
|
|
done
|
|
|
|
# - php.ini - apcu extension: apc.shm_size
|
|
_key="apc.shm_size"
|
|
_default_val=$DEFAULT_APC_SHM_SIZE
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_APC_SHM_SIZE=$(grep -e "^\s*${_key}" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_APC_SHM_SIZE" ]] && _APC_SHM_SIZE=$_default_val
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32m${_key}\033[m (int - in megabytes)"
|
|
echo ""
|
|
echo " The size of the shared memory storage used by apcu, in megabytes."
|
|
echo ""
|
|
APC_SHM_SIZE=""
|
|
while [[ "X$APC_SHM_SIZE" = "X" ]]; do
|
|
echononl "${_key} [$_APC_SHM_SIZE]: "
|
|
read APC_SHM_SIZE
|
|
if [ "X$APC_SHM_SIZE" = "X" ]; then
|
|
APC_SHM_SIZE=$_APC_SHM_SIZE
|
|
fi
|
|
if is_int $APC_SHM_SIZE ; then
|
|
APC_SHM_SIZE="${APC_SHM_SIZE}M"
|
|
warn "No unit is given. \"M\" was appended: APC_SHM_SIZE: $APC_SHM_SIZE"
|
|
continue
|
|
fi
|
|
_unit="${APC_SHM_SIZE: -1}"
|
|
if [[ "$_unit" != "K" ]] && [[ "$_unit" != "M" ]] && [[ "$_unit" != "G" ]]; then
|
|
warn "Wrong unit was given for APC_SHM_SIZE. Reenter again"
|
|
APC_SHM_SIZE=""
|
|
continue
|
|
fi
|
|
if ! is_int ${APC_SHM_SIZE::-1} ; then
|
|
warn "Wrong value for APC_SHM_SIZE. was given. Reenter again"
|
|
APC_SHM_SIZE=""
|
|
fi
|
|
done
|
|
|
|
|
|
# - php.ini - apcu extension: apc.stat
|
|
_key="apc.stat"
|
|
_default_val=$DEFAULT_APC_STAT
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_APC_STAT=$(grep -e "^\s*${_key}/s*=" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_APC_STAT" ]] && _APC_STAT=$_default_val
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32m${_key}\033[m (bool)"
|
|
echo ""
|
|
APC_STAT=""
|
|
while [[ "X$APC_STAT" = "X" ]]; do
|
|
echononl "${_key} [$_APC_STAT]: "
|
|
read APC_STAT
|
|
if [ "X$APC_STAT" = "X" ]; then
|
|
APC_STAT=$_APC_STAT
|
|
continue
|
|
fi
|
|
if [[ "${APC_STAT}" != 0 ]] \
|
|
&& [[ "${APC_STAT,,}" != "no" ]] \
|
|
&& [[ "${APC_STAT,,}" != "false" ]] \
|
|
&& [[ "${APC_STAT}" != 1 ]] \
|
|
&& [[ "${APC_STAT,,}" != "yes" ]] \
|
|
&& [[ "${APC_STAT,,}" != "true" ]] ; then
|
|
APC_STAT=""
|
|
warn "Value for '${_key}' must be bool [1/0/true/false/yes/no]."
|
|
continue
|
|
fi
|
|
echo ""
|
|
echo "APC_STAT: $APC_STAT"
|
|
echo "APC_STAT: ${APC_STAT,,}"
|
|
echo ""
|
|
if [[ "${APC_STAT,,}" = "no" ]] \
|
|
|| [[ "${APC_STAT,,}" = "false" ]]; then
|
|
APC_STAT=0
|
|
elif [[ "${APC_STAT,,}" = "yes" ]] \
|
|
|| [[ "${APC_STAT,,}" = "true" ]]; then
|
|
APC_STAT=1
|
|
fi
|
|
done
|
|
|
|
|
|
# - php.ini - apcu extension: apcu.stat
|
|
_key="apcu.stat"
|
|
_default_val=$DEFAULT_APCU_STAT
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_APCU_STAT=$(grep -e "^\s*${_key}/s*=" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_APCU_STAT" ]] && _APCU_STAT=$_default_val
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32m${_key}\033[m (bool)"
|
|
echo ""
|
|
APCU_STAT=""
|
|
while [[ "X$APCU_STAT" = "X" ]]; do
|
|
echononl "${_key} [$_APCU_STAT]: "
|
|
read APCU_STAT
|
|
if [ "X$APCU_STAT" = "X" ]; then
|
|
APCU_STAT=$_APCU_STAT
|
|
continue
|
|
fi
|
|
if [[ "${APCU_STAT}" != 0 ]] \
|
|
&& [[ "${APCU_STAT,,}" != "no" ]] \
|
|
&& [[ "${APCU_STAT,,}" != "false" ]] \
|
|
&& [[ "${APCU_STAT}" != 1 ]] \
|
|
&& [[ "${APCU_STAT,,}" != "yes" ]] \
|
|
&& [[ "${APCU_STAT,,}" != "true" ]] ; then
|
|
APCU_STAT=""
|
|
warn "Value for '${_key}' must be bool [1/0/true/false/yes/no]."
|
|
continue
|
|
fi
|
|
echo ""
|
|
echo "APCU_STAT: $APCU_STAT"
|
|
echo "APCU_STAT: ${APCU_STAT,,}"
|
|
echo ""
|
|
if [[ "${APCU_STAT,,}" = "no" ]] \
|
|
|| [[ "${APCU_STAT,,}" = "false" ]]; then
|
|
APCU_STAT=0
|
|
elif [[ "${APCU_STAT,,}" = "yes" ]] \
|
|
|| [[ "${APCU_STAT,,}" = "true" ]]; then
|
|
APCU_STAT=1
|
|
fi
|
|
done
|
|
|
|
|
|
# - php.ini - apcu extension: apc.cache_by_default
|
|
_key="apc.cache_by_default"
|
|
_default_val=$DEFAULT_APC_BY_DEFAULT
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_APC_BY_DEFAULT=$(grep -e "^\s*${_key}/s*=" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_APC_BY_DEFAULT" ]] && _APC_BY_DEFAULT=$_default_val
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value for Parameter \033[32m${_key}\033[m (bool)"
|
|
echo ""
|
|
APC_BY_DEFAULT=""
|
|
while [[ "X$APC_BY_DEFAULT" = "X" ]]; do
|
|
echononl "${_key} [$_APC_BY_DEFAULT]: "
|
|
read APC_BY_DEFAULT
|
|
if [ "X$APC_BY_DEFAULT" = "X" ]; then
|
|
APC_BY_DEFAULT=$_APC_BY_DEFAULT
|
|
continue
|
|
fi
|
|
if [[ "${APC_BY_DEFAULT}" != 0 ]] \
|
|
&& [[ "${APC_BY_DEFAULT,,}" != "no" ]] \
|
|
&& [[ "${APC_BY_DEFAULT,,}" != "false" ]] \
|
|
&& [[ "${APC_BY_DEFAULT}" != 1 ]] \
|
|
&& [[ "${APC_BY_DEFAULT,,}" != "yes" ]] \
|
|
&& [[ "${APC_BY_DEFAULT,,}" != "true" ]] ; then
|
|
APC_BY_DEFAULT=""
|
|
warn "Value for '${_key}' must be bool [1/0/true/false/yes/no]."
|
|
continue
|
|
fi
|
|
echo ""
|
|
echo "APC_BY_DEFAULT: $APC_BY_DEFAULT"
|
|
echo "APC_BY_DEFAULT: ${APC_BY_DEFAULT,,}"
|
|
echo ""
|
|
if [[ "${APC_BY_DEFAULT,,}" = "no" ]] \
|
|
|| [[ "${APC_BY_DEFAULT,,}" = "false" ]]; then
|
|
APC_BY_DEFAULT=0
|
|
elif [[ "${APC_BY_DEFAULT,,}" = "yes" ]] \
|
|
|| [[ "${APC_BY_DEFAULT,,}" = "true" ]]; then
|
|
APC_BY_DEFAULT=1
|
|
fi
|
|
done
|
|
|
|
|
|
# - php.ini - apcu extension: apc.smart
|
|
_key="apc.smart"
|
|
_default_val=$DEFAULT_APC_SMART
|
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
|
_APC_SMART=$(grep -e "^\s*${_key}/s*=" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
|
fi
|
|
[[ -z "$_APC_SMART" ]] && _APC_SMART=$_default_val
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "Set value ${_key}\033[32m${_key}\033[m (bool)"
|
|
echo ""
|
|
APC_SMART=""
|
|
while [[ "X$APC_SMART" = "X" ]]; do
|
|
echononl "${_key} [$_APC_SMART]: "
|
|
read APC_SMART
|
|
if [ "X$APC_SMART" = "X" ]; then
|
|
APC_SMART=$_APC_SMART
|
|
continue
|
|
fi
|
|
if [[ "${APC_SMART}" != 0 ]] \
|
|
&& [[ "${APC_SMART,,}" != "no" ]] \
|
|
&& [[ "${APC_SMART,,}" != "false" ]] \
|
|
&& [[ "${APC_SMART}" != 1 ]] \
|
|
&& [[ "${APC_SMART,,}" != "yes" ]] \
|
|
&& [[ "${APC_SMART,,}" != "true" ]] ; then
|
|
APC_SMART=""
|
|
warn "Value for '${_key}' must be bool [1/0/true/false/yes/no]."
|
|
continue
|
|
fi
|
|
echo ""
|
|
echo "APC_SMART: $APC_SMART"
|
|
echo "APC_SMART: ${APC_SMART,,}"
|
|
echo ""
|
|
if [[ "${APC_SMART,,}" = "no" ]] \
|
|
|| [[ "${APC_SMART,,}" = "false" ]]; then
|
|
APC_SMART=0
|
|
elif [[ "${APC_SMART,,}" = "yes" ]] \
|
|
|| [[ "${APC_SMART,,}" = "true" ]]; then
|
|
APC_SMART=1
|
|
fi
|
|
done
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo -e "Set Symlinks ? [ \033[33myes/no\033[m ]"
|
|
echo ""
|
|
|
|
echo ""
|
|
if [ ! -h /usr/local/php ] ; then
|
|
SYMLINK_PHP=true
|
|
echo "Symlink /usr/local/php -> /usr/local/php-$PHP_MAIN_VERSION will be set."
|
|
else
|
|
OK=""
|
|
while [ "X$OK" = "X" ]
|
|
do
|
|
echononl "Set symlink /usr/local/php -> /usr/local/php-$PHP_MAIN_VERSION ? [ $_SYMLINK_PHP ]: "
|
|
read OK
|
|
__to_lower=`echo $OK | tr '[:upper:]' '[:lower:]' | tr -d ' '`
|
|
if [ "X$OK" = "X" ]; then
|
|
OK=$_SYMLINK_PHP
|
|
break
|
|
fi
|
|
if [ "$__to_lower" = "yes" -o "$__to_lower" = "no" ]; then
|
|
OK=$__to_lower
|
|
break
|
|
fi
|
|
echo ""
|
|
echo -e "\t\033[31mWrong entry !! Try again..\033[m"
|
|
echo ""
|
|
OK=
|
|
done
|
|
if [ "$OK" = "yes" ]; then
|
|
SYMLINK_PHP=true
|
|
else
|
|
SYMLINK_PHP=false
|
|
fi
|
|
fi
|
|
|
|
echo ""
|
|
if [ ! -h /usr/local/php-${PHP_MAIN_VERSION} ] ; then
|
|
SYMLINK_PHP_MAIN_VERSION=true
|
|
echo "Symlink /usr/local/php-$PHP_MAIN_VERSION -> `basename $PREFIX_PHP` will be set."
|
|
else
|
|
OK=""
|
|
while [ "X$OK" = "X" ]; do
|
|
echononl "Set symlink /usr/local/php-$PHP_MAIN_VERSION -> `basename $PREFIX_PHP` ? [ $_SYMLINK_PHP_MAIN_VERSION ]: "
|
|
read OK
|
|
__to_lower=`echo $OK | tr '[:upper:]' '[:lower:]' | tr -d ' '`
|
|
if [ "X$OK" = "X" ]; then
|
|
OK=$_SYMLINK_PHP_MAIN_VERSION
|
|
break
|
|
fi
|
|
if [ "$__to_lower" = "yes" -o "$__to_lower" = "no" ]; then
|
|
OK=$__to_lower
|
|
break;
|
|
fi
|
|
echo ""
|
|
echo -e "\t\033[31mWrong entry !! Try again..\033[m"
|
|
echo ""
|
|
OK=
|
|
done
|
|
if [ "$OK" = "yes" ]; then
|
|
SYMLINK_PHP_MAIN_VERSION=true
|
|
else
|
|
SYMLINK_PHP_MAIN_VERSION=false
|
|
fi
|
|
|
|
fi
|
|
|
|
if $WITH_PHP_FPM_SUPPORT && $WITH_MOD_PHP ; then
|
|
if [ -f "/etc/init.d/php-${VERSION}-fpm" ];then
|
|
echo ""
|
|
OK=""
|
|
while [ "X$OK" = "X" ]; do
|
|
echononl "Activate PHP-FPM from that installation ? [ no ] "
|
|
read OK
|
|
__to_lower=`echo $OK | tr '[:upper:]' '[:lower:]' | tr -d ' '`
|
|
if [ "X$OK" = "X" ]; then
|
|
OK="no"
|
|
break
|
|
fi
|
|
if [ "$__to_lower" = "yes" -o "$__to_lower" = "no" ]; then
|
|
OK=$__to_lower
|
|
break
|
|
fi
|
|
echo ""
|
|
echo -e "\t\033[31mWrong entry !! Try again..\033[m"
|
|
echo ""
|
|
OK=
|
|
done
|
|
if [ "$OK" = "yes" ]; then
|
|
ACTIVATE_PHP_FPM_INIT_SCRIPT=true
|
|
else
|
|
ACTIVATE_PHP_FPM_INIT_SCRIPT=false
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
FPM_PID_FILE="${FPM_RUN_DIR}/php-${PHP_MAIN_VERSION}-fpm.pid"
|
|
|
|
FPM_SYSTEMD_FILE=/etc/systemd/system/php-${PHP_MAIN_VERSION}-fpm.service
|
|
FPM_INIT_SCRIPT=/etc/init.d/php-${PHP_MAIN_VERSION}-fpm
|
|
|
|
FPM_LOG_DIR=/var/log/php-${PHP_MAIN_VERSION}-fpm
|
|
FPM_ERROR_LOG=${FPM_LOG_DIR}/fpm-${PHP_MAIN_VERSION}-error.log
|
|
|
|
FPM_POOL_CONF_DIR=fpm.d
|
|
FPM_DEFAULT_POOL=www-${PHP_MAIN_VERSION}
|
|
|
|
FPM_DEFAULT_POOL_USER=$_PHP_FPM_USER
|
|
FPM_DEFAULT_POOL_GROUP=$_PHP_FPM_GROUP
|
|
FPM_DEFAULT_POOL_LISTEN="${FPM_RUN_DIR}/php-${PHP_MAIN_VERSION}-fpm.$(echo ${FPM_DEFAULT_POOL} | cut -d'-' -f1).sock"
|
|
FPM_DEFAULT_POOL_LISTEN_OWNER=$_PHP_FPM_USER
|
|
FPM_DEFAULT_POOL_LISTEN_GROUP=$HTTPD_GROUP
|
|
FPM_DEFAULT_POOL_LISTEN_MODE=0660
|
|
|
|
FPM_DEFAULT_POOL_PM=dynamic
|
|
|
|
FPM_DEFAULT_POOL_STATUS_PATH="/status-${PHP_MAIN_VERSION}"
|
|
FPM_DEFAULT_POOL_PING_PATH="/ping-${PHP_MAIN_VERSION}"
|
|
FPM_DEFAULT_POOL_PING_RESPONSE="pong"
|
|
|
|
FPM_DEFAULT_POOL_ACCESS_LOG="${FPM_LOG_DIR}/${FPM_DEFAULT_POOL}-access.log"
|
|
FPM_DEFAULT_POOL_SLOW_LOG="${FPM_LOG_DIR}/${FPM_DEFAULT_POOL}-slow.log"
|
|
FPM_DEFAULT_POOL_ACCESS_FORMAT="\"%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%\""
|
|
|
|
FPM_DEFAULT_POOL_TERMINATE_TIMEOUT="`expr $MAX_EXECUTION_TIME + 1`s"
|
|
|
|
FPM_ULIMIT_MAX_FILES=`su -c "ulimit -H -n" -s /bin/bash $_PHP_FPM_USER`
|
|
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo -e "Skip updating file name database (used by 'locate') [ \033[33myes/no\033[m ]"
|
|
echo ""
|
|
echo ""
|
|
SKIP_UPDATE_DB=""
|
|
while [[ "X$SKIP_UPDATE_DB" = "X" ]] ; do
|
|
echononl "Skip updating file name database ? [ $_SKIP_UPDATE_DB ]: "
|
|
read SKIP_UPDATE_DB
|
|
__to_lower="$(echo $SKIP_UPDATE_DB | tr '[:upper:]' '[:lower:]' | tr -d ' ')"
|
|
if [[ "X$SKIP_UPDATE_DB" = "X" ]]; then
|
|
SKIP_UPDATE_DB="$_SKIP_UPDATE_DB"
|
|
break
|
|
fi
|
|
if [ "$__to_lower" = "yes" -o "$__to_lower" = "no" ]; then
|
|
SKIP_UPDATE_DB=$__to_lower
|
|
break
|
|
fi
|
|
echo ""
|
|
echo -e "\t\033[31mWrong entry !! Try again..\033[m"
|
|
echo ""
|
|
SKIP_UPDATE_DB=
|
|
done
|
|
if [[ "$SKIP_UPDATE_DB" = "yes" ]] ; then
|
|
SKIP_UPDATE_DB=true
|
|
else
|
|
SKIP_UPDATE_DB=false
|
|
fi
|
|
|
|
|
|
_install_freetype=false
|
|
_install_icu4c=false
|
|
_install_libxml2=false
|
|
_install_python2=false
|
|
_install_openssl1=false
|
|
if ([[ "$PHP_MAJOR_VERSION" -eq 7 ]] && [[ "$PHP_MINOR_VERSION" -lt 4 ]]) \
|
|
|| [[ "$PHP_MAJOR_VERSION" -lt 7 ]] ; then
|
|
|
|
if [[ "$os_dist" = "debian" ]] && [[ $os_version -gt 9 ]] ; then
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo -e "We need to install a version of freetype, which supports"
|
|
echo -e "service 'freetype-config'. The development library libfreetype6"
|
|
echo -e "of this distribution doesn't."
|
|
echo -e ""
|
|
echo -e "Which version of freetype should be installed?"
|
|
echo ""
|
|
FREETYPE_VERSION=
|
|
if [[ -n "$_FREETYPE_VERSION" ]]; then
|
|
echononl "Freetype Version [${_FREETYPE_VERSION}]: "
|
|
read FREETYPE_VERSION
|
|
if [[ "X$FREETYPE_VERSION" = "X" ]] ; then
|
|
FREETYPE_VERSION="$_FREETYPE_VERSION"
|
|
fi
|
|
else
|
|
echononl "Freetype Version: "
|
|
read FREETYPE_VERSION
|
|
while [[ "X$FREETYPE_VERSION" = "X" ]]; do
|
|
echo -e "\n \033[33m\033[1Freetype Version must not be empty!\033[m\n"
|
|
echononl "Freetype Version : "
|
|
read FREETYPE_VERSION
|
|
done
|
|
fi
|
|
|
|
_install_freetype=true
|
|
|
|
if [[ $PHP_MAJOR_VERSION -lt 7 ]] \
|
|
|| ([[ $PHP_MAJOR_VERSION -eq 7 ]] && [[ $PHP_MINOR_VERSION -eq 0 ]]) ; then
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo "We need to install an manual installed version of libxml2 (without icu support),"
|
|
echo "because the installed one has icu support, but is linked against the distribution"
|
|
echo "supported libicu-dev package."
|
|
echo -e ""
|
|
echo -e "Which version of libxml2 should be installed?"
|
|
echo ""
|
|
LIBXML2_VERSION=
|
|
if [[ -n "$_LIBXML2_VERSION" ]]; then
|
|
echononl "LIBXML2 Version [${_LIBXML2_VERSION}]: "
|
|
read LIBXML2_VERSION
|
|
if [[ "X$LIBXML2_VERSION" = "X" ]] ; then
|
|
LIBXML2_VERSION="$_LIBXML2_VERSION"
|
|
fi
|
|
else
|
|
echononl "LIBXML2 Version: "
|
|
read LIBXML2_VERSION
|
|
while [[ "X$LIBXML2_VERSION" = "X" ]]; do
|
|
echo -e "\n \033[33m\033[1LIBXML2 Version must not be empty!\033[m\n"
|
|
echononl "LIBXML2 Version : "
|
|
read LIBXML2_VERSION
|
|
done
|
|
fi
|
|
|
|
_install_libxml2=true
|
|
|
|
if [[ "$os_dist" = "debian" ]] && [[ $os_version -gt 11 ]] ; then
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo "The libxml2 library, which we need to install separately, requires python 2."
|
|
echo -e ""
|
|
echo -e "Which version of libxml2 should be installed?"
|
|
echo ""
|
|
PYTHON2_VERSION=
|
|
if [[ -n "$_PYTHON2_VERSION" ]]; then
|
|
echononl "Python 2 Version [${_PYTHON2_VERSION}]: "
|
|
read PYTHON2_VERSION
|
|
if [[ "X$PYTHON2_VERSION" = "X" ]] ; then
|
|
PYTHON2_VERSION="$_PYTHON2_VERSION"
|
|
fi
|
|
else
|
|
echononl "Python 2 Version: "
|
|
read PYTHON2_VERSION
|
|
while [[ "X$PYTHON2_VERSION" = "X" ]]; do
|
|
echo -e "\n \033[33m\033[1Python 2 Version must not be empty!\033[m\n"
|
|
echononl "Python 2 Version : "
|
|
read PYTHON2_VERSION
|
|
done
|
|
fi
|
|
|
|
_install_python2=true
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if [[ "$PHP_MAJOR_VERSION" -lt 7 ]] \
|
|
|| ([[ "$PHP_MAJOR_VERSION" -eq 7 ]] && [[ "$PHP_MINOR_VERSION" -lt 4 ]]) ; then
|
|
|
|
if [[ "$PHP_MINOR_VERSION" -eq 0 ]] || ([[ "$os_dist" = "debian" ]] && [[ $os_version -gt 11 ]]); then
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo -e "We need to install a version of libicu (icu4c), which supports"
|
|
echo -e "service 'icu-config'. The development library libicu-dev"
|
|
echo -e "of this distribution doesn't."
|
|
echo -e ""
|
|
echo -e "Which version of icu4c should be installed?"
|
|
echo ""
|
|
ICU4C_VERSION=
|
|
if [[ -n "$_ICU4C_VERSION" ]]; then
|
|
echononl "ICU4C Version [${_ICU4C_VERSION}]: "
|
|
read ICU4C_VERSION
|
|
if [[ "X$ICU4C_VERSION" = "X" ]] ; then
|
|
ICU4C_VERSION="$_ICU4C_VERSION"
|
|
fi
|
|
else
|
|
echononl "ICU4C Version: "
|
|
read ICU4C_VERSION
|
|
while [[ "X$ICU4C_VERSION" = "X" ]]; do
|
|
echo -e "\n \033[33m\033[1ICU4C Version must not be empty!\033[m\n"
|
|
echononl "ICU4C Version : "
|
|
read ICU4C_VERSION
|
|
done
|
|
fi
|
|
|
|
ICU4C_MAJOR_VERSION=`echo $ICU4C_VERSION | cut -d '-' -f1`
|
|
ICU4C_MINOR_VERSION=`echo $ICU4C_VERSION | cut -d '-' -f2`
|
|
|
|
_install_icu4c=true
|
|
|
|
fi
|
|
|
|
if [[ "$os_dist" = "debian" ]] && [[ $os_version -gt 11 ]] ; then
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo "We need to install openssl version 1"
|
|
echo -e ""
|
|
echo -e "Which version of openssl should be installed?"
|
|
echo ""
|
|
OPENSSL1_VERSION=
|
|
if [[ -n "$_OPENSSL1_VERSION" ]]; then
|
|
echononl "OpenSSL Version [${_OPENSSL1_VERSION}]: "
|
|
read OPENSSL1_VERSION
|
|
if [[ "X$OPENSSL1_VERSION" = "X" ]] ; then
|
|
OPENSSL1_VERSION="$_OPENSSL1_VERSION"
|
|
fi
|
|
else
|
|
echononl "OpenSSL Version: "
|
|
read OPENSSL1_VERSION
|
|
while [[ "X$OPENSSL1_VERSION" = "X" ]]; do
|
|
echo -e "\n \033[33m\033[1OpenSSL Version must not be empty!\033[m\n"
|
|
echononl "OpenSSL Version: "
|
|
read OPENSSL1_VERSION
|
|
done
|
|
fi
|
|
|
|
_install_openssl1=true
|
|
|
|
fi
|
|
|
|
|
|
|
|
fi # if [[ "$PHP_MAJOR_VERSION" -lt 7 ]]
|
|
|
|
fi # if [[ "$os_dist" = "debian" ]] && [[ $os_version -eq 10 ]]
|
|
|
|
fi
|
|
|
|
|
|
if [[ $PHP_MAJOR_VERSION -ge 7 ]] ; then
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo -e "Install support for lagacy MySQL functions [ \033[33myes/no\033[m ]"
|
|
echo ""
|
|
echo ""
|
|
OK=""
|
|
while [ "X$OK" = "X" ]
|
|
do
|
|
echononl "Install lagacy MySQL functions support ? [ $_LEGACY_SQL_FUNCTION_SUPPORT ] "
|
|
read OK
|
|
__to_lower=`echo $OK | tr '[:upper:]' '[:lower:]' | tr -d ' '`
|
|
if [ "X$OK" = "X" ]; then
|
|
OK=$_LEGACY_SQL_FUNCTION_SUPPORT
|
|
break
|
|
fi
|
|
if [ "$__to_lower" = "yes" -o "$__to_lower" = "no" ]; then
|
|
OK=$__to_lower
|
|
break
|
|
fi
|
|
echo ""
|
|
echo -e "\t\033[31mWrong entry !! Try again..\033[m"
|
|
echo ""
|
|
OK=
|
|
done
|
|
if [ "$OK" = "yes" ]; then
|
|
LEGACY_SQL_FUNCTION_SUPPORT=true
|
|
else
|
|
LEGACY_SQL_FUNCTION_SUPPORT=false
|
|
fi
|
|
else
|
|
LEGACY_SQL_FUNCTION_SUPPORT=false
|
|
fi
|
|
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo "Are you installing on a VServer guest system?"
|
|
echo ""
|
|
echononl "VServer Gastsystem (yes/no) [$_VSERVER_GUEST]: "
|
|
read VSERVER_GUEST
|
|
if [ "X$VSERVER_GUEST" = "X" ]; then
|
|
VSERVER_GUEST=$_VSERVER_GUEST
|
|
fi
|
|
VSERVER_GUEST=`echo "$VSERVER_GUEST" | tr '[:upper:]' '[:lower:]'`
|
|
while [ "X$VSERVER_GUEST" != "Xyes" -a "X$VSERVER_GUEST" != "Xno" ]; do
|
|
echo ""
|
|
echononl "\twrong entry! [yes/no]: "
|
|
read VSERVER_GUEST
|
|
VSERVER_GUEST=`echo "$VSERVER_GUEST" | tr '[:upper:]' '[:lower:]'`
|
|
done
|
|
if [ "$VSERVER_GUEST" = "yes" ]; then
|
|
SYSTEMD_EXISTS=false
|
|
fi
|
|
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo -e "\033[21G\033[32mStart PHP Installation with the following Parameters \033[m"
|
|
echo ""
|
|
echo "OS distribution......................: $os_dist"
|
|
echo "OS version...........................: $os_version (${os_codename})"
|
|
echo ""
|
|
echo "PHP version..........................: $VERSION"
|
|
echo "PHP main version.....................: $PHP_MAIN_VERSION"
|
|
echo "PHP major version....................: $PHP_MAJOR_VERSION"
|
|
echo "PHP minor version....................: $PHP_MINOR_VERSION"
|
|
echo "PHP patch level......................: $PHP_PATCH_LEVEL"
|
|
echo ""
|
|
echo "PHP base configuration (php.ini)"
|
|
echo " zlib.output_compression...........: $ZLIB_OUTPUT_COMPRESSION"
|
|
echo " memory_limit......................: $MEMORY_LIMIT"
|
|
echo " max_execution_time................: $MAX_EXECUTION_TIME"
|
|
echo " max_input_time....................: $MAX_INPUT_TIME"
|
|
echo " upload_max_filesize...............: $UPLOAD_MAX_FILESIZE"
|
|
echo " post_max_size.....................: $POST_MAX_SIZE"
|
|
echo ""
|
|
echo "Parameters for 'opcache' extension"
|
|
echo " opcache.enable....................: $OPCACHE_ENABLE"
|
|
echo " opcache.enable_cli................: $OPCACHE_ENABLE_CLI"
|
|
echo " opcache.memory_consumption........: $OPCACHE_MEMORY_CONSUMPTION"
|
|
echo " opcache.interned_strings_buffer...: $OPCACHE_INTERNED_STRINGS_BUFFER"
|
|
echo " opcache.max_accelerated_files.....: $OPCACHE_MAX_ACCELERATED_FILES"
|
|
echo " opcache.validate_timestamps.......: $OPCACHE_VALIDATE_TIMESTAMPS"
|
|
echo " opcache.consistency_checks........: $OPCACHE_CONSISTENCY_CHECKS"
|
|
echo " opcache.revalidate_freq...........: $OPCACHE_REVALIDATE_FREQ"
|
|
echo " opcache.error_log.................: $OPCACHE_ERROR_LOG"
|
|
echo ""
|
|
echo "Parameters for 'apcu' extension"
|
|
echo " apc.enable_cli....................: $APC_ENABLE_CLI"
|
|
echo " apc.shm_size......................: $APC_SHM_SIZE"
|
|
echo " apc.stat..........................; $APC_STAT"
|
|
echo " apcu.stat.........................; $APCU_STAT"
|
|
echo " apc.cache_by_default..............; $APC_BY_DEFAULT"
|
|
echo " apc.smart.........................: $APC_SMART"
|
|
echo ""
|
|
echo "Apache User..........................: $HTTPD_USER"
|
|
echo "Apache Group.........................: $HTTPD_GROUP"
|
|
echo ""
|
|
#echo "MySQL Installation directory..: $MYSQL_INSTALL_DIR"
|
|
#echo ""
|
|
echo "Install with FPM support.............: $WITH_PHP_FPM_SUPPORT"
|
|
if $WITH_PHP_FPM_SUPPORT ; then
|
|
echo " Activate FPM init script..........: $ACTIVATE_PHP_FPM_INIT_SCRIPT"
|
|
echo " Set umask 0002 for FPM............: $SET_UMASK"
|
|
echo ""
|
|
echo " PHP run directory.................: $FPM_RUN_DIR"
|
|
echo " PHP socket .......................: $FPM_DEFAULT_POOL_LISTEN"
|
|
echo ""
|
|
echo " PHP FPM Socket definition(s)......: ${FPM_DEFAULT_POOL}.php-fpm.conf"
|
|
if [[ ${#existing_fpm_definition_arr[@]} -gt 0 ]] ; then
|
|
for _file in "${existing_fpm_definition_arr[@]}" ; do
|
|
[[ "$(basename "$_file")" = "${FPM_DEFAULT_POOL}.php-fpm.conf" ]] && continue
|
|
echo " $(basename "$_file")"
|
|
done
|
|
fi
|
|
|
|
echo ""
|
|
echo "PHP FPM Pool Definitions (php-fpm.conf or included files)"
|
|
echo " pm.start_servers..................: $FPM_POOL_START_SERVER"
|
|
echo " pm.min_spare_servers..............: $FPM_POOL_MIN_SPARE"
|
|
echo " pm.max_spare_servers..............: $FPM_POOL_MAX_SPARE"
|
|
echo " pm.max_children...................: $FPM_POOL_MAX_CHILDREN"
|
|
echo " pm.max_requests...................: $FPM_POOL_MAX_REQUESTS"
|
|
|
|
|
|
|
|
fi
|
|
if [[ $PHP_MAJOR_VERSION -ge 7 ]]; then
|
|
echo ""
|
|
echo "Support legacy SQL functions.........: $LEGACY_SQL_FUNCTION_SUPPORT"
|
|
fi
|
|
echo ""
|
|
echo "Install with systemd Support.........: $SYSTEMD_EXISTS"
|
|
echo ""
|
|
echo "Install with (apache) mod_php........: $WITH_MOD_PHP"
|
|
if $WITH_MOD_PHP ; then
|
|
echo " Apache Version.................: $APACHE_VERSION"
|
|
fi
|
|
echo ""
|
|
if $SYMLINK_PHP_MAIN_VERSION -o $SYMLINK_PHP ; then
|
|
echo "Set symlniks:"
|
|
if $SYMLINK_PHP ; then
|
|
echo " /usr/local/php -> /usr/local/php-$PHP_MAIN_VERSION"
|
|
fi
|
|
if $SYMLINK_PHP_MAIN_VERSION ; then
|
|
echo " /usr/local/php-$PHP_MAIN_VERSION -> `basename $PREFIX_PHP`"
|
|
fi
|
|
fi
|
|
echo ""
|
|
echo ""
|
|
echo "Install extern freetype .............: $_install_freetype"
|
|
if $_install_freetype ; then
|
|
echo " freetype version .................: $FREETYPE_VERSION"
|
|
fi
|
|
echo ""
|
|
echo "Install extern libicu ...............: $_install_icu4c"
|
|
if $_install_icu4c ; then
|
|
echo " icu4c version ....................: $ICU4C_VERSION"
|
|
fi
|
|
echo ""
|
|
echo "Install extern libxml2 ..............: $_install_libxml2"
|
|
if $_install_libxml2 ; then
|
|
echo " libxml2 version ..................: $LIBXML2_VERSION"
|
|
fi
|
|
echo ""
|
|
echo "Install extern python 2..............: $_install_python2"
|
|
if $_install_python2 ; then
|
|
echo " python 2 version..................: $PYTHON2_VERSION"
|
|
fi
|
|
echo ""
|
|
echo "Install extern OpenSSL...............: $_install_openssl1"
|
|
if $_install_python2 ; then
|
|
echo " OpenSSL version...................: $OPENSSL1_VERSION"
|
|
fi
|
|
echo ""
|
|
echo "Skip 'updatedb'......................: $SKIP_UPDATE_DB"
|
|
echo ""
|
|
echo ""
|
|
echo "Vserver Guest System.................: $VSERVER_GUEST"
|
|
echo ""
|
|
|
|
echononl "Start with that configuration? [yes/no]: "
|
|
read OK
|
|
while [ "X$OK" != "Xyes" -a "X$OK" != "XYes" -a "X$OK" != "XNo" -a "X$OK" != "Xno" ]
|
|
do
|
|
echononl "wrong entry! [yes/no] :"
|
|
read OK
|
|
done
|
|
[ $OK = "Yes" -o $OK = "yes" ] || fatal "Change parameters and restart script: `basename $0`"
|
|
|
|
echo ""
|
|
echo ""
|
|
|
|
|
|
## --------------------------------------------------
|
|
|
|
if [ -d "$_logdir" ];then
|
|
mv $_logdir $_logdir.$_backup_date
|
|
fi
|
|
mkdir -p $_logdir > /dev/null 2>&1
|
|
if [ -d "$_builddir" ];then
|
|
mv $_builddir $_builddir.$_backup_date
|
|
fi
|
|
if [ -d "$PREFIX_PHP" ];then
|
|
mv $PREFIX_PHP $PREFIX_PHP.$_backup_date
|
|
fi
|
|
|
|
declare -a existing_fpm_definition_arr=()
|
|
FPM_DEFAULT_POOL_DEFINITION_EXISTS=false
|
|
if $WITH_PHP_FPM_SUPPORT ; then
|
|
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echononl "Get existing socket definitions"
|
|
|
|
if [[ -n "$(ls $PREFIX_PHP.${_backup_date}/etc/fpm.d/*.conf 2>/dev/null)" ]]; then
|
|
|
|
for _file in $(ls $PREFIX_PHP.${_backup_date}/etc/fpm.d/*.conf) ; do
|
|
if [[ "$(basename "$_file")" = "${FPM_DEFAULT_POOL}.php-fpm.conf" ]]; then
|
|
FPM_DEFAULT_POOL_DEFINITION_EXISTS=true
|
|
fi
|
|
existing_fpm_definition_arr+=("$(realpath "$_file")")
|
|
done
|
|
|
|
echo_ok
|
|
|
|
elif [[ -n "$(ls /usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/*.conf 2>/dev/null)" ]]; then
|
|
|
|
for _file in $(ls /usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/*.conf) ; do
|
|
if [[ "$(basename "$_file")" = "${FPM_DEFAULT_POOL}.php-fpm.conf" ]]; then
|
|
FPM_DEFAULT_POOL_DEFINITION_EXISTS=true
|
|
fi
|
|
existing_fpm_definition_arr+=("$(realpath "$_file")")
|
|
done
|
|
|
|
echo_ok
|
|
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
fi
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\033[32m--\033[m"
|
|
echo ""
|
|
echo "Starting Installation of PHP v $VERSION..."
|
|
echo ""
|
|
echo ""
|
|
|
|
echo -e "\t---"
|
|
echo -e "\t--- pre-installation tasks"
|
|
echo -e "\t---"
|
|
echo ""
|
|
|
|
|
|
# - Update index files of the debian repositories
|
|
# -
|
|
echononl "\tUpdate index files of the debian repositories"
|
|
apt-get update >> /dev/null 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fatal "\"apt-get update\" failed!"
|
|
fi
|
|
|
|
|
|
echononl "\tInstall compiler stuff.."
|
|
if [[ -n "$needed_compiler_packages" ]]; then
|
|
DEBIAN_FRONTEND=noninteractive apt-get -y install $needed_compiler_packages > /dev/null 2> $tmp_err_msg
|
|
#DEBIAN_FRONTEND=noninteractive apt-get -y install $needed_packages > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
info "Up-to-date.."
|
|
fi
|
|
|
|
echononl "\tInstall needed packages for base install"
|
|
if [[ -n "$needed_debian_packages" ]]; then
|
|
DEBIAN_FRONTEND=noninteractive apt-get -y install $needed_debian_packages > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
info "Up-to-date.."
|
|
fi
|
|
|
|
echononl "\tInstall needed packages for php extensions"
|
|
if [[ -n "$needed_extension_packages" ]]; then
|
|
DEBIAN_FRONTEND=noninteractive apt-get -y install $needed_extension_packages > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
info "Up-to-date.."
|
|
fi
|
|
|
|
if $_install_freetype && [[ ! -d /usr/local/freetype-$FREETYPE_VERSION ]]; then
|
|
|
|
## - Install freetype with support for 'freetype-config'
|
|
## -
|
|
echo ""
|
|
echo ""
|
|
echo -e "\t---"
|
|
echo -e "\t--- Install freetype with support for 'freetype-config'"
|
|
echo -e "\t---"
|
|
echo ""
|
|
|
|
freetype_archive="freetype-${FREETYPE_VERSION}.tar.gz"
|
|
|
|
_src_dir_freetype="/usr/local/src/freetype"
|
|
_build_dir_freetype="${_src_dir_freetype}/freetype-${FREETYPE_VERSION}"
|
|
|
|
echononl "\tCreate source directory '$_src_dir_freetype'.."
|
|
if [[ ! -d "$_src_dir_freetype" ]]; then
|
|
mkdir "$_src_dir_freetype" >> ${_logdir}/main.log 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Cannot create directory '$_src_dir_freetype'"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
cd "$_src_dir_freetype"
|
|
|
|
echononl "\tGet source $freetype_archive .."
|
|
if [[ ! -f ${_src_dir_freetype}/$freetype_archive ]]; then
|
|
wget -O "${_src_dir_freetype}/$freetype_archive" \
|
|
https://sourceforge.net/projects/freetype/files/freetype2/${FREETYPE_VERSION}/${freetype_archive}/download \
|
|
>> ${_logdir}/main.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Cannot Download '$freetype_archive'"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
_backup_dir="$_build_dir_freetype"
|
|
echononl "\tBackup existing directory '${_backup_dir}'.."
|
|
if [[ -d "${_backup_dir}" ]]; then
|
|
mv "${_backup_dir}" "${_backup_dir}.$_backup_date" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tUnpack archive \"$freetype_archive\".."
|
|
gunzip < "${freetype_archive}" | tar -xf - 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
cd "$_build_dir_freetype"
|
|
|
|
config_params="--enable-freetype-config --prefix=/usr/local/freetype-$FREETYPE_VERSION"
|
|
echononl "\tGoing to configure freetype-$FREETYPE_VERSION .."
|
|
./configure $config_params >> ${_logdir}/freetype-configure.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Configuring freetype failed!\n\t see ${_logdir}/freetype-configure.log-configure.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
echononl "\tGoing to compile freetype-$FREETYPE_VERSION .."
|
|
make > ${_logdir}/freetype-make.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Compiling freetype failed!\n\t see ${_logdir}/freetype-make.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
_backup_dir="/usr/local/freetype-${FREETYPE_VERSION}"
|
|
echononl "\tBackup existing directory '${_backup_dir}'.."
|
|
if [[ -d "${_backup_dir}" ]]; then
|
|
mv "${_backup_dir}" "${_backup_dir}.$_backup_date" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tGoing to install freetype-$FREETYPE_VERSION.."
|
|
make install > ${_logdir}/freetype-make_install.log 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Installing freetype failed!\n\t see ${_logdir}/freetype-make_install.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
echononl "\tSet symlink /usr/local/freetype -> /usr/local/freetype-$FREETYPE_VERSION .."
|
|
if [ -L /usr/local/freetype ];then
|
|
rm -f /usr/local/freetype
|
|
fi
|
|
|
|
ln -s freetype-$FREETYPE_VERSION /usr/local/freetype > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
if $_install_icu4c && [[ ! -d /usr/local/icu4c-$ICU4C_VERSION ]]; then
|
|
|
|
## - Install icu4c (with support for 'icu-config'
|
|
## -
|
|
echo ""
|
|
echo ""
|
|
echo -e "\t---"
|
|
echo -e "\t--- Install icu4c with support for 'icu-config'"
|
|
echo -e "\t---"
|
|
echo ""
|
|
|
|
icu4c_archive="icu4c-${ICU4C_MAJOR_VERSION}_${ICU4C_MINOR_VERSION}-src.tgz"
|
|
|
|
_src_dir_icu4c="/usr/local/src/icu4c"
|
|
_build_dir_icu4c="${_src_dir_icu4c}/icu/source"
|
|
|
|
echononl "\tCreate source directory '$_src_dir_icu4c'.."
|
|
if [[ ! -d "$_src_dir_icu4c" ]]; then
|
|
mkdir "$_src_dir_icu4c" >> ${_logdir}/main.log 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Cannot create directory '$_src_dir_icu4c'"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
cd "$_src_dir_icu4c"
|
|
|
|
echononl "\tGet source $icu4c_archive .."
|
|
if [[ ! -f ${_src_dir_icu4c}/$icu4c_archive ]]; then
|
|
wget -O "${_src_dir_icu4c}/$icu4c_archive" \
|
|
https://github.com/unicode-org/icu/releases/download/release-${ICU4C_VERSION}/$icu4c_archive \
|
|
>> ${_logdir}/main.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Cannot Download '$icu4c_archive'"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
_backup_dir="${_src_dir_icu4c}/icu"
|
|
echononl "\tBackup existing directory '${_backup_dir}'.."
|
|
if [[ -d "${_backup_dir}" ]]; then
|
|
mv "${_backup_dir}" "${_backup_dir}.$_backup_date" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tUnpack archive \"$icu4c_archive\".."
|
|
gunzip < "${icu4c_archive}" | tar -xf - 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
cd "$_build_dir_icu4c"
|
|
|
|
config_params="--prefix=/usr/local/icu4c-$ICU4C_VERSION"
|
|
echononl "\tGoing to configure icu4c-$ICU4C_VERSION .."
|
|
./configure $config_params >> ${_logdir}/icu4c-configure.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Configuring icu4c failed!\n\t see ${_logdir}/icu4c-configure.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
echononl "\tGoing to compile icu4c-$ICU4C_VERSION .."
|
|
make > ${_logdir}/icu4c-make.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Compiling icu4c failed!\n\t see ${_logdir}/icu4c-make.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
_backup_dir="/usr/local/icu4c-${ICU4C_VERSION}"
|
|
echononl "\tBackup existing directory '${_backup_dir}'.."
|
|
if [[ -d "${_backup_dir}" ]]; then
|
|
mv "${_backup_dir}" "${_backup_dir}.$_backup_date" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tGoing to install icu4c-$ICU4C_VERSION.."
|
|
make install > ${_logdir}/icu4c-make_install.log 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Installing icu4c failed!\n\t see ${_logdir}/icu4c-make_install.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
echononl "\tSet symlink /usr/local/icu4c -> /usr/local/icu4c-$ICU4C_VERSION .."
|
|
if [ -L /usr/local/icu4c ];then
|
|
rm -f /usr/local/icu4c
|
|
fi
|
|
|
|
ln -s icu4c-$ICU4C_VERSION /usr/local/icu4c > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
echononl "\tCreate file '/etc/ld.so.conf.d/icu4c.conf'.."
|
|
cat << EOF > "/etc/ld.so.conf.d/icu4c.conf" 2> $tmp_err_msg
|
|
/usr/local/icu4c/lib
|
|
EOF
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Creation of file '/etc/ld.so.conf.d/icu4c.conf' failed.\n\n$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
echononl "\tCreate necessary links and cache to the shared libraries (ldconfig)"
|
|
ldconfig > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
if $_install_python2 && [[ ! -d /usr/local/python-$PYTHON2_VERSION ]]; then
|
|
|
|
## - Install python 2'
|
|
## -
|
|
echo ""
|
|
echo ""
|
|
echo -e "\t---"
|
|
echo -e "\t--- Install python 2"
|
|
echo -e "\t---"
|
|
echo ""
|
|
|
|
# https://www.python.org/ftp/python/2.7.16/Python-2.7.16.tgz
|
|
python2_archive="Python-${PYTHON2_VERSION}.tgz"
|
|
python2_download_url="https://www.python.org/ftp/python/${PYTHON2_VERSION}/${python2_archive}"
|
|
|
|
_src_dir_python2="/usr/local/src/python2"
|
|
_build_dir_python2="${_src_dir_python2}/Python-${PYTHON2_VERSION}"
|
|
|
|
echononl "\tCreate source directory '$_src_dir_python2'.."
|
|
if [[ ! -d "$_src_dir_python2" ]]; then
|
|
mkdir "$_src_dir_python2" >> ${_logdir}/main.log 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Cannot create directory '$_src_dir_python2'"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
cd "$_src_dir_python2"
|
|
|
|
echononl "\tGet source $python2_archive .."
|
|
if [[ ! -f ${_src_dir_python2}/$python2_archive ]]; then
|
|
wget -O "${_src_dir_python2}/$python2_archive" \
|
|
${python2_download_url} \
|
|
>> ${_logdir}/main.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Cannot Download '$python2_archive'"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
_backup_dir="$_build_dir_python2"
|
|
echononl "\tBackup existing directory '${_backup_dir}'.."
|
|
if [[ -d "${_backup_dir}" ]]; then
|
|
mv "${_backup_dir}" "${_backup_dir}.$_backup_date" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tUnpack archive \"$python2_archive\".."
|
|
gunzip < "${python2_archive}" | tar -xf - 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
cd "$_build_dir_python2"
|
|
|
|
config_params="--prefix=/usr/local/python-${PYTHON2_VERSION}"
|
|
|
|
echononl "\tGoing to configure python ${PYTHON2_VERSION} .."
|
|
./configure $config_params >> ${_logdir}/python2-configure.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Configuring python2 failed!\n\t see ${_logdir}/python2-configure.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
echononl "\tGoing to compile python v${PYTHON2_VERSION} .."
|
|
make > ${_logdir}/python2-make.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Compiling python2 failed!\n\t see ${_logdir}/python2-make.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
_backup_dir="/usr/local/python2-${PYTHON2_VERSION}"
|
|
echononl "\tBackup existing directory '${_backup_dir}'.."
|
|
if [[ -d "${_backup_dir}" ]]; then
|
|
mv "${_backup_dir}" "${_backup_dir}.$_backup_date" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tGoing to install python v${PYTHON2_VERSION}.."
|
|
make install > ${_logdir}/python2-make_install.log 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Installing python 2 failed!\n\t see ${_logdir}/python2-make_install.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
echononl "\tSet symlink /usr/local/python2 -> /usr/local/python-$PYTHON2_VERSION .."
|
|
if [ -L /usr/local/python2 ];then
|
|
rm -f /usr/local/python2
|
|
fi
|
|
|
|
ln -s python-$PYTHON2_VERSION /usr/local/python2 > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
if $_install_libxml2 && [[ ! -d /usr/local/libxml2-$LIBXML2_VERSION ]]; then
|
|
|
|
## - Install libxml2'
|
|
## -
|
|
echo ""
|
|
echo ""
|
|
echo -e "\t---"
|
|
echo -e "\t--- Install libxml2"
|
|
echo -e "\t---"
|
|
echo ""
|
|
|
|
libxml2_archive="libxml2-${LIBXML2_VERSION}.tar.gz"
|
|
|
|
_src_dir_libxml2="/usr/local/src/libxml2"
|
|
_build_dir_libxml2="${_src_dir_libxml2}/libxml2-${LIBXML2_VERSION}"
|
|
|
|
echononl "\tCreate source directory '$_src_dir_libxml2'.."
|
|
if [[ ! -d "$_src_dir_libxml2" ]]; then
|
|
mkdir "$_src_dir_libxml2" >> ${_logdir}/main.log 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Cannot create directory '$_src_dir_libxml2'"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
cd "$_src_dir_libxml2"
|
|
|
|
echononl "\tGet source $libxml2_archive .."
|
|
if [[ ! -f ${_src_dir_libxml2}/$libxml2_archive ]]; then
|
|
wget -O "${_src_dir_libxml2}/$libxml2_archive" \
|
|
ftp://xmlsoft.org/libxml2/${libxml2_archive} \
|
|
>> ${_logdir}/main.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Cannot Download '$libxml2_archive'"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
_backup_dir="$_build_dir_libxml2"
|
|
echononl "\tBackup existing directory '${_backup_dir}'.."
|
|
if [[ -d "${_backup_dir}" ]]; then
|
|
mv "${_backup_dir}" "${_backup_dir}.$_backup_date" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tUnpack archive \"$libxml2_archive\".."
|
|
gunzip < "${libxml2_archive}" | tar -xf - 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
cd "$_build_dir_libxml2"
|
|
|
|
config_params="--prefix=/usr/local/libxml2-$LIBXML2_VERSION"
|
|
if $_install_python2 ; then
|
|
config_params="${config_params} --with-python=/usr/local/python2"
|
|
fi
|
|
echononl "\tGoing to configure libxml2-$LIBXML2_VERSION .."
|
|
./configure $config_params >> ${_logdir}/libxml2-configure.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Configuring libxml2 failed!\n\t see ${_logdir}/libxml2-configure.log-configure.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
echononl "\tGoing to compile libxml2-$LIBXML2_VERSION .."
|
|
make > ${_logdir}/libxml2-make.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Compiling libxml2 failed!\n\t see ${_logdir}/libxml2-make.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
_backup_dir="/usr/local/libxml2-${LIBXML2_VERSION}"
|
|
echononl "\tBackup existing directory '${_backup_dir}'.."
|
|
if [[ -d "${_backup_dir}" ]]; then
|
|
mv "${_backup_dir}" "${_backup_dir}.$_backup_date" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tGoing to install libxml2-$LIBXML2_VERSION.."
|
|
make install > ${_logdir}/libxml2-make_install.log 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Installing libxml2 failed!\n\t see ${_logdir}/libxml2-make_install.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
echononl "\tSet symlink /usr/local/libxml2 -> /usr/local/libxml2-$LIBXML2_VERSION .."
|
|
if [ -L /usr/local/libxml2 ];then
|
|
rm -f /usr/local/libxml2
|
|
fi
|
|
|
|
ln -s libxml2-$LIBXML2_VERSION /usr/local/libxml2 > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
if $_install_openssl1 && [[ ! -d /usr/local/openssl-$OPENSSL1_VERSION ]]; then
|
|
|
|
## - Install OpenSSL 1'
|
|
## -
|
|
echo ""
|
|
echo ""
|
|
echo -e "\t---"
|
|
echo -e "\t--- Install OpenSSL 1"
|
|
echo -e "\t---"
|
|
echo ""
|
|
|
|
_NAME="openssl"
|
|
|
|
_VERSION="${OPENSSL1_VERSION}"
|
|
|
|
_archive_file="openssl-${_VERSION}.tgz"
|
|
_download_url="https://www.openssl.org/source/openssl-${_VERSION}.tar.gz"
|
|
|
|
_src_dir="/usr/local/src/openssl"
|
|
_build_dir="${_src_dir}/openssl-${_VERSION}"
|
|
|
|
_install_dir="/usr/local/openssl-${_VERSION}"
|
|
|
|
echononl "\tCreate source directory '$_src_dir'.."
|
|
if [[ ! -d "$_src_dir" ]]; then
|
|
mkdir "$_src_dir" >> ${_logdir}/main.log 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Cannot create directory '$_src_dir'"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
cd "$_src_dir"
|
|
|
|
echononl "\tGet source $_archive_file .."
|
|
if [[ ! -f ${_src_dir}/$_archive_file ]]; then
|
|
wget -O "${_src_dir}/$_archive_file" \
|
|
${_download_url} \
|
|
>> ${_logdir}/main.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Cannot Download '$_archive_file'"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
_backup_dir="$_build_dir"
|
|
echononl "\tBackup existing directory '${_backup_dir}'.."
|
|
if [[ -d "${_backup_dir}" ]]; then
|
|
mv "${_backup_dir}" "${_backup_dir}.$_backup_date" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tUnpack archive \"$_archive_file\".."
|
|
gunzip < "${_archive_file}" | tar -xf - 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
cd "$_build_dir"
|
|
|
|
config_params="--prefix=${_install_dir}"
|
|
|
|
echononl "\tGoing to configure ${_NAME} ${_VERSION} .."
|
|
|
|
if [[ -x "./config" ]] ; then
|
|
|
|
config_params="--prefix=${_install_dir} --openssldir=${_install_dir}"
|
|
|
|
./config ${config_params} > ${_logdir}/${_NAME}-configure.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Configuring (Configure) ${_NAME} failed!\n\t see ${_logdir}/${_NAME}-configure.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
|
|
./configure $config_params >> ${_logdir}/${_NAME}-configure.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Configuring ${_NAME} failed!\n\t see ${_logdir}/${_NAME}-configure.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
fi
|
|
|
|
echononl "\tGoing to compile ${_NAME} ${_VERSION} .."
|
|
make > ${_logdir}/${_NAME}-make.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Compiling ${_NAME} failed!\n\t see ${_logdir}/${_NAME}-make.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
_backup_dir="/usr/local/${_NAME}-${_VERSION}"
|
|
echononl "\tBackup existing directory '${_backup_dir}'.."
|
|
if [[ -d "${_backup_dir}" ]]; then
|
|
mv "${_backup_dir}" "${_backup_dir}.$_backup_date" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tGoing to install ${_NAME} v${_VERSION}.."
|
|
make install > ${_logdir}/${_NAME}-make_install.log 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Installing ${_NAME} failed!\n\t see ${_logdir}/${_NAME}-make_install.log for more details"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
echononl "\tSet symlink /usr/local/${_NAME} -> /usr/local/${_NAME}-${_VERSION} .."
|
|
if [ -L /usr/local/${_NAME} ];then
|
|
rm -f /usr/local/${_NAME}
|
|
fi
|
|
|
|
ln -s ${_NAME}-${_VERSION} /usr/local/${_NAME} > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
## - Set Symlink
|
|
## - /usr/include/x86_64-linux-gnu/gmp.h -> /usr/include/gmp.h
|
|
## - if not exists
|
|
## -
|
|
if [ -f "/usr/include/x86_64-linux-gnu/gmp.h" -a ! -e "/usr/include/gmp.h" ]; then
|
|
echononl "\tSet Symlink /usr/include/x86_64-linux-gnu/gmp.h.."
|
|
ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
warn "Cannot set Symlink /usr/include/x86_64-linux-gnu/gmp.h -> /usr/include/gmp.h"
|
|
fi
|
|
echo ""
|
|
fi
|
|
|
|
## - Set Symlink
|
|
## - /usr/lib/x86_64-linux-gnu/libldap.so -> /usr/lib/libldap.so
|
|
## - if not exists
|
|
## -
|
|
if [ -f "/usr/lib/x86_64-linux-gnu/libldap.so" -a ! -e "/usr/lib/libldap.so" ]; then
|
|
echononl "\tSet Symlink /usr/lib/x86_64-linux-gnu/libldap.so.."
|
|
ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
warn "Cannot set Symlink /usr/lib/x86_64-linux-gnu/libldap.so -> /usr/lib/libldap.so"
|
|
fi
|
|
echo ""
|
|
fi
|
|
|
|
## - Set Symlink
|
|
## - /usr/lib/x86_64-linux-gnu/libXpm.so -> /usr/lib/libXpm.so
|
|
## - if not exists
|
|
## -
|
|
if [ -f "/usr/lib/x86_64-linux-gnu/libXpm.so" -a ! -e "/usr/lib/libXpm.so" ]; then
|
|
echononl "\tSet Symlink /usr/lib/x86_64-linux-gnu/libXpm.so.."
|
|
ln -s /usr/lib/x86_64-linux-gnu/libXpm.so /usr/lib/libXpm.so
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
warn "Cannot set Symlink /usr/lib/x86_64-linux-gnu/libXpm.so -> /usr/lib/libXpm.so"
|
|
fi
|
|
echo ""
|
|
fi
|
|
|
|
## - Set Symlink
|
|
## - /usr/include/x86_64-linux-gnu/curl -> /usr/include/curl
|
|
## - if not exists
|
|
## -
|
|
if [[ -d "/usr/include/x86_64-linux-gnu/curl" ]] && [[ ! -e "/usr/include/curl" ]] ; then
|
|
echononl "\tSet Symlink /usr/include/x86_64-linux-gnu/curl.."
|
|
ln -s x86_64-linux-gnu/curl /usr/include/curl
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
warn "Cannot set Symlink /usr/include/x86_64-linux-gnu/curl -> /usr/include/curl"
|
|
fi
|
|
echo ""
|
|
fi
|
|
|
|
## - Disable crontab for user root
|
|
## -
|
|
_crontab_found=false
|
|
echononl "\tBackup crontab"
|
|
crontab -u root -l >> $_CRONTAB_BAKUP_FILE 2> $tmp_err_msg
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
_crontab_found=true
|
|
else
|
|
if [[ ! -s "$_CRONTAB_BAKUP_FILE" ]] ; then
|
|
echo_skipped
|
|
warn "No crontab for user 'root'found."
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
fi
|
|
|
|
if $_crontab_found ; then
|
|
echononl "\tDisable crontab for user root"
|
|
crontab -r -u root >> ${_logdir}/main.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\t---"
|
|
echo -e "\t--- Install PHP v $PHP_VERSION_STRING"
|
|
echo -e "\t---"
|
|
echo ""
|
|
|
|
## - get sources..
|
|
## -
|
|
cd $_srcdir
|
|
|
|
echononl "\tGet source php-$VERSION.tar.bz2.."
|
|
if [ ! -f ${_srcdir}/php-$VERSION.tar.bz2 ]; then
|
|
wget http://de2.php.net/distributions/php-$VERSION.tar.bz2 >> ${_logdir}/main.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Cannot Download php-$VERSION.tar.bz2"
|
|
|
|
echo "" >> ${_logdir}/main.log
|
|
echo "# Maybe a certificate from download location is missing.." >> ${_logdir}/main.log
|
|
echo "#" >> ${_logdir}/main.log
|
|
|
|
echo -e "\tMaybe a certificate from download location is missing.."
|
|
echo ""
|
|
|
|
_update_ca_certificates_dir="/usr/local/share/ca-certificates"
|
|
|
|
cert_name="$(basename "${cert_URL_php_net}")"
|
|
cert_name="${cert_name%.*}.crt"
|
|
|
|
_path_to_openssl_dir="$(openssl version -d | awk '{print$2}')"
|
|
_path_to_openssl_dir=${_path_to_openssl_dir#\"}
|
|
_path_to_openssl_dir=${_path_to_openssl_dir%\"}
|
|
_path_to_openssl_dir="$(realpath "${_path_to_openssl_dir}")"
|
|
|
|
_default_cert_dir="$(realpath "${_path_to_openssl_dir}/certs")"
|
|
|
|
_failed=false
|
|
|
|
echononl "\tTry to.add certifivcate to ca-certificates file."
|
|
echo "" >> ${_logdir}/main.log
|
|
echo "# Try to.add certifivcate to ca-certificates file." >> ${_logdir}/main.log
|
|
echo "#" >> ${_logdir}/main.log
|
|
echo "wget --no-check-certificate -O \"${_update_ca_certificates_dir}/${cert_name}\" \"${cert_URL_php_net}\"" >> ${_logdir}/main.log
|
|
wget --no-check-certificate -O "${_update_ca_certificates_dir}/${cert_name}" "${cert_URL_php_net}" >> ${_logdir}/main.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echo "" >> ${_logdir}/main.log
|
|
echo "# Update ca-certificates .." >> ${_logdir}/main.log
|
|
echo "#" >> ${_logdir}/main.log
|
|
echo "update-ca-certificates" >> ${_logdir}/main.log
|
|
|
|
echononl "\tUpdate ca-certificates .."
|
|
update-ca-certificates >> ${_logdir}/main.log 2>&1
|
|
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echo "" >> ${_logdir}/main.log
|
|
echo "# Rehash Cert directory .." >> ${_logdir}/main.log 2>&1
|
|
echo "#" >> ${_logdir}/main.log
|
|
echo "c_rehash "${_default_cert_dir}"" >> ${_logdir}/main.log
|
|
|
|
echononl "\tRehash Cert directory (c_rehash "${_default_cert_dir}")"
|
|
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Rehashing cert directory "${_default_cert_dir}" failed.."
|
|
|
|
echo ""
|
|
echononl "download php source archiv yourself and continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
_failed=true
|
|
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
error "Updating ca-certificates failed!"
|
|
|
|
echo ""
|
|
echononl "download php source archiv yourself and continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
_failed=true
|
|
fi
|
|
|
|
|
|
if ! $_failed ; then
|
|
echononl "\tTry again getting the source 'php-$VERSION.tar.bz2'.."
|
|
echo "" >> ${_logdir}/main.log
|
|
echo "# Try again getting the source 'php-$VERSION.tar.bz2'" >> ${_logdir}/main.log
|
|
echo "#" >> ${_logdir}/main.log
|
|
echo "wget http://de2.php.net/distributions/php-$VERSION.tar.bz2" >> ${_logdir}/main.log
|
|
wget http://de2.php.net/distributions/php-$VERSION.tar.bz2 >> ${_logdir}/main.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Cannot Download 'php-$VERSION.tar.bz2' even having trusted cerificate from '${cert_URL_php_net}'"
|
|
|
|
echo ""
|
|
echononl "download php source archiv yourself and continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
|
|
fi
|
|
fi
|
|
else
|
|
echo_failed
|
|
error "Cannot add certificates to ca-certificates file."
|
|
|
|
echo ""
|
|
echononl "download php source archiv yourself and continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
|
|
echononl "\tUnpack archive \"php-$VERSION.tar.bz2\".."
|
|
bunzip2 < ${_srcdir}/php-$VERSION.tar.bz2 | tar -xf - 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fatal "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
echononl "\tApply patch to compile against OpenSSL 1.1.."
|
|
if [[ "$os_dist" = "debian" ]] && [[ $os_version -gt 8 ]] && [[ $PHP_MAJOR_VERSION -lt 7 ]]; then
|
|
if [[ -f ${_srcdir}/PHP-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch ]] ; then
|
|
patch -d $_builddir -p1 < ${_srcdir}/PHP-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fatal "$(cat $tmp_err_msg)"
|
|
fi
|
|
else
|
|
echo_failed
|
|
fatal "Can't find patchfile '${_srcdir}/PHP-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch'"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tApply patch to compile against OpenSSL 3.0.."
|
|
if [[ "$os_dist" = "debian" ]] && [[ $os_version -gt 11 ]] && [[ $PHP_MAJOR_VERSION -eq 7 ]] ; then
|
|
if [[ -f ${_srcdir}/PHP-7.4-OpenSSL-3.0-compatibility.patch ]] ; then
|
|
patch -d $_builddir/ext -p 0 < ${_srcdir}/PHP-7.4-OpenSSL-3.0-compatibility.patch > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fatal "$(cat $tmp_err_msg)"
|
|
fi
|
|
else
|
|
echo_failed
|
|
fatal "Can't find patchfile '${_srcdir}/PHP-7.4-OpenSSL-3.0-compatibility.patch'"
|
|
fi
|
|
elif [[ "$os_dist" = "debian" ]] && [[ $os_version -gt 11 ]] && ([[ $PHP_MAJOR_VERSION -eq 8 ]] \
|
|
&& [[ $PHP_MINOR_VERSION -eq 0 ]]); then
|
|
if [[ -f ${_srcdir}/PHP-8.0-OpenSSL-3.0-compatibility.patch ]] ; then
|
|
patch -d $_builddir/ext -p 0 < ${_srcdir}/PHP-8.0-OpenSSL-3.0-compatibility.patch > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fatal "$(cat $tmp_err_msg)"
|
|
fi
|
|
else
|
|
echo_failed
|
|
fatal "Can't find patchfile '${_srcdir}/PHP-8.0-OpenSSL-3.0-compatibility.patch'"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tChange ownership of unpacked dirextory \"php-$VERSION\""
|
|
chown -R root.root php-$VERSION > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fatal "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
if ! $WITHOUT_APACHE_MOD_PHP ; then
|
|
mv php-$VERSION $_builddir
|
|
fi
|
|
cd $_builddir || exit 1
|
|
|
|
echononl "\tGoing to configure.."
|
|
|
|
# : ${_arch:=i686}
|
|
# : ${_arch:=athlon}
|
|
# : ${_arch:=k8} ## --> x86-64 instructionset
|
|
|
|
##_cflags="-O2 -march=$_arch "
|
|
|
|
## - LDFLAGS="-s" --> Remove all symbol table and relocation information from the executable.
|
|
## F77="/usr/bin/g77-3.4" \
|
|
## CXXCPP="/usr/bin/g++-3.4 -E" \
|
|
## CC="/usr/bin/gcc-3.4" \
|
|
## CXX="/usr/bin/g++-3.4" \
|
|
## CPP="/usr/bin/cpp-3.4" \
|
|
## CFLAGS="$_cflags" LDFLAGS="-s" \
|
|
config_params="
|
|
--prefix=$PREFIX_PHP
|
|
--with-pgsql
|
|
--with-pdo-pgsql
|
|
--with-pdo-mysql=mysqlnd
|
|
--with-mysqli=mysqlnd
|
|
--enable-exif
|
|
--with-zlib
|
|
--with-gdbm
|
|
--with-curl
|
|
--enable-dba
|
|
--enable-ftp
|
|
--with-gmp
|
|
--with-readline
|
|
--enable-sockets
|
|
--with-imap
|
|
--with-imap-ssl
|
|
--with-kerberos
|
|
--with-gettext
|
|
--with-pspell
|
|
--enable-soap
|
|
--enable-mbstring
|
|
--enable-calendar
|
|
--enable-bcmath
|
|
--enable-opcache
|
|
--with-bz2
|
|
--enable-intl
|
|
--enable-shmop
|
|
--enable-sysvmsg
|
|
--enable-sysvsem
|
|
--enable-sysvshm
|
|
--enable-pcntl
|
|
--with-ldap=shared
|
|
--with-xsl
|
|
--with-mhash
|
|
--enable-cgi
|
|
--with-xmlrpc"
|
|
|
|
if $_install_openssl1 ; then
|
|
config_params="${config_params}
|
|
--with-openssl=/usr/local/openssl"
|
|
else
|
|
config_params="${config_params}
|
|
--with-openssl"
|
|
fi
|
|
|
|
# --with-t1lib \
|
|
|
|
# Note:
|
|
# Debian buster's package libfreetype6-dev is missing 'freetype-config'.
|
|
# but you can use pkg-config instead.
|
|
# Use '-enable-freetype', which relies on pkg-config instead of
|
|
# '--with-freetype-dir_DIR', which relies on freetype-config.
|
|
#
|
|
if ([[ "$PHP_MAJOR_VERSION" -eq 7 ]] && [[ "$PHP_MINOR_VERSION" -gt 3 ]]) \
|
|
|| [[ "$PHP_MAJOR_VERSION" -gt 7 ]] ; then
|
|
|
|
# --with-png-dir has been removed. libpng is required.
|
|
# --with-zlib-dir has been removed. zlib is required.
|
|
# --with-jpeg-dir becomes --with-jpeg
|
|
# --with-freetype-dir becomes --with-freetype
|
|
#
|
|
# The WDDX extension has been deprecated and moved to PECL.
|
|
config_params="$config_params
|
|
--with-freetype
|
|
--enable-gd
|
|
--with-jpeg
|
|
--with-xpm
|
|
--with-webp
|
|
--with-zip
|
|
--with-zlib
|
|
--with-pear
|
|
--with-sodium
|
|
"
|
|
else
|
|
config_params="$config_params
|
|
--with-gd
|
|
--with-png-dir
|
|
--with-pcre-regex
|
|
--with-jpeg-dir
|
|
--with-xpm-dir
|
|
--enable-zip
|
|
--enable-wddx
|
|
"
|
|
if [[ "$os_dist" = "debian" ]] && [[ $os_version -lt 10 ]] ; then
|
|
config_params="$config_params
|
|
--with-freetype-dir"
|
|
else
|
|
config_params="$config_params
|
|
--with-freetype-dir=/usr/local/freetype"
|
|
fi
|
|
|
|
|
|
fi
|
|
|
|
if ([[ $PHP_MAJOR_VERSION -eq 5 ]] || ([[ $PHP_MAJOR_VERSION -eq 7 ]] && [[ $PHP_MINOR_VERSION -eq 0 ]])) \
|
|
&& [[ "$os_dist" = "debian" ]] && [[ $os_version -ge 10 ]]; then
|
|
config_params="$config_params
|
|
--with-libxml-dir=/usr/local/libxml2
|
|
--with-icu-dir=/usr/local/icu4c"
|
|
fi
|
|
|
|
if ([[ $PHP_MAJOR_VERSION -eq 7 ]] && [[ $PHP_MINOR_VERSION -gt 0 ]] && [[ $PHP_MINOR_VERSION -lt 4 ]]) \
|
|
&& [[ "$os_dist" = "debian" ]] && [[ $os_version -ge 11 ]]; then
|
|
config_params="$config_params
|
|
--with-icu-dir=/usr/local/icu4c"
|
|
fi
|
|
|
|
|
|
# --with-fpm-systemd \
|
|
if $SYSTEMD_EXISTS ; then
|
|
config_params="$config_params
|
|
--with-fpm-systemd"
|
|
fi
|
|
|
|
## - since version 7.0: unrecognized options --with-t1lib
|
|
## -
|
|
## - '--with-webp-dir=DIR' has to be added, i.e. support for libvpx
|
|
## - '--with-vpx-dir') has been removed in favor of libwebp.
|
|
## -
|
|
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
|
|
config_params="$config_params
|
|
--with-vpx-dir"
|
|
else
|
|
if [[ "$PHP_MAJOR_VERSION" -eq 7 ]] ; then
|
|
if [[ "$PHP_MINOR_VERSION" -le 3 ]] ; then
|
|
config_params="$config_params \
|
|
--with-webp-dir"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
## - since version 7.2: MCrypt is moved to PECL
|
|
## -
|
|
if ([[ "$PHP_MAJOR_VERSION" -eq 7 ]] && [[ "$PHP_MINOR_VERSION" -lt 2 ]]) \
|
|
|| [[ "$PHP_MAJOR_VERSION" -lt 7 ]] ; then
|
|
config_params="$config_params
|
|
--with-mcrypt"
|
|
fi
|
|
|
|
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
|
|
config_params="$config_params
|
|
--with-mysql=mysqlnd"
|
|
fi
|
|
|
|
_mysql_socket=""
|
|
_mysql_config="$(which mysql_config)"
|
|
if [[ -z "$_mysql_config" ]]; then
|
|
if [[ -x "/usr/local/mysql/bin/mysql_config" ]]; then
|
|
_mysql_config="/usr/local/mysql/bin/mysql_config"
|
|
fi
|
|
fi
|
|
if [[ -x "$_mysql_config" ]]; then
|
|
if $_mysql_config --socket > /dev/null 2>&1 ; then
|
|
_mysql_socket="$($_mysql_config --socket)"
|
|
fi
|
|
fi
|
|
if [[ -n "$_mysql_socket" ]]; then
|
|
config_params="$config_params
|
|
--with-mysql-sock=$_mysql_socket"
|
|
else
|
|
config_params="$config_params
|
|
--with-mysql-sock"
|
|
fi
|
|
|
|
if $WITHOUT_APACHE_MOD_PHP ; then
|
|
config_params="$config_params --without-apxs2 --with-config-file-path=${PREFIX_PHP}/etc"
|
|
else
|
|
config_params="$config_params --with-apxs2=$APXS --with-config-file-path=${APACHE_BASEDIR}/conf"
|
|
fi
|
|
|
|
if $WITH_PHP_FPM_SUPPORT ; then
|
|
config_params="$config_params --enable-fpm"
|
|
fi
|
|
|
|
echo "LDFLAGS=\"-s\" ./configure $config_params" > ${_logdir}/php-configure.log
|
|
echo "" >> ${_logdir}/php-configure.log
|
|
|
|
LDFLAGS="-s" ./configure $config_params >> ${_logdir}/php-configure.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fatal "Configuring PHP failed!\n\t see ${_logdir}/php-configure.log for more details"
|
|
fi
|
|
|
|
|
|
## --with-mm \ # does not work with apache v2.4
|
|
|
|
## --with-pgsql=/usr/local/pgsql \
|
|
|
|
## --with-mysql=/usr/local/mysql \
|
|
## --with-mysqli=/usr/local/mysql/bin/mysql_config \
|
|
## --with-pdo-mysql=/usr/local/mysql \
|
|
## --with-mysql-sock \
|
|
|
|
## --with-mysql \
|
|
## --with-mysqli \
|
|
## --with-pdo-mysql \
|
|
## --with-mysql-sock \
|
|
|
|
## --enable-force-cgi-redirect \
|
|
## --enable-track-vars \
|
|
## --with-tiff-dir \
|
|
## --with-ttf \
|
|
## --with-memcache \
|
|
## --with-xml \
|
|
|
|
|
|
echononl "\tGoing to compile.."
|
|
make > ${_logdir}/php-make.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fatal "Compiling PHP failed!\n\t see ${_logdir}/php-make.log for more details"
|
|
fi
|
|
|
|
|
|
sync
|
|
|
|
echononl "\tGoing to install.."
|
|
make install > ${_logdir}/php-make_install.log 2>&1
|
|
if [[ $? -ne 0 ]]; then
|
|
echo_failed
|
|
if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
|
|
echononl "\tRetry Installing.."
|
|
make install > ${_logdir}/php-make_install.log 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fatal "Installing PHP failed!\n\t see ${_logdir}/php-make_install.log for more details"
|
|
fi
|
|
else
|
|
fatal "Installing PHP failed!\n\t see ${_logdir}/php-make_install.log for more details"
|
|
fi
|
|
else
|
|
echo_ok
|
|
fi
|
|
|
|
if [[ "${FPM_RUN_DIR}" =~ ^/run/ ]] ; then
|
|
|
|
echo ""
|
|
echononl "\tCreate Run directory '$FPM_RUN_DIR' .."
|
|
|
|
if [[ ! -d "${FPM_RUN_DIR}" ]]; then
|
|
|
|
echo "" >> ${_logdir}/main.log
|
|
echo "## - Create Run directory '$FPM_RUN_DIR'" >> ${_logdir}/main.log
|
|
echo "## -" >> ${_logdir}/main.log
|
|
echo "mkdir \"$FPM_RUN_DIR\"" >> ${_logdir}/main.log
|
|
|
|
mkdir "$FPM_RUN_DIR" >> ${_logdir}/main.log 2>&1
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Creating Run directory '$FPM_RUN_DIR' failed!"
|
|
fi
|
|
|
|
echononl "\tChange owner of run directory '$FPM_RUN_DIR'"
|
|
echo "" >> ${_logdir}/main.log
|
|
echo "## - Change owner of run directory '$FPM_RUN_DIR'" >> ${_logdir}/main.log
|
|
echo "## -" >> ${_logdir}/main.log
|
|
echo "chown $FPM_DEFAULT_POOL_USER:${FPM_DEFAULT_POOL_GROUP} \"${FPM_RUN_DIR}\"" >> ${_logdir}/main.log
|
|
|
|
chown $FPM_DEFAULT_POOL_USER:${FPM_DEFAULT_POOL_GROUP} ${FPM_RUN_DIR} >> ${_logdir}/main.log
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Changing owner of un directory '$FPM_RUN_DIR' failed!"
|
|
fi
|
|
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tForce systemd to create run directory on each startup.."
|
|
echo "" >> ${_logdir}/main.log
|
|
echo "## - Force systemd to create run directory on each startup." >> ${_logdir}/main.log
|
|
echo "## -" >> ${_logdir}/main.log
|
|
echo "## - Create '/etc/tmpfiles.d/mysql.conf' with content:" >> ${_logdir}/main.log
|
|
echo "## -" >> ${_logdir}/main.log
|
|
echo "## - # systemd tmpfile settings for mysql or mariadb" >> ${_logdir}/main.log
|
|
echo "## - d $FPM_RUN_DIR 0755 $FPM_DEFAULT_POOL_USER $FPM_DEFAULT_POOL_GROUP -" >> ${_logdir}/main.log
|
|
echo "## -" >> ${_logdir}/main.log
|
|
echo "" >> ${_logdir}/main.log
|
|
echo "cat << EOF > /etc/tmpfiles.d/php-fpm.conf
|
|
# systemd tmpfile settings for php fpm
|
|
d $FPM_RUN_DIR 0755 $FPM_DEFAULT_POOL_USER $FPM_DEFAULT_POOL_GROUP -
|
|
EOF" >> ${_logdir}/main.log
|
|
cat <<EOF > /etc/tmpfiles.d/php-fpm.conf
|
|
# systemd tmpfile settings for php fpm
|
|
d $FPM_RUN_DIR 0755 $FPM_DEFAULT_POOL_USER $FPM_DEFAULT_POOL_GROUP -
|
|
EOF
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Creating file '/etc/tmpfiles.d/php-fpm.conf' failed!"
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#cp php.ini-production $PHP_INI_FILE || exit 1
|
|
[[ -f $PHP_INI_FILE ]] && cp -a $PHP_INI_FILE ${PHP_INI_FILE}-$_backup_date
|
|
cp php.ini-production $PHP_INI_FILE || exit 1
|
|
|
|
## - Temporarily change PATH environment variable
|
|
## -
|
|
export PATH=/usr/local/php-${VERSION}/bin:$PATH
|
|
|
|
|
|
if ! $WITHOUT_APACHE_MOD_PHP ; then
|
|
|
|
#_set_php_entries=""
|
|
#echo ""
|
|
#echo -n "do you want to set \"LoadModule\" entries in httpd.conf ? [y/n]: "
|
|
#read _set_php_entries
|
|
#if [ "y" = "$_set_php_entries" -o "Y" = "$_set_php_entries" -o "Yes" = "$_set_php_entries" -o "yes" = "$_set_php_entries" ];then
|
|
#
|
|
# sed -i -r \
|
|
# -e "s&(^\s*LoadModule php${PHP_MAJOR_VERSION}_module.*$)&\1\n<IfModule mod_php${PHP_MAJOR_VERSION}.c>\n AddType application/x-httpd-php .php\n AddType application/x-httpd-php-source .phps\n</IfModule>&" ${APACHE_BASEDIR}/conf/httpd.conf
|
|
#
|
|
#
|
|
#fi
|
|
|
|
echononl "\tGoing to set \"LoadModule\" entries in httpd.conf .."
|
|
if [[ ${PHP_MAJOR_VERSION} -lt 8 ]] ; then
|
|
sed -i -r \
|
|
-e "s&(^\s*LoadModule php${PHP_MAJOR_VERSION}_module.*$)&\1\n<IfModule mod_php${PHP_MAJOR_VERSION}.c>\n AddType application/x-httpd-php .php\n AddType application/x-httpd-php-source .phps\n</IfModule>&" ${APACHE_BASEDIR}/conf/httpd.conf
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
else
|
|
sed -i -r \
|
|
-e "s&(^\s*LoadModule php_module.*$)&\1\n<IfModule mod_php.c>\n AddType application/x-httpd-php .php\n AddType application/x-httpd-php-source .phps\n</IfModule>&" ${APACHE_BASEDIR}/conf/httpd.conf
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
|
|
fi
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\t---"
|
|
echo -e "\t--- post installation tasks"
|
|
echo -e "\t---"
|
|
|
|
if $SYMLINK_PHP ; then
|
|
echononl "\tSet symlink /usr/local/php -> /usr/local/php-$PHP_MAIN_VERSION"
|
|
if [ -L /usr/local/php ];then
|
|
rm -f /usr/local/php
|
|
fi
|
|
ln -s php-$PHP_MAIN_VERSION /usr/local/php
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
if $SYMLINK_PHP_MAIN_VERSION ; then
|
|
echononl "\tSet symlink /usr/local/php-$PHP_MAIN_VERSION -> `basename $PREFIX_PHP`"
|
|
if [ -h /usr/local/php-${PHP_MAIN_VERSION} ] ; then
|
|
rm -f /usr/local/php-${PHP_MAIN_VERSION}
|
|
fi
|
|
ln -s `basename $PREFIX_PHP` /usr/local/php-$PHP_MAIN_VERSION
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
|
|
## - special for debian. set manpath entries
|
|
## -
|
|
if [ -f /etc/manpath.config ];then
|
|
if ! grep /usr/local/php/php/man /etc/manpath.config > /dev/null 2<&1 ; then
|
|
echo >> /etc/manpath.config
|
|
echo "MANDATORY_MANPATH /usr/local/php/php/man /var/cache/man" >> /etc/manpath.config
|
|
echo "MANPATH_MAP /usr/local/php/bin /usr/local/php/php/man" >> /etc/manpath.config
|
|
echo "MANDB_MAP /usr/local/php/php/man /var/cache/man" >> /etc/manpath.config
|
|
fi
|
|
elif [ -f /etc/man.conf];then
|
|
if ! grep /opt/php/man /etc/man.conf > /dev/null 2<&1 ; then
|
|
echo >> /etc/man.conf
|
|
echo "MANPATH /opt/php/man /var/cache/man" >> /etc/man.conf
|
|
echo "MANPATH_MAP /opt/php/bin /opt/php/man" >> /etc/man.conf
|
|
fi
|
|
fi
|
|
|
|
|
|
## - Add /usr/local/php/bin to the systems PATH variable
|
|
## -
|
|
echo ""
|
|
echononl "\tAdd `dirname $PREFIX_PHP`/php/bin to the systems PATH variable"
|
|
_checkdir=`dirname $PREFIX_PHP`/php/bin
|
|
if [ -f /etc/profile ]; then
|
|
if ! grep -e "$_checkdir" /etc/profile > /dev/null 2<&1 ; then
|
|
perl -i -n -p -e "s#^([ ]*export[ ]*PATH.*$)#check_dir=$_checkdir\nif [ -d \"\\\$check_dir\" ];then\n PATH=\\\${check_dir}:\\\$PATH\nfi\n\n\1#" /etc/profile > /dev/null 2<&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
if ! echo "$PATH" | grep $_checkdir > /dev/null 2>&1 ; then
|
|
export PATH=${_checkdir}:$PATH
|
|
fi
|
|
|
|
else
|
|
echo_skipped
|
|
fi
|
|
fi
|
|
|
|
|
|
## - PHP FPM
|
|
## -
|
|
echo ""
|
|
echo ""
|
|
echo -e "\t---"
|
|
echo -e "\t--- Install support for PHP-FPM"
|
|
echo -e "\t---"
|
|
echo ""
|
|
|
|
if $WITH_PHP_FPM_SUPPORT ; then
|
|
|
|
if $SYSTEMD_EXISTS ; then
|
|
|
|
if $ACTIVATE_PHP_FPM_INIT_SCRIPT ; then
|
|
|
|
if systemctl is-enabled php-${PHP_MAIN_VERSION}-fpm.service > /dev/null 2>&1 ; then
|
|
|
|
echononl "\tStop service php-${PHP_MAIN_VERSION}-fpm"
|
|
systemctl stop php-${PHP_MAIN_VERSION}-fpm.service > /dev/null 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Stopping Service \"php-${PHP_MAIN_VERSION}-fpm\" failed!"
|
|
fi
|
|
|
|
echononl "\tDisable service php-${PHP_MAIN_VERSION}-fpm"
|
|
systemctl disable php-${PHP_MAIN_VERSION}-fpm.service > /dev/null 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Disabling Service \"php-${PHP_MAIN_VERSION}-fpm\" failed!"
|
|
fi
|
|
fi # if systemctl is-enabled php-${PHP_MAIN_VERSION}-fpm.service
|
|
|
|
echononl "\tRemove existing service file \"php-${PHP_MAIN_VERSION}-fpm.service\""
|
|
if [[ -f "$FPM_SYSTEMD_FILE" ]] ; then
|
|
rm "$FPM_SYSTEMD_FILE" > /dev/null 2<&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Removing file \"$FPM_SYSTEMD_FILE\" failed!"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tAdding systemd service \"$FPM_SYSTEMD_FILE\".."
|
|
cp ${_builddir}/sapi/fpm/php-fpm.service "$FPM_SYSTEMD_FILE" > /dev/null 2<&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fatal "Adding systemd service \"$FPM_SYSTEMD_FILE\" failed!"
|
|
fi
|
|
|
|
_failed=false
|
|
echononl "\tAdjust php-${PHP_MAIN_VERSION}-fpm.service (PrivateTmp=false)"
|
|
|
|
sed -i -r -e "s#(Description.*)#\1 v${PHP_MAIN_VERSION}#" "$FPM_SYSTEMD_FILE" > /dev/null 2<&1
|
|
if [[ $? -ne 0 ]]; then
|
|
_failed=true
|
|
fi
|
|
|
|
sed -i -r -e "s#PIDFile=.*#PIDFile=${FPM_PID_FILE}#" "$FPM_SYSTEMD_FILE" > /dev/null 2<&1
|
|
if [[ $? -ne 0 ]]; then
|
|
_failed=true
|
|
fi
|
|
|
|
if grep -q "PrivateTmp" "$FPM_SYSTEMD_FILE" > /dev/null 2<&1 ; then
|
|
sed -i -r -e "s#^([[:space:]]*PrivateTmp).*#\1=false#" "$FPM_SYSTEMD_FILE"
|
|
if [[ $? -ne 0 ]]; then
|
|
_failed=true
|
|
fi
|
|
fi
|
|
|
|
if grep -q -E "\\\$\{prefix\}" "$FPM_SYSTEMD_FILE" > /dev/null 2<&1 ; then
|
|
|
|
sed -i -r -e "s#\\\$\{prefix\}#${PREFIX_PHP}#g" "$FPM_SYSTEMD_FILE" > /dev/null 2<&1
|
|
if [[ $? -ne 0 ]]; then
|
|
_failed=true
|
|
fi
|
|
fi
|
|
|
|
if grep -q -E "\\\$\{exec_prefix\}" "$FPM_SYSTEMD_FILE" > /dev/null 2<&1 ; then
|
|
sed -i -r -e "s#\\\$\{exec_prefix\}#${PREFIX_PHP}#g" "$FPM_SYSTEMD_FILE" > /dev/null 2<&1
|
|
if [[ $? -ne 0 ]]; then
|
|
_failed=true
|
|
fi
|
|
fi
|
|
|
|
|
|
if $_failed ; then
|
|
echo_failed
|
|
error "Some errors adjusting php-${PHP_MAIN_VERSION}-fpm.service occured!"
|
|
else
|
|
echo_ok
|
|
fi
|
|
|
|
|
|
echononl "\tReload systemd.."
|
|
systemctl daemon-reload > /dev/null 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Reloading systemd.. failed!"
|
|
fi
|
|
|
|
echononl "\tEnable Service \"php-${PHP_MAIN_VERSION}-fpm.service\".."
|
|
systemctl enable "php-${PHP_MAIN_VERSION}-fpm.service" > /dev/null 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fatal "Enabling systemd service \"${FPM_SYSTEMD_FILE}\" failed!"
|
|
fi
|
|
|
|
echononl "\tReload systemd manager configuration.."
|
|
systemctl daemon-reload > /dev/null 2<&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fatal "Reloading systemd manager configuration failed!"
|
|
fi
|
|
|
|
fi # if $ACTIVATE_PHP_FPM_INIT_SCRIPT
|
|
|
|
else
|
|
|
|
echononl "\tAdd init script ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm"
|
|
cp ${_builddir}/sapi/fpm/init.d.php-fpm ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm > /dev/null 2<&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
echononl "\tMake init script executable"
|
|
chmod 755 ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
echononl "\tSet \"umask 0002\" for FPM Processes .."
|
|
if $SET_UMASK ; then
|
|
sed -i "1 s/\(.*\)/\1\n\numask 0002\n/" ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm > /dev/null 2<&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
if $ACTIVATE_PHP_FPM_INIT_SCRIPT ; then
|
|
|
|
PID=`ps aux | grep "php-fpm: " | grep "master" | grep "${PHP_MAIN_VERSION}" | grep -v grep | awk '{print$2}'`
|
|
|
|
if [[ -n "$PID" ]] ; then
|
|
if [[ -x "$FPM_INIT_SCRIPT" ]]; then
|
|
echononl "\tStopping PHP-FPM Service"
|
|
$FPM_INIT_SCRIPT stop > /dev/null 2<&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Stopping init script $FPM_INIT_SCRIPT failed!"
|
|
fi
|
|
fi
|
|
|
|
sleep 5
|
|
declare -i i=0
|
|
|
|
PIDS=`ps aux | grep "php-fpm: " | grep -E "(master|pool)" | grep "${PHP_MAIN_VERSION}" | grep -v grep | awk '{print$2}'`
|
|
while [ "X$PIDS" != "X" ]; do
|
|
|
|
if [[ $i -eq 0 ]]; then
|
|
echononl "\tGoing to kill PHP-FPM Processes.."
|
|
fi
|
|
if [ $i -gt 20 ]; then
|
|
echo_failed
|
|
break
|
|
fi
|
|
|
|
for _PID in $PIDS ; do
|
|
kill -9 $_PID > /dev/null 2>&1
|
|
done
|
|
|
|
sleep 2
|
|
|
|
PIDS=`ps aux | grep "php-fpm: " | grep -E "(master|pool)" | grep "${PHP_MAIN_VERSION}" | grep -v grep | awk '{print$2}'`
|
|
i+=1
|
|
|
|
done
|
|
|
|
rm -f $FPM_DEFAULT_POOL_LISTEN
|
|
rm -f $FPM_PID_FILE
|
|
|
|
fi
|
|
|
|
if [[ $i -lt 20 ]]; then
|
|
echo_ok
|
|
fi
|
|
|
|
echononl "\tRemove existsing init script /etc/init.d/php-${PHP_VERSION_STRING}-fpm"
|
|
if [ -f "/etc/init.d/php-${PHP_VERSION_STRING}-fpm" ]; then
|
|
rm /etc/init.d/php-${PHP_VERSION_STRING}-fpm > /dev/null 2<&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Removing existing init script /etc/init.d/php-${PHP_VERSION_STRING}-fpm failed!"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
if [[ -f "$FPM_INIT_SCRIPT" ]] || [[ -h $FPM_INIT_SCRIPT ]] ; then
|
|
echononl "\tRemove \"$FPM_INIT_SCRIPT\""
|
|
rm -f $FPM_INIT_SCRIPT
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Removing $FPM_INIT_SCRIPT failed!"
|
|
fi
|
|
fi
|
|
|
|
echononl "\tSet Symlink $FPM_INIT_SCRIPT --> ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm"
|
|
ln -s ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm $FPM_INIT_SCRIPT > /dev/null 2<&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
echononl "\tMake php-${PHP_MAIN_VERSION}-fpm start at boottime"
|
|
if ! grep -e "$FPM_INIT_SCRIPT" /etc/rc.local > /dev/null 2>&1 ; then
|
|
sed -i -r -e "s#^([[:space:]]*exit\ +.*)#sleep 2\n$FPM_INIT_SCRIPT restart > /dev/null || /bin/true\n\n\1#" /etc/rc.local
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
_failed=false
|
|
echononl "\tAdjust ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm"
|
|
sed -i -r -e "s&^(([ ^t]*php_fpm_PID=).*)$&## \1\n\2${FPM_PID_FILE}&g" ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm || _failed=true
|
|
sed -i -r -e "s&^(#\ .+)php-fpm&\1php-${PHP_MAIN_VERSION}-fpm&" ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm || _failed=true
|
|
if ! $_failed ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
fi # if $SYSTEMD_EXISTS
|
|
|
|
|
|
|
|
echononl "\tCreate php-fpm global configuration file"
|
|
cat <<EOF > ${PREFIX_PHP}/etc/php-fpm.conf
|
|
;;;;;;;;;;;;;;;;;;;;;
|
|
; FPM Configuration ;
|
|
;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; All relative paths in this configuration file are relative to PHP's install
|
|
; prefix (/usr/local/php-5.4.35). This prefix can be dynamically changed by using the
|
|
; '-p' argument from the command line.
|
|
|
|
; Include one or more files. If glob(3) exists, it is used to include a bunch of
|
|
; files from a glob(3) pattern. This directive can be used everywhere in the
|
|
; file.
|
|
; Relative path can also be used. They will be prefixed by:
|
|
; - the global prefix if it's been set (-p argument)
|
|
; - /usr/local/php-5.4.35 otherwise
|
|
;include=etc/fpm.d/*.conf
|
|
|
|
;;;;;;;;;;;;;;;;;;
|
|
; Global Options ;
|
|
;;;;;;;;;;;;;;;;;;
|
|
|
|
[global]
|
|
; Pid file
|
|
; Note: the default prefix is /usr/local/php-5.4.35/var
|
|
; Default Value: none
|
|
pid = $FPM_PID_FILE
|
|
|
|
; Set open file descriptor rlimit for the master process.
|
|
; Default Value: system defined value
|
|
;rlimit_files = 1024
|
|
rlimit_files = $FPM_ULIMIT_MAX_FILES
|
|
|
|
; Error log file
|
|
; If it's set to "syslog", log is sent to syslogd instead of being written
|
|
; in a local file.
|
|
; Note: the default prefix is /usr/local/php-5.4.35/var
|
|
; Default Value: log/php-fpm.log
|
|
error_log = $FPM_ERROR_LOG
|
|
|
|
include=etc/${FPM_POOL_CONF_DIR}/*.conf
|
|
EOF
|
|
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
echononl "\tCreate Configuration Directory \"${FPM_POOL_CONF_DIR}\""
|
|
mkdir -p ${PREFIX_PHP}/etc/$FPM_POOL_CONF_DIR
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
echononl "\tCreate php-fpm configuration file for pool \"${FPM_DEFAULT_POOL}\""
|
|
if $FPM_DEFAULT_POOL_DEFINITION_EXISTS ; then
|
|
echo_skipped
|
|
else
|
|
cat <<EOF > ${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/${FPM_DEFAULT_POOL}.php-fpm.conf
|
|
;;;;;;;;;;;;;;;;;;;;
|
|
; Pool Definitions ;
|
|
;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; Multiple pools of child processes may be started with different listening
|
|
; ports and different management options. The name of the pool will be
|
|
; used in logs and stats. There is no limitation on the number of pools which
|
|
; FPM can handle. Your system will tell you anyway :)
|
|
|
|
; Start a new pool named '$FPM_DEFAULT_POOL'.
|
|
; the variable \$pool can we used in any directive and will be replaced by the
|
|
; pool name ('$FPM_DEFAULT_POOL' here)
|
|
[$FPM_DEFAULT_POOL]
|
|
|
|
; Per pool prefix
|
|
; It only applies on the following directives:
|
|
; - 'access.log'
|
|
; - 'slowlog'
|
|
; - 'listen' (unixsocket)
|
|
; - 'chroot'
|
|
; - 'chdir'
|
|
; - 'php_values'
|
|
; - 'php_admin_values'
|
|
; When not set, the global prefix (or /usr/local/php-7.4.6) applies instead.
|
|
; Note: This directive can also be relative to the global prefix.
|
|
; Default Value: none
|
|
;prefix = /path/to/pools/\$pool
|
|
|
|
; Unix user/group of processes
|
|
; Note: The user is mandatory. If the group is not set, the default user's group
|
|
; will be used.
|
|
user = $FPM_DEFAULT_POOL_USER
|
|
group = $FPM_DEFAULT_POOL_GROUP
|
|
|
|
; The address on which to accept FastCGI requests.
|
|
; Valid syntaxes are:
|
|
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
|
|
; a specific port;
|
|
; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
|
|
; a specific port;
|
|
; 'port' - to listen on a TCP socket to all addresses
|
|
; (IPv6 and IPv4-mapped) on a specific port;
|
|
; '/path/to/unix/socket' - to listen on a unix socket.
|
|
; Note: This value is mandatory.
|
|
;listen = 127.0.0.1:9000
|
|
listen = $FPM_DEFAULT_POOL_LISTEN
|
|
|
|
; Set listen(2) backlog.
|
|
; Default Value: 511 (-1 on FreeBSD and OpenBSD)
|
|
;listen.backlog = 511
|
|
|
|
; Set permissions for unix socket, if one is used. In Linux, read/write
|
|
; permissions must be set in order to allow connections from a web server. Many
|
|
; BSD-derived systems allow connections regardless of permissions. The owner
|
|
; and group can be specified either by name or by their numeric IDs.
|
|
; Default Values: user and group are set as the running user
|
|
;
|
|
listen.owner = $FPM_DEFAULT_POOL_LISTEN_OWNER
|
|
listen.group = $FPM_DEFAULT_POOL_LISTEN_GROUP
|
|
listen.mode = $FPM_DEFAULT_POOL_LISTEN_MODE
|
|
|
|
; When POSIX Access Control Lists are supported you can set them using
|
|
; these options, value is a comma separated list of user/group names.
|
|
; When set, listen.owner and listen.group are ignored
|
|
;listen.acl_users =
|
|
;listen.acl_groups =
|
|
|
|
; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect.
|
|
; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original
|
|
; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address
|
|
; must be separated by a comma. If this value is left blank, connections will be
|
|
; accepted from any ip address.
|
|
; Default Value: any
|
|
;listen.allowed_clients = 127.0.0.1
|
|
|
|
; Specify the nice(2) priority to apply to the pool processes (only if set)
|
|
; The value can vary from -19 (highest priority) to 20 (lower priority)
|
|
; Note: - It will only work if the FPM master process is launched as root
|
|
; - The pool processes will inherit the master process priority
|
|
; unless it specified otherwise
|
|
; Default Value: no set
|
|
; process.priority = -19
|
|
|
|
; Set the process dumpable flag (PR_SET_DUMPABLE prctl) even if the process user
|
|
; or group is differrent than the master process user. It allows to create process
|
|
; core dump and ptrace the process for the pool user.
|
|
; Default Value: no
|
|
; process.dumpable = yes
|
|
|
|
; Choose how the process manager will control the number of child processes.
|
|
; Possible Values:
|
|
; static - a fixed number (pm.max_children) of child processes;
|
|
; dynamic - the number of child processes are set dynamically based on the
|
|
; following directives. With this process management, there will be
|
|
; always at least 1 children.
|
|
; pm.max_children - the maximum number of children that can
|
|
; be alive at the same time.
|
|
; pm.start_servers - the number of children created on startup.
|
|
; pm.min_spare_servers - the minimum number of children in 'idle'
|
|
; state (waiting to process). If the number
|
|
; of 'idle' processes is less than this
|
|
; number then some children will be created.
|
|
; pm.max_spare_servers - the maximum number of children in 'idle'
|
|
; state (waiting to process). If the number
|
|
; of 'idle' processes is greater than this
|
|
; number then some children will be killed.
|
|
; ondemand - no children are created at startup. Children will be forked when
|
|
; new requests will connect. The following parameter are used:
|
|
; pm.max_children - the maximum number of children that
|
|
; can be alive at the same time.
|
|
; pm.process_idle_timeout - The number of seconds after which
|
|
; an idle process will be killed.
|
|
; Note: This value is mandatory.
|
|
pm = $FPM_DEFAULT_POOL_PM
|
|
|
|
; The number of child processes to be created when pm is set to 'static' and the
|
|
; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
|
|
; This value sets the limit on the number of simultaneous requests that will be
|
|
; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
|
|
; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
|
|
; CGI. The below defaults are based on a server without much resources. Don't
|
|
; forget to tweak pm.* to fit your needs.
|
|
; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
|
|
; Note: This value is mandatory.
|
|
pm.max_children = $FPM_POOL_MAX_CHILDREN
|
|
|
|
; The number of child processes created on startup.
|
|
; Note: Used only when pm is set to 'dynamic'
|
|
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
|
|
pm.start_servers = $FPM_POOL_START_SERVER
|
|
|
|
; The desired minimum number of idle server processes.
|
|
; Note: Used only when pm is set to 'dynamic'
|
|
; Note: Mandatory when pm is set to 'dynamic'
|
|
pm.min_spare_servers = $FPM_POOL_MIN_SPARE
|
|
|
|
; The desired maximum number of idle server processes.
|
|
; Note: Used only when pm is set to 'dynamic'
|
|
; Note: Mandatory when pm is set to 'dynamic'
|
|
pm.max_spare_servers = $FPM_POOL_MAX_SPARE
|
|
|
|
; The number of seconds after which an idle process will be killed.
|
|
; Note: Used only when pm is set to 'ondemand'
|
|
; Default Value: 10s
|
|
;pm.process_idle_timeout = 10s;
|
|
|
|
; The number of requests each child process should execute before respawning.
|
|
; This can be useful to work around memory leaks in 3rd party libraries. For
|
|
; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
|
|
; Default Value: 0
|
|
pm.max_requests = $FPM_POOL_MAX_REQUESTS
|
|
|
|
; The URI to view the FPM status page. If this value is not set, no URI will be
|
|
; recognized as a status page. It shows the following informations:
|
|
; pool - the name of the pool;
|
|
; process manager - static, dynamic or ondemand;
|
|
; start time - the date and time FPM has started;
|
|
; start since - number of seconds since FPM has started;
|
|
; accepted conn - the number of request accepted by the pool;
|
|
; listen queue - the number of request in the queue of pending
|
|
; connections (see backlog in listen(2));
|
|
; max listen queue - the maximum number of requests in the queue
|
|
; of pending connections since FPM has started;
|
|
; listen queue len - the size of the socket queue of pending connections;
|
|
; idle processes - the number of idle processes;
|
|
; active processes - the number of active processes;
|
|
; total processes - the number of idle + active processes;
|
|
; max active processes - the maximum number of active processes since FPM
|
|
; has started;
|
|
; max children reached - number of times, the process limit has been reached,
|
|
; when pm tries to start more children (works only for
|
|
; pm 'dynamic' and 'ondemand');
|
|
; Value are updated in real time.
|
|
; Example output:
|
|
; pool: www
|
|
; process manager: static
|
|
; start time: 01/Jul/2011:17:53:49 +0200
|
|
; start since: 62636
|
|
; accepted conn: 190460
|
|
; listen queue: 0
|
|
; max listen queue: 1
|
|
; listen queue len: 42
|
|
; idle processes: 4
|
|
; active processes: 11
|
|
; total processes: 15
|
|
; max active processes: 12
|
|
; max children reached: 0
|
|
;
|
|
; By default the status page output is formatted as text/plain. Passing either
|
|
; 'html', 'xml' or 'json' in the query string will return the corresponding
|
|
; output syntax. Example:
|
|
; http://www.foo.bar/status
|
|
; http://www.foo.bar/status?json
|
|
; http://www.foo.bar/status?html
|
|
; http://www.foo.bar/status?xml
|
|
;
|
|
; By default the status page only outputs short status. Passing 'full' in the
|
|
; query string will also return status for each pool process.
|
|
; Example:
|
|
; http://www.foo.bar/status?full
|
|
; http://www.foo.bar/status?json&full
|
|
; http://www.foo.bar/status?html&full
|
|
; http://www.foo.bar/status?xml&full
|
|
; The Full status returns for each process:
|
|
; pid - the PID of the process;
|
|
; state - the state of the process (Idle, Running, ...);
|
|
; start time - the date and time the process has started;
|
|
; start since - the number of seconds since the process has started;
|
|
; requests - the number of requests the process has served;
|
|
; request duration - the duration in µs of the requests;
|
|
; request method - the request method (GET, POST, ...);
|
|
; request URI - the request URI with the query string;
|
|
; content length - the content length of the request (only with POST);
|
|
; user - the user (PHP_AUTH_USER) (or '-' if not set);
|
|
; script - the main script called (or '-' if not set);
|
|
; last request cpu - the %cpu the last request consumed
|
|
; it's always 0 if the process is not in Idle state
|
|
; because CPU calculation is done when the request
|
|
; processing has terminated;
|
|
; last request memory - the max amount of memory the last request consumed
|
|
; it's always 0 if the process is not in Idle state
|
|
; because memory calculation is done when the request
|
|
; processing has terminated;
|
|
; If the process is in Idle state, then informations are related to the
|
|
; last request the process has served. Otherwise informations are related to
|
|
; the current request being served.
|
|
; Example output:
|
|
; ************************
|
|
; pid: 31330
|
|
; state: Running
|
|
; start time: 01/Jul/2011:17:53:49 +0200
|
|
; start since: 63087
|
|
; requests: 12808
|
|
; request duration: 1250261
|
|
; request method: GET
|
|
; request URI: /test_mem.php?N=10000
|
|
; content length: 0
|
|
; user: -
|
|
; script: /home/fat/web/docs/php/test_mem.php
|
|
; last request cpu: 0.00
|
|
; last request memory: 0
|
|
;
|
|
; Note: There is a real-time FPM status monitoring sample web page available
|
|
; It's available in: /usr/local/php-7.4.6/share/php/fpm/status.html
|
|
;
|
|
; Note: The value must start with a leading slash (/). The value can be
|
|
; anything, but it may not be a good idea to use the .php extension or it
|
|
; may conflict with a real PHP file.
|
|
; Default Value: not set
|
|
;pm.status_path = /status
|
|
pm.status_path = $FPM_DEFAULT_POOL_STATUS_PATH
|
|
|
|
; The ping URI to call the monitoring page of FPM. If this value is not set, no
|
|
; URI will be recognized as a ping page. This could be used to test from outside
|
|
; that FPM is alive and responding, or to
|
|
; - create a graph of FPM availability (rrd or such);
|
|
; - remove a server from a group if it is not responding (load balancing);
|
|
; - trigger alerts for the operating team (24/7).
|
|
; Note: The value must start with a leading slash (/). The value can be
|
|
; anything, but it may not be a good idea to use the .php extension or it
|
|
; may conflict with a real PHP file.
|
|
; Default Value: not set
|
|
;ping.path = /ping
|
|
ping.path = $FPM_DEFAULT_POOL_PING_PATH
|
|
|
|
; This directive may be used to customize the response of a ping request. The
|
|
; response is formatted as text/plain with a 200 response code.
|
|
; Default Value: pong
|
|
ping.response = $FPM_DEFAULT_POOL_PING_RESPONSE
|
|
|
|
; The access log file
|
|
; Default: not set
|
|
;access.log = log/\$pool.access.log
|
|
access.log = $FPM_DEFAULT_POOL_ACCESS_LOG
|
|
|
|
; The access log format.
|
|
; The following syntax is allowed
|
|
; %%: the '%' character
|
|
; %C: %CPU used by the request
|
|
; it can accept the following format:
|
|
; - %{user}C for user CPU only
|
|
; - %{system}C for system CPU only
|
|
; - %{total}C for user + system CPU (default)
|
|
; %d: time taken to serve the request
|
|
; it can accept the following format:
|
|
; - %{seconds}d (default)
|
|
; - %{miliseconds}d
|
|
; - %{mili}d
|
|
; - %{microseconds}d
|
|
; - %{micro}d
|
|
; %e: an environment variable (same as \$_ENV or \$_SERVER)
|
|
; it must be associated with embraces to specify the name of the env
|
|
; variable. Some exemples:
|
|
; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e
|
|
; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e
|
|
; %f: script filename
|
|
; %l: content-length of the request (for POST request only)
|
|
; %m: request method
|
|
; %M: peak of memory allocated by PHP
|
|
; it can accept the following format:
|
|
; - %{bytes}M (default)
|
|
; - %{kilobytes}M
|
|
; - %{kilo}M
|
|
; - %{megabytes}M
|
|
; - %{mega}M
|
|
; %n: pool name
|
|
; %o: output header
|
|
; it must be associated with embraces to specify the name of the header:
|
|
; - %{Content-Type}o
|
|
; - %{X-Powered-By}o
|
|
; - %{Transfert-Encoding}o
|
|
; - ....
|
|
; %p: PID of the child that serviced the request
|
|
; %P: PID of the parent of the child that serviced the request
|
|
; %q: the query string
|
|
; %Q: the '?' character if query string exists
|
|
; %r: the request URI (without the query string, see %q and %Q)
|
|
; %R: remote IP address
|
|
; %s: status (response code)
|
|
; %t: server time the request was received
|
|
; it can accept a strftime(3) format:
|
|
; %d/%b/%Y:%H:%M:%S %z (default)
|
|
; The strftime(3) format must be encapsuled in a %{<strftime_format>}t tag
|
|
; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
|
|
; %T: time the log has been written (the request has finished)
|
|
; it can accept a strftime(3) format:
|
|
; %d/%b/%Y:%H:%M:%S %z (default)
|
|
; The strftime(3) format must be encapsuled in a %{<strftime_format>}t tag
|
|
; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
|
|
; %u: remote user
|
|
;
|
|
; Default: "%R - %u %t \"%m %r\" %s"
|
|
;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
|
|
access.format = $FPM_DEFAULT_POOL_ACCESS_FORMAT
|
|
|
|
; The log file for slow requests
|
|
; Default Value: not set
|
|
; Note: slowlog is mandatory if request_slowlog_timeout is set
|
|
slowlog = $FPM_DEFAULT_POOL_SLOW_LOG
|
|
|
|
; The timeout for serving a single request after which a PHP backtrace will be
|
|
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
|
|
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
|
|
; Default Value: 0
|
|
;request_slowlog_timeout = 0
|
|
request_slowlog_timeout = 10s
|
|
|
|
; Depth of slow log stack trace.
|
|
; Default Value: 20
|
|
;request_slowlog_trace_depth = 20
|
|
|
|
; The timeout for serving a single request after which the worker process will
|
|
; be killed. This option should be used when the 'max_execution_time' ini option
|
|
; does not stop script execution for some reason. A value of '0' means 'off'.
|
|
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
|
|
; Default Value: 0
|
|
request_terminate_timeout = $FPM_DEFAULT_POOL_TERMINATE_TIMEOUT
|
|
|
|
; The timeout set by 'request_terminate_timeout' ini option is not engaged after
|
|
; application calls 'fastcgi_finish_request' or when application has finished and
|
|
; shutdown functions are being called (registered via register_shutdown_function).
|
|
; This option will enable timeout limit to be applied unconditionally
|
|
; even in such cases.
|
|
; Default Value: no
|
|
;request_terminate_timeout_track_finished = no
|
|
|
|
; Set open file descriptor rlimit.
|
|
; Default Value: system defined value
|
|
;rlimit_files = 1024
|
|
|
|
; Set max core size rlimit.
|
|
; Possible Values: 'unlimited' or an integer greater or equal to 0
|
|
; Default Value: system defined value
|
|
;rlimit_core = 0
|
|
|
|
; Chroot to this directory at the start. This value must be defined as an
|
|
; absolute path. When this value is not set, chroot is not used.
|
|
; Note: you can prefix with '\$prefix' to chroot to the pool prefix or one
|
|
; of its subdirectories. If the pool prefix is not set, the global prefix
|
|
; will be used instead.
|
|
; Note: chrooting is a great security feature and should be used whenever
|
|
; possible. However, all PHP paths will be relative to the chroot
|
|
; (error_log, sessions.save_path, ...).
|
|
; Default Value: not set
|
|
;chroot =
|
|
|
|
; Chdir to this directory at the start.
|
|
; Note: relative path can be used.
|
|
; Default Value: current directory or / when chroot
|
|
;chdir = /var/www
|
|
|
|
; Redirect worker stdout and stderr into main error log. If not set, stdout and
|
|
; stderr will be redirected to /dev/null according to FastCGI specs.
|
|
; Note: on highloaded environement, this can cause some delay in the page
|
|
; process time (several ms).
|
|
; Default Value: no
|
|
;catch_workers_output = yes
|
|
|
|
; Decorate worker output with prefix and suffix containing information about
|
|
; the child that writes to the log and if stdout or stderr is used as well as
|
|
; log level and time. This options is used only if catch_workers_output is yes.
|
|
; Settings to "no" will output data as written to the stdout or stderr.
|
|
; Default value: yes
|
|
;decorate_workers_output = no
|
|
|
|
; Clear environment in FPM workers
|
|
; Prevents arbitrary environment variables from reaching FPM worker processes
|
|
; by clearing the environment in workers before env vars specified in this
|
|
; pool configuration are added.
|
|
; Setting to "no" will make all environment variables available to PHP code
|
|
; via getenv(), \$_ENV and \$_SERVER.
|
|
; Default Value: yes
|
|
;clear_env = no
|
|
|
|
; Limits the extensions of the main script FPM will allow to parse. This can
|
|
; prevent configuration mistakes on the web server side. You should only limit
|
|
; FPM to .php extensions to prevent malicious users to use other extensions to
|
|
; execute php code.
|
|
; Note: set an empty value to allow all extensions.
|
|
; Default Value: .php
|
|
;security.limit_extensions = .php .php3 .php4 .php5 .php7
|
|
|
|
; Pass environment variables like LD_LIBRARY_PATH. All \$VARIABLEs are taken from
|
|
; the current environment.
|
|
; Default Value: clean env
|
|
env[HOSTNAME] = $(hostname -f)
|
|
env[PATH] = /usr/local/bin:/usr/bin:/bin
|
|
env[TMP] = /tmp
|
|
env[TMPDIR] = /tmp
|
|
env[TEMP] = /tmp
|
|
|
|
; Additional php.ini defines, specific to this pool of workers. These settings
|
|
; overwrite the values previously defined in the php.ini. The directives are the
|
|
; same as the PHP SAPI:
|
|
; php_value/php_flag - you can set classic ini defines which can
|
|
; be overwritten from PHP call 'ini_set'.
|
|
; php_admin_value/php_admin_flag - these directives won't be overwritten by
|
|
; PHP call 'ini_set'
|
|
; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.
|
|
|
|
; Defining 'extension' will load the corresponding shared extension from
|
|
; extension_dir. Defining 'disable_functions' or 'disable_classes' will not
|
|
; overwrite previously defined php.ini values, but will append the new value
|
|
; instead.
|
|
|
|
; Note: path INI options can be relative and will be expanded with the prefix
|
|
; (pool, global or /usr/local/php-7.4.6)
|
|
|
|
; Default Value: nothing is defined by default except the values in php.ini and
|
|
; specified at startup with the -d argument
|
|
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
|
|
;php_flag[display_errors] = off
|
|
;php_admin_value[error_log] = /var/log/fpm-php.www.log
|
|
;php_admin_flag[log_errors] = on
|
|
;php_admin_value[memory_limit] = 32M
|
|
EOF
|
|
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
# - Copy PHP FPM definitions from current installation to the new one.
|
|
# -
|
|
if [[ ${#existing_fpm_definition_arr[@]} -gt 0 ]] ; then
|
|
|
|
echo ""
|
|
for _file in "${existing_fpm_definition_arr[@]}" ; do
|
|
echononl "\tTake existing PHP FPM definition '$(basename "$_file")' .."
|
|
cp "$_file" "${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/" > /dev/null 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
done
|
|
|
|
|
|
if $FPM_DEFAULT_POOL_DEFINITION_EXISTS && \
|
|
[[ -f "${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/${FPM_DEFAULT_POOL}.php-fpm.conf" ]] ; then
|
|
|
|
echo ""
|
|
key="listen"
|
|
value="$FPM_DEFAULT_POOL_LISTEN"
|
|
echononl "\tPHP FPM Pool - Set Definition '${key}'.."
|
|
sed -i -E "s#^([[:blank:]]*${key}[[:blank:]]*=[[:blank:]]*).*#\1${value}#" \
|
|
${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/${FPM_DEFAULT_POOL}.php-fpm.conf
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
key="pm.start_servers"
|
|
value="$FPM_POOL_START_SERVER"
|
|
echononl "\tPHP FPM Pool - Set Definition '${key}'.."
|
|
#perl -i -n -p -e "s#^(\s*${key}\s*=\s*)#\1${value}#" \
|
|
# ${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/${FPM_DEFAULT_POOL}.php-fpm.conf
|
|
sed -i -E "s/^([[:blank:]]*${key}[[:blank:]]*=[[:blank:]]*).*/\1${value}/" \
|
|
${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/${FPM_DEFAULT_POOL}.php-fpm.conf
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
key="pm.min_spare_servers"
|
|
value="$FPM_POOL_MIN_SPARE"
|
|
echononl "\tPHP FPM Pool - Set Definition '${key}'.."
|
|
sed -i -E "s/^([[:blank:]]*${key}[[:blank:]]*=[[:blank:]]*).*/\1${value}/" \
|
|
${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/${FPM_DEFAULT_POOL}.php-fpm.conf
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
key="pm.max_spare_servers"
|
|
value="$FPM_POOL_MAX_SPARE"
|
|
echononl "\tPHP FPM Pool - Set Definition '${key}'.."
|
|
sed -i -E "s/^([[:blank:]]*${key}[[:blank:]]*=[[:blank:]]*).*/\1${value}/" \
|
|
${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/${FPM_DEFAULT_POOL}.php-fpm.conf
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
key="pm.max_children"
|
|
value="$FPM_POOL_MAX_CHILDREN"
|
|
echononl "\tPHP FPM Pool - Set Definition '${key}'.."
|
|
sed -i -E "s/^([[:blank:]]*${key}[[:blank:]]*=[[:blank:]]*).*/\1${value}/" \
|
|
${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/${FPM_DEFAULT_POOL}.php-fpm.conf
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
key="pm.max_requests"
|
|
value="$FPM_POOL_MAX_REQUESTS"
|
|
echononl "\tPHP FPM Pool - Set Definition '${key}'.."
|
|
sed -i -E "s/^([[:blank:]]*${key}[[:blank:]]*=[[:blank:]]*).*/\1${value}/" \
|
|
${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/${FPM_DEFAULT_POOL}.php-fpm.conf
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
echo ""
|
|
|
|
fi
|
|
fi
|
|
|
|
|
|
if [ "$HTTPD_USER" != $FPM_DEFAULT_POOL_LISTEN_OWNER ]; then
|
|
echononl "\tAdd apache user to group \"$FPM_DEFAULT_POOL_LISTEN_GROUP\""
|
|
usermod -a -G $FPM_DEFAULT_POOL_LISTEN_GROUP $HTTPD_USER
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
echononl "\tCreate log directory for PHP-FPM \"${FPM_LOG_DIR}\""
|
|
mkdir -p $FPM_LOG_DIR
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
echononl "\tConfigure logrotation for \"${FPM_LOG_DIR}\""
|
|
if [ ! -f "/etc/logrotate.d/php-${PHP_MAIN_VERSION}-fpm" ]; then
|
|
cat <<EOF > /etc/logrotate.d/php-${PHP_MAIN_VERSION}-fpm
|
|
$FPM_LOG_DIR/*log {
|
|
daily
|
|
rotate 7
|
|
start 0
|
|
compress
|
|
delaycompress
|
|
missingok
|
|
notifempty
|
|
sharedscripts
|
|
postrotate
|
|
if [[ -f "${FPM_LOG_DIR}/php_errors.log" ]] ; then
|
|
chown ${HTTPD_USER}:$HTTPD_GROUP ${FPM_LOG_DIR}/php_errors.log
|
|
fi
|
|
[ ! -f $FPM_PID_FILE ]] || kill -USR1 \$(cat ${FPM_PID_FILE})
|
|
endscript
|
|
}
|
|
EOF
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tCreate empty logfile '${FPM_LOG_DIR}/php_errors.log'"
|
|
touch "${FPM_LOG_DIR}/php_errors.log" > $tmp_err_msg 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
echononl "\tSet owner permission to '${FPM_LOG_DIR}/php_errors.log'"
|
|
chown ${HTTPD_USER}:$HTTPD_GROUP "${FPM_LOG_DIR}/php_errors.log" > $tmp_err_msg 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo ""
|
|
echononl "\tUpdate file name database (updatedb).."
|
|
if $SKIP_UPDATE_DB ; then
|
|
echo_skipped
|
|
else
|
|
updatedb > /dev/null 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
|
|
## - PHP Extensions
|
|
## -
|
|
echo ""
|
|
echo ""
|
|
echo -e "\t---"
|
|
echo -e "\t--- Install PHP extensions via pecl"
|
|
echo -e "\t---"
|
|
echo ""
|
|
|
|
> ${_logdir}/pecl_install.log
|
|
|
|
|
|
## -----
|
|
## - Update Channel 'pecl.php.net'
|
|
## -----
|
|
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Update Channel 'pecl.php.net'" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tUpdate Channel 'pecl.php.net' .."
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "${PREFIX_PHP}/bin/pecl channel-update pecl.php.net" >> ${_logdir}/pecl_install.log
|
|
${PREFIX_PHP}/bin/pecl channel-update pecl.php.net >> ${_logdir}/pecl_install.log 2>&1
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
fi
|
|
|
|
## -----
|
|
## - END: Update Channel 'pecl.php.net'
|
|
## -----
|
|
|
|
|
|
## -----
|
|
## - Check if remote 'pecl.php.net' is reachable also via ssl..
|
|
## -----
|
|
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Check if remote 'pecl.php.net' is reachable via ssl" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tCheck if remote 'pecl.php.net' is reachable.."
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "${PREFIX_PHP}/bin/pecl remote-list" >> ${_logdir}/pecl_install.log
|
|
${PREFIX_PHP}/bin/pecl remote-list >> ${_logdir}/pecl_install.log 2>&1
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo -e "\tMaybe remote certificate will not be trusted.."
|
|
echo ""
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Maybe remote certificate will not be trusted.." >> ${_logdir}/pecl_install.log
|
|
echo "#" >> ${_logdir}/pecl_install.log
|
|
echo "# Try to replace '\${default_cert_file}' with thr missing certificate .." >> ${_logdir}/pecl_install.log
|
|
echo "#" >> ${_logdir}/pecl_install.log
|
|
echo "_default_cert_file=\"\$(\${PREFIX_PHP}/bin/php -r \"print_r(openssl_get_cert_locations());\" | grep -E \"\[default_cert_file\]\" | awk '{print\$3}')\"" >> ${_logdir}/pecl_install.log
|
|
|
|
_default_cert_file="$(${PREFIX_PHP}/bin/php -r "print_r(openssl_get_cert_locations());" | grep -E "\[default_cert_file\]" | awk '{print$3}')"
|
|
|
|
if [[ -f "${_default_cert_file}" ]] ; then
|
|
_default_cert_file_present=true
|
|
echo "# mv \"${_default_cert_file}\" \"${_default_cert_file}.${_backup_date}\"" >> ${_logdir}/pecl_install.log
|
|
mv "${_default_cert_file}" "${_default_cert_file}.${_backup_date}" >> ${_logdir}/pecl_install.log 2>&1
|
|
else
|
|
_default_cert_file_present=false
|
|
fi
|
|
|
|
echononl "\tTry to replace '\${default_cert_file}' with thr missing certificate .."
|
|
|
|
echo "wget --no-check-certificate -O ${_default_cert_file} ${cert_URL_php_net}" >> ${_logdir}/pecl_install.log
|
|
wget --no-check-certificate -O ${_default_cert_file} "${cert_URL_php_net}" >> "${_logdir}/pecl_install.log" 2>&1
|
|
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
if ! $_default_cert_file_present ; then
|
|
info "No file ${_default_cert_file} was present."
|
|
else
|
|
warn "File '${_default_cert_file}' is replaced.
|
|
Old file is renamed to '${_default_cert_file}.${_backup_date}'"
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "Try install certificate yourself and continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
fi
|
|
|
|
## -----
|
|
## - END: Check if remote 'pecl.php.net' is reachable also via ssl..
|
|
## -----
|
|
|
|
|
|
## -----
|
|
## - Install redis
|
|
## -----
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Install redis" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
|
|
echononl "\tInstall redis via pecl.."
|
|
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install redis-4.2.0" >> ${_logdir}/pecl_install.log
|
|
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install redis-4.2.0 >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=redis .."
|
|
_extension="redis.so"
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=redis .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
fi
|
|
else
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install" >> ${_logdir}/pecl_install.log
|
|
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install redis >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=redis .."
|
|
_extension="redis.so"
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=redis .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
|
|
echo -e "\tMaybe remote certificate will not be trusted.."
|
|
echo ""
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Maybe remote certificate will not be trusted.." >> ${_logdir}/pecl_install.log
|
|
echo "#" >> ${_logdir}/pecl_install.log
|
|
echo "# Try to replace '\${default_cert_file}' with thr missing certificate .." >> ${_logdir}/pecl_install.log
|
|
echo "#" >> ${_logdir}/pecl_install.log
|
|
echo "_default_cert_file=\"\$(\${PREFIX_PHP}/bin/php -r \"print_r(openssl_get_cert_locations());\" | grep -E \"\[default_cert_file\]\" | awk '{print\$3}')\"" >> ${_logdir}/pecl_install.log
|
|
|
|
_default_cert_file="$(${PREFIX_PHP}/bin/php -r "print_r(openssl_get_cert_locations());" | grep -E "\[default_cert_file\]" | awk '{print$3}')"
|
|
|
|
if [[ -f "${_default_cert_file}" ]] ; then
|
|
_default_cert_file_present=true
|
|
echo "# mv \"${_default_cert_file}\" \"${_default_cert_file}.${_backup_date}\"" >> ${_logdir}/pecl_install.log
|
|
mv "${_default_cert_file}" "${_default_cert_file}.${_backup_date}" >> ${_logdir}/pecl_install.log 2>&1
|
|
else
|
|
_default_cert_file_present=false
|
|
fi
|
|
|
|
echononl "\tTry to replace '\${default_cert_file}' with thr missing certificate .."
|
|
|
|
echo "wget --no-check-certificate -O ${_default_cert_file} ${cert_URL_php_net}" >> ${_logdir}/pecl_install.log
|
|
wget --no-check-certificate -O ${_default_cert_file} "${cert_URL_php_net}" >> "${_logdir}/pecl_install.log" 2>&1
|
|
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
if ! $_default_cert_file_present ; then
|
|
info "No file ${_default_cert_file} was present."
|
|
else
|
|
warn "File '${_default_cert_file}' is replaced.
|
|
Old file is renamed to '${_default_cert_file}.${_backup_date}'"
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "Try install certificate yourself and continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/no]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Interupted by user"
|
|
fi
|
|
|
|
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Try to install redis via pecl again.." >> ${_logdir}/pecl_install.log
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tTry to install redis via pecl again.."
|
|
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install redis >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=redis .."
|
|
_extension="redis.so"
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=redis .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
## -----
|
|
## - END: Install redis
|
|
## -----
|
|
|
|
|
|
## -----
|
|
## - Install geoip
|
|
## -----
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Install geoip" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tInstall geoip v.1.1.1 via pecl.."
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "${PREFIX_PHP}/bin/pecl install geoip-1.1.1" >> ${_logdir}/pecl_install.log
|
|
${PREFIX_PHP}/bin/pecl install geoip-1.1.1 >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=geoip.so .."
|
|
_extension="geoip.so"
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=geoip.so .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
## -----
|
|
## - END: Install geoip
|
|
## -----
|
|
|
|
|
|
## -----
|
|
## - Install uploadprogress
|
|
## -----
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Install uploadprogress" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tInstall uploadprogress via pecl.."
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install uploadprogress" >> ${_logdir}/pecl_install.log
|
|
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install uploadprogress >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=uploadprogress .."
|
|
zend_extension_uploadprogress=`find ${PREFIX_PHP}/lib/php/extensions -name uploadprogress.so -print`
|
|
if [[ -n "$zend_extension_uploadprogress" ]]; then
|
|
_extension="uploadprogress.so"
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=uploadprogress" >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
warn "Maybe extension \"uploadprogress.so\" is not supported!"
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
fi
|
|
else
|
|
echo_skipped
|
|
warn "Pecl extension 'uploadprogress' is only available for PHP versions < 7 - version 7 also excluded."
|
|
echo "# Pecl extension 'uploadprogress' is only available for PHP versions < 7" >> ${_logdir}/pecl_install.log
|
|
fi
|
|
|
|
## -----
|
|
## - END: Install uploadprogress
|
|
## -----
|
|
|
|
|
|
## -----
|
|
## - Install solr
|
|
## -----
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Install solr" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tInstall solr via pecl.."
|
|
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install solr-2.4.0" >> ${_logdir}/pecl_install.log
|
|
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install solr-2.4.0 >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=solr .."
|
|
_extension="solr.so"
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=solr .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
fi
|
|
else
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install solr" >> ${_logdir}/pecl_install.log
|
|
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install solr >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=solr .."
|
|
_extension="solr.so"
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=solr .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
## -----
|
|
## - END: Install solr
|
|
## -----
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Install uri_template via pecl.." >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
## -----
|
|
## - Install uri_template - !! only versions <= 5.6
|
|
## -----
|
|
echononl "\tInstall uri_template via pecl.."
|
|
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install uri_template" >> ${_logdir}/pecl_install.log
|
|
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install uri_template >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=uri_template.so .."
|
|
_extension="uri_template.so"
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=uri_template.so .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
warn "Pecl extension 'uri_template' is only available for PHP versions < 7 - version 7 also excluded."
|
|
echo "# Pecl extension 'uri_template' is only available for PHP versions < 7 - version 7 also excluded." >> ${_logdir}/pecl_install.log
|
|
fi
|
|
|
|
## -----
|
|
## - END: Install uri_template
|
|
## -----
|
|
|
|
## -----
|
|
## - Install APCu
|
|
## -----
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo ""## ----- >> ${_logdir}/pecl_install.log
|
|
echo "Install APCu via pecl.." >> ${_logdir}/pecl_install.log
|
|
echo ""## ----- >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
|
|
echononl "\tInstall APCu via pecl.."
|
|
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install apcu-4.0.11" >> ${_logdir}/pecl_install.log
|
|
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install apcu-4.0.11 >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=apcu .."
|
|
_extension="apcu.so"
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=apcu .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\napc.enable_cli = 1\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\napc.enable_cli = 1\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
fi
|
|
|
|
else
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install apcu" >> ${_logdir}/pecl_install.log
|
|
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install apcu >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
# Add to php.ini
|
|
#
|
|
# extension=apcu.so
|
|
# apc.enable_cli = $APC_ENABLE_CLI
|
|
# apc.shm_size = $APC_SHM_SIZE
|
|
# apc.stat = $APC_STAT
|
|
# apcu.stat = $APCU_STAT
|
|
# apc.cache_by_default = $APC_BY_DEFAULT
|
|
# apc.smart = $APC_SMART
|
|
#
|
|
echononl "\tphp.ini: extension=apcu .."
|
|
_extension="apcu.so"
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=apcu .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\napc.enable_cli = 1\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\napc.enable_cli = ${APC_ENABLE_CLI}\napc.shm_size = ${APC_SHM_SIZE}\napc.stat = ${APC_STAT}\napcu.stat = ${APCU_STAT}\napc.cache_by_default = ${APC_BY_DEFAULT}\napc.smart = ${APC_SMART}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
fi
|
|
fi
|
|
|
|
## -----
|
|
## - END: Install APCu
|
|
## -----
|
|
|
|
|
|
|
|
## -----
|
|
## - Install memcached
|
|
## -----
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Install memcached" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
|
|
echononl "\tInstall memcached via pecl.."
|
|
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "printf \"no --disable-memcached-sasl\\n\" | ${PREFIX_PHP}/bin/pecl install memcached-2.2.0" >> ${_logdir}/pecl_install.log
|
|
|
|
printf "no --disable-memcached-sasl\n" | ${PREFIX_PHP}/bin/pecl install memcached-2.2.0 >> "${_logdir}/pecl_install.log" 2>&1
|
|
else
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install memcached >> "${_logdir}/pecl_install.log" 2>&1
|
|
fi
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
echononl "\tphp.ini: extension=memcached.so .."
|
|
_extension="memcached.so"
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=memcached.so .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
elif [[ $PHP_MAJOR_VERSION -lt 8 ]] ; then
|
|
echo_try_from_src
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Try to install memcached from source.." >> ${_logdir}/pecl_install.log
|
|
echo "#" >> ${_logdir}/pecl_install.log
|
|
echo "cd /tmp" >> ${_logdir}/pecl_install.log
|
|
echo "rm -rf /tmp/php-memcached" >> ${_logdir}/pecl_install.log
|
|
|
|
echo -e "\tTry to install memcached from source.."
|
|
cd /tmp
|
|
rm -rf /tmp/php-memcached
|
|
_failed=false
|
|
echononl "\tInstalling git .."
|
|
if ! dpkg -l git 2> /dev/null | grep -e "^ii" | grep git > /dev/null 2>&1 ; then
|
|
|
|
echo "# Installing git .."
|
|
echo "apt-get update" >> ${_logdir}/pecl_install.log
|
|
echo "apt-get -q -y install git" >> ${_logdir}/pecl_install.log
|
|
|
|
apt-get -q -y install git >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
_failed=true
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
if ! $_failed ; then
|
|
|
|
echo "# Clone from github repository.." >> ${_logdir}/pecl_install.log
|
|
echo "git clone https://github.com/php-memcached-dev/php-memcached.git" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tClone from github repository.."
|
|
git clone https://github.com/php-memcached-dev/php-memcached.git >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
cd php-memcached
|
|
else
|
|
echo_failed
|
|
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
|
|
echo "# git checkout php7" >> ${_logdir}/pecl_install.log
|
|
echo "git checkout php7" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tgit checkout php7.."
|
|
git checkout php7 >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
echo "cd /tmp/php-memcached" >> ${_logdir}/pecl_install.log
|
|
cd /tmp/php-memcached
|
|
else
|
|
echo_failed
|
|
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
echononl "\t/usr/local/php-${VERSION}/bin/phpize.."
|
|
echo "/usr/local/php-${VERSION}/bin/phpize" >> "${_logdir}/pecl_install.log" 2>&1
|
|
/usr/local/php-${VERSION}/bin/phpize >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
echononl "\tConfigure memcached extension.."
|
|
echo "./configure --with-php-config=/usr/local/php-${VERSION}/bin/php-config --disable-memcached-sasl" >> "${_logdir}/pecl_install.log" 2>&1
|
|
./configure --with-php-config=/usr/local/php-${VERSION}/bin/php-config \
|
|
--disable-memcached-sasl >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
echononl "\tCompile memcached extension.."
|
|
echo "make" >> ${_logdir}/pecl_install.log
|
|
make >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
echononl "\tInstall memcached extension.."
|
|
echo "make install" >> ${_logdir}/pecl_install.log
|
|
make install >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
failed=true
|
|
fi
|
|
fi
|
|
echo "rm -rf /tmp/php-memcached" >> ${_logdir}/pecl_install.log
|
|
rm -rf /tmp/php-memcached
|
|
if ! $_failed ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=memcsched .."
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tphp.ini: extension=memcsched .."
|
|
_extension="memcached.so"
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
echo ""
|
|
fi
|
|
|
|
## -----
|
|
## - END: Install memcached
|
|
## -----
|
|
|
|
|
|
## -----
|
|
## - Install imagick
|
|
## -----
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Install imagick via pecl.." >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
echo "cd /tmp" >> ${_logdir}/pecl_install.log
|
|
echo "_MagickWand_config=\$(which MagickWand-config)" >> ${_logdir}/pecl_install.log
|
|
cd /tmp
|
|
_MagickWand_config=`which MagickWand-config`
|
|
|
|
if [[ -z "$_MagickWand_config" ]] || [[ ! -f "$(realpath "$_MagickWand_config")" ]]; then
|
|
|
|
echo "# Remove broken link '/usr/bin/MagickWand-config'" >> ${_logdir}/pecl_install.log
|
|
echo "rm /usr/bin/MagickWand-config" >> ${_logdir}/pecl_install.log
|
|
echononl "\tRemove broken link '/usr/bin/MagickWand-config'"
|
|
if [[ -h "/usr/bin/MagickWand-config" ]]; then
|
|
rm /usr/bin/MagickWand-config
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tUpdate file name database (updatedb).."
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Update file name database (updatedb).." >> ${_logdir}/pecl_install.log
|
|
echo "updatedb" >> ${_logdir}/pecl_install.log
|
|
if $SKIP_UPDATE_DB ; then
|
|
echo_skipped
|
|
else
|
|
updatedb >> ${_logdir}/pecl_install.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
_MagickWand_config=`locate MagickWand-config | grep -e "/MagickWand-config$" | head -n 1`
|
|
|
|
if [ ! -f "$_MagickWand_config" ]; then
|
|
_MagickWand_config="$(find /usr/lib/x86_64-linux-gnu/ -type f -name MagickWand-config | head -n 1)"
|
|
fi
|
|
|
|
if [ -f "$_MagickWand_config" ]; then
|
|
echononl "\tSymlink /usr/bin/MagickWand-config --> $_MagickWand_config"
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Symlink /usr/bin/MagickWand-config --> $_MagickWand_config" >> ${_logdir}/pecl_install.log
|
|
echo "ln -s $_MagickWand_config /usr/bin/" >> ${_logdir}/pecl_install.log
|
|
ln -s $_MagickWand_config /usr/bin/ >> ${_logdir}/pecl_install.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
else
|
|
warn "Cannot find \"MagickWand_config\" - but is needed for \"imagick\"."
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# ---" >> ${_logdir}/pecl_install.log
|
|
echo "# Warning: Cannot find \"MagickWand_config\" - but is needed for \"imagick\"." >> ${_logdir}/pecl_install.log
|
|
echo "# ---" >> ${_logdir}/pecl_install.log
|
|
|
|
fi
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
fi
|
|
|
|
echononl "\tInstall imagick via pecl.."
|
|
echo "# Install imagick via pecl.." >> ${_logdir}/pecl_install.log
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install imagick" >> ${_logdir}/pecl_install.log
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install imagick >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=imagick.so .."
|
|
_extension="imagick.so"
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=imagick.so .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
fi
|
|
|
|
else
|
|
echo_try_from_src
|
|
|
|
echo -e "\tTry to install imagick from source.."
|
|
cd /tmp
|
|
rm -rf /tmp/imagick
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Try to install imagick from source.." >> ${_logdir}/pecl_install.log
|
|
echo ""cd /tmp >> ${_logdir}/pecl_install.log
|
|
echo ""rm -rf /tmp/imagick >> ${_logdir}/pecl_install.log
|
|
_failed=false
|
|
echononl "\tInstalling git .."
|
|
if ! dpkg -l git 2> /dev/null | grep -e "^ii" | grep git > /dev/null 2>&1 ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Installing git .." >> ${_logdir}/pecl_install.log
|
|
echo "apt-get -q -y install git" >> ${_logdir}/pecl_install.log
|
|
|
|
apt-get -q -y install git > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
_failed=true
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
if ! $_failed ; then
|
|
echononl "\tClone from github repository.."
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Clone from github repository.." >> ${_logdir}/pecl_install.log
|
|
echo "git clone https://github.com/Imagick/imagick" >> ${_logdir}/pecl_install.log
|
|
|
|
git clone https://github.com/Imagick/imagick > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "cd imagick" >> ${_logdir}/pecl_install.log
|
|
cd imagick
|
|
else
|
|
echo_failed
|
|
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
echononl "\ttrigger 'phpize' inside dir '/tmp/imagick' .."
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Ttrigger 'phpize' inside dir '/tmp/imagick' .." >> ${_logdir}/pecl_install.log
|
|
echo "/usr/local/php-${VERSION}/bin/phpize" >> ${_logdir}/pecl_install.log
|
|
|
|
/usr/local/php-${VERSION}/bin/phpize > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Configure imagick extension.." >> ${_logdir}/pecl_install.log
|
|
echo "./configure --with-php-config=/usr/local/php-${VERSION}/bin/php-config" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tConfigure imagick extension.."
|
|
./configure --with-php-config=/usr/local/php-${VERSION}/bin/php-config > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Compile imagick extension.." >> ${_logdir}/pecl_install.log
|
|
echo "make" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tCompile imagick extension.."
|
|
make > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Install imagick extension.." >> ${_logdir}/pecl_install.log
|
|
echo "make install" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tInstall imagick extension.."
|
|
make install > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
failed=true
|
|
fi
|
|
fi
|
|
rm -rf /tmp/imagick
|
|
if ! $_failed ; then
|
|
|
|
echononl "\tphp.ini: extension=imagick .."
|
|
_extension="imagick.so"
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=imagick .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
echo ""
|
|
fi
|
|
fi
|
|
|
|
|
|
## -----
|
|
## - END: Install imagick
|
|
## -----
|
|
|
|
|
|
## -----
|
|
## - Install mcrypt
|
|
## -----
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Install mcrypt" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
|
|
## - since php version 7.2: mcrypt was moved to PECL
|
|
## -
|
|
if ([[ "$PHP_MAJOR_VERSION" -eq 7 ]] && [[ "$PHP_MINOR_VERSION" -ge 2 ]]) \
|
|
|| [[ "$PHP_MAJOR_VERSION" -gt 7 ]] ; then
|
|
|
|
echo "# Install mcrypt via pecl.." >> ${_logdir}/pecl_install.log
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install mcrypt" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tInstall mcrypt via pecl.."
|
|
_success=true
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install mcrypt >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Try to install mcrypt verision 1.0.5" >> ${_logdir}/pecl_install.log
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install mcrypt-1.0.5" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tTry to install mcrypt verision 1.0.5"
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install mcrypt-1.0.5 >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
_success=false
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
fi
|
|
fi
|
|
|
|
echononl "\tphp.ini: extension=mcrypt.so .."
|
|
if $_success ; then
|
|
|
|
_extension="mcrypt.so"
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=mcrypt.so.." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
## -----
|
|
## - Install wddx
|
|
## -----
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Install wddx" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
## - since php version 7.4: wddx was moved to PECL
|
|
## -
|
|
|
|
if ([[ "$PHP_MAJOR_VERSION" -eq 7 ]] && [[ "$PHP_MINOR_VERSION" -ge 4 ]]) \
|
|
|| [[ "$PHP_MAJOR_VERSION" -gt 7 ]] ; then
|
|
|
|
echo "# Install wddx via pecl.." >> ${_logdir}/pecl_install.log
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install wddx" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tInstall wddx via pecl.."
|
|
_success=true
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install wddx >> "${_logdir}/pecl_install.log" 2>&1
|
|
|
|
if [[ "$?" = "0" ]]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=wddx.so .."
|
|
_extension="wddx.so"
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=wddx.so .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "See log file: ${_logdir}/pecl_install.log"
|
|
fi
|
|
else
|
|
echo_try_from_src
|
|
|
|
echo -e "\tTry to install wddx from source.."
|
|
cd /tmp
|
|
rm -rf /tmp/pecl-text-wddx
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Try to install wddx from source.." >> ${_logdir}/pecl_install.log
|
|
echo "cd /tmp" >> ${_logdir}/pecl_install.log
|
|
echo "rm -rf /tmp/pecl-text-wddx" >> ${_logdir}/pecl_install.log
|
|
|
|
_failed=false
|
|
echononl "\tInstalling git .."
|
|
if ! dpkg -l git 2> /dev/null | grep -e "^ii" | grep git > /dev/null 2>&1 ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Installing git .." >> ${_logdir}/pecl_install.log
|
|
echo "apt-get -q -y install git" >> ${_logdir}/pecl_install.log
|
|
|
|
|
|
apt-get -q -y install git > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
_failed=true
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
if ! $_failed ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Clone from github repository.." >> ${_logdir}/pecl_install.log
|
|
echo "git clone https://github.com/php/pecl-text-wddx.git" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tClone from github repository.."
|
|
git clone https://github.com/php/pecl-text-wddx.git > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
cd pecl-text-wddx
|
|
else
|
|
echo_failed
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
echo ""
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Trigger 'phpize' inside dir '/tmp/pecl-text-wddx' .." >> ${_logdir}/pecl_install.log
|
|
echo "/usr/local/php-${VERSION}/bin/phpize" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tTrigger 'phpize' inside dir '/tmp/pecl-text-wddx' .."
|
|
/usr/local/php-${VERSION}/bin/phpize > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "For more details see '${_logdir}/pecl_install.log'.. "
|
|
|
|
#echo ""
|
|
#echononl "continue anyway [yes/no]: "
|
|
#read OK
|
|
#OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
#while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
# echononl "Wrong entry! - repeat [yes/nno]: "
|
|
# read OK
|
|
#done
|
|
#[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
#echo ""
|
|
|
|
_failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Configure wddx extension.." >> ${_logdir}/pecl_install.log
|
|
echo "./configure --with-php-config=/usr/local/php-${VERSION}/bin/php-config" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tConfigure wddx extension.."
|
|
./configure --with-php-config=/usr/local/php-${VERSION}/bin/php-config > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "For more details see '${_logdir}/pecl_install.log'.. "
|
|
|
|
#echo ""
|
|
#echononl "continue anyway [yes/no]: "
|
|
#read OK
|
|
#OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
#while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
# echononl "Wrong entry! - repeat [yes/nno]: "
|
|
# read OK
|
|
#done
|
|
#[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
#echo ""
|
|
|
|
_failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Compile wddx extension.." >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tCompile wddx extension.."
|
|
make > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "For more details see '${_logdir}/pecl_install.log'.. "
|
|
|
|
#echo ""
|
|
#echononl "continue anyway [yes/no]: "
|
|
#read OK
|
|
#OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
#while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
# echononl "Wrong entry! - repeat [yes/nno]: "
|
|
# read OK
|
|
#done
|
|
#[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
#echo ""
|
|
|
|
_failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Install wddx extension.." >> ${_logdir}/pecl_install.log
|
|
echo "make install" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tInstall wddx extension.."
|
|
make install > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "For more details see '${_logdir}/pecl_install.log'.. "
|
|
|
|
#echo ""
|
|
#echononl "continue anyway [yes/no]: "
|
|
#read OK
|
|
#OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
#while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
# echononl "Wrong entry! - repeat [yes/nno]: "
|
|
# read OK
|
|
#done
|
|
#[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
#echo ""
|
|
|
|
_failed=true
|
|
fi
|
|
fi
|
|
rm -rf /tmp/pecl-text-wddx
|
|
if ! $_failed ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=wddx .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tphp.ini: extension=wddx .."
|
|
_extension="wddx.so"
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
echo ""
|
|
fi
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
## -----
|
|
## - END: Install wddx
|
|
## -----
|
|
|
|
|
|
## -----
|
|
## - Install pcntl
|
|
## -----
|
|
|
|
#echononl "\tphp.ini: extension=pcntl.so .."
|
|
#_extension="pcntl.so"
|
|
#perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
#if [ "$?" = "0" ]; then
|
|
# echo_ok
|
|
#else
|
|
# echo_failed
|
|
#fi
|
|
|
|
## -----
|
|
## - END: Install pcntl
|
|
## -----
|
|
|
|
|
|
|
|
## -----
|
|
## - Install raphf
|
|
## -----
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Install 'raphf' via pecl.." >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tInstall 'raphf' via pecl.."
|
|
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install raphf-1.1.2 >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=raphf .."
|
|
_extension="raphf.so"
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install raphf >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=raphf .."
|
|
_extension="raphf.so"
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
## -----
|
|
## - END: Install raphf
|
|
## -----
|
|
|
|
|
|
|
|
## -----
|
|
## - Install propro
|
|
## -----
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Install propro" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tInstall 'propro' via pecl.."
|
|
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
|
|
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install propro-1.0.2" >> ${_logdir}/pecl_install.log
|
|
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install propro-1.0.2 >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=propro .."
|
|
_extension="propro.so"
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
|
|
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install propro" >> ${_logdir}/pecl_install.log
|
|
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install propro >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=propro .."
|
|
_extension="propro.so"
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=propro .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_try_from_src
|
|
|
|
echo -e "\tTry to install propro from source.."
|
|
cd /tmp
|
|
rm -rf /tmp/ext-propro
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Try to install propro from source.." >> ${_logdir}/pecl_install.log
|
|
echo ""cd /tmp >> ${_logdir}/pecl_install.log
|
|
echo ""rm -rf /tmp/ext-propro >> ${_logdir}/pecl_install.log
|
|
|
|
_failed=false
|
|
echononl "\tInstalling git .."
|
|
if ! dpkg -l git 2> /dev/null | grep -e "^ii" | grep git > /dev/null 2>&1 ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Installing git .." >> ${_logdir}/pecl_install.log
|
|
echo "apt-get -q -y install git" >> ${_logdir}/pecl_install.log
|
|
|
|
apt-get -q -y install git > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
_failed=true
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
if ! $_failed ; then
|
|
echononl "\tClone from github repository.."
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Clone from github repository.." >> ${_logdir}/pecl_install.log
|
|
echo "git clone https://github.com/m6w6/ext-propro" >> ${_logdir}/pecl_install.log
|
|
|
|
git clone https://github.com/m6w6/ext-propro> /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "cd ext-propro" >> ${_logdir}/pecl_install.log
|
|
cd ext-propro
|
|
else
|
|
echo_failed
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
_failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
echononl "\ttrigger 'phpize' inside dir '/tmp/ext-propro' .."
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Ttrigger 'phpize' inside dir '/tmp/ext-propro' .." >> ${_logdir}/pecl_install.log
|
|
echo "/usr/local/php-${VERSION}/bin/phpize" >> ${_logdir}/pecl_install.log
|
|
|
|
/usr/local/php-${VERSION}/bin/phpize > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
_failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Configure propro extension.." >> ${_logdir}/pecl_install.log
|
|
echo "./configure --with-php-config=/usr/local/php-${VERSION}/bin/php-config" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tConfigure propro extension.."
|
|
./configure --with-php-config=/usr/local/php-${VERSION}/bin/php-config > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
echo ""
|
|
echononl "continue anyway [yes/no]: "
|
|
read OK
|
|
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
echononl "Wrong entry! - repeat [yes/nno]: "
|
|
read OK
|
|
done
|
|
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
echo ""
|
|
|
|
_failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Compile propro extension.." >> ${_logdir}/pecl_install.log
|
|
echo "make" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tCompile propro extension.."
|
|
make >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "See \033[1m${_logdir}/pecl_install.log\033[m for more details"
|
|
|
|
#echo ""
|
|
#echononl "continue anyway [yes/no]: "
|
|
#read OK
|
|
#OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
#while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
# echononl "Wrong entry! - repeat [yes/nno]: "
|
|
# read OK
|
|
#done
|
|
#[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
#echo ""
|
|
|
|
_failed=true
|
|
fi
|
|
fi
|
|
if ! $_failed ; then
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# Install propro extension.." >> ${_logdir}/pecl_install.log
|
|
echo "make install" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tInstall propro extension.."
|
|
make install > /dev/null 2>&1
|
|
if [ "$?" = 0 ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
error "See \033[1m${_logdir}/pecl_install.log\033[m for more details"
|
|
|
|
#echo ""
|
|
#echononl "continue anyway [yes/no]: "
|
|
#read OK
|
|
#OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
|
#while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
|
# echononl "Wrong entry! - repeat [yes/nno]: "
|
|
# read OK
|
|
#done
|
|
#[[ $OK = "yes" ]] || fatal "Abbruch durch User"
|
|
#echo ""
|
|
|
|
_failed=true
|
|
fi
|
|
fi
|
|
rm -rf /tmp/ext-propro
|
|
if ! $_failed ; then
|
|
|
|
echononl "\tphp.ini: extension=propro .."
|
|
_extension="propro.so"
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "# php.ini: extension=memcsched .." >> ${_logdir}/pecl_install.log
|
|
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
|
|
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
echo ""
|
|
fi
|
|
|
|
fi
|
|
fi
|
|
|
|
## -----
|
|
## - END: Install propro
|
|
## -----
|
|
|
|
|
|
|
|
## -----
|
|
## - Install pecl_http
|
|
## -----
|
|
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "## - Install 'pecl_http via pecl'.." >> ${_logdir}/pecl_install.log
|
|
echo "## -----" >> ${_logdir}/pecl_install.log
|
|
echo "" >> ${_logdir}/pecl_install.log
|
|
|
|
echononl "\tInstall 'pecl_http' via pecl.."
|
|
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install pecl_http-2.6.0 >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=pecl_http .."
|
|
_extension="http.so"
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
fi
|
|
elif [[ $PHP_MAJOR_VERSION -lt 8 ]] ; then
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install pecl_http-3.2.4 >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=pecl_http .."
|
|
_extension="http.so"
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
fi
|
|
else
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install pecl_http >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
|
|
echononl "\tphp.ini: extension=pecl_http .."
|
|
_extension="http.so"
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
## -----
|
|
## - END: Install pecl_http
|
|
## -----
|
|
|
|
|
|
## -----
|
|
## - Enable ldap.so
|
|
## -----
|
|
|
|
echononl "\tphp.ini: extension=ldap .."
|
|
_extension="ldap.so"
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
## -----
|
|
## - END: Enable ldap.so
|
|
## -----
|
|
|
|
|
|
if $LEGACY_SQL_FUNCTION_SUPPORT ; then
|
|
## - PHP legacy SQL functions support
|
|
## -
|
|
echo ""
|
|
echo ""
|
|
echo -e "\t---"
|
|
echo -e "\t--- Install support for lagacy MySQL functions"
|
|
echo -e "\t---"
|
|
echo ""
|
|
|
|
_lsf_src_dir="/usr/local/src/php-${PHP_MAIN_VERSION}_mysql"
|
|
|
|
echononl "\tBackup existing directory '${_lsf_src_dir}'.."
|
|
if [[ -d "${_lsf_src_dir}" ]]; then
|
|
mv "$_lsf_src_dir" "${_lsf_src_dir}.$_backup_date" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
else
|
|
echo_skipped
|
|
fi
|
|
|
|
echononl "\tCreate directory '$_lsf_src_dir'.."
|
|
mkdir "$_lsf_src_dir" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
echononl "\tChange into directory '$_lsf_src_dir'.."
|
|
cd "$_lsf_src_dir" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
echononl "\tClone 'https://github.com/php/pecl-database-mysql'.."
|
|
git clone https://github.com/php/pecl-database-mysql ${_lsf_src_dir}/mysql --recursive > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
echononl "\tChange into directory '${_lsf_src_dir}/mysql'.."
|
|
cd "${_lsf_src_dir}/mysql" > /dev/null 2> $tmp_err_msg
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
echononl "\tPrepare a PHP extension (SQL legazy functions) for compiling.."
|
|
phpize > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
echononl "\tConfigure PHP extension (SQL legazy functions).."
|
|
./configure > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
echononl "\tCompile PHP extension (SQL legazy functions).."
|
|
make > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
echononl "\tInstall PHP extension (SQL legazy functions).."
|
|
make install > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
extension_lsf="$(find ${PREFIX_PHP}/lib/php/extensions -name mysql.so -print)"
|
|
|
|
echononl "\tphp.ini: extension=\"$extension_lsf\" .."
|
|
if [[ -n "$extension_lsf" ]]; then
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=$extension_lsf\n#" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
else
|
|
echo_skipped
|
|
warn "Extension library \"mysql.so\" not found!"
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
## -----
|
|
## - Install xdebug
|
|
## -----
|
|
echo ""
|
|
echo ""
|
|
echo -e "\t---"
|
|
echo -e "\t--- Install PECL xdebug extension"
|
|
echo -e "\t---"
|
|
echo ""
|
|
|
|
echononl "\tInstall xdebug via pecl.."
|
|
if [[ "$PHP_MAIN_VERSION" = "5.4" ]] ; then
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install xdebug-2.2.7 >> "${_logdir}/pecl_install.log" 2>&1
|
|
elif [[ "$PHP_MAIN_VERSION" = "5.6" ]]; then
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install xdebug-2.5.5 >> "${_logdir}/pecl_install.log" 2>&1
|
|
else
|
|
printf "\n" | ${PREFIX_PHP}/bin/pecl install xdebug >> "${_logdir}/pecl_install.log" 2>&1
|
|
fi
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
echononl "\tInstall (beta) xdebug-2.6.0beta1 via pecl.."
|
|
${PREFIX_PHP}/bin/pecl install xdebug-2.6.0beta1 >> "${_logdir}/pecl_install.log" 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
|
|
#if $WITHOUT_APACHE_MOD_PHP ; then
|
|
# zend_extension_xdebug=`find /usr/local/php-${PHP_MAIN_VERSION}/lib/php/extensions -name xdebug.so -print`
|
|
#else
|
|
# #zend_extension_xdebug=`locate xdebug.so | grep ${PREFIX_PHP}/lib/php/extensions`
|
|
zend_extension_xdebug=`find ${PREFIX_PHP}/lib/php/extensions -name xdebug.so -print`
|
|
#fi
|
|
|
|
echononl "\tphp.ini: zend_extension = \"$zend_extension_xdebug\" .."
|
|
if [[ -n "$zend_extension_xdebug" ]]; then
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\n;zend_extension = $zend_extension_xdebug\n#" $PHP_INI_FILE
|
|
#sed -i "s/^/\nzend_extension = ${zend_extension_xdebug}\n\n/" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
else
|
|
echo_skipped
|
|
warn "Extension library \"xdebug.so\" not found!"
|
|
fi
|
|
|
|
echononl "\tphp.ini: Create section [xdebug]"
|
|
echo "[xdebug]" >> $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
echononl "\tphp.ini: xdebug.max_nesting_level = 150"
|
|
echo "xdebug.max_nesting_level = 150" >> $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
info "Enable xdebug extension by commenting in the apropriate line at top of php.ini file"
|
|
|
|
## -----
|
|
## - END: Install xdebug
|
|
## -----
|
|
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo -e "\t---"
|
|
echo -e "\t--- Install PHP PEAR extensions"
|
|
echo -e "\t---"
|
|
echo ""
|
|
|
|
> ${_logdir}/pear_install.log
|
|
|
|
PEAR_EXT="Net_Socket"
|
|
echo "" >> ${_logdir}/pear_install.log
|
|
echo "# - Install ${PEAR_EXT} via pear.." >> ${_logdir}/pear_install.log
|
|
echo "# -" >> ${_logdir}/pear_install.log
|
|
echo "${PREFIX_PHP}/bin/pear install \"$PEAR_EXT\"" >> ${_logdir}/pear_install.log
|
|
echononl "\tInstall ${PEAR_EXT} via pear.."
|
|
if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
|
|
echo "${PREFIX_PHP}/bin/pear install \"$PEAR_EXT-1.0.14\"" >> ${_logdir}/pear_install.log
|
|
${PREFIX_PHP}/bin/pear install "$PEAR_EXT-1.0.14" >> ${_logdir}/pear_install.log 2>&1
|
|
else
|
|
echo "${PREFIX_PHP}/bin/pear install \"$PEAR_EXT\"" >> ${_logdir}/pear_install.log
|
|
${PREFIX_PHP}/bin/pear install "$PEAR_EXT" >> ${_logdir}/pear_install.log 2>&1
|
|
fi
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
echo "" >> ${_logdir}/pear_install.log
|
|
echo "# - Try to download and install '${PEAR_EXT}' manually.." >> ${_logdir}/pear_install.log
|
|
echo "# -" >> ${_logdir}/pear_install.log
|
|
echononl "\t Try to download and install '${PEAR_EXT}' manually.."
|
|
|
|
DIST=master
|
|
|
|
echo "rm -rf /tmp/${PEAR_EXT}-${DIST}.zip /tmp/${PEAR_EXT}-${DIST}" >> ${_logdir}/pear_install.log
|
|
rm -rf /tmp/${PEAR_EXT}-${DIST}.zip /tmp/${PEAR_EXT}-${DIST}
|
|
|
|
_failed=false
|
|
echo "wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
|
|
if [[ $? -gt 0 ]] ; then
|
|
_err_msg="Download from '${PEAR_EXT}-${DIST}.zip' https://github.com/pear' failed!"
|
|
DIST=trunk
|
|
echo "wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
_failed=true
|
|
echo_failed
|
|
error "$_err_msg \n\t Download from '${PEAR_EXT}-${DIST}.zip' https://github.com/pear' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
fi
|
|
fi
|
|
|
|
if ! $_failed ; then
|
|
echo "unzip -o -d /tmp /tmp/${PEAR_EXT}-${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
unzip -o -d /tmp /tmp/${PEAR_EXT}-${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
echo_failed
|
|
error "Unpacking downloaded pear extension '${PEAR_EXT}' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
else
|
|
pear install /tmp/${PEAR_EXT}-${DIST}/package.xml >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
echo_failed
|
|
error "'pear install /tmp/${PEAR_EXT}-master/package.xml' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
else
|
|
echo_ok
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
PEAR_EXT="Net_SMTP"
|
|
echo "" >> ${_logdir}/pear_install.log
|
|
echo "# - Install ${PEAR_EXT} via pear.." >> ${_logdir}/pear_install.log
|
|
echo "# -" >> ${_logdir}/pear_install.log
|
|
echo "${PREFIX_PHP}/bin/pear install \"$PEAR_EXT\"" >> ${_logdir}/pear_install.log
|
|
echononl "\tInstall ${PEAR_EXT} via pear.."
|
|
if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
|
|
echo "${PREFIX_PHP}/bin/pear install \"$PEAR_EXT-1.7.2\"" >> ${_logdir}/pear_install.log
|
|
${PREFIX_PHP}/bin/pear install "$PEAR_EXT-1.7.2" >> ${_logdir}/pear_install.log 2>&1
|
|
else
|
|
echo "${PREFIX_PHP}/bin/pear install \"$PEAR_EXT\"" >> ${_logdir}/pear_install.log
|
|
${PREFIX_PHP}/bin/pear install "$PEAR_EXT" >> ${_logdir}/pear_install.log 2>&1
|
|
fi
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
echo "" >> ${_logdir}/pear_install.log
|
|
echo "# - Try to download and install '${PEAR_EXT}' manually.." >> ${_logdir}/pear_install.log
|
|
echo "# -" >> ${_logdir}/pear_install.log
|
|
echononl "\t Try to download and install '${PEAR_EXT}' manually.."
|
|
|
|
DIST=master
|
|
|
|
echo "rm -rf /tmp/${PEAR_EXT}-${DIST}.zip /tmp/${PEAR_EXT}-${DIST}" >> ${_logdir}/pear_install.log
|
|
rm -rf /tmp/${PEAR_EXT}-${DIST}.zip /tmp/${PEAR_EXT}-${DIST}
|
|
|
|
_failed=false
|
|
echo "wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
|
|
if [[ $? -gt 0 ]] ; then
|
|
_err_msg="Download from '${PEAR_EXT}-${DIST}.zip' https://github.com/pear' failed!"
|
|
DIST=trunk
|
|
echo "wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
_failed=true
|
|
echo_failed
|
|
error "$_err_msg \n\t Download from '${PEAR_EXT}-${DIST}.zip' https://github.com/pear' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
fi
|
|
fi
|
|
|
|
if ! $_failed ; then
|
|
echo "unzip -o -d /tmp /tmp/${PEAR_EXT}-${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
unzip -o -d /tmp /tmp/${PEAR_EXT}-${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
echo_failed
|
|
error "Unpacking downloaded pear extension '${PEAR_EXT}' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
else
|
|
pear install /tmp/${PEAR_EXT}-${DIST}/package.xml >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
echo_failed
|
|
error "'pear install /tmp/${PEAR_EXT}-master/package.xml' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
else
|
|
echo_ok
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
PEAR_EXT="Net_Sieve"
|
|
echo "" >> ${_logdir}/pear_install.log
|
|
echo "# - Install ${PEAR_EXT} via pear.." >> ${_logdir}/pear_install.log
|
|
echo "# -" >> ${_logdir}/pear_install.log
|
|
echo "${PREFIX_PHP}/bin/pear install \"$PEAR_EXT\"" >> ${_logdir}/pear_install.log
|
|
echononl "\tInstall ${PEAR_EXT} via pear.."
|
|
if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
|
|
echo "${PREFIX_PHP}/bin/pear install \"$PEAR_EXT-1.4.1\"" >> ${_logdir}/pear_install.log
|
|
${PREFIX_PHP}/bin/pear install "$PEAR_EXT-1.4.1" >> ${_logdir}/pear_install.log 2>&1
|
|
else
|
|
echo "${PREFIX_PHP}/bin/pear install \"$PEAR_EXT\"" >> ${_logdir}/pear_install.log
|
|
${PREFIX_PHP}/bin/pear install "$PEAR_EXT" >> ${_logdir}/pear_install.log 2>&1
|
|
fi
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
echo "" >> ${_logdir}/pear_install.log
|
|
echo "# - Try to download and install '${PEAR_EXT}' manually.." >> ${_logdir}/pear_install.log
|
|
echo "# -" >> ${_logdir}/pear_install.log
|
|
echononl "\t Try to download and install '${PEAR_EXT}' manually.."
|
|
|
|
DIST=master
|
|
|
|
echo "rm -rf /tmp/${PEAR_EXT}-${DIST}.zip /tmp/${PEAR_EXT}-${DIST}" >> ${_logdir}/pear_install.log
|
|
rm -rf /tmp/${PEAR_EXT}-${DIST}.zip /tmp/${PEAR_EXT}-${DIST}
|
|
|
|
_failed=false
|
|
echo "wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
|
|
if [[ $? -gt 0 ]] ; then
|
|
_err_msg="Download from '${PEAR_EXT}-${DIST}.zip' https://github.com/pear' failed!"
|
|
DIST=trunk
|
|
echo "wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
_failed=true
|
|
echo_failed
|
|
error "$_err_msg \n\t Download from '${PEAR_EXT}-${DIST}.zip' https://github.com/pear' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
fi
|
|
fi
|
|
|
|
if ! $_failed ; then
|
|
echo "unzip -o -d /tmp /tmp/${PEAR_EXT}-${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
unzip -o -d /tmp /tmp/${PEAR_EXT}-${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
echo_failed
|
|
error "Unpacking downloaded pear extension '${PEAR_EXT}' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
else
|
|
pear install /tmp/${PEAR_EXT}-${DIST}/package.xml >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
echo_failed
|
|
error "'pear install /tmp/${PEAR_EXT}-master/package.xml' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
else
|
|
echo_ok
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
PEAR_EXT="Net_IDNA2"
|
|
echo "" >> ${_logdir}/pear_install.log
|
|
echo "# - Install ${PEAR_EXT} via pear.." >> ${_logdir}/pear_install.log
|
|
echo "# -" >> ${_logdir}/pear_install.log
|
|
echo "${PREFIX_PHP}/bin/pear install \"$PEAR_EXT\"" >> ${_logdir}/pear_install.log
|
|
echononl "\tInstall ${PEAR_EXT} via pear.."
|
|
${PREFIX_PHP}/bin/pear install "$PEAR_EXT" >> ${_logdir}/pear_install.log 2>&1
|
|
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_try_beta_version
|
|
|
|
echo "" >> ${_logdir}/pear_install.log
|
|
echo "# Install (beta) Net_IDNA2-${Net_IDNA2_beta_version} via pear.." >> ${_logdir}/pear_install.log
|
|
echo "${PREFIX_PHP}/bin/pear install channel://pear.php.net/${PEAR_EXT}-${Net_IDNA2_beta_version}" >> ${_logdir}/pear_install.log
|
|
|
|
Net_IDNA2_beta_version="0.2.0"
|
|
echononl "\tInstall (beta) Net_IDNA2-${Net_IDNA2_beta_version} via pear.."
|
|
echo "${PREFIX_PHP}/bin/pear install channel://pear.php.net/${PEAR_EXT}-${Net_IDNA2_beta_version}" >> ${_logdir}/pear_install.log
|
|
${PREFIX_PHP}/bin/pear install channel://pear.php.net/${PEAR_EXT}-${Net_IDNA2_beta_version} >> ${_logdir}/pear_install.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_try_from_src
|
|
|
|
echo "" >> ${_logdir}/pear_install.log
|
|
echo "# - Try to download and install '${PEAR_EXT}' manually.." >> ${_logdir}/pear_install.log
|
|
echo "# -" >> ${_logdir}/pear_install.log
|
|
echononl "\t Try to download and install '${PEAR_EXT}' manually.."
|
|
|
|
DIST=master
|
|
|
|
echo "rm -rf /tmp/${PEAR_EXT}-${DIST}.zip /tmp/${PEAR_EXT}-${DIST}" >> ${_logdir}/pear_install.log
|
|
rm -rf /tmp/${PEAR_EXT}-${DIST}.zip /tmp/${PEAR_EXT}-${DIST}
|
|
|
|
_failed=false
|
|
echo "wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
|
|
if [[ $? -gt 0 ]] ; then
|
|
_err_msg="Download from '${PEAR_EXT}-${DIST}.zip' https://github.com/pear' failed!"
|
|
DIST=trunk
|
|
echo "wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
_failed=true
|
|
echo_failed
|
|
error "$_err_msg \n\t Download from '${PEAR_EXT}-${DIST}.zip' https://github.com/pear' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
fi
|
|
fi
|
|
|
|
if ! $_failed ; then
|
|
echo "unzip -o -d /tmp /tmp/${PEAR_EXT}-master.zip" >> ${_logdir}/pear_install.log
|
|
unzip -o -d /tmp /tmp/${PEAR_EXT}-master.zip >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
echo_failed
|
|
error "Unpacking download pear extension failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
else
|
|
pear install /tmp/${PEAR_EXT}-master/package.xml >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
echo_failed
|
|
error "'pear install /tmp/${PEAR_EXT}-master/package.xml' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
else
|
|
echo_ok
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
for PEAR_EXT in Console_CommandLine Auth Auth_SASL Mail Mail_Mime Mail_mimeDecode MDB2 MDB2_Driver_pgsql Crypt_GPG ; do
|
|
|
|
echo "" >> ${_logdir}/pear_install.log
|
|
echo "# - Install ${PEAR_EXT} via pear.." >> ${_logdir}/pear_install.log
|
|
echo "# -" >> ${_logdir}/pear_install.log
|
|
echo "${PREFIX_PHP}/bin/pear install \"$PEAR_EXT\"" >> ${_logdir}/pear_install.log
|
|
echononl "\tInstall ${PEAR_EXT} via pear.."
|
|
${PREFIX_PHP}/bin/pear install "$PEAR_EXT" >> ${_logdir}/pear_install.log 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
|
|
echo "" >> ${_logdir}/pear_install.log
|
|
echo "# - Try to download and install '${PEAR_EXT}' manually.." >> ${_logdir}/pear_install.log
|
|
echo "# -" >> ${_logdir}/pear_install.log
|
|
|
|
DIST=master
|
|
|
|
echo "rm -rf /tmp/${PEAR_EXT}-${DIST}.zip /tmp/${PEAR_EXT}-${DIST}" >> ${_logdir}/pear_install.log
|
|
rm -rf /tmp/${PEAR_EXT}-${DIST}.zip /tmp/${PEAR_EXT}-${DIST}
|
|
|
|
echononl "\t Try to download and install '${PEAR_EXT}' manually.."
|
|
|
|
_failed=false
|
|
echo "wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
|
|
if [[ $? -gt 0 ]] ; then
|
|
_err_msg="Download from '${PEAR_EXT}-${DIST}.zip' https://github.com/pear' failed!"
|
|
|
|
if [[ "$PEAR_EXT" = "Mail_mimeDecode" ]]; then
|
|
DIST="PHP_4_0_7"
|
|
else
|
|
DIST=trunk
|
|
fi
|
|
|
|
echo "wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
wget -O /tmp/${PEAR_EXT}-${DIST}.zip https://github.com/pear/${PEAR_EXT}/archive/${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
_failed=true
|
|
echo_failed
|
|
error "$_err_msg \n\t Download from '${PEAR_EXT}-${DIST}.zip' https://github.com/pear' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
fi
|
|
fi
|
|
|
|
if ! $_failed ; then
|
|
echo "unzip -o -d /tmp /tmp/${PEAR_EXT}-${DIST}.zip" >> ${_logdir}/pear_install.log
|
|
unzip -o -d /tmp /tmp/${PEAR_EXT}-${DIST}.zip >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
echo_failed
|
|
error "Unpacking downloaded pear extension '${PEAR_EXT}' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
else
|
|
echo "pear install /tmp/${PEAR_EXT}-${DIST}/package.xml" >> ${_logdir}/pear_install.log
|
|
pear install /tmp/${PEAR_EXT}-${DIST}/package.xml >> ${_logdir}/pear_install.log 2>&1
|
|
if [[ $? -gt 0 ]] ; then
|
|
echo_failed
|
|
error "'pear install /tmp/${PEAR_EXT}-${DIST}/package.xml' failed! \n\t See logfile '${_logdir}/pear_install.log'"
|
|
else
|
|
echo_ok
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
done
|
|
|
|
|
|
## - Configure php.ini (base)
|
|
## -
|
|
echo ""
|
|
echo ""
|
|
echo -e "\t---"
|
|
echo -e "\t--- Configure php.ini (base)"
|
|
echo -e "\t---"
|
|
echo ""
|
|
|
|
## - set date.timezon = "Europe/Berlin"
|
|
## -
|
|
echononl "\tphp.ini: date.timezone = \"Europe/Berlin\""
|
|
_key="date.timezone"
|
|
_val="Europe/Berlin"
|
|
if grep -e "^\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${_key}\s*=.*)#;\1\n${_key} = \"${_val}\"#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
sed -i "0,/^\([ \t]*;[ \t]*${_key}[ \t]*=.*\)/ s##\1\n${_key} = \"${_val}\"\n#" $PHP_INI_FILE
|
|
#perl -i -n -p -e "s#^(\s*;\s*${_key}\s*=.*)#\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
## - set short_open_tag = On
|
|
## -
|
|
echononl "\tphp.ini: short_open_tag = On"
|
|
_key="short_open_tag"
|
|
_val="Off"
|
|
if grep -e "^\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${_key}\s*=.*)#;\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
sed -i "0,/^\([ \t]*;[ \t]*${_key}[ \t]*=.*\)/ s##\1\n${_key} = \"${_val}\"\n#" $PHP_INI_FILE
|
|
#perl -i -n -p -e "s#^(\s*;\s*${_key}\s*=.*)#\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
|
|
## - set zlib.output_compression = $ZLIB_OUTPUT_COMPRESSION
|
|
## -
|
|
echononl "\tphp.ini: zlib.output_compression = $ZLIB_OUTPUT_COMPRESSION"
|
|
_key="zlib.output_compression"
|
|
_val=$ZLIB_OUTPUT_COMPRESSION
|
|
if grep -e "^\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${_key}\s*=.*)#;\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
sed -i "0,/^\([ \t]*;[ \t]*${_key}[ \t]*=.*\)/ s##\1\n${_key} = \"${_val}\"\n#" $PHP_INI_FILE
|
|
#perl -i -n -p -e "s#^(\s*;\s*${_key}\s*=.*)#\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
|
|
## - set memory_limit = $MEMORY_LIMIT
|
|
## -
|
|
echononl "\tphp.ini: memory_limit = $MEMORY_LIMIT"
|
|
_key="memory_limit"
|
|
_val=$MEMORY_LIMIT
|
|
if grep -e "^\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${_key}\s*=.*)#;\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
sed -i "0,/^\([ \t]*;[ \t]*${_key}[ \t]*=.*\)/ s##\1\n${_key} = \"${_val}\"\n#" $PHP_INI_FILE
|
|
#perl -i -n -p -e "s#^(\s*;\s*${_key}\s*=.*)#\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
|
|
## - set max_execution_time = $MAX_EXECUTION_TIME
|
|
## -
|
|
echononl "\tphp.ini: max_execution_time = $MAX_EXECUTION_TIME"
|
|
_key="max_execution_time"
|
|
_val=$MAX_EXECUTION_TIME
|
|
if grep -e "^\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${_key}\s*=.*)#;\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
sed -i "0,/^\([ \t]*;[ \t]*${_key}[ \t]*=.*\)/ s##\1\n${_key} = \"${_val}\"\n#" $PHP_INI_FILE
|
|
#perl -i -n -p -e "s#^(\s*;\s*${_key}\s*=.*)#\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
|
|
## - set max_input_time = $MAX_INPUT_TIME
|
|
## -
|
|
echononl "\tphp.ini: max_input_time = $MAX_INPUT_TIME"
|
|
_key="max_input_time"
|
|
_val=$MAX_INPUT_TIME
|
|
if grep -e "^\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${_key}\s*=.*)#;\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
sed -i "0,/^\([ \t]*;[ \t]*${_key}[ \t]*=.*\)/ s##\1\n${_key} = \"${_val}\"\n#" $PHP_INI_FILE
|
|
#perl -i -n -p -e "s#^(\s*;\s*${_key}\s*=.*)#\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
|
|
## - set error_log = ${FPM_LOG_DIR}/php_errors.log
|
|
## -
|
|
echononl "\tphp.ini: error_log = ${FPM_LOG_DIR}/php_errors.log"
|
|
_key="error_log"
|
|
_val="${FPM_LOG_DIR}/php_errors.log"
|
|
if grep -e "^\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${_key}\s*=.*)#;\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
sed -i "0,/^\([ \t]*;[ \t]*${_key}[ \t]*=.*\)/ s##\1\n${_key} = \"${_val}\"\n#" $PHP_INI_FILE
|
|
#perl -i -n -p -e "s#^(\s*;\s*${_key}\s*=.*)#\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
if [[ ! -d "$(dirname "$_val")" ]] ; then
|
|
echononl "\tCretae directory '$(dirname "$_val")'.."
|
|
mkdir "$(dirname "$_val")" > /dev/null 2>&1
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
touch $_val
|
|
chown ${HTTPD_USER}:$HTTPD_GROUP $_val
|
|
|
|
|
|
## - set upload_max_filesize = $UPLOAD_MAX_FILESIZE
|
|
## -
|
|
echononl "\tphp.ini: upload_max_filesize = $UPLOAD_MAX_FILESIZE"
|
|
_key="upload_max_filesize"
|
|
_val="$UPLOAD_MAX_FILESIZE"
|
|
if grep -e "^\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${_key}\s*=.*)#;\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
sed -i "0,/^\([ \t]*;[ \t]*${_key}[ \t]*=.*\)/ s##\1\n${_key} = \"${_val}\"\n#" $PHP_INI_FILE
|
|
#perl -i -n -p -e "s#^(\s*;\s*${_key}\s*=.*)#\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
|
|
## - set post_max_size = $POST_MAX_SIZE
|
|
## -
|
|
echononl "\tphp.ini: post_max_size = $POST_MAX_SIZE"
|
|
_key="post_max_size"
|
|
_val="$POST_MAX_SIZE"
|
|
if grep -e "^\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${_key}\s*=.*)#;\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
sed -i "0,/^\([ \t]*;[ \t]*${_key}[ \t]*=.*\)/ s##\1\n${_key} = \"${_val}\"\n#" $PHP_INI_FILE
|
|
#perl -i -n -p -e "s#^(\s*;\s*${_key}\s*=.*)#\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
|
|
## - set max_file_uploads = 50
|
|
## -
|
|
echononl "\tphp.ini: max_file_uploads = 50"
|
|
_key="max_file_uploads"
|
|
_val=50
|
|
if grep -e "^\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${_key}\s*=.*)#;\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
sed -i "0,/^\([ \t]*;[ \t]*${_key}[ \t]*=.*\)/ s##\1\n${_key} = \"${_val}\"\n#" $PHP_INI_FILE
|
|
#perl -i -n -p -e "s#^(\s*;\s*${_key}\s*=.*)#\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
|
|
## - set always_populate_raw_post_data = -1
|
|
## -
|
|
echononl "\tphp.ini: always_populate_raw_post_data = -1"
|
|
_key="always_populate_raw_post_data"
|
|
_val=-1
|
|
if grep -e "^\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${_key}\s*=.*)#;\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
sed -i "0,/^\([ \t]*;[ \t]*${_key}[ \t]*=.*\)/ s##\1\n${_key} = \"${_val}\"\n#" $PHP_INI_FILE
|
|
#perl -i -n -p -e "s#^(\s*;\s*${_key}\s*=.*)#\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
|
|
## - set expose_php = Off
|
|
## -
|
|
_key="expose_php"
|
|
_val="Off"
|
|
echononl "\tphp.ini: $_key = $_val"
|
|
if grep -e "^\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${_key}\s*=.*)#;\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
sed -i "0,/^\([ \t]*;[ \t]*${_key}[ \t]*=.*\)/ s##\1\n${_key} = \"${_val}\"\n#" $PHP_INI_FILE
|
|
#perl -i -n -p -e "s#^(\s*;\s*${_key}\s*=.*)#\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
## -----
|
|
## - END: Configure php.ini (base)
|
|
## -----
|
|
|
|
|
|
|
|
## -----
|
|
## - configure OPCache
|
|
## -----
|
|
|
|
zend_extension_opcache=$(find ${PREFIX_PHP}/lib/php/extensions -name opcache.so -print)
|
|
|
|
if [[ -n "$zend_extension_opcache" ]];then
|
|
|
|
echononl "\tphp.ini: zend_extension = \"$zend_extension_opcache\" .."
|
|
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nzend_extension = ${zend_extension_opcache}\n#" $PHP_INI_FILE
|
|
#sed -i "s/^/\nzend_extension = ${zend_extension_opcache}\n\n/" $PHP_INI_FILE
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
## - set opcache.error_log="/var/log/apache2/
|
|
## -
|
|
echononl "\tphp.ini: opcache.error_log = /var/log/apache2/opcache_errors.log"
|
|
if [[ -z "$OPCACHE_ERROR_LOG" ]] ; then
|
|
echo_skipped
|
|
else
|
|
_key="opcache.error_log"
|
|
_val="$OPCACHE_ERROR_LOG"
|
|
if grep -e "^\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${_key}\s*=.*)#;\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
sed -i "0,/^\([ \t]*;[ \t]*${_key}[ \t]*=.*\)/ s##\1\n${_key} = \"${_val}\"\n#" $PHP_INI_FILE
|
|
#perl -i -n -p -e "s#^(\s*;\s*${_key}\s*=.*)#\1\n${_key} = ${_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
if [[ ! -d "$(dirname "$_val")" ]] ; then
|
|
echononl "\tCretae directory '$(dirname "$_val")'.."
|
|
mkdir "$(dirname "$_val")" > /dev/null 2>&1
|
|
if [[ $? -eq 0 ]] ; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
touch $_val
|
|
chown ${HTTPD_USER}:$HTTPD_GROUP $_val
|
|
fi
|
|
|
|
## - set opcache.enable=1
|
|
## -
|
|
echononl "\tphp.ini: opcache.enable = 1 .."
|
|
opcache_key="opcache.enable"
|
|
opcache_val=$OPCACHE_ENABLE
|
|
if grep -e "^\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${opcache_key}\s*=.*)#;\1\n*${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*;${opcache_key}\s*=.*)#\1\n${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
## - set opcache.enable_cli=1
|
|
## -
|
|
echononl "\tphp.ini: opcache.enable_cli = $OPCACHE_ENABLE_CLI .."
|
|
opcache_key="opcache.enable_cli"
|
|
opcache_val=$OPCACHE_ENABLE_CLI
|
|
if grep -e "^\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${opcache_key}\s*=.*)#;\1\n*${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*;${opcache_key}\s*=.*)#\1\n${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
## - set opcache.memory_consumption
|
|
## -
|
|
echononl "\tphp.ini: opcache.memory_consumption = $OPCACHE_MEMORY_CONSUMPTION .."
|
|
opcache_key="opcache.memory_consumption"
|
|
opcache_val=$OPCACHE_MEMORY_CONSUMPTION
|
|
if grep -e "^\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${opcache_key}\s*=.*)#;\1\n*${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*;${opcache_key}\s*=.*)#\1\n${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
## - set opcache.interned_strings_buffer
|
|
## -
|
|
echononl "\tphp.ini: opcache.interned_strings_buffer = $OPCACHE_INTERNED_STRINGS_BUFFER .."
|
|
opcache_key="opcache.interned_strings_buffer"
|
|
opcache_val=$OPCACHE_INTERNED_STRINGS_BUFFER
|
|
if grep -e "^\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${opcache_key}\s*=.*)#;\1\n*${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*;${opcache_key}\s*=.*)#\1\n${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
## - set opcache.max_accelerated_files
|
|
## -
|
|
echononl "\tphp.ini: opcache.max_accelerated_files = $OPCACHE_MAX_ACCELERATED_FILES .."
|
|
opcache_key="opcache.max_accelerated_files"
|
|
opcache_val=$OPCACHE_MAX_ACCELERATED_FILES
|
|
if grep -e "^\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${opcache_key}\s*=.*)#;\1\n*${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*;${opcache_key}\s*=.*)#\1\n${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
## - set opcache.validate_timestamps
|
|
## -
|
|
echononl "\tphp.ini: opcache.validate_timestamps = $OPCACHE_VALIDATE_TIMESTAMPS .."
|
|
opcache_key="opcache.validate_timestamps"
|
|
opcache_val=$OPCACHE_VALIDATE_TIMESTAMPS
|
|
if grep -e "^\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${opcache_key}\s*=.*)#;\1\n*${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*;${opcache_key}\s*=.*)#\1\n${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
## - set opcache.consistency_checks
|
|
## -
|
|
echononl "\tphp.ini: opcache.validate_timestamps = $OPCACHE_CONSISTENCY_CHECKS .."
|
|
opcache_key="opcache.consistency_checks"
|
|
opcache_val=$OPCACHE_CONSISTENCY_CHECKS
|
|
if grep -e "^\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${opcache_key}\s*=.*)#;\1\n*${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*;${opcache_key}\s*=.*)#\1\n${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
## - set opcache.revalidate_freq
|
|
## -
|
|
echononl "\tphp.ini: opcache.revalidate_freq = $OPCACHE_REVALIDATE_FREQ .."
|
|
opcache_key="opcache.revalidate_freq"
|
|
opcache_val=$OPCACHE_REVALIDATE_FREQ
|
|
if grep -e "^\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${opcache_key}\s*=.*)#;\1\n*${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*;${opcache_key}\s*=.*)#\1\n${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
|
|
## ----------
|
|
## not configurable opcache settings
|
|
## ----------
|
|
|
|
|
|
## - set opcache.save_comments=1
|
|
## -
|
|
echononl "\tphp.ini: opcache.save_comments = 1 .."
|
|
opcache_key="opcache.save_comments"
|
|
opcache_val=1
|
|
if grep -e "^\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${opcache_key}\s*=.*)#;\1\n*${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*;${opcache_key}\s*=.*)#\1\n${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
|
|
## - set opcache.fast_shutdown=0
|
|
## -
|
|
## - setting opcache.fast_shutdown=1 causes the following error in apache error_log:
|
|
## -
|
|
## - zend_mm_heap corrupted
|
|
## -
|
|
## - sometimes un conjunction with
|
|
## -
|
|
## - [Sun May 11 23:02:25.120263 2014] [core:warn] [pid 11566:tid 139746681894656]
|
|
## - AH00045: child process 28405 still did not exit, sending a SIGTERM
|
|
## -
|
|
echononl "\tphp.ini: opcache.fast_shutdown = 0 .."
|
|
opcache_key="opcache.fast_shutdown"
|
|
opcache_val=0
|
|
if grep -e "^\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*${opcache_key}\s*=.*)#;\1\n*${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
elif grep -e "^\s*;\s*${opcache_key}\s*=" $PHP_INI_FILE > /dev/null 2>&1 ; then
|
|
perl -i -n -p -e "s#^(\s*;${opcache_key}\s*=.*)#\1\n${opcache_key} = ${opcache_val}#" $PHP_INI_FILE
|
|
_retval=$?
|
|
fi
|
|
if [ "$_retval" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
fi
|
|
fi
|
|
|
|
## -----
|
|
## - END: configure OPCache
|
|
## -----
|
|
|
|
|
|
## -----
|
|
## - Reenable crontab
|
|
## -----
|
|
|
|
echo
|
|
echononl "\tReenable crontab for user root .."
|
|
crontab -u root $_CRONTAB_BAKUP_FILE > $tmp_err_msg 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
echononl "\tRemove crontab backup file .."
|
|
rm -f $_CRONTAB_BAKUP_FILE > $tmp_err_msg 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
|
|
## -----
|
|
## - End: Reenable crontab
|
|
## -----
|
|
|
|
|
|
## -----
|
|
## - Start PHP-FPM Engine if requested
|
|
## -----
|
|
|
|
echo ""
|
|
echononl "\tStarting PHP-FPM Engine (v${PHP_MAIN_VERSION}).."
|
|
if $ACTIVATE_PHP_FPM_INIT_SCRIPT ; then
|
|
if $SYSTEMD_EXISTS ; then
|
|
systemctl start php-${PHP_MAIN_VERSION}-fpm > /dev/null 2>&1
|
|
if [[ "$?" = "0" ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Starting PHP-FPM Engine failed!"
|
|
fi
|
|
else
|
|
$FPM_INIT_SCRIPT start > /dev/null 2>&1
|
|
if [[ "$?" = "0" ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Starting PHP-FPM Engine failed!"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if ! $WITHOUT_APACHE_MOD_PHP ; then
|
|
|
|
echo ""
|
|
echononl "\tiRestarting Apache Webserver.."
|
|
if $SYSTEMD_EXISTS ; then
|
|
systemctl restart apache2 > /dev/null 2>&1
|
|
if [[ "$?" = "0" ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Restarting Apache2 Webservice failed!"
|
|
fi
|
|
else
|
|
/etc/init.d/apache2 restart > /dev/null 2>&1
|
|
if [[ "$?" = "0" ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "Restarting Apache2 Webservice failed!"
|
|
fi
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
## -----
|
|
## - Rename /etc/mysql/my.cnf if MySQL was not installed from debian package system.
|
|
## -----
|
|
|
|
if [[ -d "/usr/local/mysql" ]]; then
|
|
if [[ -f "/etc/mysql/my.cnf" ]] && [[ ! -h "/etc/mysql/my.cnf" ]]; then
|
|
echo
|
|
echononl "\tRename '/etc/mysql/my.cnf' to '/etc/mysql/my.cnf.DEBIAN'.."
|
|
mv "/etc/mysql/my.cnf" "/etc/mysql/my.cnf.DEBIAN" > $tmp_err_msg 2>&1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo_ok
|
|
else
|
|
echo_failed
|
|
error "$(cat $tmp_err_msg)"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
cd $pwd
|
|
|
|
cat<<EOF
|
|
|
|
php.ini
|
|
=======
|
|
|
|
You may edit your php.ini file "$PHP_INI_FILE"
|
|
to set more PHP options.
|
|
|
|
EOF
|
|
|
|
|
|
rm -f "$tmp_err_msg"
|
|
exit 0
|