The WebAdmin does not work

Hi all,

Expected Behaviour:
I want to access the WebAdmin http://192.168.103.1 and https://192.168.103.1.

Actual Behaviour:

I have a blank page. It does not work.

Debug Token:

pi@raspberrypi:~ $ sudo curl -sSL https://install.pi-hole.net | bash
stty: 'entrée standard': Ioctl() inapproprié pour un périphérique

  [✗] Root user check
  [i] Script called with non-root privileges
      The Pi-hole requires elevated privileges to install and run
      Please check the installer for any concerns regarding this requirement
      Make sure to download this script from a trusted source

  [✓] Sudo utility check
stty: 'entrée standard': Ioctl() inapproprié pour un périphérique

  [✓] Root user check

        .;;,.
        .ccccc:,.
         :cccclll:.      ..,,
          :ccccclll.   ;ooodc
           'ccll:;ll .oooodc
             .;cll.;;looo:.
                 .. ','.
                .',,,,,,'.
              .',,,,,,,,,,.
            .',,,,,,,,,,,,....
          ....''',,,,,,,'.......
        .........  ....  .........
        ..........      ..........
        ..........      ..........
        .........  ....  .........
          ........,,,,,,,'......
            ....',,,,,,,,,,,,.
               .',,,,,,,,,'.
                .',,,,,,'.
                  ..'''.

  [✓] Disk space check
  [✓] Update local cache of available packages

  [✓] Checking apt-get for upgraded packages... up to date!

  [i] Installer Dependency checks...
  [✓] Checking for apt-utils
  [✓] Checking for dialog
  [✓] Checking for debconf
  [✓] Checking for dhcpcd5
  [✓] Checking for git
  [✓] Checking for iproute2
  [✓] Checking for whiptail

  [i] Using interface: eth0
  [i] Using Cloudflare servers
  [i] Your static IPv4 address: 192.168.103.1/29
  [i] Your static IPv4 gateway: 192.168.103.6
  [i] Static IP already configured
  [i] Unable to find IPv6 ULA/GUA address, IPv6 adblocking will not be enabled
  [i] IPv4 address: 192.168.103.1/29
  [i] IPv6 address:
  [i] Web Interface On
  [i] Web Server On
  [i] Logging On.
  [✓] Check for existing repository in /etc/.pihole
  [✓] Update repo in /etc/.pihole

  [✓] Check for existing repository in /var/www/html/admin
  [✓] Update repo in /var/www/html/admin

  [i] Main Dependency checks...
  [✓] Checking for cron
  [✓] Checking for curl
  [i] Checking for dnsutils (will be installed)
  [✓] Checking for iputils-ping
  [i] Checking for lsof (will be installed)
  [i] Checking for netcat (will be installed)
  [✓] Checking for psmisc
  [✓] Checking for sudo
  [✓] Checking for unzip
  [✓] Checking for wget
  [i] Checking for idn2 (will be installed)
  [i] Checking for sqlite3 (will be installed)
  [✓] Checking for libcap2-bin
  [i] Checking for dns-root-data (will be installed)
  [i] Checking for resolvconf (will be installed)
  [✓] Checking for libcap2
  [i] Checking for lighttpd (will be installed)
  [i] Checking for php5-common (will be installed)
  [i] Checking for php5-cgi (will be installed)
  [i] Checking for php5-sqlite (will be installed)
pi@raspberrypi:~ $

Thank you for your help.
Have a good day.

Quentin LE TROCQUER

The installation process did not complete, nothing was installed. What happens when you try sudo apt update?

Hi @DanSchaper,

First thank you for your help.

I realized that Lighttpd was not installed.
My Raspberry PI is up to date. I did "apt-get update" and "apt-get upgrade".

Here is :

 pi@raspberrypi:~ $ sudo apt-get update
Atteint:1 http://archive.raspberrypi.org/debian stretch InRelease
Atteint:2 http://archive.raspbian.org/raspbian jessie InRelease
Lecture des listes de paquets... Fait
pi@raspberrypi:~ $
pi@raspberrypi:~ $ cat /etc/resolv.conf
"# Generated by resolvconf
nameserver 1.1.1.1
pi@raspberrypi:~ $
pi@raspberrypi:~ $

you have an idea why it does not work?

Quentin LE TROCQUER

You have both stretch repositories and jessie repositories listed, this isn't a supported configuration as the packages are different for each different release.

@DanSchaper,

OK, I see but you know how delete "stretch" or "jessie" ?

Quentin LE TROCQUER

OK, I have delete "jessie" in : /etc/apt/sources.list

pi@raspberrypi:~ $ sudo apt-get update
Atteint:1 http://archive.raspberrypi.org/debian stretch InRelease
Lecture des listes de paquets... Fait
pi@raspberrypi:~ $

And I have reinstall pihole :

pi@raspberrypi:~ $ sudo curl -sSL https://install.pi-hole.net | bash
stty: 'entrée standard': Ioctl() inapproprié pour un périphérique

  [✗] Root user check
  [i] Script called with non-root privileges
      The Pi-hole requires elevated privileges to install and run
      Please check the installer for any concerns regarding this requirement
      Make sure to download this script from a trusted source

  [✓] Sudo utility check
