diff --git a/installers/compile-installers.sh b/installers/compile-installers.sh index 64a6a5a..52f792c 100755 --- a/installers/compile-installers.sh +++ b/installers/compile-installers.sh @@ -28,3 +28,22 @@ echo "$INSTALL_BASE" >> ubuntu-22.04/install.sh echo "$INSTALL_LOG" >> ubuntu-22.04/install.sh echo "$DOWNLOAD_WEB" >> ubuntu-22.04/install.sh echo "$INSTALL_WEB" >> ubuntu-22.04/install.sh + + + + +# Compile ubuntu-24.04 installers + +# get content from file +INSTALL_BASE=$(cat ubuntu-24.04/install-partial/install_base.sh) +INSTALL_LOG=$(cat ubuntu-20.04/install-partial/install_log.sh) +DOWNLOAD_WEB=$(cat ubuntu-20.04/install-partial/download_web.sh) +INSTALL_WEB=$(cat ubuntu-20.04/install-partial/install_web.sh) + +# create installer +rm -rf ubuntu-24.04/install.sh +echo "$INSTALL_BASE" >> ubuntu-24.04/install.sh +echo "$INSTALL_LOG" >> ubuntu-24.04/install.sh +echo "$DOWNLOAD_WEB" >> ubuntu-24.04/install.sh +echo "$INSTALL_WEB" >> ubuntu-24.04/install.sh + diff --git a/installers/ubuntu-24.04/greeting.sh b/installers/ubuntu-24.04/greeting.sh new file mode 100644 index 0000000..dcbe197 --- /dev/null +++ b/installers/ubuntu-24.04/greeting.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +CURRENT_IP=$(hostname -I | awk '{print $1}') + +echo " \ + ____ _ ___ ______ _____ ____ _ _ _ _____ _ + | _ \| | | \ \ / / _ \| ____| | _ \ / \ | \ | | ____| | + | |_) | |_| |\ V /| |_) | _| | |_) / _ \ | \| | _| | | + | __/| _ | | | | _ <| |___ | __/ ___ \| |\ | |___| |___ + |_| |_| |_| |_| |_| \_\_____| |_| /_/ \_\_| \_|_____|_____ + WELCOME TO PHYRE PANEL! + OS: Ubuntu 24.04 + You can login at: http://$CURRENT_IP:8443 +" + +# File can be saved at: /etc/profile.d/greeting.sh diff --git a/installers/ubuntu-24.04/install-partial/install_base.sh b/installers/ubuntu-24.04/install-partial/install_base.sh new file mode 100644 index 0000000..9f508cc --- /dev/null +++ b/installers/ubuntu-24.04/install-partial/install_base.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +INSTALL_DIR="/phyre/install" + +apt-get update && apt-get install ca-certificates + +mkdir -p $INSTALL_DIR + +cd $INSTALL_DIR + +DEPENDENCIES_LIST=( + "openssl" + "jq" + "curl" + "wget" + "unzip" + "zip" + "tar" + "mysql-common" + "mysql-server" + "mysql-client" + "lsb-release" + "gnupg2" + "ca-certificates" + "apt-transport-https" + "software-properties-common" + "supervisor" + "libonig-dev" + "libzip-dev" + "libcurl4-openssl-dev" + "libsodium23" + "libpq5" + "apache2" + "libapache2-mod-ruid2" + "libapache2-mod-php" + "libssl-dev" + "zlib1g-dev" +) +# Check if the dependencies are installed +for DEPENDENCY in "${DEPENDENCIES_LIST[@]}"; do + apt install -yq $DEPENDENCY +done + +# Start MySQL +service mysql start + +wget https://raw.githubusercontent.com/PhyreApps/PhyrePanel/main/installers/ubuntu-24.04/greeting.sh +mv greeting.sh /etc/profile.d/phyre-greeting.sh + +# Install PHYRE PHP +wget https://github.com/PhyreApps/PhyrePanelPHP/raw/main/compilators/debian/php/dist/phyre-php-8.2.0-ubuntu-24.04.deb +dpkg -i phyre-php-8.2.0-ubuntu-24.04.deb + +# Install PHYRE NGINX +wget https://github.com/PhyreApps/PhyrePanelNGINX/raw/main/compilators/debian/nginx/dist/phyre-nginx-1.24.0-ubuntu-24.04.deb +dpkg -i phyre-nginx-1.24.0-ubuntu-24.04.deb + +service phyre start + +PHYRE_PHP=/usr/local/phyre/php/bin/php + +ln -s $PHYRE_PHP /usr/bin/phyre-php + +curl -s https://phyrepanel.com/api/phyre-installation-log -X POST -H "Content-Type: application/json" -d '{"os": "ubuntu-24.04"}' diff --git a/installers/ubuntu-24.04/install.sh b/installers/ubuntu-24.04/install.sh new file mode 100644 index 0000000..ffcbc5c --- /dev/null +++ b/installers/ubuntu-24.04/install.sh @@ -0,0 +1,156 @@ +#!/bin/bash + +INSTALL_DIR="/phyre/install" + +apt-get update && apt-get install ca-certificates + +mkdir -p $INSTALL_DIR + +cd $INSTALL_DIR + +DEPENDENCIES_LIST=( + "openssl" + "jq" + "curl" + "wget" + "unzip" + "zip" + "tar" + "mysql-common" + "mysql-server" + "mysql-client" + "lsb-release" + "gnupg2" + "ca-certificates" + "apt-transport-https" + "software-properties-common" + "supervisor" + "libonig-dev" + "libzip-dev" + "libcurl4-openssl-dev" + "libsodium23" + "libpq5" + "apache2" + "libapache2-mod-ruid2" + "libapache2-mod-php" + "libssl-dev" + "zlib1g-dev" +) +# Check if the dependencies are installed +for DEPENDENCY in "${DEPENDENCIES_LIST[@]}"; do + apt install -yq $DEPENDENCY +done + +# Start MySQL +service mysql start + +wget https://raw.githubusercontent.com/PhyreApps/PhyrePanel/main/installers/ubuntu-24.04/greeting.sh +mv greeting.sh /etc/profile.d/phyre-greeting.sh + +# Install PHYRE PHP +wget https://github.com/PhyreApps/PhyrePanelPHP/raw/main/compilators/debian/php/dist/phyre-php-8.2.0-ubuntu-24.04.deb +dpkg -i phyre-php-8.2.0-ubuntu-24.04.deb + +# Install PHYRE NGINX +wget https://github.com/PhyreApps/PhyrePanelNGINX/raw/main/compilators/debian/nginx/dist/phyre-nginx-1.24.0-ubuntu-24.04.deb +dpkg -i phyre-nginx-1.24.0-ubuntu-24.04.deb + +service phyre start + +PHYRE_PHP=/usr/local/phyre/php/bin/php + +ln -s $PHYRE_PHP /usr/bin/phyre-php + +curl -s https://phyrepanel.com/api/phyre-installation-log -X POST -H "Content-Type: application/json" -d '{"os": "ubuntu-24.04"}' +#!/bin/bash + +HOSTNAME=$(hostname) +IP_ADDRESS=$(hostname -I | cut -d " " -f 1) + +DISTRO_VERSION=$(cat /etc/os-release | grep -w "VERSION_ID" | cut -d "=" -f 2) +DISTRO_VERSION=${DISTRO_VERSION//\"/} # Remove quotes from version string + +DISTRO_NAME=$(cat /etc/os-release | grep -w "NAME" | cut -d "=" -f 2) +DISTRO_NAME=${DISTRO_NAME//\"/} # Remove quotes from name string + +LOG_JSON='{"os": "'$DISTRO_NAME-$DISTRO_VERSION'", "host_name": "'$HOSTNAME'", "ip": "'$IP_ADDRESS'"}' + +curl -s https://phyrepanel.com/api/phyre-installation-log -X POST -H "Content-Type: application/json" -d "$LOG_JSON" +#!/bin/bash + +wget https://github.com/PhyreApps/PhyrePanelWebCompiledVersions/raw/main/phyre-web-panel.zip +unzip -qq -o phyre-web-panel.zip -d /usr/local/phyre/web +rm -rf phyre-web-panel.zip + +chmod 711 /home +chmod -R 750 /usr/local/phyre +#!/bin/bash + +# Check dir exists +if [ ! -d "/usr/local/phyre/web" ]; then + echo "PhyrePanel directory not found." + return 1 +fi + +# Go to web directory +cd /usr/local/phyre/web + +# Create MySQL user +MYSQL_PHYRE_ROOT_USERNAME="phyre" +MYSQL_PHYRE_ROOT_PASSWORD="$(tr -dc a-za-z0-9 /root/.mysql_root_password + +# Configure the application +phyre-php artisan phyre:set-ini-settings APP_ENV "local" +phyre-php artisan phyre:set-ini-settings APP_URL "127.0.0.1:8443" +phyre-php artisan phyre:set-ini-settings APP_NAME "PHYRE_PANEL" +phyre-php artisan phyre:set-ini-settings DB_DATABASE "$PHYRE_PANEL_DB_NAME" +phyre-php artisan phyre:set-ini-settings DB_USERNAME "$PHYRE_PANEL_DB_USER" +phyre-php artisan phyre:set-ini-settings DB_PASSWORD "$PHYRE_PANEL_DB_PASSWORD" +phyre-php artisan phyre:set-ini-settings DB_CONNECTION "mysql" +phyre-php artisan phyre:set-ini-settings MYSQL_ROOT_USERNAME "$MYSQL_PHYRE_ROOT_USERNAME" +phyre-php artisan phyre:set-ini-settings MYSQL_ROOT_PASSWORD "$MYSQL_PHYRE_ROOT_PASSWORD" +phyre-php artisan phyre:key-generate + +phyre-php artisan migrate +phyre-php artisan db:seed + +phyre-php artisan phyre:set-ini-settings APP_ENV "production" + +chmod -R o+w /usr/local/phyre/web/storage/ +chmod -R o+w /usr/local/phyre/web/bootstrap/cache/ + +CURRENT_IP=$(hostname -I | awk '{print $1}') + +echo "PhyrePanel downloaded successfully." +echo "Please visit http://$CURRENT_IP:8443 to continue installation of the panel."