mirror of
https://github.com/PhyreApps/PhyrePanel.git
synced 2024-11-25 00:50:32 +00:00
update
This commit is contained in:
parent
2cd6780495
commit
8e788fc484
4 changed files with 255 additions and 0 deletions
|
@ -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
|
||||
|
||||
|
|
16
installers/ubuntu-24.04/greeting.sh
Normal file
16
installers/ubuntu-24.04/greeting.sh
Normal file
|
@ -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
|
64
installers/ubuntu-24.04/install-partial/install_base.sh
Normal file
64
installers/ubuntu-24.04/install-partial/install_base.sh
Normal file
|
@ -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"}'
|
156
installers/ubuntu-24.04/install.sh
Normal file
156
installers/ubuntu-24.04/install.sh
Normal file
|
@ -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 </dev/urandom | head -c 32; echo)"
|
||||
|
||||
mysql -uroot -proot <<MYSQL_SCRIPT
|
||||
CREATE USER '$MYSQL_PHYRE_ROOT_USERNAME'@'%' IDENTIFIED BY '$MYSQL_PHYRE_ROOT_PASSWORD';
|
||||
GRANT ALL PRIVILEGES ON *.* TO '$MYSQL_PHYRE_ROOT_USERNAME'@'%' WITH GRANT OPTION;
|
||||
FLUSH PRIVILEGES;
|
||||
MYSQL_SCRIPT
|
||||
|
||||
|
||||
# Create database
|
||||
PHYRE_PANEL_DB_PASSWORD="$(tr -dc a-za-z0-9 </dev/urandom | head -c 32; echo)"
|
||||
PHYRE_PANEL_DB_NAME="phyre$(tr -dc a-za-z0-9 </dev/urandom | head -c 13; echo)"
|
||||
PHYRE_PANEL_DB_USER="phyre$(tr -dc a-za-z0-9 </dev/urandom | head -c 13; echo)"
|
||||
|
||||
mysql -uroot -proot <<MYSQL_SCRIPT
|
||||
CREATE DATABASE $PHYRE_PANEL_DB_NAME;
|
||||
CREATE USER '$PHYRE_PANEL_DB_USER'@'localhost' IDENTIFIED BY '$PHYRE_PANEL_DB_PASSWORD';
|
||||
GRANT ALL PRIVILEGES ON $PHYRE_PANEL_DB_NAME.* TO '$PHYRE_PANEL_DB_USER'@'localhost';
|
||||
FLUSH PRIVILEGES;
|
||||
MYSQL_SCRIPT
|
||||
|
||||
mysql_secure_installation --use-default
|
||||
|
||||
# Change mysql root password
|
||||
MYSQL_ROOT_PASSWORD="$(tr -dc a-za-z0-9 </dev/urandom | head -c 32; echo)"
|
||||
mysql -uroot -proot <<MYSQL_SCRIPT
|
||||
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '$MYSQL_ROOT_PASSWORD';
|
||||
FLUSH PRIVILEGES;
|
||||
MYSQL_SCRIPT
|
||||
|
||||
# Save mysql root password
|
||||
echo "$MYSQL_ROOT_PASSWORD" > /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."
|
Loading…
Reference in a new issue