stty: 'entrée standard': Ioctl() inapproprié pour un périphérique

  [✓] Root user check

        .;;,.
        .ccccc:,.
         :cccclll:.      ..,,
          :ccccclll.   ;ooodc
           'ccll:;ll .oooodc
             .;cll.;;looo:.
                 .. ','.
                .',,,,,,'.
              .',,,,,,,,,,.
            .',,,,,,,,,,,,....
          ....''',,,,,,,'.......
        .........  ....  .........
        ..........      ..........
        ..........      ..........
        .........  ....  .........
          ........,,,,,,,'......
            ....',,,,,,,,,,,,.
               .',,,,,,,,,'.
                .',,,,,,'.
                  ..'''.

  [✓] Disk space check
  [✓] Update local cache of available packages

  [✓] Checking apt-get for upgraded packages... up to date!

  [i] Installer Dependency checks...
  [✓] Checking for apt-utils
  [✓] Checking for dialog
  [✓] Checking for debconf
  [✓] Checking for dhcpcd5
  [✓] Checking for git
  [✓] Checking for iproute2
  [✓] Checking for whiptail

  [i] Using interface: eth0
  [i] Using Cloudflare servers
  [i] Your static IPv4 address: 192.168.103.1/29
  [i] Your static IPv4 gateway: 192.168.103.6
  [i] Static IP already configured
  [i] Unable to find IPv6 ULA/GUA address, IPv6 adblocking will not be enabled
  [i] IPv4 address: 192.168.103.1/29
  [i] IPv6 address:
  [i] Web Interface On
  [i] Web Server On
  [i] Logging On.
  [✓] Check for existing repository in /etc/.pihole
  [✓] Update repo in /etc/.pihole

  [✓] Check for existing repository in /var/www/html/admin
  [✓] Update repo in /var/www/html/admin

  [i] Main Dependency checks...
  [✓] Checking for cron
  [✓] Checking for curl
  [i] Checking for dnsutils (will be installed)
  [✓] Checking for iputils-ping
  [i] Checking for lsof (will be installed)
  [i] Checking for netcat (will be installed)
  [✓] Checking for psmisc
  [✓] Checking for sudo
  [✓] Checking for unzip
  [✓] Checking for wget
  [i] Checking for idn2 (will be installed)
  [i] Checking for sqlite3 (will be installed)
  [✓] Checking for libcap2-bin
  [i] Checking for dns-root-data (will be installed)
  [i] Checking for resolvconf (will be installed)
  [✓] Checking for libcap2
  [i] Checking for lighttpd (will be installed)
  [i] Checking for php5-common (will be installed)
  [i] Checking for php5-cgi (will be installed)
  [i] Checking for php5-sqlite (will be installed)

I don't always have web access.

Run the following and see where the script fails:

curl -sSL https://install.pi-hole.net | sudo bash -x

pi@raspberrypi:~ $ curl -sSL https://install.pi-hole.net | sudo bash -x
+ set -e
+ installLogLoc=/etc/pihole/install.log
+ setupVars=/etc/pihole/setupVars.conf
+ lighttpdConfig=/etc/lighttpd/lighttpd.conf
+ coltable=/opt/pihole/COL_TABLE
+ webInterfaceGitUrl=https://github.com/pi-hole/AdminLTE.git
+ webInterfaceDir=/var/www/html/admin
+ piholeGitUrl=https://github.com/pi-hole/pi-hole.git
+ PI_HOLE_LOCAL_REPO=/etc/.pihole
+ PI_HOLE_FILES=(chronometer list piholeDebug piholeLogFlush setupLCD update version gravity uninstall webpage)
+ PI_HOLE_INSTALL_DIR=/opt/pihole
+ PI_HOLE_CONFIG_DIR=/etc/pihole
+ useUpdateVars=false
+ adlistFile=/etc/pihole/adlists.list
+ regexFile=/etc/pihole/regex.list
+ IPV4_ADDRESS=
+ IPV6_ADDRESS=
+ QUERY_LOGGING=true
+ INSTALL_WEB_INTERFACE=true
+ PRIVACY_LEVEL=0
+ '[' -z root ']'
++ stty size
stty: 'entrée standard': Ioctl() inapproprié pour un périphérique
++ printf '%d %d' 24 80
+ screen_size='24 80'
+ printf -v rows %d 24
+ printf -v columns %d 80
+ r=12
+ c=40
+ r=20
+ c=70
+ skipSpaceCheck=false
+ reconfigure=false
+ runUnattended=false
+ INSTALL_WEB_SERVER=true
+ [[ -f /opt/pihole/COL_TABLE ]]
+ COL_NC='\e[0m'
+ COL_LIGHT_GREEN='\e[1;32m'
+ COL_LIGHT_RED='\e[1;31m'
+ TICK='[\e[1;32m✓\e[0m]'
+ CROSS='[\e[1;31m✗\e[0m]'
+ INFO='[i]'
+ DONE='\e[1;32m done!\e[0m'
+ OVER='\r\033[K'
+ binary=tbd
+ counter=0
+ [[ '' != true ]]
+ main
+ local 'str=Root user check'
+ printf '\n'

+ [[ 0 -eq 0 ]]
+ printf '  %b %s\n' '[\e[1;32m✓\e[0m]' 'Root user check'
  [✓] Root user check
