56 lines
1.6 KiB
Bash
56 lines
1.6 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
pyversion=${1}
|
||
|
|
py_path=/www/server/pyporject_evn/versions
|
||
|
|
py_cache=/www/server/pyporject_evn/versions/cached
|
||
|
|
cpuCore=$(cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l)
|
||
|
|
|
||
|
|
mkdir -p ${py_path}
|
||
|
|
download_Url='https://node.yakpanel.com'
|
||
|
|
|
||
|
|
install_python() {
|
||
|
|
\cp ${py_cache}/Python-${pyversion}.tar.xz /tmp/Python-${pyversion}.tar.xz
|
||
|
|
cd /tmp/ && xz -d /tmp/Python-${pyversion}.tar.xz && tar -xvf /tmp/Python-${pyversion}.tar
|
||
|
|
cd /tmp/Python-${pyversion} || exit
|
||
|
|
if [ ${pyversion:0:1} -ge 2 ]; then
|
||
|
|
openssl111check=$(openssl version | grep 1.1.1)
|
||
|
|
if [ -z "${openssl111check}" ]; then
|
||
|
|
Install_Openssl111
|
||
|
|
WITH_SSL="--with-openssl=/usr/local/openssl111"
|
||
|
|
else
|
||
|
|
WITH_SSL=""
|
||
|
|
fi
|
||
|
|
cd /tmp/Python-${pyversion} || exit
|
||
|
|
./configure --prefix=${py_path}/${pyversion} ${WITH_SSL} -with-openssl-rpath=auto
|
||
|
|
make -j${cpuCore}
|
||
|
|
make install
|
||
|
|
rm -rf /tmp/Python-*
|
||
|
|
else
|
||
|
|
./configure --prefix=${py_path}/${pyversion}
|
||
|
|
make -j${cpuCore}
|
||
|
|
make install
|
||
|
|
rm -rf /tmp/Python-*
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
Install_Openssl111() {
|
||
|
|
opensslCheck=$(/usr/local/openssl111/bin/openssl version | grep 1.1.1)
|
||
|
|
if [ -z "${opensslCheck}" ]; then
|
||
|
|
opensslVersion="1.1.1o"
|
||
|
|
cd /tmp/
|
||
|
|
wget ${download_Url}/src/openssl-${opensslVersion}.tar.gz
|
||
|
|
tar -zxf openssl-${opensslVersion}.tar.gz
|
||
|
|
rm -f openssl-${opensslVersion}.tar.gz
|
||
|
|
cd openssl-${opensslVersion} || exit
|
||
|
|
./config --prefix=/usr/local/openssl111 zlib-dynamic
|
||
|
|
make -j${cpuCore}
|
||
|
|
make install
|
||
|
|
echo "/usr/local/openssl111/lib" >>/etc/ld.so.conf.d/openssl111.conf
|
||
|
|
ldconfig
|
||
|
|
ldconfig /lib64
|
||
|
|
cd ..
|
||
|
|
rm -rf openssl-${opensslVersion}
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
install_python
|