GoAccess (Debian 12 Auto Installer) Failing

Discussion in 'General' started by BryarGH, Oct 7, 2025.

  1. BryarGH

    BryarGH New Member

    Hey,
    How are you doing?

    I have installed ISPConfig without issue two weeks ago but today I tried on a new server but failing as deb.goaccess.io not reachable. What to do?

    Code:
    Err:10 https://deb.goaccess.io bookworm InRelease
      Cannot initiate the connection to deb.goaccess.io:443 (2001:470:1f10:121::2). - connect (101: Network is unreachable) Could not connect to deb.goaccess.io:443 (38.209.88.229), connection timed out
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    I really need help with this, is there away to bypass GoAccess at least for now? As it is not reachable.


    Code:
    root@server1:~# wget -O - https://get.ispconfig.org | sh -s -- --use-ftp-ports=40110-40210 --unattended-upgrades --no-quota
    --2025-10-07 06:44:53--  https://get.ispconfig.org/
    Resolving get.ispconfig.org (get.ispconfig.org)... 104.26.11.246, 104.26.10.246, 172.67.75.112, ...
    Connecting to get.ispconfig.org (get.ispconfig.org)|104.26.11.246|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 2037 (2.0K) [application/octet-stream]
    Saving to: 'STDOUT'
    
    -                   100%[===================>]   1.99K  --.-KB/s    in 0s     
    
    2025-10-07 06:44:54 (40.2 MB/s) - written to stdout [2037/2037]
    
    WARNING! This script will reconfigure your entire server!
    It should be run on a freshly installed server and all current configuration that you have done will most likely be lost!
    Type 'yes' if you really want to continue: yes
    [INFO] Starting perfect server setup for Debian GNU/Linux 12 (bookworm)
    [INFO] Checking hostname.
    [INFO] Enabling contrib and non-free repositories.
    [INFO] Updating packages
    [INFO] Updated packages
    [INFO] Installing packages ssh, openssh-server, nano, vim-nox, lsb-release, apt-transport-https, ca-certificates, wget, git, gnupg, software-properties-common, curl, cron, ntp
    [INFO] Installed packages ssh, openssh-server, nano, vim-nox, lsb-release, apt-transport-https, ca-certificates, wget, git, gnupg, software-properties-common, curl, cron, ntp
    [INFO] Activating rspamd repository.
    [INFO] Activating sury php repository.
    [INFO] Activating GoAccess repository.
    [ERROR] Exception occurred: ISPConfigOSException -> Command echo "deb https://deb.goaccess.io/ $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/goaccess.list >/dev/null 2>&1 ; wget -O - https://deb.goaccess.io/gnugpg.key 2>&1 | apt-key --keyring /etc/apt/trusted.gpg.d/goaccess.gpg add - 2>&1 failed. (/ispconfig.ai.php:15)
    root@server1:~#
    
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    There is no option to skip this step.
     
  3. BryarGH

    BryarGH New Member

    So what to do? In this case it I can not install it right?
     
  4. till

    till Super Moderator Staff Member ISPConfig Developer

    PatFoo likes this.
  5. BryarGH

    BryarGH New Member

    Okay , Guess we will just wait :)

    Thanks
     
  6. till

    till Super Moderator Staff Member ISPConfig Developer

    If their server is not online again tomorrow, then I'll add a flag in the auto installer to skip it or skip the Goaccess installation automatically when the server can not be reached.
     
    theTJ likes this.
  7. BryarGH

    BryarGH New Member

    That will be great actually, they are back online but it would be great to have such option incase like this...
     
  8. zyzzza

    zyzzza Member

    Any news on that ? my setaup just failed , and my client is awaiting . Thanks !
     
  9. sholzy

    sholzy New Member

    Mine just failed too.
     
  10. zyzzza

    zyzzza Member

    Sonnet 4.5 just made me a script to disable ipv6 AND goaccess ! . installed perfectly. Use it as you wish, if it helps :
    Code:
    #!/bin/bash
    #
    # ISPConfig Auto-Installer for Ubuntu 24.04
    # Fixes GoAccess repository issue and disables IPv6
    #
    # Usage: sudo bash ispconfig-install.sh
    #
    
    set -e  # Exit on error
    
    # Colors
    RED='\033[0;31m'
    GREEN='\033[0;32m'
    YELLOW='\033[1;33m'
    NC='\033[0m' # No Color
    
    # Check if running as root
    if [ "$EUID" -ne 0 ]; then 
        echo -e "${RED}Please run as root (sudo)${NC}"
        exit 1
    fi
    
    echo -e "${GREEN}======================================${NC}"
    echo -e "${GREEN}ISPConfig Installation Script${NC}"
    echo -e "${GREEN}Ubuntu 24.04 with GoAccess fix${NC}"
    echo -e "${GREEN}======================================${NC}"
    echo ""
    
    # ISPConfig installation parameters
    INSTALL_PARAMS="--no-dns --no-mail --no-roundcube --use-ftp-ports=40110-40210 --no-pma --no-mailman --no-quota --unattended-upgrades"
    
    # Allow custom parameters
    if [ $# -gt 0 ]; then
        echo -e "${YELLOW}Using custom parameters: $@${NC}"
        INSTALL_PARAMS="$@"
    fi
    
    echo -e "${YELLOW}Installation parameters:${NC} $INSTALL_PARAMS"
    echo ""
    
    # Step 1: Disable IPv6
    echo -e "${GREEN}[1/5] Disabling IPv6...${NC}"
    
    if ! grep -q "net.ipv6.conf.all.disable_ipv6 = 1" /etc/sysctl.conf; then
        cat >> /etc/sysctl.conf << EOF
    
    # Disable IPv6
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 1
    EOF
        sysctl -p > /dev/null 2>&1
        echo -e "${GREEN}   ✓ IPv6 disabled in sysctl${NC}"
    else
        echo -e "${YELLOW}   ⚠ IPv6 already disabled in sysctl${NC}"
    fi
    
    # Disable IPv6 in GRUB
    if ! grep -q "ipv6.disable=1" /etc/default/grub; then
        sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="ipv6.disable=1"/' /etc/default/grub
        sed -i 's/GRUB_CMDLINE_LINUX="[^"]*"/&\nGRUB_CMDLINE_LINUX="ipv6.disable=1"/' /etc/default/grub 2>/dev/null || true
        update-grub > /dev/null 2>&1
        echo -e "${GREEN}   ✓ IPv6 disabled in GRUB${NC}"
    else
        echo -e "${YELLOW}   ⚠ IPv6 already disabled in GRUB${NC}"
    fi
    
    # Force APT to use IPv4
    if [ ! -f /etc/apt/apt.conf.d/99force-ipv4 ]; then
        echo 'Acquire::ForceIPv4 "true";' > /etc/apt/apt.conf.d/99force-ipv4
        echo -e "${GREEN}   ✓ APT configured to use IPv4 only${NC}"
    else
        echo -e "${YELLOW}   ⚠ APT already configured for IPv4${NC}"
    fi
    
    echo ""
    
    # Step 2: Download ISPConfig installer
    echo -e "${GREEN}[2/5] Downloading ISPConfig installer...${NC}"
    
    # Clean old installation
    rm -rf /tmp/ispconfig-ai /tmp/ispconfig-ai.tar.gz
    
    # Download
    if command -v wget > /dev/null; then
        wget -q -O /tmp/ispconfig-ai.tar.gz https://www.ispconfig.org/downloads/ispconfig-ai.tar.gz
    elif command -v curl > /dev/null; then
        curl -s -o /tmp/ispconfig-ai.tar.gz https://www.ispconfig.org/downloads/ispconfig-ai.tar.gz
    else
        echo -e "${RED}   ✗ Neither wget nor curl found. Installing wget...${NC}"
        apt-get update -qq && apt-get install -y -qq wget
        wget -q -O /tmp/ispconfig-ai.tar.gz https://www.ispconfig.org/downloads/ispconfig-ai.tar.gz
    fi
    
    if [ ! -f /tmp/ispconfig-ai.tar.gz ]; then
        echo -e "${RED}   ✗ Failed to download ISPConfig installer${NC}"
        exit 1
    fi
    
    echo -e "${GREEN}   ✓ Downloaded ISPConfig installer${NC}"
    echo ""
    
    # Step 3: Extract and patch
    echo -e "${GREEN}[3/5] Extracting and patching installer...${NC}"
    
    mkdir -p /tmp/ispconfig-ai
    tar -xzf /tmp/ispconfig-ai.tar.gz -C /tmp/ispconfig-ai/
    rm -f /tmp/ispconfig-ai.tar.gz
    
    if [ ! -f /tmp/ispconfig-ai/lib/os/class.ISPConfigDebianOS.inc.php ]; then
        echo -e "${RED}   ✗ ISPConfig files not found after extraction${NC}"
        exit 1
    fi
    
    echo -e "${GREEN}   ✓ Extracted installer${NC}"
    
    # Patch 1: Remove goaccess from package list
    GOACCESS_LINE=$(grep -n "'goaccess'" /tmp/ispconfig-ai/lib/os/class.ISPConfigDebianOS.inc.php | cut -d: -f1 | head -1)
    if [ -n "$GOACCESS_LINE" ]; then
        sed -i "${GOACCESS_LINE}d" /tmp/ispconfig-ai/lib/os/class.ISPConfigDebianOS.inc.php
        echo -e "${GREEN}   ✓ Removed GoAccess from package list (line $GOACCESS_LINE)${NC}"
    else
        echo -e "${YELLOW}   ⚠ GoAccess not found in package list (maybe already patched?)${NC}"
    fi
    
    # Patch 2: Disable addGoAccessRepo function
    FUNCTION_START=$(grep -n "protected function addGoAccessRepo" /tmp/ispconfig-ai/lib/os/class.ISPConfigDebianOS.inc.php | cut -d: -f1 | head -1)
    if [ -n "$FUNCTION_START" ]; then
        # Calculate the line range to replace (function body, typically 6 lines)
        FUNCTION_END=$((FUNCTION_START + 6))
       
        # Replace function body with a single info line
        sed -i "${FUNCTION_START},${FUNCTION_END}c\\
    \tprotected function addGoAccessRepo() {\\
    \t\tISPConfigLog::info('Skipping GoAccess repository setup.', true);\\
    \t}" /tmp/ispconfig-ai/lib/os/class.ISPConfigDebianOS.inc.php
       
        echo -e "${GREEN}   ✓ Disabled GoAccess repository setup (line $FUNCTION_START)${NC}"
    else
        echo -e "${YELLOW}   ⚠ addGoAccessRepo function not found (maybe already patched?)${NC}"
    fi
    
    # Verify PHP syntax
    if php -l /tmp/ispconfig-ai/lib/os/class.ISPConfigDebianOS.inc.php > /dev/null 2>&1; then
        echo -e "${GREEN}   ✓ PHP syntax verified${NC}"
    else
        echo -e "${RED}   ✗ PHP syntax error in patched file${NC}"
        php -l /tmp/ispconfig-ai/lib/os/class.ISPConfigDebianOS.inc.php
        exit 1
    fi
    
    echo ""
    
    # Step 4: Run installation
    echo -e "${GREEN}[4/5] Running ISPConfig installation...${NC}"
    echo -e "${YELLOW}   This will take 10-30 minutes depending on your server speed.${NC}"
    echo -e "${YELLOW}   Log file: /root/ispconfig-install-$(date +%Y%m%d-%H%M%S).log${NC}"
    echo ""
    
    cd /tmp/ispconfig-ai
    
    LOG_FILE="/root/ispconfig-install-$(date +%Y%m%d-%H%M%S).log"
    
    # Run installation with auto-yes
    if echo "yes" | php -q ispconfig.ai.php $INSTALL_PARAMS 2>&1 | tee "$LOG_FILE"; then
        echo ""
        echo -e "${GREEN}   ✓ ISPConfig installation completed!${NC}"
    else
        echo ""
        echo -e "${RED}   ✗ Installation failed. Check log: $LOG_FILE${NC}"
        exit 1
    fi
    
    echo ""
    
    # Step 5: Extract and save credentials
    echo -e "${GREEN}[5/5] Saving credentials...${NC}"
    
    ADMIN_PASS=$(grep "Your ISPConfig admin password is:" "$LOG_FILE" | awk '{print $6}')
    MYSQL_PASS=$(grep "Your MySQL root password is:" "$LOG_FILE" | awk '{print $6}')
    
    if [ -n "$ADMIN_PASS" ] && [ -n "$MYSQL_PASS" ]; then
        CRED_FILE="/root/.ispconfig_credentials"
        cat > "$CRED_FILE" << EOF
    ISPConfig Installation Credentials
    ===================================
    
    Installation Date: $(date)
    
    ISPConfig Admin Panel:
      URL: https://$(hostname -I | awk '{print $1}'):8080
      Username: admin
      Password: $ADMIN_PASS
    
    MySQL Root:
      Password: $MYSQL_PASS
    
    FTP Passive Ports: 40110-40210
    
    Server Hostname: $(hostname -f)
    Server IP: $(hostname -I | awk '{print $1}')
    
    Installation Log: $LOG_FILE
    EOF
        chmod 600 "$CRED_FILE"
       
        echo -e "${GREEN}   ✓ Credentials saved to: $CRED_FILE${NC}"
        echo ""
        echo -e "${GREEN}======================================${NC}"
        echo -e "${GREEN}Installation Complete!${NC}"
        echo -e "${GREEN}======================================${NC}"
        echo ""
        echo -e "${YELLOW}Access ISPConfig:${NC}"
        echo -e "  URL: ${GREEN}https://$(hostname -I | awk '{print $1}'):8080${NC}"
        echo -e "  Username: ${GREEN}admin${NC}"
        echo -e "  Password: ${GREEN}$ADMIN_PASS${NC}"
        echo ""
        echo -e "${YELLOW}MySQL Root Password:${NC} ${GREEN}$MYSQL_PASS${NC}"
        echo ""
        echo -e "${YELLOW}Full credentials saved in: ${GREEN}$CRED_FILE${NC}"
        echo ""
    else
        echo -e "${YELLOW}   ⚠ Could not extract credentials from log${NC}"
        echo -e "${YELLOW}   Check the installation log: $LOG_FILE${NC}"
    fi
    
    # Cleanup
    echo -e "${YELLOW}Cleaning up temporary files...${NC}"
    rm -rf /tmp/ispconfig-ai
    
    echo ""
    echo -e "${GREEN}Done!${NC}"
    echo -e "${YELLOW}Note: It's recommended to reboot the server to ensure all changes take effect.${NC}"
    echo ""
    
    
    
     
    till and ahrasis like this.

Share This Page