+ show_ascii_berry
+ echo -e '
        \e[1;32m.;;,.
        .ccccc:,.
         :cccclll:.      ..,,
          :ccccclll.   ;ooodc
           '\''ccll:;ll .oooodc
             .;cll.;;looo:.
                 \e[1;31m.. '\'','\''.
                .'\'',,,,,,'\''.
              .'\'',,,,,,,,,,.
            .'\'',,,,,,,,,,,,....
          ....'\'''\'''\'',,,,,,,'\''.......
        .........  ....  .........
        ..........      ..........
        ..........      ..........
        .........  ....  .........
          ........,,,,,,,'\''......
            ....'\'',,,,,,,,,,,,.
               .'\'',,,,,,,,,'\''.
                .'\'',,,,,,'\''.
                  ..'\'''\'''\''.\e[0m
'

        .;;,.
        .ccccc:,.
         :cccclll:.      ..,,
          :ccccclll.   ;ooodc
           'ccll:;ll .oooodc
             .;cll.;;looo:.
                 .. ','.
                .',,,,,,'.
              .',,,,,,,,,,.
            .',,,,,,,,,,,,....
          ....''',,,,,,,'.......
        .........  ....  .........
        ..........      ..........
        ..........      ..........
        .........  ....  .........
          ........,,,,,,,'......
            ....',,,,,,,,,,,,.
               .',,,,,,,,,'.
                .',,,,,,'.
                  ..'''.

+ make_temporary_log
++ mktemp /tmp/pihole_temp.XXXXXX
+ TEMPLOG=/tmp/pihole_temp.lz1FxV
+ exec
+ rm /tmp/pihole_temp.lz1FxV
+ distro_check
+ is_command apt-get
+ local check_command=apt-get
+ command -v apt-get
+ PKG_MANAGER=apt-get
+ UPDATE_PKG_CACHE='apt-get update'
+ PKG_INSTALL=(${PKG_MANAGER} --yes --no-install-recommends install)
+ PKG_COUNT='apt-get -s -o Debug::NoLocking=true upgrade | grep -c ^Inst || true'
+ APT_SOURCES=/etc/apt/sources.list
+ awk 'BEGIN{a=1;b=0}/bionic main/{a=0}/bionic.*universe/{b=1}END{exit a + b}' /etc/apt/sources.list
+ apt-get install --dry-run iproute2
+ iproute_pkg=iproute2
+ is_command php
+ local check_command=php
+ command -v php
+ [[ '' != true ]]
+ apt-get install --dry-run php
+ phpVer=php5
+ apt-get install --dry-run php5-sqlite3
+ phpSqlite=sqlite
+ INSTALLER_DEPS=(apt-utils dialog debconf dhcpcd5 git ${iproute_pkg} whiptail)
+ PIHOLE_DEPS=(cron curl dnsutils iputils-ping lsof netcat psmisc sudo unzip wget idn2 sqlite3 libcap2-bin dns-root-data resolvconf libcap2)
+ PIHOLE_WEB_DEPS=(lighttpd ${phpVer}-common ${phpVer}-cgi ${phpVer}-${phpSqlite})
+ LIGHTTPD_USER=www-data
+ LIGHTTPD_GROUP=www-data
+ LIGHTTPD_CFG=lighttpd.conf.debian
+ [[ -f /etc/pihole/setupVars.conf ]]
+ [[ false == true ]]
+ verifyFreeDiskSpace
+ local 'str=Disk space check'
+ local required_free_kilobytes=51200
+ local existing_free_kilobytes
++ df -Pk
++ grep -m1 '\/$'
++ awk '{print $4}'
+ existing_free_kilobytes=8644908
+ [[ 8644908 =~ ^([0-9])+$ ]]
+ [[ 8644908 -lt 51200 ]]
+ printf '  %b %s\n' '[\e[1;32m✓\e[0m]' 'Disk space check'
  [✓] Disk space check
+ update_package_cache
+ local 'str=Update local cache of available packages'
+ printf '  %b %s...' '[i]' 'Update local cache of available packages'
  [i] Update local cache of available packages...+ eval 'apt-get update'
+ printf '%b  %b %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' 'Update local cache of available packages'
  [✓] Update local cache of available packages
+ notify_package_updates_available
+ local 'str=Checking apt-get for upgraded packages'
+ printf '\n  %b %s...' '[i]' 'Checking apt-get for upgraded packages'

  [i] Checking apt-get for upgraded packages...++ eval 'apt-get -s -o Debug::NoLocking=true upgrade | grep -c ^Inst || true'
+++ apt-get -s -o Debug::NoLocking=true upgrade
+++ grep -c '^Inst'
+ updatesToInstall=2
++ uname -r
+ [[ -d /lib/modules/4.14.98-v7+ ]]
+ [[ 2 -eq 0 ]]
+ printf '%b  %b %s... %s updates available\n' '\r\033[K' '[\e[1;32m✓\e[0m]' 'Checking apt-get for upgraded packages' 2
  [✓] Checking apt-get for upgraded packages... 2 updates available
+ printf '  %b %bIt is recommended to update your OS after installing the Pi-hole!%b\n\n' '[i]' '\e[1;32m' '\e[0m'
  [i] It is recommended to update your OS after installing the Pi-hole!

+ install_dependent_packages 'INSTALLER_DEPS[@]'
+ counter=1
+ [[ 1 == 1 ]]
+ printf '  %b Installer Dependency checks...\n' '[i]'
  [i] Installer Dependency checks...
+ argArray1=("${!1}")
+ declare -a argArray1
+ declare -a installArray
+ is_command debconf-apt-progress
+ local check_command=debconf-apt-progress
+ command -v debconf-apt-progress
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' apt-utils
  [i] Checking for apt-utils...+ dpkg-query -W '-f=${Status}' apt-utils
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' apt-utils
  [✓] Checking for apt-utils
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' dialog
  [i] Checking for dialog...+ dpkg-query -W '-f=${Status}' dialog
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' dialog
  [✓] Checking for dialog
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' debconf
  [i] Checking for debconf...+ dpkg-query -W '-f=${Status}' debconf
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' debconf
  [✓] Checking for debconf
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' dhcpcd5
  [i] Checking for dhcpcd5...+ dpkg-query -W '-f=${Status}' dhcpcd5
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' dhcpcd5
  [✓] Checking for dhcpcd5
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' git
  [i] Checking for git...+ dpkg-query -W '-f=${Status}' git
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' git
  [✓] Checking for git
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' iproute2
  [i] Checking for iproute2...+ dpkg-query -W '-f=${Status}' iproute2
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' iproute2
  [✓] Checking for iproute2
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' whiptail
  [i] Checking for whiptail...+ dpkg-query -W '-f=${Status}' whiptail
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' whiptail
  [✓] Checking for whiptail
+ [[ 0 -gt 0 ]]
+ printf '\n'

+ return 0
+ checkSelinux
+ is_command getenforce
+ local check_command=getenforce
+ command -v getenforce
+ [[ false == false ]]
+ welcomeDialogs
+ whiptail --msgbox --backtitle Welcome --title 'Pi-hole automated installer' '\n\nThis installer will transform your device into a network-wide ad blocker!' 20 70
+ whiptail --msgbox --backtitle Plea --title 'Free and open source' '\n\nThe Pi-hole is free, but powered by your donations:  http://pi-hole.net/donate' 20 70
+ whiptail --msgbox --backtitle 'Initiating network interface' --title 'Static IP Needed' '\n\nThe Pi-hole is a SERVER so it needs a STATIC IP ADDRESS to function properly.

In the next section, you can choose to use your current network settings (DHCP) or to manually edit them.' 20 70
+ mkdir -p /etc/pihole/
+ get_available_interfaces
++ ip --oneline link show up
++ grep -v lo
++ awk '{print $2}'
++ cut -d@ -f1
++ cut -d: -f1
+ availableInterfaces='eth0
wlan0'
+ chooseInterface
+ interfacesArray=()
+ local interfacesArray
+ local interfaceCount
+ local chooseInterfaceCmd
+ local chooseInterfaceOptions
+ local firstLoop=1
++ wc -l
+ interfaceCount=2
+ [[ 2 -eq 1 ]]
+ read -r line
+ mode=OFF
+ [[ 1 -eq 1 ]]
+ firstLoop=0
+ mode=ON
+ interfacesArray+=("${line}" "available" "${mode}")
+ read -r line
+ mode=OFF
+ [[ 0 -eq 1 ]]
+ interfacesArray+=("${line}" "available" "${mode}")
+ read -r line
+ chooseInterfaceCmd=(whiptail --separate-output --radiolist "Choose An Interface (press space to select)" ${r} ${c} ${interfaceCount})
++ whiptail --separate-output --radiolist 'Choose An Interface (press space to select)' 20 70 2 eth0 available ON wlan0 available OFF
+ chooseInterfaceOptions=eth0
+ for desiredInterface in ${chooseInterfaceOptions}
+ PIHOLE_INTERFACE=eth0
+ printf '  %b Using interface: %s\n' '[i]' eth0
  [i] Using interface: eth0
+ setDNS
+ local DNSSettingsCorrect
+ DNSChooseOptions=(Google "" OpenDNS "" Level3 "" Comodo "" DNSWatch "" Quad9 "" FamilyShield "" Cloudflare "" Custom "")
++ whiptail --separate-output --menu 'Select Upstream DNS Provider. To use your own, select Custom.' 20 70 7 Google '' OpenDNS '' Level3 '' Comodo '' DNSWatch '' Quad9 '' FamilyShield '' Cloudflare '' Custom ''
+ DNSchoices=Cloudflare
+ printf '  %b Using ' '[i]'
  [i] Using + case ${DNSchoices} in
+ printf 'Cloudflare servers\n'
Cloudflare servers
+ PIHOLE_DNS_1=1.1.1.1
+ PIHOLE_DNS_2=1.0.0.1
+ chooseBlocklists
+ [[ -f /etc/pihole/adlists.list ]]
+ mv /etc/pihole/adlists.list /etc/pihole/adlists.list.old
+ cmd=(whiptail --separate-output --checklist "Pi-hole relies on third party lists in order to block ads.\\n\\nYou can use the suggestions below, and/or add your own after installation\\n\\nTo deselect any list, use the arrow keys and spacebar" "${r}" "${c}" 7)
+ options=(StevenBlack "StevenBlack's Unified Hosts List" on MalwareDom "MalwareDomains" on Cameleon "Cameleon" on ZeusTracker "ZeusTracker" on DisconTrack "Disconnect.me Tracking" on DisconAd "Disconnect.me Ads" on HostsFile "Hosts-file.net Ads" on)
++ whiptail --separate-output --checklist 'Pi-hole relies on third party lists in order to block ads.\n\nYou can use the suggestions below, and/or add your own after installation\n\nTo deselect any list, use the arrow keys and spacebar' 20 70 7 StevenBlack 'StevenBlack'\''s Unified Hosts List' on MalwareDom MalwareDomains on Cameleon Cameleon on ZeusTracker ZeusTracker on DisconTrack 'Disconnect.me Tracking' on DisconAd 'Disconnect.me Ads' on HostsFile 'Hosts-file.net Ads' on
+ choices='StevenBlack
MalwareDom
Cameleon
ZeusTracker
DisconTrack
DisconAd
HostsFile'
+ for choice in ${choices}
+ appendToListsFile StevenBlack
+ case $1 in
+ echo https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
+ for choice in ${choices}
+ appendToListsFile MalwareDom
+ case $1 in
+ echo https://mirror1.malwaredomains.com/files/justdomains
+ for choice in ${choices}
+ appendToListsFile Cameleon
+ case $1 in
+ echo http://sysctl.org/cameleon/hosts
+ for choice in ${choices}
+ appendToListsFile ZeusTracker
+ case $1 in
+ echo 'https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist'
+ for choice in ${choices}
+ appendToListsFile DisconTrack
+ case $1 in
+ echo https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
+ for choice in ${choices}
+ appendToListsFile DisconAd
+ case $1 in
+ echo https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
+ for choice in ${choices}
+ appendToListsFile HostsFile
+ case $1 in
+ echo https://hosts-file.net/ad_servers.txt
+ use4andor6
+ local useIPv4
+ local useIPv6
+ cmd=(whiptail --separate-output --checklist "Select Protocols (press space to select)" ${r} ${c} 2)
+ options=(IPv4 "Block ads over IPv4" on IPv6 "Block ads over IPv6" on)
++ whiptail --separate-output --checklist 'Select Protocols (press space to select)' 20 70 2 IPv4 'Block ads over IPv4' on IPv6 'Block ads over IPv6' on
+ choices='IPv4
IPv6'
+ for choice in ${choices}
+ case ${choice} in
+ useIPv4=true
+ for choice in ${choices}
+ case ${choice} in
+ useIPv6=true
+ [[ -n true ]]
+ find_IPv4_information
+ local route
+ local IPv4bare
++ ip route get 8.8.8.8
+ route='8.8.8.8 via 192.168.103.6 dev eth0 src 192.168.103.1
    cache '
++ printf 192.168.103.1 cache
+ printf -v IPv4bare 192.168.103.1
++ printf 192.168.103.6 dev eth0 src 192.168.103.1 cache
+ printf -v IPv4gw 192.168.103.6
+ valid_ip 192.168.103.1
+ local ip=192.168.103.1
+ local stat=1
+ [[ 192.168.103.1 =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]
+ OIFS='
'
+ IFS=.
+ ip=(${ip})
+ IFS='
'
+ [[ 192 -le 255 ]]
+ [[ 168 -le 255 ]]
+ [[ 103 -le 255 ]]
+ [[ 1 -le 255 ]]
+ stat=0
+ return 0
++ ip -oneline -family inet address show
++ grep 192.168.103.1
++ awk '{print $4}'
++ awk 'END {print}'
+ IPV4_ADDRESS=192.168.103.1/24
+ getStaticIPv4Settings
+ local ipSettingsCorrect
+ whiptail --backtitle 'Calibrating network interface' --title 'Static IP Address' --yesno 'Do you want to use your current network settings as a static address?
          IP address:    192.168.103.1/24
          Gateway:       192.168.103.6' 20 70
+ [[ '' = True ]]
++ whiptail --backtitle 'Calibrating network interface' --title 'IPv4 address' --inputbox 'Enter your desired IPv4 address' 20 70 192.168.103.1/24
+ IPV4_ADDRESS=192.168.103.1/29
+ printf '  %b Your static IPv4 address: %s\n' '[i]' 192.168.103.1/29
  [i] Your static IPv4 address: 192.168.103.1/29
++ whiptail --backtitle 'Calibrating network interface' --title 'IPv4 gateway (router)' --inputbox 'Enter your desired IPv4 default gateway' 20 70 192.168.103.6
+ IPv4gw=192.168.103.6
+ printf '  %b Your static IPv4 gateway: %s\n' '[i]' 192.168.103.6
  [i] Your static IPv4 gateway: 192.168.103.6
+ whiptail --backtitle 'Calibrating network interface' --title 'Static IP Address' --yesno 'Are these settings correct?
            IP address: 192.168.103.1/29
            Gateway:    192.168.103.6' 20 70
+ ipSettingsCorrect=True
+ [[ True = True ]]
+ setStaticIPv4
+ local IFCFG_FILE
+ local CONNECTION_NAME
+ [[ -f /etc/dhcpcd.conf ]]
+ setDHCPCD
+ grep -q 192.168.103.1/29 /etc/dhcpcd.conf
+ printf '  %b Static IP already configured\n' '[i]'
  [i] Static IP already configured
+ return 0
+ [[ -n true ]]
+ useIPv6dialog
+ IPV6_ADDRESSES=($(ip -6 address | grep 'scope global' | awk '{print $2}'))
++ ip -6 address
++ grep 'scope global'
++ awk '{print $2}'
+ [[ ! -z '' ]]
+ [[ ! -z '' ]]
+ printf '  %b Unable to find IPv6 ULA/GUA address, IPv6 adblocking will not be enabled\n' '[i]'
  [i] Unable to find IPv6 ULA/GUA address, IPv6 adblocking will not be enabled
+ IPV6_ADDRESS=
+ [[ ! -z '' ]]
+ printf '  %b IPv4 address: %s\n' '[i]' 192.168.103.1/29
  [i] IPv4 address: 192.168.103.1/29
+ printf '  %b IPv6 address: %s\n' '[i]' ''
  [i] IPv6 address:
+ [[ ! -n true ]]
+ setAdminFlag
+ local WebToggleCommand
+ local WebChooseOptions
+ local WebChoices
+ WebToggleCommand=(whiptail --separate-output --radiolist "Do you wish to install the web admin interface?" ${r} ${c} 6)
+ WebChooseOptions=("On (Recommended)" "" on Off "" off)
++ whiptail --separate-output --radiolist 'Do you wish to install the web admin interface?' 20 70 6 'On (Recommended)' '' on Off '' off
+ WebChoices='On (Recommended)'
+ case ${WebChoices} in
+ printf '  %b Web Interface On\n' '[i]'
  [i] Web Interface On
+ INSTALL_WEB_INTERFACE=true
+ [[ true == true ]]
+ WebToggleCommand=(whiptail --separate-output --radiolist "Do you wish to install the web server (lighttpd)?\\n\\nNB: If you disable this, and, do not have an existing webserver installed, the web interface will not function." "${r}" "${c}" 6)
+ WebChooseOptions=("On (Recommended)" "" on Off "" off)
++ whiptail --separate-output --radiolist 'Do you wish to install the web server (lighttpd)?\n\nNB: If you disable this, and, do not have an existing webserver installed, the web interface will not function.' 20 70 6 'On (Recommended)' '' on Off '' off
+ WebChoices='On (Recommended)'
+ case ${WebChoices} in
+ printf '  %b Web Server On\n' '[i]'
  [i] Web Server On
+ INSTALL_WEB_SERVER=true
+ setLogging
+ local LogToggleCommand
+ local LogChooseOptions
+ local LogChoices
+ LogToggleCommand=(whiptail --separate-output --radiolist "Do you want to log queries?" "${r}" "${c}" 6)
+ LogChooseOptions=("On (Recommended)" "" on Off "" off)
++ whiptail --separate-output --radiolist 'Do you want to log queries?' 20 70 6 'On (Recommended)' '' on Off '' off
+ LogChoices='On (Recommended)'
+ case ${LogChoices} in
+ printf '  %b Logging On.\n' '[i]'
  [i] Logging On.
+ QUERY_LOGGING=true
+ setPrivacyLevel
+ local LevelCommand
+ local LevelOptions
+ LevelCommand=(whiptail --separate-output --radiolist "Select a privacy mode for FTL." "${r}" "${c}" 6)
+ LevelOptions=("0" "Show everything" on "1" "Hide domains" off "2" "Hide domains and clients" off "3" "Anonymous mode" off "4" "Disabled statistics" off)
++ whiptail --separate-output --radiolist 'Select a privacy mode for FTL.' 20 70 6 0 'Show everything' on 1 'Hide domains' off 2 'Hide domains and clients' off 3 'Anonymous mode' off 4 'Disabled statistics' off
+ PRIVACY_LEVEL=0
+ printf '  %b Privacy level %d' '[i]' 0
  [i] Privacy level 0+ clone_or_update_repos
+ [[ false == true ]]
+ getGitFiles /etc/.pihole https://github.com/pi-hole/pi-hole.git
+ local directory=/etc/.pihole
+ local remoteRepo=https://github.com/pi-hole/pi-hole.git
+ local 'str=Check for existing repository in /etc/.pihole'
+ printf '  %b %s...' '[i]' 'Check for existing repository in /etc/.pihole'
  [i] Check for existing repository in /etc/.pihole...+ is_repo /etc/.pihole
+ local directory=/etc/.pihole
+ local curdir
+ local rc
+ curdir=/home/pi
+ [[ -d /etc/.pihole ]]
+ cd /etc/.pihole
+ git status --short
+ cd /home/pi
+ return 0
+ printf '%b  %b %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' 'Check for existing repository in /etc/.pihole'
  [✓] Check for existing repository in /etc/.pihole
+ update_repo /etc/.pihole
+ local directory=/etc/.pihole
+ local curdir
+ local 'str=Update repo in /etc/.pihole'
+ curdir=/home/pi
+ cd /etc/.pihole
+ printf '  %b %s...' '[i]' 'Update repo in /etc/.pihole'
  [i] Update repo in /etc/.pihole...+ git stash --all --quiet
+ git clean --quiet --force -d
+ git pull --quiet
+ printf '%b  %b %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' 'Update repo in /etc/.pihole'
  [✓] Update repo in /etc/.pihole
+ cd /home/pi
+ return 0
+ echo ''

+ return 0
+ [[ true == true ]]
+ getGitFiles /var/www/html/admin https://github.com/pi-hole/AdminLTE.git
+ local directory=/var/www/html/admin
+ local remoteRepo=https://github.com/pi-hole/AdminLTE.git
+ local 'str=Check for existing repository in /var/www/html/admin'
+ printf '  %b %s...' '[i]' 'Check for existing repository in /var/www/html/admin'
  [i] Check for existing repository in /var/www/html/admin...+ is_repo /var/www/html/admin
+ local directory=/var/www/html/admin
+ local curdir
+ local rc
+ curdir=/home/pi
+ [[ -d /var/www/html/admin ]]
+ cd /var/www/html/admin
+ git status --short
+ cd /home/pi
+ return 0
+ printf '%b  %b %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' 'Check for existing repository in /var/www/html/admin'
  [✓] Check for existing repository in /var/www/html/admin
+ update_repo /var/www/html/admin
+ local directory=/var/www/html/admin
+ local curdir
+ local 'str=Update repo in /var/www/html/admin'
+ curdir=/home/pi
+ cd /var/www/html/admin
+ printf '  %b %s...' '[i]' 'Update repo in /var/www/html/admin'
  [i] Update repo in /var/www/html/admin...+ git stash --all --quiet
+ git clean --quiet --force -d
+ git pull --quiet
+ printf '%b  %b %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' 'Update repo in /var/www/html/admin'
  [✓] Update repo in /var/www/html/admin
+ cd /home/pi
+ return 0
+ echo ''

+ return 0
+ dep_install_list=("${PIHOLE_DEPS[@]}")
+ local dep_install_list
+ [[ true == true ]]
+ dep_install_list+=("${PIHOLE_WEB_DEPS[@]}")
+ install_dependent_packages 'dep_install_list[@]'
+ counter=2
+ [[ 2 == 1 ]]
+ printf '  %b Main Dependency checks...\n' '[i]'
  [i] Main Dependency checks...
+ argArray1=("${!1}")
+ declare -a argArray1
+ declare -a installArray
+ is_command debconf-apt-progress
+ local check_command=debconf-apt-progress
+ command -v debconf-apt-progress
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' cron
  [i] Checking for cron...+ dpkg-query -W '-f=${Status}' cron
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' cron
  [✓] Checking for cron
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' curl
  [i] Checking for curl...+ dpkg-query -W '-f=${Status}' curl
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' curl
  [✓] Checking for curl
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' dnsutils
  [i] Checking for dnsutils...+ dpkg-query -W '-f=${Status}' dnsutils
+ grep 'ok installed'
+ echo -e '\r\033[K  [i] Checking for dnsutils (will be installed)'
  [i] Checking for dnsutils (will be installed)
+ installArray+=("${i}")
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' iputils-ping
  [i] Checking for iputils-ping...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' iputils-ping
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' iputils-ping
  [✓] Checking for iputils-ping
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' lsof
  [i] Checking for lsof...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' lsof
+ echo -e '\r\033[K  [i] Checking for lsof (will be installed)'
  [i] Checking for lsof (will be installed)
+ installArray+=("${i}")
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' netcat
  [i] Checking for netcat...+ dpkg-query -W '-f=${Status}' netcat
+ grep 'ok installed'
+ echo -e '\r\033[K  [i] Checking for netcat (will be installed)'
  [i] Checking for netcat (will be installed)
+ installArray+=("${i}")
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' psmisc
  [i] Checking for psmisc...+ grep 'ok installed'
+ dpkg-query -W '-f=${Status}' psmisc
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' psmisc
  [✓] Checking for psmisc
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' sudo
  [i] Checking for sudo...+ dpkg-query -W '-f=${Status}' sudo
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' sudo
  [✓] Checking for sudo
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' unzip
  [i] Checking for unzip...+ dpkg-query -W '-f=${Status}' unzip
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' unzip
  [✓] Checking for unzip
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' wget
  [i] Checking for wget...+ dpkg-query -W '-f=${Status}' wget
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' wget
  [✓] Checking for wget
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' idn2
  [i] Checking for idn2...+ dpkg-query -W '-f=${Status}' idn2
+ grep 'ok installed'
+ echo -e '\r\033[K  [i] Checking for idn2 (will be installed)'
  [i] Checking for idn2 (will be installed)
+ installArray+=("${i}")
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' sqlite3
  [i] Checking for sqlite3...+ dpkg-query -W '-f=${Status}' sqlite3
+ grep 'ok installed'
+ echo -e '\r\033[K  [i] Checking for sqlite3 (will be installed)'
  [i] Checking for sqlite3 (will be installed)
+ installArray+=("${i}")
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' libcap2-bin
  [i] Checking for libcap2-bin...+ dpkg-query -W '-f=${Status}' libcap2-bin
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' libcap2-bin
  [✓] Checking for libcap2-bin
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' dns-root-data
  [i] Checking for dns-root-data...+ dpkg-query -W '-f=${Status}' dns-root-data
+ grep 'ok installed'
+ echo -e '\r\033[K  [i] Checking for dns-root-data (will be installed)'
  [i] Checking for dns-root-data (will be installed)
+ installArray+=("${i}")
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' resolvconf
  [i] Checking for resolvconf...+ dpkg-query -W '-f=${Status}' resolvconf
+ grep 'ok installed'
+ echo -e '\r\033[K  [i] Checking for resolvconf (will be installed)'
  [i] Checking for resolvconf (will be installed)
+ installArray+=("${i}")
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' libcap2
  [i] Checking for libcap2...+ dpkg-query -W '-f=${Status}' libcap2
+ grep 'ok installed'
+ printf '%b  %b Checking for %s\n' '\r\033[K' '[\e[1;32m✓\e[0m]' libcap2
  [✓] Checking for libcap2
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' lighttpd
  [i] Checking for lighttpd...+ dpkg-query -W '-f=${Status}' lighttpd
+ grep 'ok installed'
+ echo -e '\r\033[K  [i] Checking for lighttpd (will be installed)'
  [i] Checking for lighttpd (will be installed)
+ installArray+=("${i}")
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' php5-common
  [i] Checking for php5-common...+ dpkg-query -W '-f=${Status}' php5-common
+ grep 'ok installed'
+ echo -e '\r\033[K  [i] Checking for php5-common (will be installed)'
  [i] Checking for php5-common (will be installed)
+ installArray+=("${i}")
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' php5-cgi
  [i] Checking for php5-cgi...+ dpkg-query -W '-f=${Status}' php5-cgi
+ grep 'ok installed'
+ echo -e '\r\033[K  [i] Checking for php5-cgi (will be installed)'
  [i] Checking for php5-cgi (will be installed)
+ installArray+=("${i}")
+ for i in "${argArray1[@]}"
+ printf '  %b Checking for %s...' '[i]' php5-sqlite
  [i] Checking for php5-sqlite...+ dpkg-query -W '-f=${Status}' php5-sqlite
+ grep 'ok installed'
+ echo -e '\r\033[K  [i] Checking for php5-sqlite (will be installed)'
  [i] Checking for php5-sqlite (will be installed)
+ installArray+=("${i}")
+ [[ 11 -gt 0 ]]
+ test_dpkg_lock
+ i=0
+ fuser /var/lib/dpkg/lock
+ return 0
+ debconf-apt-progress -- apt-get --yes --no-install-recommends install dnsutils lsof netcat idn2 sqlite3 dns-root-data resolvconf lighttpd php5-common php5-cgi php5-sqlite
pi@raspberrypi:~ $

What is the output from sudo apt-get --yes --no-install-recommends install dnsutils lsof netcat idn2 sqlite3 dns-root-data resolvconf lighttpd php5-common php5-cgi php5-sqlite

Hi,

I see then it's the last line but I don't understand.
Must I do something?

Have a good day.

Quentin LE TROCQUER

I would need to see the output in order to give any hints or advice.

@DanSchaper is asking you to run that command and share the output.

pi@raspberrypi:~ $ sudo apt-get --yes --no-install-recommends install dnsutils lsof netcat idn2 sqlite3 dns-root-data resolvconf lighttpd php5-common php5-cgi php5-sqlite
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Note : sélection de « openresolv » au lieu de « resolvconf »
Aucune version du paquet dns-root-data n'est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète
ou qu'il n'est disponible que sur une autre source

Aucune version du paquet dnsutils n'est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète
ou qu'il n'est disponible que sur une autre source
Cependant les paquets suivants le remplacent :
  bind9-host

Le paquet netcat est un paquet virtuel fourni par :
  netcat-openbsd 1.130-3
  netcat-traditional 1.10-41
Vous devez explicitement sélectionner un paquet à installer.

Aucune version du paquet lighttpd n'est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète
ou qu'il n'est disponible que sur une autre source

Aucune version du paquet lsof n'est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète
ou qu'il n'est disponible que sur une autre source

E: Le paquet « dnsutils » n'a pas de version susceptible d'être installée
E: Le paquet « lsof » n'a pas de version susceptible d'être installée
E: Le paquet « netcat » n'a pas de version susceptible d'être installée
E: Impossible de trouver le paquet idn2
E: Impossible de trouver le paquet sqlite3
E: Le paquet « dns-root-data » n'a pas de version susceptible d'être installée
E: Le paquet « lighttpd » n'a pas de version susceptible d'être installée
E: Impossible de trouver le paquet php5-common
E: Impossible de trouver le paquet php5-cgi
E: Impossible de trouver le paquet php5-sqlite
pi@raspberrypi:~ $`Preformatted text`

You will need to resolve the errors with apt and your sources lists before you will be able to install Pi-hole.

Hi,

I tried repare my apt.
So, I installed dnsutils, lsof, netcat, ...

Now,

I have an another problem :

pi@raspberrypi:~ $ curl -sSL https://install.pi-hole.net | bash
stty: 'entrée standard': Ioctl() inapproprié pour un périphérique

[✗] Root user check
[i] Script called with non-root privileges
The Pi-hole requires elevated privileges to install and run
Please check the installer for any concerns regarding this requirement
Make sure to download this script from a trusted source

[✓] Sudo utility check
stty: 'entrée standard': Ioctl() inapproprié pour un périphérique

[✓] Root user check

    .;;,.
    .ccccc:,.
     :cccclll:.      ..,,
      :ccccclll.   ;ooodc
       'ccll:;ll .oooodc
         .;cll.;;looo:.
             .. ','.
            .',,,,,,'.
          .',,,,,,,,,,.
        .',,,,,,,,,,,,....
      ....''',,,,,,,'.......
    .........  ....  .........
    ..........      ..........
    ..........      ..........
    .........  ....  .........
      ........,,,,,,,'......
        ....',,,,,,,,,,,,.
           .',,,,,,,,,'.
            .',,,,,,'.
              ..'''.

[i] Existing PHP installation detected : PHP version 7.0.33-0+deb9u3
[✓] Disk space check
[✗] Update local cache of available packages
Error: Unable to update package cache. Please try "\e[1;31m"pi@raspberrypi:~ $

sudo apt update is failing. Your repairs were not completely successful.

1 Like

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.