77 lines
2.6 KiB
Python
77 lines
2.6 KiB
Python
|
|
from pastafariutils import linux
|
|
import distro
|
|
import argparse
|
|
import os
|
|
|
|
php_versions=['8.2', '8.3', '8.4']
|
|
|
|
linux_distro=distro.id()
|
|
|
|
parser=argparse.ArgumentParser(prog='install_php.py', description='Script for install php')
|
|
|
|
parser.add_argument('--version', help='The version of php', required=True)
|
|
|
|
#parser.add_argument('--ip', help='The IP where php-fpm receive orders')
|
|
|
|
args=parser.parse_args()
|
|
|
|
ip=None
|
|
|
|
#if args.ip:
|
|
# ip=args.ip
|
|
|
|
|
|
version=args.version
|
|
|
|
if not version in php_versions:
|
|
linux.json_log('Error: php version not supported', error=1, status=1, progress=100, no_progress=0);
|
|
exit(1)
|
|
|
|
|
|
os_update={'debian': 'sudo apt-get update', 'fedora': 'sudo dnf update'}
|
|
|
|
os_update['rocky']=os_update['fedora']
|
|
os_update['almalinux']=os_update['fedora']
|
|
|
|
linux.exec(os_update)
|
|
|
|
linux.json_log('Deleting php {}...'.format(args.version), error=0, status=0, progress=0, no_progress=1);
|
|
|
|
# Install php-fpm version
|
|
|
|
remove_php={'debian': 'sudo apt-get remove -y php{version}-fpm php{version}-gd php{version}-mysql php{version}-curl php{version}-mbstring php{version}-intl php{version}-imagick php{version}-xml php{version}-zip php{version}-redis'.format(version=version)}
|
|
|
|
remove_php['fedora']='sudo dnf remove -y php{version} php{version}-fpm php{version}-gd php{version}-mysql php{version}-curl php{version}-mbstring php{version}-intl php{version}-imagick php{version}-xml php{version}-zip php{version}-redis'.format(version=version.replace('.', ''))
|
|
|
|
remove_php['almalinux']=remove_php['fedora']
|
|
remove_php['rocky']=remove_php['fedora']
|
|
|
|
linux.exec(remove_php)
|
|
|
|
linux.json_log('Deleted php {}...'.format(version), error=0, status=0, progress=0, no_progress=1);
|
|
|
|
install_php={'debian': 'sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y php-gd php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip php-redis unzip'}
|
|
|
|
install_php['fedora']='sudo dnf -y install php php-gd php-mysqlnd php-intl php-process composer'
|
|
|
|
install_php['almalinux']=install_php['fedora']
|
|
install_php['rocky']=install_php['fedora']
|
|
|
|
linux.json_log('Reinstall official php for scripts if deleted...', error=0, status=0, progress=0, no_progress=1);
|
|
|
|
linux.exec(install_php)
|
|
|
|
|
|
#sed_php={'debian' : ['ServerTokens OS', "ServerTokens Prod", '\/etc\/apache2\/conf-enabled\/security.conf']}
|
|
|
|
"""
|
|
debian_package='apache2 logrotate socat curl'
|
|
|
|
redhat_package='httpd mod_ssl mod_md openssl tar socat policycoreutils-python-utils wget'
|
|
|
|
linux_package={'debian' : debian_package, 'ubuntu' : debian_package, 'fedora' : redhat_package, 'almalinux' : redhat_package, 'rocky' : redhat_package, 'arch' : 'apache'}
|
|
|
|
linux.install_package(linux_package);
|
|
|
|
"""
|