Update install.sh

Added support for Ubuntu 22.04
Enabled forced activation of mod_rewrite
Fixed the PHP repository error on Ubuntu 22.04
Changed the distribution detection method to lsb-release
Updated the minimum supported PHP version to 7.2
This commit is contained in:
Sergei Solovev 2023-11-24 00:40:10 +03:00
parent 1f71e1b952
commit aa7a7ad90a

View File

@ -21,7 +21,7 @@ saveDIR="/root/enginegp.cfg"
sysUpdate sysUpdate
# Установка начальных пакетов. # Установка начальных пакетов.
pkgsREQ=(sudo curl lsb-release wget gnupg rsync pwgen zip unzip bc tar) pkgsREQ=(sudo curl lsb-release wget gnupg rsync pwgen zip unzip bc tar software-properties-common)
# Цикл установки пакетов # Цикл установки пакетов
for package in "${pkgsREQ[@]}"; do for package in "${pkgsREQ[@]}"; do
@ -37,11 +37,13 @@ for package in "${pkgsREQ[@]}"; do
fi fi
done done
# Массив с поддерживаемыми версиями Debian # Массив с поддерживаемыми версиями операционной системы
suppOS=("Debian 10" "Debian 11") suppOS=("Debian 10" "Debian 11" "Ubuntu 22.04")
# Получаем текущую версию операционной системы # Получаем текущую версию операционной системы
currOS=`cat /etc/issue.net | awk '{print $1,$3}'` disOS=`lsb_release -si`
relOS=`lsb_release -sr`
currOS="$disOS $relOS"
# Файловый репозиторий # Файловый репозиторий
resURL="https://resources.enginegp.com" resURL="https://resources.enginegp.com"
@ -88,7 +90,7 @@ if [ $# -gt 0 ]; then
clear clear
echo "Использование: ./install.sh [--release версия] [--php версия] [--sql версия] [--ip IP-адрес]" echo "Использование: ./install.sh [--release версия] [--php версия] [--sql версия] [--ip IP-адрес]"
echo " --release версия: установить указанную версию EngineGP. Формат должен быть: 3630" echo " --release версия: установить указанную версию EngineGP. Формат должен быть: 3630"
echo " --php версия: установить указанную версию PHP. Формат должен быть: 7.0" echo " --php версия: установить указанную версию PHP. Формат должен быть: 7.1"
echo " --sql версия: установить указанную базу данный. Формат должен быть: mysql или mariadb" echo " --sql версия: установить указанную базу данный. Формат должен быть: mysql или mariadb"
echo " --ip IP-адрес: использовать указанный IP-адрес. Формат должен быть: 192.168.1.1" echo " --ip IP-адрес: использовать указанный IP-адрес. Формат должен быть: 192.168.1.1"
exit 1 exit 1
@ -104,7 +106,7 @@ if [ $# -gt 0 ]; then
# Если версия PHP не выбрана, использовать PHP 8.0 по умолчанию # Если версия PHP не выбрана, использовать PHP 8.0 по умолчанию
if [ -z "$verPHP" ]; then if [ -z "$verPHP" ]; then
verPHP="7.1" verPHP="7.2"
fi fi
# Если IP-адрес не указан, получить внешний IP-адрес с помощью сервиса ipinfo.io # Если IP-адрес не указан, получить внешний IP-адрес с помощью сервиса ipinfo.io
@ -162,22 +164,36 @@ while true; do
# Установка стека LNAMP + phpMyAdmin # Установка стека LNAMP + phpMyAdmin
# Проверяем наличие репозитория php sury # Проверяем наличие репозитория php sury
if [ ! -f "/etc/apt/sources.list.d/php.list" ]; then if [[ " ${disOS} " =~ " Debian " ]]; then
if [ ! -f "/etc/apt/sources.list.d/php.list" ]; then
echo "===================================" >> $logsINST 2>&1
echo "Репозиторий php не обнаружен. Добавляем..." | tee -a $logsINST
echo "===================================" >> $logsINST 2>&1
# Добавляем репозиторий php
sudo curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x >> $logsINST 2>&1
# Обновление таблиц
apt-get -y update >> $logsINST 2>&1
# Определяем версию php по умолчанию
defPHP=$(apt-cache policy php | awk -F ': ' '/Candidate:/ {split($2, a, "[:+~]"); print a[2]}')
else
echo "===================================" >> $logsINST 2>&1
echo "Репозиторий php обнаружен." | tee -a $logsINST
echo "===================================" >> $logsINST 2>&1
fi
else
echo "===================================" >> $logsINST 2>&1 echo "===================================" >> $logsINST 2>&1
echo "Репозиторий php не обнаружен. Добавляем..." | tee -a $logsINST echo "Репозиторий php не обнаружен. Добавляем..." | tee -a $logsINST
echo "===================================" >> $logsINST 2>&1 echo "===================================" >> $logsINST 2>&1
# Добавляем репозиторий php # Добавляем репозиторий php
sudo curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x >> $logsINST 2>&1 sudo add-apt-repository ppa:ondrej/php -y >> $logsINST 2>&1
# Обновление таблиц # Обновление таблиц
apt-get -y update >> $logsINST 2>&1 apt-get -y update >> $logsINST 2>&1
# Определяем версию php по умолчанию # Определяем версию php по умолчанию
defPHP=$(apt-cache policy php | awk -F ': ' '/Candidate:/ {split($2, a, "[:+~]"); print a[2]}') defPHP=$(apt-cache policy php | awk -F ': ' '/Candidate:/ {split($2, a, "[:+~]"); print a[2]}')
else
echo "===================================" >> $logsINST 2>&1
echo "Репозиторий php обнаружен." | tee -a $logsINST
echo "===================================" >> $logsINST 2>&1
fi fi
# Конфигурация apache для EngineGP # Конфигурация apache для EngineGP
@ -376,7 +392,7 @@ EOF
echo -e "$apache_enginegp" | sudo tee /etc/apache2/sites-available/enginegp.conf >> $logsINST 2>&1 echo -e "$apache_enginegp" | sudo tee /etc/apache2/sites-available/enginegp.conf >> $logsINST 2>&1
# Включаем модули Apache # Включаем модули Apache
sudo a2enmod actions fcgid alias proxy_fcgi >> $logsINST 2>&1 sudo a2enmod actions fcgid alias proxy_fcgi rewrite >> $logsINST 2>&1
sudo systemctl restart apache2 >> $logsINST 2>&1 sudo systemctl restart apache2 >> $logsINST 2>&1
# Проводим тестирование и запускаем конфиг Apache # Проводим тестирование и запускаем конфиг Apache