24gold_server/install.sh

72 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
#sudo apt update
#sudo apt upgrade -y
#sudo apt install postgresql postgresql-contrib -y
#sudo systemctl status postgresql
#sudo systemctl start postgresql
#sudo systemctl enable postgresql
#sudo systemctl restart postgresql
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
BOLD='\033[1m'
NC='\033[0m' # No Color
# Print header
echo -e "${BOLD}${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${BOLD}${BLUE} montzar - gold trade Management Tool ${NC}"
echo -e "${BOLD}${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo "🔧 Adding php..."
if ! command -v php &> /dev/null
then
echo "🚀 PHP is not installed. Installing PHP 8.1 and required extensions..."
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt upgrade -y
sudo apt install --no-install-recommends -y php8.1
sudo apt install -y php8.1-cli php8.1-common php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php8.1-xml php8.1-bcmath
else
echo "✅ PHP is already installed: $(php -v | head -n 1)"
fi
COMPOSER_ALLOW_SUPERUSER=1 composer install
echo "🔧 Composer…"
if ! command -v composer &>/dev/null; then
sudo apt update
sudo apt install php-cli unzip
cd ~
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
HASH=`curl -sS https://composer.github.io/installer.sig`
echo $HASH
php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
else
echo "$(composer --version)"
fi
COMPOSER_ALLOW_SUPERUSER=1 composer install
echo "🔧 laravel"
if ! php artisan --version >/dev/null 2>&1; then
echo "📦 Running composer install..."
composer install
else
echo "✅ Laravel $(php artisan --version)"
fi
if [ ! -f .env ]; then
echo "📝 Creating .env file from .env.example"
cp .env.example .env
else
echo "✅ .env file already exists"
fi
#ساخت اسکریپت pm2 برای صف:
# باعث می‌شود که pm2 این فرآیند را مدیریت کند و اگر قطع شود، دوباره آن را راه‌اندازی کند.
pm2 start "php artisan queue:work" --name laravel-queue