I had been happily running bog standard, up-to-date v5 on my rasberrypi5. I don't recall making any modifications to the default v5 config generated during initial setup or subsequent updates as they were offered and installed.
After successfully upgrading to v6, my pi-hole admin (http://192.168.2.123/admin/) no longer worked (returned a 403). After digging around the v6 release notes and such it would seem v6 uses a new HTTPD and the upgrade was supposed to have asked me whether I wanted to disable (the old) lighttpd? But it did not. And lighttpd was still running. I rebooted. Same issue. After googling how to use systemctl to stop and disable lighttpd and rebooting, http://192.168.2.123/admin/ now works as expected. I was panicking there for a bit.
Fingers crossed nothing else was missed during the upgrade. v6 seems to be running like a champ now. I'll be keeping an eye on it.
UPDATE:
I forgot to mention that after the upgrade my backend DNS servers were blank and the local DNS records I'd added were gone. So I guess my v5 config wasn't carried forward? Anyway, since there might be other stuff that got missed, I decided to take the lazy way out and repave. I got a new SDcard, imaged it with the latest PiOS Lite and booted off it. Then installed a new copy of pi-hole, configured the backend DNS servers and added my local DNS records. I'm back up and running.
I know, I know. I should've read the release notes more carefully and backed up my config, but retirement has made me soft. Lesson learned. First thing I did was teleport my config.
The Pi-hole v5 > v6 upgrade did NOT go to plan & bombed out unable to resolve DNS lookups (the DNS was configured as Unbound on 127.0.0.1#5335 on the same Raspberry Pi Pi-hole v5 was running on).
I tried rebooting & restarting the upgrade to v6 and things went more 'pear-shaped' but eventually I found how to manually edit the host configuration so I could change the nameserver to 1.1.1.1 instead of the hosts IP address & rerun the v6 upgrade. Eventually everything seemed to complete but I wasn't able to open the Pi-hole v6 web interface & kept getting "403" error & browsing to the host IP told me lighttpd was running (possibly because my original Pi-hole v5 was installed from DietPi).
To stop & remove lighttpd, I did:
sudo service lighttpd stop
sudo apt remove lighttpd
then rebooted & eventually my Pi-hole v6 web page was accessible. All of my configuration from my v5 was gone, so I had to reset my Pi-hole password & restore the Teleporter backup I had taken from my v5.
Honestly, I expected the v5 to v6 upgrade to be painless, but it was anything but.
Is it possible that the update was called via pipe? The prompt to disable Lighttpd is only done if the service is enabled (systemctl is-enabled lighttpd) and if STDIN is attacked to a terminal. In a pipe, the latter is not true:
From my MacOS terminal window I ssh'd to my rasberrypi5 to the default PiOS interactive shell (bash) and invoked the command "pihole -up" as instructed by the "upgrade available" notification on the pi-hole webadmin page. No pipe was involved.
I wish I could provide more information. But that's it. lighttpd was definitely running because the the /admin/ webpage notice that the upgrade was available was hosted by that same lighttpd. I was taken a bit back that I had to login to an interactive shell to perform a CLI update. I could've sworn all previous updates happened via the /admin/ webpage (MY RECOLLECTION HERE IS INCORRECT. UPDATES HAVE ALWAYS BEEN VIA CLI. SEE BELOW). I could be mistaken about that. Unfortunately I have no proof of that nor anything to look into now as I repaved the device to make sure everything would be OK going forward. Sorry.
Did the "pi-hole -up" generate any error messages? I can't imagine I wouldn't have noticed that. I've been doing stuff like this for over 30 yrs. But again, no proof. I wish I'd captured the output but I didn't see any reason to.
AFAIK there is no update function via admin page. It is intentionally intended only via CLI.
Theoretically, Lighttpd could be also disabled and started in other ways at boot time. DietPi e.g. worked like this in the past. Or the systemctl command could return false for other reasons, some error or whatnot. Hence the manual check one time, for those who are still in the position to test it.
Turns out I do still have the sdcard that I was using. The "repave" wasn't quite true. I didn't repave the sdcard. I used a new one. Is there a way to mount the sdcard and take a look at it's contents that might shed some light? I tried using my Windows machine, it only shows me the bootfs. Same with trying it on my Mac mini. I don't want boot off the old sdcard and impact the house network usability.
I have a USB-A thingy that I can insert the sdcard into. It's in the pi. I'm trying to remember how to mount shit. My retired brain has gotten mushy. googling
$ ls -l /mnt/usba2/etc/systemd/system/*wants/lighttpd.service
ls: cannot access '/mnt/usba2/etc/systemd/system/*wants/lighttpd.service': No such file or directory
$ sudo ls -l /mnt/usba2/etc/systemd/system/*wants/lighttpd.service
ls: cannot access '/mnt/usba2/etc/systemd/system/*wants/lighttpd.service': No such file or directory
$ ls -l /mnt/usba2/etc/systemd/system/lighttpd.service
ls: cannot access '/mnt/usba2/etc/systemd/system/lighttpd.service': No such file or directory
$ sudo ls -l /mnt/usba2/etc/systemd/system/lighttpd.service
ls: cannot access '/mnt/usba2/etc/systemd/system/lighttpd.service': No such file or directory