diff --git a/README.md b/README.md index 8ba6de7..edc2758 100644 --- a/README.md +++ b/README.md @@ -39,17 +39,17 @@ chmod +x ./Autoinstall/install.sh **Choosing the php version** ```bash -./Autoinstall/install.sh --php 7.4 +./Autoinstall/install.sh --php 8.2 ``` > [!NOTE] -> Instead of 7.4, you need to substitute the desired php version;\ +> Instead of 8.2, you need to substitute the desired php version;\ > Supported php versions: 7.4, 8.0, 8.1, 8.2 -**Selecting the working branch of the panel** +**Choosing an EngineGP release** ```bash -./Autoinstall/install.sh --branch main +./Autoinstall/install.sh --release ``` > [!NOTE] -> main - the current stable version;\ -> beta - current beta version;\ -> develop - future beta version. +> --release - the current stable version;\ +> --beta - current beta version;\ +> --snapshot - future beta version. diff --git a/deb.install.sh b/deb.install.sh index 0cac586..7f00a46 100644 --- a/deb.install.sh +++ b/deb.install.sh @@ -67,13 +67,13 @@ for os in "${suppOs[@]}"; do fi done +# Переменные для хранения +verPhp="8.2" +sysIp=$(ip a | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v '127.0.0.1' | head -n 1) +relType="beta" + # Проверка аргументов командной строки if [ $# -gt 0 ]; then - # Переменные для хранения - verPhp="" - sysIp="" - gitEgp="" - # Перебор всех аргументов while [[ $# -gt 0 ]]; do key="$1" @@ -91,11 +91,18 @@ if [ $# -gt 0 ]; then shift # Пропустить значение IP-адреса shift # Пропустить аргумент --ip ;; - --branch) - # Если передан аргумент --ip, сохранить указанный IP-адрес - gitEgp="$2" - shift # Пропустить значение ветки - shift # Пропустить аргумент --branch + --release) + relType="release" + shift # Пропустить аргумент --release + ;; + --beta) + relType="beta" + shift # Пропустить аргумент --beta + ;; + --snapshot) + # Если передан аргумент --snapshot, использовать ветку develop + relType="snapshot" + shift # Пропустить аргумент --snapshot ;; *) # Неизвестный аргумент, вывести справку и выйти @@ -103,28 +110,15 @@ if [ $# -gt 0 ]; then echo "Использование: ./install.sh --php 8.2 --ip 192.168.1.1 --branch main" echo " --php версия: установить указанную версию PHP. Формат должен быть: 8.2" echo " --ip IP-адрес: использовать указанный IP-адрес. Формат должен быть: 192.168.1.1" - echo " --branch ветка: использовать указаную ветку GIT. Формат должен быть: main" + echo " --release: установить последнюю, стабильную версию" + echo " --beta: установить последнюю, бета-версию" + echo " --snapshot: установить последний snapshot" exit 1 ;; esac done fi -# Если версия PHP не выбрана, использовать PHP 7.4 по умолчанию -if [ -z "$verPhp" ]; then - verPhp="8.2" -fi - -# Если IP-адрес не указан, получить внешний IP-адрес с помощью сервиса ipinfo.io -if [ -z "$sysIp" ]; then - sysIp=$(ip a | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v '127.0.0.1' | head -n 1) -fi - -# Если ветка не указана, использовать main (Временно beta) -if [ -z "$gitEgp" ]; then - gitEgp="beta" -fi - # Проверяем, является ли полученный IP-адрес действительным IPv4 адресом if [[ ! $sysIp =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then clear @@ -444,9 +438,9 @@ EOF sudo mkdir -p /tmp/enginegp 2>&1 | sudo tee -a "$logsInst" > /dev/null # Загрузка EngineGP - if [ "$gitEgp" == "develop" ]; then - sudo git clone --branch "$gitEgp" https://github.com/EngineGPDev/EngineGP.git /var/www/enginegp 2>&1 | sudo tee -a "$logsInst" > /dev/null - elif [ "$gitEgp" == "beta" ]; then + if [ "$relType" == "snapshot" ]; then + sudo git clone --depth 1 --branch develop https://github.com/EngineGPDev/EngineGP.git /var/www/enginegp 2>&1 | sudo tee -a "$logsInst" > /dev/null + elif [ "$relType" == "beta" ]; then curl -s https://api.github.com/repos/EngineGPDev/EngineGP/releases | jq -r 'map(select(.prerelease == true)) | .[0].zipball_url' | xargs -n 1 curl -L -o /tmp/enginegp/enginegp.zip 2>&1 | sudo tee -a "$logsInst" > /dev/null sudo unzip -o /tmp/enginegp/enginegp.zip -d /tmp/enginegp 2>&1 | sudo tee -a "$logsInst" > /dev/null sudo mv /tmp/enginegp/EngineGPDev-EngineGP-* /var/www/enginegp 2>&1 | sudo tee -a "$logsInst" > /dev/null @@ -1175,7 +1169,7 @@ EOF echo "Текущая версия Linux: $currOs" | sudo tee -a "$logsInst" echo "Внешний IP-адрес: $sysIp" | sudo tee -a "$logsInst" echo "Версия php: $verPhp" | sudo tee -a "$logsInst" - echo "Ветка GIT: $gitEgp" | sudo tee -a "$logsInst" + echo "Выпуск EngineGP: $relType" | sudo tee -a "$logsInst" echo "===================================" 2>&1 | sudo tee -a "$logsInst" > /dev/null read -rp "Нажмите Enter для выхода в главное меню..." continue diff --git a/install.sh b/install.sh index ad08608..136e994 100644 --- a/install.sh +++ b/install.sh @@ -36,13 +36,13 @@ for os in "${suppOs[@]}"; do fi done +# Переменные для хранения +verPhp="8.2" +sysIp=$(ip a | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v '127.0.0.1' | head -n 1) +relArgs=() + # Проверка аргументов командной строки if [ $# -gt 0 ]; then - # Переменные для хранения - verPhp="" - sysIp="" - gitEgp="" - # Перебор всех аргументов while [[ $# -gt 0 ]]; do key="$1" @@ -60,11 +60,9 @@ if [ $# -gt 0 ]; then shift # Пропустить значение IP-адреса shift # Пропустить аргумент --ip ;; - --branch) - # Если передан аргумент --ip, сохранить указанный IP-адрес - gitEgp="$2" - shift # Пропустить значение ветки - shift # Пропустить аргумент --branch + --release|--beta|--snapshot) + relArgs+=("$key") + shift # Пропустить аргументы ;; *) # Неизвестный аргумент, вывести справку и выйти @@ -72,28 +70,15 @@ if [ $# -gt 0 ]; then echo "Использование: ./install.sh --php 8.2 --ip 192.168.1.1 --branch main" echo " --php версия: установить указанную версию PHP. Формат должен быть: 8.2" echo " --ip IP-адрес: использовать указанный IP-адрес. Формат должен быть: 192.168.1.1" - echo " --branch ветка: использовать указаную ветку GIT. Формат должен быть: main" + echo " --release: установить последнюю, стабильную версию" + echo " --beta: установить последнюю, бета-версию" + echo " --snapshot: установить последний snapshot" exit 1 ;; esac done fi -# Если версия PHP не выбрана, использовать PHP 7.4 по умолчанию -if [ -z "$verPhp" ]; then - verPhp="8.2" -fi - -# Если IP-адрес не указан, получить внешний IP-адрес с помощью сервиса ipinfo.io -if [ -z "$sysIp" ]; then - sysIp=$(ip a | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v '127.0.0.1' | head -n 1) -fi - -# Если ветка не указана, использовать main (Временно beta) -if [ -z "$gitEgp" ]; then - gitEgp="beta" -fi - # Проверяем, является ли полученный IP-адрес действительным IPv4 адресом if [[ ! $sysIp =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then clear @@ -164,7 +149,12 @@ if $foundOs; then echo "Starting the automatic installation" | tee -a "$logsInst" echo "===================================" 2>&1 | sudo tee -a "$logsInst" > /dev/null sudo chmod +x /tmp/enginegp/autoinstall/deb.install.sh 2>&1 | sudo tee -a "$logsInst" > /dev/null - sudo /tmp/enginegp/autoinstall/deb.install.sh --php "$verPhp" --ip "$sysIp" --branch "$gitEgp" + # Передача значений в команду + if [ ${#relArgs[@]} -gt 0 ]; then + sudo /tmp/enginegp/autoinstall/deb.install.sh --php "$verPhp" --ip "$sysIp" "${relArgs[@]}" + else + sudo /tmp/enginegp/autoinstall/deb.install.sh --php "$verPhp" --ip "$sysIp" + fi fi done else