Krijg Certbot auto renew voor Let's Encrypt niet werkend

Pagina: 1
Acties:

Vraag


  • Pazo
  • Registratie: Mei 2006
  • Laatst online: 00:45
Ik gebruik op mijn eigen server waar Windows op draait, een VM via Hyper-V waar Nextcloud (op Ubuntu) op draait. Deze heb ik destijds geïnstalleerd via snap. Werkt allemaal prima. Ook heb ik voor het domein een certificaat via Let's Encrypt. Echter vernieuw ik deze steeds handmatig. Momenteel vernieuw ik mijn certificaat als volgt:

Ik log in met Putty via SSL en voer dan het volgende commando uit:
code:
1
sudo nextcloud.enable-https lets-encrypt

Daarbij vul ik dan mijn domein in waarvan ik het certificaat wil vernieuwen en klaar is kees.

Nu Let's Encrypt de geldigheid van de certificaten steeds verder gaat verkorten, wil ik die vernieuwing automatisch laten doen, want volgens mij zit ik anders iedere 30 dagen te boel te vernieuwen. De makkelijkste manier schijnt via certbot te zijn. Echter krijg ik dit niet werkend, ik blijf verschillende foutmeldingen krijgen. En mijn kennis schiet hier tekort. Hopelijk kunnen jullie helpen.

Er zijn verschillende vergelijkbare stappenplannen op internet te vinden voor 'Let's Encrypt certbot auto renew' (waar ik op zoek)
Ik installeer certbot
code:
1
sudo apt install certbot


Daarna kan ik als test een eerste / tijdelijke certificaat installeren via:
code:
1
sudo certbot certonly --standalone

En dan wordt gevraagd welke domeinnamen.

Dan krijg ik de volgende melding:
Could not bind TCP port 80 because it is already in use by another process on this system (such as a web server). Please stop the program in question and then try again.

En hier loop ik al vast / schiet mijn kennis te kort. Hoe kom ik echter wat port 80 gebruikt, kan ik dat zomaar stoppen of wat moet ik veranderen? Bedoelen ze hiermee de Apache server (of wellicht Nginx; hoe kom ik er eigenlijk achter op welke Nextcloud draait, want schijnt met allebei te kunnen?)

Kwam ook nog deze stap tegen:
code:
1
sudo certbot --apache

Dan ook weer de domeinnaam aangeven, en dan krijg ik ook foutmelding:
Error while running apache2ctl graceful.
httpd not running, trying to start

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs

Unable to restart apache using ['apache2ctl', 'graceful']
Encountered exception during recovery: certbot.errors.MisconfigurationError: Error while running apache2ctl graceful.
httpd not running, trying to start
Doe ik deze als Nginx:
code:
1
sudo certbot --nginx


Dat krijg ik de melding dat de nginx plugin niet geïnstalleerd is (waaruit ik opmaak dat mijn Nextcloud op Apache draait?)

Omdat ik het ooit, aantal jaren geleden, geïnstalleerd heb via snap en mijn Nextcloud daarna out of the box werkte, heb ik dus ook weinig kaas gegeten van de achterlichtende configuratie ervan.

Als ik ga zoeken op de fouten Error while running apache2ctl graceful en httpd not running kom ik op sites waar allerlei uit te voeren / uit te proberen commando's mij om de oren vliegen, waar ik dan een beetje huiverig voor ben om dat zo maar te doen zonder dat ik eigenlijk begrijp wat ik doe. Ik wil niet mijn (goed draaiende) Nextcloud omgeving om zeep helpen.

Kan iemand mij een zetje in de juiste richting geven?

Grote Enphase topicIQ Gateway uitlezenPVOutput
PV 10,7kWp O/W • WP Panasonic KIT-WC07K3E5 7kW • Airco ME MSZ HR50VF 5kW • Gasloos per 11-2023

Alle reacties


  • Shinji
  • Registratie: Februari 2002
  • Laatst online: 12:10
Waarschijnlijk luistert je webserver voor je nextcloud op poort 80 dus die is bezet.

Als alternatief kan je kijken naar een DNS challenge bijvoorbeeld.

Of je certbot op een andere machine draaien, daar poort 80 naar forwarden.

Netste is een reverse proxy ervoor. Maar dan nog zou ik dns challenge doen.

[ Voor 33% gewijzigd door Shinji op 09-12-2025 22:32 ]


  • Pazo
  • Registratie: Mei 2006
  • Laatst online: 00:45
