Fixed bugs to create servers

This commit is contained in:
absurdo 2024-03-13 20:42:51 +01:00
parent 92ae8e7d36
commit 44ffe2da55
5 changed files with 144 additions and 8 deletions

View file

@ -39,8 +39,6 @@ if [ "$DISTRO" = 'debian' ] || [ "$DISTRO" = 'ubuntu' ]; then
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
sudo ln -s /usr/share/keyrings/deb.sury.org-php.gpg /etc/apt/trusted.gpg.d/deb.sury.org-php.gpg
sudo 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'
sudo apt-get update
else
@ -62,6 +60,8 @@ if [ "$DISTRO" = 'debian' ] || [ "$DISTRO" = 'ubuntu' ]; then
fi
#sudo DEBIAN_FRONTEND="noninteractive" apt-get -y upgrade
sudo apt-get update
if [ $? -eq 0 ]; then
@ -71,11 +71,54 @@ if [ "$DISTRO" = 'debian' ] || [ "$DISTRO" = 'ubuntu' ]; then
else
echo '{"error": 1, "status": 1, "progress": 100, "no_progress":0, "message": "Error: cannot update apt repos with sury repos, retriying..."}'
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
sudo ln -s /usr/share/keyrings/deb.sury.org-php.gpg /etc/apt/trusted.gpg.d/deb.sury.org-php.gpg
sudo 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'
sudo apt-get update
if [ $? -eq 0 ]; then
echo '{"error": 0, "status": 0, "progress": 100, "no_progress":0, "message": "Updated with sury repos sucessfully..."}'
else
echo '{"error": 1, "status": 1, "progress": 100, "no_progress":0, "message": "Error: cannot update apt repos with sury repos, probably a bug in sury repos?"}'
exit
fi
fi
# Reinstall normal php because sury repos upgrade change stable php
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y php-fpm php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip php-redis unzip
if [ $? -eq 0 ]; then
echo '{"error": 0, "status": 0, "progress": 100, "no_progress":0, "message": "Updated php with sury repos sucessfully..."}'
else
echo '{"error": 1, "status": 1, "progress": 100, "no_progress":0, "message": "Error: cannot update php with sury repos, retriying..."}'
exit
fi
# Reload php version because sury repos upgrade change stable php
PHP_VERSION=$(php -v 2>/dev/null | grep -oE "PHP ([0-9]+\.[0-9]+)" | grep -oE "[0-9]+\.[0-9]+")
CHOOSE_PHP_VERSION="8.2"
if [ -n $1 ]; then
CHOOSE_PHP_VERSION=$1
fi
if [ "$PHP_VERSION" = "$CHOOSE_PHP_VERSION" ]; then
@ -87,7 +130,7 @@ if [ "$DISTRO" = 'debian' ] || [ "$DISTRO" = 'ubuntu' ]; then
else
sudo apt-get install -y php${CHOOSE_PHP_VERSION} php${CHOOSE_PHP_VERSION}-fpm php${CHOOSE_PHP_VERSION}-gd php${CHOOSE_PHP_VERSION}-mysql php${CHOOSE_PHP_VERSION}-curl php${CHOOSE_PHP_VERSION}-mbstring php${CHOOSE_PHP_VERSION}-intl php${CHOOSE_PHP_VERSION}-imagick php${CHOOSE_PHP_VERSION}-xml php${CHOOSE_PHP_VERSION}-zip php${CHOOSE_PHP_VERSION}-redis unzip mariadb-client
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y php${CHOOSE_PHP_VERSION} php${CHOOSE_PHP_VERSION}-fpm php${CHOOSE_PHP_VERSION}-gd php${CHOOSE_PHP_VERSION}-mysql php${CHOOSE_PHP_VERSION}-curl php${CHOOSE_PHP_VERSION}-mbstring php${CHOOSE_PHP_VERSION}-intl php${CHOOSE_PHP_VERSION}-imagick php${CHOOSE_PHP_VERSION}-xml php${CHOOSE_PHP_VERSION}-zip php${CHOOSE_PHP_VERSION}-redis unzip mariadb-client
if [ $? -eq 0 ]; then
@ -163,7 +206,7 @@ if [ "$DISTRO" = 'debian' ] || [ "$DISTRO" = 'ubuntu' ]; then
fi
elif [ "$DISTRO" = 'rocky' ] || [ "$DISTRO" = 'fedora' ]; then
elif [ "$DISTRO" = 'rocky' ] || [ "$DISTRO" = 'almalinux' ] || [ "$DISTRO" = 'fedora' ]; then
echo "Update PHP if you need..."
@ -242,7 +285,7 @@ else
fi
sed -i 's/pm = dynamic/pm = ondemand/g' /etc/php-legacy/php-fpm.d/www.conf
sudo sed -i 's/pm = dynamic/pm = ondemand/g' /etc/php-legacy/php-fpm.d/www.conf
sudo sed -i 's/^;zend_extension=opcache$/zend_extension=opcache/g' /etc/php-legacy/php.ini
sudo sed -i 's/^;extension=iconv$/extension=iconv/g' /etc/php-legacy/php.ini
sudo sed -i 's/^;extension=intl$/extension=intl/g' /etc/php-legacy/php.ini

View file

@ -115,7 +115,9 @@ if linux_distro=='arch':
if linux_distro=='rocky' or linux_distro=='almalinux' or linux_distro=='fedora':
if linux.shell_command('sudo systemctl status firewalld'):
ret=linux.shell_command('sudo systemctl status firewalld')
print(ret)
if ret:
linux.shell_command("sudo firewall-cmd --add-service=http && sudo firewall-cmd --add-service=http --permanent && sudo firewall-cmd --add-service=https && sudo firewall-cmd --add-service=https --permanent")
else:

View file

@ -13,6 +13,7 @@ import pwd
import distro
import subprocess
import pwd
import grp
php_version={'php74': 'php7.4', 'php80': 'php8.0', 'php81': 'php8.1', 'php82': 'php8.2'}
@ -397,7 +398,19 @@ def manage():
if not ret_user:
print("User %s exists, used for the new site" % args.user)
#Need add to group apache if not. Need for red hat and derivatives.
g=grp.getgrnam('apache')
#grp.struct_group(gr_name='apache', gr_passwd='x', gr_gid=48, gr_mem=['absurdo'])
if args.user not in g.gr_mem:
if call("sudo usermod -a -G %s %s" % (apache_group, args.user), shell=True) > 0:
print('Error, cannot add group to user')
exit(1)
else:
print('Added user to apache group')
else:

View file

@ -1,4 +1,4 @@
#!/opt/pythonenv/bin/python3 -u
#!/usr/bin/python3 -u
import sys, os
import subprocess
@ -32,6 +32,8 @@ user=args.user
json_return={}
print('Updating phpmyadmin...')
if subprocess.call("sudo su %s -s /bin/bash -c 'cd %s && composer update'" % (user, home_user), shell=True) > 0:
json_return['error']=1
json_return['status']=1