2022-07-07 11:37:57 -04:00
|
|
|
#!/bin/bash
|
|
|
|
|
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
|
|
|
|
|
export PATH
|
|
|
|
|
|
|
|
|
|
curPath=`pwd`
|
|
|
|
|
rootPath=$(dirname "$curPath")
|
|
|
|
|
rootPath=$(dirname "$rootPath")
|
|
|
|
|
serverPath=$(dirname "$rootPath")
|
|
|
|
|
|
2025-09-10 11:28:01 -04:00
|
|
|
# cd /www/server/mdserver-web/plugins/php-apt && bash install.sh install 56
|
2022-07-07 11:37:57 -04:00
|
|
|
|
|
|
|
|
if id www &> /dev/null ;then
|
2022-11-16 07:37:42 -05:00
|
|
|
echo "www uid is `id -u www`"
|
|
|
|
|
echo "www shell is `grep "^www:" /etc/passwd |cut -d':' -f7 `"
|
2022-07-07 11:37:57 -04:00
|
|
|
else
|
|
|
|
|
groupadd www
|
2024-06-15 08:53:04 -04:00
|
|
|
useradd -g www -s /sbin/nologin www
|
|
|
|
|
# useradd -g www -s /bin/bash www
|
2022-07-07 11:37:57 -04:00
|
|
|
fi
|
|
|
|
|
|
2022-07-10 21:48:29 -04:00
|
|
|
_os=`uname`
|
|
|
|
|
if [ ${_os} == "Darwin" ]; then
|
|
|
|
|
OSNAME='macos'
|
|
|
|
|
elif grep -Eqi "Debian" /etc/issue || grep -Eq "Debian" /etc/*-release; then
|
|
|
|
|
OSNAME='debian'
|
|
|
|
|
elif grep -Eqi "Ubuntu" /etc/issue || grep -Eq "Ubuntu" /etc/*-release; then
|
|
|
|
|
OSNAME='ubuntu'
|
|
|
|
|
else
|
|
|
|
|
OSNAME='unknow'
|
|
|
|
|
fi
|
|
|
|
|
|
2022-07-07 11:37:57 -04:00
|
|
|
action=$1
|
|
|
|
|
type=$2
|
2024-06-11 00:41:40 -04:00
|
|
|
apt_ver=${type:0:1}.${type:1:2}
|
2022-07-07 11:37:57 -04:00
|
|
|
|
|
|
|
|
if [ "${2}" == "" ];then
|
2024-11-24 14:16:46 -05:00
|
|
|
echo '缺少安装脚本...'
|
2022-07-07 11:37:57 -04:00
|
|
|
exit 0
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ ! -d $curPath/versions/$2 ];then
|
2024-11-24 14:16:46 -05:00
|
|
|
echo '缺少安装脚本2...'
|
2022-07-07 11:37:57 -04:00
|
|
|
exit 0
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
2022-07-10 21:48:29 -04:00
|
|
|
if [ "$OSNAME" == "ubuntu" ];then
|
2024-06-11 07:05:02 -04:00
|
|
|
find_source=`ls /etc/apt/sources.list.d | grep ondrej-ubuntu-php`
|
|
|
|
|
if [ "$find_source" == "" ];then
|
2024-06-11 07:03:26 -04:00
|
|
|
echo "y" | LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php && apt update -y
|
|
|
|
|
fi
|
2022-07-10 21:48:29 -04:00
|
|
|
fi
|
2022-07-09 12:14:19 -04:00
|
|
|
# apt install $(grep-aptavail -S PHP-defaults -s Package -n)
|
|
|
|
|
|
2022-07-07 12:29:06 -04:00
|
|
|
|
2023-01-11 04:47:49 -05:00
|
|
|
if [ ! -f /etc/apt/sources.list.d/php.list ] && [ "$OSNAME" == "debian" ];then
|
|
|
|
|
# install php source
|
2024-06-11 07:06:14 -04:00
|
|
|
apt install -y apt-transport-https lsb-release ca-certificates curl
|
2023-01-11 04:47:49 -05:00
|
|
|
cn=$(curl -fsSL -m 10 http://ipinfo.io/json | grep "\"country\": \"CN\"")
|
|
|
|
|
if [ ! -z "$cn" ];then
|
2025-07-19 23:26:12 -04:00
|
|
|
curl -o /usr/share/keyrings/deb.sury.org-php.gpg https://mirror.sjtu.edu.cn/sury/php/apt.gpg
|
2023-01-11 04:47:49 -05:00
|
|
|
sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://mirror.sjtu.edu.cn/sury/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
|
|
|
|
|
else
|
2025-07-19 23:26:12 -04:00
|
|
|
curl -o /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
|
2023-01-11 04:47:49 -05:00
|
|
|
sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
|
|
|
|
|
fi
|
|
|
|
|
apt update -y
|
2022-07-07 12:29:06 -04:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
2022-07-07 11:37:57 -04:00
|
|
|
if [ "${action}" == "uninstall" ] && [ -d ${serverPath}/php-apt/${type} ];then
|
|
|
|
|
#初始化
|
|
|
|
|
cd ${rootPath} && python3 ${rootPath}/plugins/php-apt/index.py stop ${type}
|
|
|
|
|
cd ${rootPath} && python3 ${rootPath}/plugins/php-apt/index.py initd_uninstall ${type}
|
2024-06-13 09:57:39 -04:00
|
|
|
|
|
|
|
|
if [ -f /lib/systemd/system/php${apt_ver}-fpm.service ];then
|
|
|
|
|
rm -rf /lib/systemd/system/php${apt_ver}-fpm.service
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -f /lib/systemd/system/system/php${apt_ver}-fpm.service ];then
|
|
|
|
|
rm -rf /lib/systemd/system/php${apt_ver}-fpm.service
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
systemctl daemon-reload
|
2022-07-07 11:37:57 -04:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
cd ${curPath} && sh -x $curPath/versions/$2/install.sh $1
|
|
|
|
|
|
|
|
|
|
if [ "${action}" == "install" ] && [ -d ${serverPath}/php-apt/${type} ];then
|
2024-11-26 11:17:57 -05:00
|
|
|
apt update -y
|
|
|
|
|
|
2022-11-19 04:42:59 -05:00
|
|
|
#初始化
|
|
|
|
|
cd ${rootPath} && python3 ${rootPath}/plugins/php-apt/index.py start ${type}
|
|
|
|
|
cd ${rootPath} && python3 ${rootPath}/plugins/php-apt/index.py restart ${type}
|
|
|
|
|
cd ${rootPath} && python3 ${rootPath}/plugins/php-apt/index.py initd_install ${type}
|
|
|
|
|
|
2022-11-16 06:36:15 -05:00
|
|
|
# 安装通用扩展
|
2022-11-16 07:13:50 -05:00
|
|
|
echo "install PHP-APT[${type}] extend start"
|
2024-06-11 00:39:04 -04:00
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install curl
|
|
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install gd
|
|
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install iconv
|
|
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install exif
|
|
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install intl
|
|
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install xml
|
|
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install mcrypt
|
2024-07-19 12:22:07 -04:00
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install bcmath
|
2024-06-11 00:39:04 -04:00
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install mysqlnd
|
|
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install mysql
|
|
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install gettext
|
|
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install redis
|
|
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install memcached
|
|
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install mbstring
|
2024-06-11 03:15:43 -04:00
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install zip
|
2024-06-11 03:16:20 -04:00
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install mongodb
|
2024-06-14 05:10:32 -04:00
|
|
|
cd ${rootPath}/plugins/php-apt/versions && bash common.sh ${apt_ver} install opcache
|
2022-11-16 07:13:50 -05:00
|
|
|
echo "install PHP-APT[${type}] extend end"
|
2022-12-17 10:57:05 -05:00
|
|
|
|
|
|
|
|
if [ ! -f /usr/local/bin/composer ];then
|
|
|
|
|
cd /tmp
|
2024-06-11 00:41:18 -04:00
|
|
|
curl -sS https://getcomposer.org/installer | /usr/bin/php${apt_ver}
|
2022-12-17 10:57:05 -05:00
|
|
|
mv composer.phar /usr/local/bin/composer
|
|
|
|
|
fi
|
2024-06-11 00:39:04 -04:00
|
|
|
|
|
|
|
|
systemctl restart php${apt_ver}-fpm
|
2022-07-07 11:37:57 -04:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|