Bedankt @Shinji maar helaas begrijp ik daar weinig van.

Mbt luisteren naar port 80 van Nextcloud, dat zal denk ik zijn omdat er verbinding naar buiten is zodat ik overal kan inloggen. Die heb ik (net als 443) in de portforwarding in de router staan. Gedachte: een andere poort voor Nextcloud gaan gebruiken zodat 80 weer vrij komt voor certbot? Of werkt dat zo niet?

DNS challenge ga naar kijken.

Grote Enphase topicIQ Gateway uitlezenPVOutput
PV 10,7kWp O/W • WP Panasonic KIT-WC07K3E5 7kW • Airco ME MSZ HR50VF 5kW • Gasloos per 11-2023


  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 12:03

AW_Bos

Liefhebber van nostalgie... 🕰️

Ik zou voor een reverse proxy gaan. Je kan Nextcloud ook op een ander subdomein zetten, wat eigenlijk misschien wel wenselijker is.

[ Voor 3% gewijzigd door AW_Bos op 10-12-2025 20:57 ]

Telecommunicatie van vroeger
🚅Alles over spoor en treintjes


  • Wilke
  • Registratie: December 2000
  • Laatst online: 11:54
Even zoeken naar Traefik, is de gemakkelijkste reverse proxy die ook certbot requests kan regelen. Het volume waarin de certificates opgeslagen worden, delen met nextcloud zodat deze dezelfde certificaten gebruikt. Er zijn vast howto's te vinden want je bent de enige niet die beide gebruikt :)

  • Pazo
  • Registratie: Mei 2006
  • Laatst online: 00:45
@AW_Bos mijn Nextcloud is bereikbaar via nextcloud.mijndomein.nl. Ik vraag nu altijd handmatig het certificaat aan voor mijndomein.nl en nextcloud.mijndomein.nl.

Ondertussen ben ik weer hard verder aan het zoeken / proberen.
Ik weet niet eens zeker of ik nu Apache of Nginx heb. Ik kom mbt het probleem van port 80 die gebruik is door een webserver steeds ongeveer het volgende stappenplan tegen:
The error you're encountering indicates that port 80 is already being used by another process, likely a web server like Apache or Nginx. Certbot requires access to port 80 to perform the HTTP-01 challenge for obtaining a Let's Encrypt SSL certificate.

Here’s a step-by-step guide to resolve this issue:

Step 1 : Identify the process using port 80

Using netstat**:**

sudo netstat -tuln | grep :80

These commands will show you which process is using port 80, including its PID (Process ID).

Step 2: Stop the Process Temporarily

After identifying the process (e.g., Apache or Nginx), you need to stop it temporarily to allow Certbot to use port 80.

For Apache:
sudo systemctl stop apache2

For Nginx:
sudo systemctl stop nginx

Step 3: Run CertbotRun Certbot to obtain or renew your SSL certificate
sudo certbot certonly --standalone -d yourdomain.com

If you want to use the Apache or Nginx plugin to handle configuration automatically:

For Apache:
sudo certbot --apache

For Nginx:
sudo certbot --nginx

Step 4: Restart Your Web Server

After Certbot has successfully obtained the certificate, restart your web server.

For Apache:
sudo systemctl start apache2

For Nginx:
sudo systemctl start nginx
Als ik eerst kijk wat er naar port 80 luistert, krijg ik:
code:
1
 tcp   LISTEN 0      511                *:80               *:*

Niet iets met Apache of Nginx wat ik zou verwachten.
Wil ik zelf Nginx stoppen of starten, krijg ik de melding dat deze service niet gevonden wordt.
Stop ik zelf Apache, krijg ik geen reactie / melding terug. Start ik het vervolgens, krijg ik foutmelding:
code:
1
2
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xeu apache2.service" for details.


Uitput van systemctl status apache2.service
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
× apache2.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Wed 2025-12-10 21:05:43 CET; 1min 47s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 612701 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
        CPU: 16ms

dec 10 21:05:43 Nextcloud-VM systemd[1]: Starting apache2.service - The Apache HTTP Server...
dec 10 21:05:43 Nextcloud-VM apachectl[612703]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive glo>
dec 10 21:05:43 Nextcloud-VM apachectl[612703]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
dec 10 21:05:43 Nextcloud-VM apachectl[612703]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
dec 10 21:05:43 Nextcloud-VM apachectl[612703]: no listening sockets available, shutting down
dec 10 21:05:43 Nextcloud-VM apachectl[612703]: AH00015: Unable to open logs
dec 10 21:05:43 Nextcloud-VM systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
dec 10 21:05:43 Nextcloud-VM systemd[1]: apache2.service: Failed with result 'exit-code'.
dec 10 21:05:43 Nextcloud-VM systemd[1]: Failed to start apache2.service - The Apache HTTP Server.


