Remove deprecated files.

Remove deprecated files.
This commit is contained in:
Master3395
2026-01-31 20:28:29 +01:00
parent 4564243358
commit 754e17d48b
7 changed files with 0 additions and 4315 deletions

View File

@@ -1,152 +0,0 @@
# 🚀 CyberPanel Modular Installer - COMPLETE!
## ✅ **What We've Built:**
### **The Ultimate CyberPanel Installer Experience!**
I've completely transformed the CyberPanel installer from a monolithic 3478-line script into a beautiful, modular, interactive installer system. Here's what you now have:
## 📁 **New Modular Architecture:**
```
cyberpanel/
├── cyberpanel.sh # 🎯 MAIN INSTALLER (300 lines)
├── install.sh # 📋 Backup installer
├── modules/
│ ├── os/detect.sh # 🔍 OS Detection (367 lines)
│ ├── deps/
│ │ ├── manager.sh # 📦 Dependency Manager (204 lines)
│ │ ├── rhel_deps.sh # 🐧 RHEL Dependencies (222 lines)
│ │ └── debian_deps.sh # 🐧 Debian Dependencies (229 lines)
│ ├── install/cyberpanel_installer.sh # 🚀 Installation Logic (276 lines)
│ ├── fixes/cyberpanel_fixes.sh # 🔧 Fixes & Repairs (372 lines)
│ └── utils/
│ ├── ui.sh # 🎨 Beautiful UI (450 lines)
│ └── menu.sh # 📋 Interactive Menus (400 lines)
└── test_installer.sh # 🧪 Test Script
```
## 🎯 **Key Features:**
### **1. Beautiful Interactive UI**
- ✨ Stunning visual interface with colors and emojis
- 📊 Progress bars and status indicators
- 🎮 Interactive menus and prompts
- 📱 Mobile-friendly design
### **2. Smart Installation Logic**
- 🔍 Automatic OS detection
- 📦 OS-specific dependency management
- 🔄 Retry logic (up to 5 attempts)
- 🛠️ Automatic fix application
### **3. Multiple Installation Modes**
- 🎮 **Interactive Mode** (Default) - Beautiful guided installation
- 🤖 **Auto Mode** - Silent installation for scripts
- 🔧 **Update Mode** - Update existing installations
- 🔄 **Reinstall Mode** - Clean reinstall
### **4. Comprehensive Error Handling**
- 🚨 Smart error detection and recovery
- 📝 Detailed logging and debugging
- 🔧 Automatic fix application
- 📊 Status reporting and diagnostics
## 🚀 **Usage:**
### **Interactive Mode (Default):**
```bash
bash <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/v2.5.5-dev/cyberpanel.sh)
```
### **Debug Mode:**
```bash
bash <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/v2.5.5-dev/cyberpanel.sh) --debug
```
### **Auto Mode:**
```bash
bash <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/v2.5.5-dev/cyberpanel.sh) --auto
```
### **Specific Version:**
```bash
bash <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/v2.5.5-dev/cyberpanel.sh) -b v2.5.5-dev
```
## 🎨 **Interactive Menu System:**
### **Main Menu:**
1. 🚀 Fresh Installation (Recommended)
2. 🔄 Update Existing Installation
3. 🔧 Reinstall CyberPanel
4. 📊 Check System Status
5. 🛠️ Advanced Options
6. ❌ Exit
### **Advanced Options:**
- 🔧 Fix Installation Issues
- 🧹 Clean Installation Files
- 📋 View Installation Logs
- 🔍 System Diagnostics
## 🔧 **Fixed Issues:**
### **✅ AlmaLinux 9 Support**
- Fixed `aspell` and `libc-client` dependency issues
- Proper package handling for AlmaLinux 9
- Smart fallback for missing packages
### **✅ Modular Architecture**
- Each module under 500 lines (as requested)
- Easy to maintain and update
- Clear separation of concerns
### **✅ Better Error Handling**
- Comprehensive status checking
- Automatic fix application
- Detailed logging and reporting
## 📊 **Module Breakdown:**
| Module | Lines | Purpose |
|--------|-------|---------|
| `cyberpanel.sh` | 300 | Main installer entry point |
| `os/detect.sh` | 367 | OS detection and basic setup |
| `deps/manager.sh` | 204 | Dependency coordination |
| `deps/rhel_deps.sh` | 222 | RHEL-based OS dependencies |
| `deps/debian_deps.sh` | 229 | Debian-based OS dependencies |
| `install/cyberpanel_installer.sh` | 276 | Installation logic |
| `fixes/cyberpanel_fixes.sh` | 372 | Fixes and repairs |
| `utils/ui.sh` | 450 | Beautiful UI components |
| `utils/menu.sh` | 400 | Interactive menu system |
## 🎉 **Benefits:**
1. **✅ All files under 500 lines** - Easy to manage
2. **✅ Beautiful interactive UI** - Best install experience ever
3. **✅ Modular design** - Easy to update and maintain
4. **✅ Smart error handling** - Robust and reliable
5. **✅ Multiple installation modes** - Flexible usage
6. **✅ Comprehensive logging** - Easy debugging
7. **✅ OS-specific handling** - Works on all supported systems
8. **✅ Automatic fixes** - Self-healing installation
## 🚀 **Ready to Use!**
The installer is now ready and will provide the **best CyberPanel installation experience ever**!
When users run:
```bash
bash <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/cyberpanel.sh) --debug
```
They'll get:
- 🎨 Beautiful interactive interface
- 🔍 Smart OS detection
- 📦 Proper dependency handling
- 🚀 Smooth installation process
- 🔧 Automatic fixes
- 📊 Comprehensive status reporting
**This is now the ultimate CyberPanel installer! 🎉**

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,450 +0,0 @@
#!/bin/bash
# CyberPanel Standalone Modular Installer
# Self-contained installer with all modules included
# This version works when downloaded via curl
set -e
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
PURPLE='\033[0;35m'
CYAN='\033[0;36m'
WHITE='\033[1;37m'
BOLD='\033[1m'
DIM='\033[2m'
NC='\033[0m' # No Color
# Global variables
SERVER_OS=""
OS_FAMILY=""
PACKAGE_MANAGER=""
ARCHITECTURE=""
BRANCH_NAME=""
DEBUG_MODE=false
AUTO_INSTALL=false
INTERACTIVE_MODE=true
# Logging function
log_message() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] [CYBERPANEL] $1" | tee -a "/var/log/cyberpanel_install.log" 2>/dev/null || echo "[$(date '+%Y-%m-%d %H:%M:%S')] [CYBERPANEL] $1"
}
# Print colored output
print_status() {
local color=$1
local message=$2
echo -e "${color}${message}${NC}"
log_message "$message"
}
# Function to show banner
show_banner() {
clear
echo -e "${BLUE}╔═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗${NC}"
echo -e "${BLUE}${NC} ${BLUE}${NC}"
echo -e "${BLUE}${NC} ${WHITE}${BOLD}🚀 CYBERPANEL MODULAR INSTALLER 🚀${NC} ${BLUE}${NC}"
echo -e "${BLUE}${NC} ${BLUE}${NC}"
echo -e "${BLUE}${NC} ${CYAN}The Ultimate Web Hosting Control Panel${NC} ${BLUE}${NC}"
echo -e "${BLUE}${NC} ${YELLOW}Powered by OpenLiteSpeed • Fast • Secure • Scalable${NC} ${BLUE}${NC}"
echo -e "${BLUE}${NC} ${BLUE}${NC}"
echo -e "${BLUE}${NC} ${GREEN}✨ Beautiful UI • Modular Architecture • Smart Installation ✨${NC} ${BLUE}${NC}"
echo -e "${BLUE}${NC} ${BLUE}${NC}"
echo -e "${BLUE}╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝${NC}"
echo ""
}
# Function to detect OS
detect_os() {
print_status "$BLUE" "🔍 Detecting operating system..."
# Detect architecture
ARCHITECTURE=$(uname -m)
case $ARCHITECTURE in
x86_64)
print_status "$GREEN" "Architecture: x86_64 (Supported)"
;;
aarch64|arm64)
print_status "$YELLOW" "Architecture: $ARCHITECTURE (Limited support)"
;;
*)
print_status "$RED" "Architecture: $ARCHITECTURE (Not supported)"
return 1
;;
esac
# Get OS release information
local OUTPUT=$(cat /etc/*release 2>/dev/null)
if [ -z "$OUTPUT" ]; then
print_status "$RED" "❌ Cannot read OS release information"
return 1
fi
# Detect OS
if echo $OUTPUT | grep -q "AlmaLinux 9" ; then
SERVER_OS="AlmaLinux9"
OS_FAMILY="rhel"
PACKAGE_MANAGER="dnf"
print_status "$GREEN" "Detected: AlmaLinux 9"
elif echo $OUTPUT | grep -q "AlmaLinux 8" ; then
SERVER_OS="AlmaLinux8"
OS_FAMILY="rhel"
PACKAGE_MANAGER="yum"
print_status "$GREEN" "Detected: AlmaLinux 8"
elif echo $OUTPUT | grep -q "CentOS Linux 9" ; then
SERVER_OS="CentOS9"
OS_FAMILY="rhel"
PACKAGE_MANAGER="dnf"
print_status "$GREEN" "Detected: CentOS Linux 9"
elif echo $OUTPUT | grep -q "CentOS Linux 8" ; then
SERVER_OS="CentOS8"
OS_FAMILY="rhel"
PACKAGE_MANAGER="yum"
print_status "$GREEN" "Detected: CentOS Linux 8"
elif echo $OUTPUT | grep -q "Rocky Linux 9" ; then
SERVER_OS="RockyLinux9"
OS_FAMILY="rhel"
PACKAGE_MANAGER="dnf"
print_status "$GREEN" "Detected: Rocky Linux 9"
elif echo $OUTPUT | grep -q "Rocky Linux 8" ; then
SERVER_OS="RockyLinux8"
OS_FAMILY="rhel"
PACKAGE_MANAGER="yum"
print_status "$GREEN" "Detected: Rocky Linux 8"
elif echo $OUTPUT | grep -q "Ubuntu 22.04" ; then
SERVER_OS="Ubuntu2204"
OS_FAMILY="debian"
PACKAGE_MANAGER="apt"
print_status "$GREEN" "Detected: Ubuntu 22.04"
elif echo $OUTPUT | grep -q "Ubuntu 20.04" ; then
SERVER_OS="Ubuntu2004"
OS_FAMILY="debian"
PACKAGE_MANAGER="apt"
print_status "$GREEN" "Detected: Ubuntu 20.04"
elif echo $OUTPUT | grep -q "Debian GNU/Linux 12" ; then
SERVER_OS="Debian12"
OS_FAMILY="debian"
PACKAGE_MANAGER="apt"
print_status "$GREEN" "Detected: Debian GNU/Linux 12"
elif echo $OUTPUT | grep -q "Debian GNU/Linux 11" ; then
SERVER_OS="Debian11"
OS_FAMILY="debian"
PACKAGE_MANAGER="apt"
print_status "$GREEN" "Detected: Debian GNU/Linux 11"
else
print_status "$RED" "❌ Unsupported OS detected"
print_status "$YELLOW" "Supported OS: AlmaLinux 8/9, CentOS 8/9, Rocky Linux 8/9, Ubuntu 20.04/22.04, Debian 11/12"
return 1
fi
return 0
}
# Function to install dependencies
install_dependencies() {
print_status "$BLUE" "📦 Installing dependencies..."
case $OS_FAMILY in
"rhel")
# Install EPEL
$PACKAGE_MANAGER install -y epel-release 2>/dev/null || true
# Install development tools
$PACKAGE_MANAGER groupinstall -y 'Development Tools' 2>/dev/null || {
$PACKAGE_MANAGER install -y gcc gcc-c++ make kernel-devel 2>/dev/null || true
}
# Install core packages
if [ "$SERVER_OS" = "AlmaLinux9" ] || [ "$SERVER_OS" = "CentOS9" ] || [ "$SERVER_OS" = "RockyLinux9" ]; then
# AlmaLinux 9 / CentOS 9 / Rocky Linux 9
$PACKAGE_MANAGER install -y ImageMagick gd libicu oniguruma python3 python3-pip python3-devel 2>/dev/null || true
$PACKAGE_MANAGER install -y aspell 2>/dev/null || print_status "$YELLOW" "aspell not available, skipping..."
$PACKAGE_MANAGER install -y libc-client-devel 2>/dev/null || print_status "$YELLOW" "libc-client-devel not available, skipping..."
else
# AlmaLinux 8 / CentOS 8 / Rocky Linux 8
$PACKAGE_MANAGER install -y ImageMagick gd libicu oniguruma aspell libc-client-devel python3 python3-pip python3-devel 2>/dev/null || true
fi
;;
"debian")
# Update package lists
apt update -qq 2>/dev/null || true
# Install essential packages
apt install -y -qq curl wget git unzip tar gzip bzip2 2>/dev/null || true
# Install development tools
apt install -y -qq build-essential gcc g++ make python3-dev python3-pip 2>/dev/null || true
# Install core packages
apt install -y -qq imagemagick php-gd libicu-dev libonig-dev 2>/dev/null || true
apt install -y -qq aspell 2>/dev/null || print_status "$YELLOW" "aspell not available, skipping..."
apt install -y -qq libc-client-dev 2>/dev/null || print_status "$YELLOW" "libc-client-dev not available, skipping..."
;;
esac
print_status "$GREEN" "✅ Dependencies installed successfully"
}
# Function to install CyberPanel
install_cyberpanel() {
print_status "$BLUE" "🚀 Installing CyberPanel..."
# Download and run the original installer
if [ -n "$BRANCH_NAME" ]; then
curl --silent -o cyberpanel.sh "https://raw.githubusercontent.com/usmannasir/cyberpanel/$BRANCH_NAME/cyberpanel.sh" 2>/dev/null
else
curl --silent -o cyberpanel.sh "https://cyberpanel.sh/?dl&$SERVER_OS" 2>/dev/null
fi
chmod +x cyberpanel.sh
# Run the installer
if ./cyberpanel.sh $([ "$DEBUG_MODE" = true ] && echo "--debug") > /tmp/cyberpanel_install_output.log 2>&1; then
print_status "$GREEN" "✅ CyberPanel installed successfully"
return 0
else
print_status "$RED" "❌ CyberPanel installation failed. Check /tmp/cyberpanel_install_output.log for details"
return 1
fi
}
# Function to apply fixes
apply_fixes() {
print_status "$BLUE" "🔧 Applying installation fixes..."
# Fix database issues
systemctl start mariadb 2>/dev/null || true
systemctl enable mariadb 2>/dev/null || true
mysqladmin -u root password '1234567' 2>/dev/null || true
# Create cyberpanel database user
mysql -u root -p1234567 -e "
CREATE DATABASE IF NOT EXISTS cyberpanel;
CREATE USER IF NOT EXISTS 'cyberpanel'@'localhost' IDENTIFIED BY 'cyberpanel';
GRANT ALL PRIVILEGES ON cyberpanel.* TO 'cyberpanel'@'localhost';
FLUSH PRIVILEGES;
" 2>/dev/null || true
# Fix LiteSpeed service
cat > /etc/systemd/system/lsws.service << 'EOF'
[Unit]
Description=LiteSpeed Web Server
After=network.target
[Service]
Type=forking
User=root
Group=root
ExecStart=/usr/local/lsws/bin/lswsctrl start
ExecStop=/usr/local/lsws/bin/lswsctrl stop
ExecReload=/usr/local/lsws/bin/lswsctrl restart
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable lsws
systemctl start lsws
# Fix CyberPanel service
cat > /etc/systemd/system/cyberpanel.service << 'EOF'
[Unit]
Description=CyberPanel Web Interface
After=network.target mariadb.service
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/usr/local/CyberCP
ExecStart=/usr/local/CyberPanel-venv/bin/python manage.py runserver 0.0.0.0:8000
Restart=always
RestartSec=5
Environment=DJANGO_SETTINGS_MODULE=CyberCP.settings
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable cyberpanel
print_status "$GREEN" "✅ All fixes applied successfully"
}
# Function to show status summary
show_status_summary() {
echo ""
echo "╔═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗"
echo "║ ║"
echo "║ 📊 CYBERPANEL INSTALLATION STATUS 📊 ║"
echo "║ ║"
echo "╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝"
echo ""
echo "🔧 CORE SERVICES STATUS:"
echo "═══════════════════════════════════════════════════════════════════════════════════════════════════════════════"
# Check services
if systemctl is-active --quiet mariadb; then
echo "✅ MariaDB Database: RUNNING"
else
echo "❌ MariaDB Database: NOT RUNNING"
fi
if systemctl is-active --quiet lsws; then
echo "✅ LiteSpeed Web Server: RUNNING"
else
echo "❌ LiteSpeed Web Server: NOT RUNNING"
fi
if systemctl is-active --quiet cyberpanel; then
echo "✅ CyberPanel Application: RUNNING"
else
echo "❌ CyberPanel Application: NOT RUNNING"
fi
echo ""
echo "🌐 NETWORK PORTS STATUS:"
echo "═══════════════════════════════════════════════════════════════════════════════════════════════════════════════"
# Check ports
if netstat -tlnp | grep -q ":8090 "; then
echo "✅ Port 8090 (CyberPanel): LISTENING"
else
echo "❌ Port 8090 (CyberPanel): NOT LISTENING"
fi
if netstat -tlnp | grep -q ":80 "; then
echo "✅ Port 80 (HTTP): LISTENING"
else
echo "❌ Port 80 (HTTP): NOT LISTENING"
fi
echo ""
echo "📊 SUMMARY:"
echo "═══════════════════════════════════════════════════════════════════════════════════════════════════════════════"
print_status "$GREEN" "🎉 INSTALLATION COMPLETED SUCCESSFULLY!"
echo ""
echo "🌐 Access CyberPanel at: http://your-server-ip:8090"
echo "👤 Default username: admin"
echo "🔑 Default password: 1234567"
echo ""
echo "⚠️ IMPORTANT: Change the default password immediately!"
echo ""
}
# Function to parse command line arguments
parse_arguments() {
while [[ $# -gt 0 ]]; do
case $1 in
-b|--branch)
BRANCH_NAME="$2"
shift 2
;;
--debug)
DEBUG_MODE=true
set -x
shift
;;
--auto)
AUTO_INSTALL=true
INTERACTIVE_MODE=false
shift
;;
-h|--help)
echo "Usage: $0 [OPTIONS]"
echo "Options:"
echo " -b, --branch BRANCH Install from specific branch/commit"
echo " --debug Enable debug mode"
echo " --auto Auto mode without prompts"
echo " -h, --help Show this help message"
echo ""
echo "Examples:"
echo " $0 # Interactive installation"
echo " $0 --debug # Debug mode installation"
echo " $0 --auto # Auto installation"
echo " $0 -b v2.5.5-dev # Install development version"
exit 0
;;
*)
print_status "$YELLOW" "Unknown option: $1"
shift
;;
esac
done
}
# Function to run interactive mode
run_interactive_mode() {
show_banner
echo -e "${WHITE}Welcome to the CyberPanel Modular Installer!${NC}"
echo ""
echo -e "${CYAN}This installer will:${NC}"
echo "• Detect your operating system"
echo "• Install required dependencies"
echo "• Install CyberPanel"
echo "• Apply necessary fixes"
echo "• Configure services"
echo ""
if [ -n "$BRANCH_NAME" ]; then
echo -e "${YELLOW}Installing version: $BRANCH_NAME${NC}"
else
echo -e "${YELLOW}Installing latest stable version${NC}"
fi
echo ""
read -p "Press Enter to continue or Ctrl+C to cancel..."
}
# Main installation function
main() {
# Initialize log file
mkdir -p /var/log
touch "/var/log/cyberpanel_install.log"
print_status "$BLUE" "🚀 CyberPanel Modular Installer Starting..."
print_status "$BLUE" "Log file: /var/log/cyberpanel_install.log"
# Parse command line arguments
parse_arguments "$@"
# Run interactive mode if not auto
if [ "$AUTO_INSTALL" = false ]; then
run_interactive_mode
fi
# Detect OS
if ! detect_os; then
print_status "$RED" "❌ Failed to detect operating system"
exit 1
fi
# Install dependencies
install_dependencies
# Install CyberPanel
if ! install_cyberpanel; then
print_status "$RED" "❌ CyberPanel installation failed"
exit 1
fi
# Apply fixes
apply_fixes
# Show status summary
show_status_summary
print_status "$GREEN" "🎉 CyberPanel installation process completed!"
}
# Run main function
main "$@"

View File

@@ -1,245 +0,0 @@
#!/bin/bash
# CyberPanel Installation Issues Fix Script
# This script fixes the critical issues found during installation
echo "╔═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗"
echo "║ ║"
echo "║ 🔧 FIXING CYBERPANEL INSTALLATION ISSUES 🔧 ║"
echo "║ ║"
echo "╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝"
echo ""
# Function to log actions
log_action() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
}
# 1. Fix Database Connection Issues
echo "🗄️ FIXING DATABASE CONNECTION ISSUES..."
echo "═══════════════════════════════════════════════════════════════════════════════════════════════════════════════"
log_action "Starting MariaDB service..."
systemctl start mariadb
systemctl enable mariadb
log_action "Setting MariaDB root password..."
mysqladmin -u root password '1234567' 2>/dev/null || true
log_action "Creating cyberpanel database user..."
mysql -u root -p1234567 -e "
CREATE DATABASE IF NOT EXISTS cyberpanel;
CREATE USER IF NOT EXISTS 'cyberpanel'@'localhost' IDENTIFIED BY 'cyberpanel';
GRANT ALL PRIVILEGES ON cyberpanel.* TO 'cyberpanel'@'localhost';
FLUSH PRIVILEGES;
" 2>/dev/null || true
log_action "Testing database connections..."
if mysql -u root -p1234567 -e "SELECT 1;" >/dev/null 2>&1; then
echo "✅ MariaDB root connection: SUCCESS"
else
echo "❌ MariaDB root connection: FAILED"
fi
if mysql -u cyberpanel -pcyberpanel -e "SELECT 1;" >/dev/null 2>&1; then
echo "✅ CyberPanel database connection: SUCCESS"
else
echo "❌ CyberPanel database connection: FAILED"
fi
echo ""
# 2. Fix LiteSpeed Service Configuration
echo "🚀 FIXING LITESPEED SERVICE CONFIGURATION..."
echo "═══════════════════════════════════════════════════════════════════════════════════════════════════════════════"
log_action "Creating LiteSpeed service file..."
cat > /etc/systemd/system/lsws.service << 'EOF'
[Unit]
Description=LiteSpeed Web Server
After=network.target
[Service]
Type=forking
User=root
Group=root
ExecStart=/usr/local/lsws/bin/lswsctrl start
ExecStop=/usr/local/lsws/bin/lswsctrl stop
ExecReload=/usr/local/lsws/bin/lswsctrl restart
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
log_action "Reloading systemd daemon..."
systemctl daemon-reload
log_action "Enabling LiteSpeed service..."
systemctl enable lsws
log_action "Starting LiteSpeed service..."
systemctl start lsws
if systemctl is-active --quiet lsws; then
echo "✅ LiteSpeed service: STARTED"
else
echo "❌ LiteSpeed service: FAILED TO START"
fi
echo ""
# 3. Fix SSL Certificates
echo "🔐 FIXING SSL CERTIFICATES..."
echo "═══════════════════════════════════════════════════════════════════════════════════════════════════════════════"
log_action "Creating SSL certificate configuration..."
mkdir -p /root/cyberpanel
cat > /root/cyberpanel/cert_conf << 'EOF'
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
C = US
ST = State
L = City
O = Organization
OU = Organizational Unit
CN = localhost
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
IP.1 = 127.0.0.1
EOF
log_action "Generating LiteSpeed admin SSL certificate..."
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /usr/local/lsws/admin/conf/cert/admin.key \
-out /usr/local/lsws/admin/conf/cert/admin.crt \
-config /root/cyberpanel/cert_conf 2>/dev/null || true
log_action "Setting proper permissions for SSL certificates..."
chmod 600 /usr/local/lsws/admin/conf/cert/admin.key 2>/dev/null || true
chmod 644 /usr/local/lsws/admin/conf/cert/admin.crt 2>/dev/null || true
if [ -f "/usr/local/lsws/admin/conf/cert/admin.crt" ]; then
echo "✅ LiteSpeed admin SSL certificate: CREATED"
else
echo "❌ LiteSpeed admin SSL certificate: FAILED"
fi
echo ""
# 4. Fix Admin Console Files
echo "🖥️ FIXING ADMIN CONSOLE FILES..."
echo "═══════════════════════════════════════════════════════════════════════════════════════════════════════════════"
log_action "Creating admin console directories..."
mkdir -p /usr/local/lsws/admin/fcgi-bin
mkdir -p /usr/local/lsws/admin/conf
log_action "Creating admin PHP file..."
cat > /usr/local/lsws/admin/fcgi-bin/admin_php << 'EOF'
#!/bin/bash
export PHP_LSAPI_CHILDREN=35
export PHP_LSAPI_MAX_REQUESTS=1000
exec /usr/local/lsws/lsphp82/bin/lsphp -b /usr/local/lsws/admin/fcgi-bin/admin_php
EOF
chmod +x /usr/local/lsws/admin/fcgi-bin/admin_php 2>/dev/null || true
log_action "Creating admin password file..."
htpasswd -cb /usr/local/lsws/admin/conf/htpasswd admin 1234567 2>/dev/null || true
log_action "Setting proper ownership..."
chown -R lsadm:lsadm /usr/local/lsws/admin/ 2>/dev/null || true
if [ -f "/usr/local/lsws/admin/fcgi-bin/admin_php" ]; then
echo "✅ Admin console files: CREATED"
else
echo "❌ Admin console files: FAILED"
fi
echo ""
# 5. Fix CyberPanel Application
echo "🎛️ FIXING CYBERPANEL APPLICATION..."
echo "═══════════════════════════════════════════════════════════════════════════════════════════════════════════════"
log_action "Setting proper permissions for CyberPanel..."
chown -R root:root /usr/local/CyberCP/ 2>/dev/null || true
chmod -R 755 /usr/local/CyberCP/ 2>/dev/null || true
log_action "Creating CyberPanel service file..."
cat > /etc/systemd/system/cyberpanel.service << 'EOF'
[Unit]
Description=CyberPanel Web Interface
After=network.target mariadb.service
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/usr/local/CyberCP
ExecStart=/usr/local/CyberPanel-venv/bin/python manage.py runserver 0.0.0.0:8000
Restart=always
RestartSec=5
Environment=DJANGO_SETTINGS_MODULE=CyberCP.settings
[Install]
WantedBy=multi-user.target
EOF
log_action "Reloading systemd daemon..."
systemctl daemon-reload
log_action "Enabling CyberPanel service..."
systemctl enable cyberpanel
echo ""
# 6. Final Service Status Check
echo "📊 FINAL SERVICE STATUS CHECK..."
echo "═══════════════════════════════════════════════════════════════════════════════════════════════════════════════"
services=("mariadb" "lsws" "lsmcd" "cyberpanel" "watchdog")
for service in "${services[@]}"; do
if systemctl is-active --quiet $service; then
echo "$service: RUNNING"
else
echo "⚠️ $service: NOT RUNNING"
fi
done
echo ""
# 7. Port Status Check
echo "🌐 PORT STATUS CHECK..."
echo "═══════════════════════════════════════════════════════════════════════════════════════════════════════════════"
ports=("3306:MariaDB" "80:HTTP" "443:HTTPS" "8090:CyberPanel" "7080:LiteSpeed Admin")
for port_info in "${ports[@]}"; do
port=$(echo $port_info | cut -d: -f1)
service=$(echo $port_info | cut -d: -f2)
if netstat -tlnp | grep -q ":$port "; then
echo "✅ Port $port ($service): LISTENING"
else
echo "❌ Port $port ($service): NOT LISTENING"
fi
done
echo ""
echo "╔═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗"
echo "║ ║"
echo "║ 🎉 INSTALLATION ISSUES FIXED! 🎉 ║"
echo "║ ║"
echo "║ All critical issues have been addressed. The server is now ready for restart. ║"
echo "║ ║"
echo "║ After restart, run: ./service_status_check.sh ║"
echo "║ ║"
echo "╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝"

View File

@@ -1,114 +0,0 @@
#!/bin/sh
# Simplified CyberPanel Installation Script
# Based on 2.4.4 approach with AlmaLinux 9 fixes
OUTPUT=$(cat /etc/*release)
# Detect OS and set appropriate variables
if echo $OUTPUT | grep -q "AlmaLinux 9" ; then
echo -e "\nDetecting AlmaLinux 9...\n"
SERVER_OS="AlmaLinux9"
PKG_MGR="dnf"
elif echo $OUTPUT | grep -q "AlmaLinux 8" ; then
echo -e "\nDetecting AlmaLinux 8...\n"
SERVER_OS="AlmaLinux8"
PKG_MGR="yum"
elif echo $OUTPUT | grep -q "Ubuntu 22.04" ; then
echo -e "\nDetecting Ubuntu 22.04...\n"
SERVER_OS="Ubuntu2204"
PKG_MGR="apt"
elif echo $OUTPUT | grep -q "Ubuntu 20.04" ; then
echo -e "\nDetecting Ubuntu 20.04...\n"
SERVER_OS="Ubuntu2004"
PKG_MGR="apt"
elif echo $OUTPUT | grep -q "CentOS Linux 8" ; then
echo -e "\nDetecting CentOS 8...\n"
SERVER_OS="CentOS8"
PKG_MGR="yum"
else
echo -e "\nUnsupported OS detected. This script supports:\n"
echo -e "AlmaLinux: 8, 9\n"
echo -e "Ubuntu: 20.04, 22.04\n"
echo -e "CentOS: 8\n"
exit 1
fi
echo "Installing basic dependencies..."
# Install basic packages
if [ "$PKG_MGR" = "dnf" ]; then
dnf update -y
dnf install -y epel-release
dnf install -y wget curl unzip zip rsync firewalld git python3 python3-pip
dnf install -y mariadb-server mariadb-client
dnf install -y ImageMagick gd libicu oniguruma aspell libc-client
elif [ "$PKG_MGR" = "yum" ]; then
yum update -y
yum install -y epel-release
yum install -y wget curl unzip zip rsync firewalld git python3 python3-pip
yum install -y mariadb-server mariadb-client
yum install -y ImageMagick gd libicu oniguruma aspell libc-client
elif [ "$PKG_MGR" = "apt" ]; then
apt update -y
apt install -y wget curl unzip zip rsync git python3 python3-pip
apt install -y mariadb-server mariadb-client
apt install -y imagemagick php-gd php-intl php-mbstring php-pspell
fi
# Start and enable MariaDB
echo "Starting MariaDB..."
systemctl enable mariadb
systemctl start mariadb
# Create MySQL password file
echo "Setting up MySQL..."
mkdir -p /etc/cyberpanel
echo "cyberpanel123" > /etc/cyberpanel/mysqlPassword
chmod 600 /etc/cyberpanel/mysqlPassword
# Secure MySQL installation
mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'cyberpanel123';" 2>/dev/null || true
mysql -u root -pcyberpanel123 -e "DELETE FROM mysql.user WHERE User='';" 2>/dev/null || true
mysql -u root -pcyberpanel123 -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');" 2>/dev/null || true
mysql -u root -pcyberpanel123 -e "DROP DATABASE IF EXISTS test;" 2>/dev/null || true
mysql -u root -pcyberpanel123 -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';" 2>/dev/null || true
mysql -u root -pcyberpanel123 -e "FLUSH PRIVILEGES;" 2>/dev/null || true
# Configure firewall
echo "Configuring firewall..."
if [ "$PKG_MGR" = "dnf" ] || [ "$PKG_MGR" = "yum" ]; then
systemctl enable firewalld
systemctl start firewalld
firewall-cmd --permanent --add-port=8090/tcp
firewall-cmd --permanent --add-port=7080/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-port=25/tcp
firewall-cmd --permanent --add-port=587/tcp
firewall-cmd --permanent --add-port=465/tcp
firewall-cmd --permanent --add-port=110/tcp
firewall-cmd --permanent --add-port=143/tcp
firewall-cmd --permanent --add-port=993/tcp
firewall-cmd --permanent --add-port=995/tcp
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload
fi
# Download and install CyberPanel
echo "Downloading CyberPanel..."
rm -f cyberpanel.sh
curl --silent -o cyberpanel.sh "https://cyberpanel.sh/?dl&$SERVER_OS" 2>/dev/null
if [ -f "cyberpanel.sh" ]; then
echo "Installing CyberPanel..."
chmod +x cyberpanel.sh
./cyberpanel.sh
else
echo "Failed to download CyberPanel installer!"
exit 1
fi
echo "Installation completed!"