De andere uitput van journalctl -xeu apache2.service geeft 200 regels melding waarin ook meerdere keren naar voren komt dat de Apache service faalt.

Ik heb dus het gevoel dat ik daar moet zoeken. Wellicht logisch dat Apache service faalt omdat die ook met poort 80 moet werken? Of lees ik dat verkeerd? En waarom draait Nextcloud dan wel gewoon goed?

Grote Enphase topicIQ Gateway uitlezenPVOutput
PV 10,7kWp O/W • WP Panasonic KIT-WC07K3E5 7kW • Airco ME MSZ HR50VF 5kW • Gasloos per 11-2023


  • Cyphax
  • Registratie: November 2000
  • Laatst online: 11:55

Cyphax

Moderator LNX
Apache2 start niet op omdat ie poort 80 een 443 niet kan claimen: iets anders heeft die al in gebruik.

Hier staat wat meer over die setup: https://github.com/nextcloud-snap/nextcloud-snap
By default, the snap will listen on port 80. If you enable HTTPS, it will listen on both 80 and 443
Ik ben niet zo bekend met snaps maar het is geloof ik containerized, en die container is degene die poort 80 bezet houdt denk ik. Op de eerder gelinkte pagina staat hoe je 'm op een andere poort kan draaien.

Zorg dat ie niet poort 80 en 443 bezet houdt, poort 443 moet door je reverse proxy gebruikt worden (al dan niet Apache). Die reverse proxy maakt verbinding via http met Nextcloud in de Snap.

[ Voor 3% gewijzigd door Cyphax op 10-12-2025 21:29 ]

Saved by the buoyancy of citrus


  • Pazo
  • Registratie: Mei 2006
  • Laatst online: 00:45
@Cyphax Dank je wel. Het ziet er dus naar uit dat ik poorten 80 en 443 moet aanpassen naar iets anders (en dan ook in de router / port forwarding moet aanpassen), zodat die vrij komen voor Apache / certbot. Er staat keurig beschreven en hoe ik die poorten aanpas, maar daaronder staat ook:
Note: Let's Encrypt will expect that Nextcloud is exposed on ports 80 and 443. If you change ports and don't put Nextcloud behind a proxy such that ports 80 and 443 are sent to Nextcloud for that domain name, Let's Encrypt will be unable to verify ownership of your domain and will not grant certificates.
Wat je aangeeft, ik moet dan een (reverse) proxy gaan gebruiken? Maar dat zegt mij echt helemaal niets, moet ik mij eerst gaan inlezen :')

Grote Enphase topicIQ Gateway uitlezenPVOutput
PV 10,7kWp O/W • WP Panasonic KIT-WC07K3E5 7kW • Airco ME MSZ HR50VF 5kW • Gasloos per 11-2023


  • Cyphax
  • Registratie: November 2000
  • Laatst online: 11:55

Cyphax

Moderator LNX
Pazo schreef op woensdag 10 december 2025 @ 21:39:
@Cyphax Dank je wel. Het ziet er dus naar uit dat ik poorten 80 en 443 moet aanpassen naar iets anders (en dan ook in de router / port forwarding moet aanpassen), zodat die vrij komen voor Apache / certbot. Er staat keurig beschreven en hoe ik die poorten aanpas, maar daaronder staat ook:


[...]


Wat je aangeeft, ik moet dan een (reverse) proxy gaan gebruiken? Maar dat zegt mij echt helemaal niets, moet ik mij eerst gaan inlezen :')
Misschien schiet ik in tweede instantie in m'n hoofd te snel door naar reverse proxies; je zou eigenlijk Apache in die Snap je certificaat moeten laten gebruiken als je op die machine niet meer wil hosten.

Saved by the buoyancy of citrus


  • Pazo
  • Registratie: Mei 2006
  • Laatst online: 00:45
Ik ben bijna 3 uur net ChatGPT aan het klooien geweest om een Apache reversed proxy te installeren, maar ik bleef op foutmeldingen komen. Was de ene opgelost, was er weer een nieuwe. Na bijna 3 uur alles weer 'laten' terug zetten naar de begin stand en toen deed Nextcloud het gelukkig weer. Best leerzaam, maar helaas weer terug bij af. Nu naar bed... :z

Grote Enphase topicIQ Gateway uitlezenPVOutput
PV 10,7kWp O/W • WP Panasonic KIT-WC07K3E5 7kW • Airco ME MSZ HR50VF 5kW • Gasloos per 11-2023


  • MsG
  • Registratie: November 2007
  • Laatst online: 09:21

MsG

Forumzwerver

Kan je niet iets noob vriendelijke als Nginx Proxy Manager gaan draaien? Daarmee kan je in combinatie met bijv Cloudflare ook gratis auto renewals doen en ook nog eens een wildcard certificaat waardoor je maar 1 certificaat hebt voor je domein die alle subdomeinen kunnen benutten. Dan heb je ook geen gehannes meer met die certbot, want dat doet nginx Proxy Manager allemaal achter de schermen voor je.

Denk om uw spatiegebruik. Dit scheelt Tweakers.net kostbare databaseruimte! | Groninger en geïnteresseerd in Domotica? Kom naar DomoticaGrunn


  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 09:37

DataGhost

iPL dev

Pazo schreef op woensdag 10 december 2025 @ 21:14:
Ik kom mbt het probleem van port 80 die gebruik is door een webserver steeds ongeveer het volgende stappenplan tegen:

[ stukje quote ]
sudo netstat -tuln | grep :80

These commands will show you which process is using port 80, including its PID (Process ID).
[ /stukje quote ]

Als ik eerst kijk wat er naar port 80 luistert, krijg ik:
code:
1
 tcp   LISTEN 0      511                *:80               *:*

Niet iets met Apache of Nginx wat ik zou verwachten.
Dat in je quote is een leugen van ChatGPT, heel die quote is 1:1 output uit een LLM en dat kan je aan tig dingen zien, o.a. de "Certainly!" waar het mee begint maar wat je hebt weggelaten uit de quote. In ieder geval, ChatGPT hallucineert lekker een boel bij elkaar, stukjes kloppen wel maar dit specifieke deel dus niet en doet expliciet ook niet wat het zegt dat het wel doet.

Met het commando netstat -lnp | grep :80 kom je een stuk verder. Je had overigens met man netstat simpel uit kunnen zoeken waarom er geen procesnamen terugkwamen.
Pazo schreef op donderdag 11 december 2025 @ 00:45:
Ik ben bijna 3 uur net ChatGPT aan het klooien geweest om een Apache reversed proxy te installeren, maar ik bleef op foutmeldingen komen. Was de ene opgelost, was er weer een nieuwe. Na bijna 3 uur alles weer 'laten' terug zetten naar de begin stand en toen deed Nextcloud het gelukkig weer. Best leerzaam, maar helaas weer terug bij af. Nu naar bed... :z
Ik verwijs weer naar bovenstaande, als je niet snapt waar je mee bezig bent moet je zeker geen output van ChatGPT blindelings gaan uitvoeren want je ziet niet wat er niet klopt en je leert er ook eigenlijk niks van. En blijkbaar ga je het dan ook maar normaal vinden dat poort 80 door 'geen enkel proces' in gebruik is.

Kijk eerst maar eens wat voor service op die poort draait. Als het goed is moet je certbot gewoon iets in de webroot van die webserver kunnen laten gooien zonder dat je helemaal hoeft te gaan kutten met reverse proxies en andere zooi waar je nog geen kaas van gegeten hebt. Dan ben je een stuk sneller klaar en kan je die andere zaken later nog eens rustig uitzoeken als je daar zin in hebt. Zelf gebruik ik daarvoor certbot certonly --webroot -w /pad/naar/iets/, dan hoef je alleen nog maar op te zoeken waar op het filesystem je moet zijn en welke switch je nog nodig hebt om aan te geven om welk domein het gaat. Als dat gelukt is zou daarna het renew-commando moeten werken en hoef je zelf alleen nog maar de draaiende service automatisch een schop te laten geven na het vernieuwen. Maar dit kan je waarschijnlijk ook voor elkaar krijgen met de juiste plugin voor de webserver die daadwerkelijk draait, moet je die alleen nog maar eventjes installeren (*kuch* apt search certbot *kuch*).

[ Voor 11% gewijzigd door DataGhost op 11-12-2025 01:34 ]

Pagina: 1