Raspberrypi Wordpress Apache fix

I’ve been setting up a Raspberrypi Wordpress homeserver for some self-promo artwork. My domain name has a CNAME pointed to www.davidhallows.duckdns.org That all works fine but after rebuilding it several times I can no longer to get my certificates to work. Last time I used the certbot ato and it went well, this time I really don’t know what is going on. Before I mess up my whole darn system again and start afresh, i’d be super grateful if someone could point me in the right direction.

My domain is:www.davidhallows.com

I ran this command:

It produced this output:

My web server is (include version): Raspberrypi Buster

The operating system my web server runs on is (include version):

My hosting provider, if applicable, is:Justhost

I can login to a root shell on my machine (yes or no, or I don’t know):yep

I’m using a control panel to manage my site (no, or provide the name and version of the control panel):

The version of my client is (e.g. output of certbot --version or certbot-auto --version if you’re using Certbot):Certbot auto

Be sure the IP is current in duckdns and that port 80 is being allowed through and accepted.

IP currently:
Name: www.davidhallows.duckdns.org
Address: 92.30.233.43

Current Port 443 response:

openssl s_client -connect 92.30.233.43:443
CONNECTED(00000134)
140:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:ssl\record\ssl3_record.c:250:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 176 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1573921423
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
---

HTTP (and DNS) appears to be working:

What happens when you run certbot-auto ?
[although, you wrote: certbot auto, you probably meant certbot-auto]

Hi @DaveHy

checking your domain you have http over port 443 - https://check-your-website.server-daten.de/?q=davidhallows.duckdns.org

Domainname Http-Status redirect Sec. G
http://davidhallows.duckdns.org/ 92.30.233.43 301 http://www.davidhallows.com/ 0.234 D
http://www.davidhallows.duckdns.org/ 92.30.233.43 301 http://www.davidhallows.com/ 0.187 D
http://www.davidhallows.com/ GZip used - 5785 / 21794 - 73,46 % 200 Html is minified: 168,65 % 0.700 H
https://davidhallows.duckdns.org/ 92.30.233.43 -4 0.220 W
SendFailure - The underlying connection was closed: An unexpected error occurred on a send.
https://www.davidhallows.duckdns.org/ 92.30.233.43 -4 0.216 W
SendFailure - The underlying connection was closed: An unexpected error occurred on a send.
http://davidhallows.duckdns.org:443/ 92.30.233.43 301 http://www.davidhallows.com/ 0.250 Q
Visible Content:
http://www.davidhallows.duckdns.org:443/ 92.30.233.43 301 http://www.davidhallows.com/ 0.187 Q
Visible Content:

If https doesn't work, but if a Http Status -4 is visible, the tool tries to check http over port 443.

And checking

http://davidhallows.duckdns.org:443/

there is a correct redirect http status 301 to your main domain.

So you have

  • a wrong port forwarding (or)
  • an incomplete port 443, that's a http-port (not a https port)

First step: Check your port forwarding port port 443 extern -> port 443 intern.
Second step: What says

curl https://davidhallows.duckdns.org/
curl http://davidhallows.duckdns.org:443/

from a console of that server?

It's an apache, so what says

apachectl -S
1 Like

Thanks both. I’ll get back to you tomorrow, much appreciated :slight_smile:

1 Like

Hi Jeurgen

So, I prompted your questions and here's the answers, It's a rather large, and somewhat incomprehensible to me, paste job -

pi@192.168.1.106's password:
Linux raspberrypi 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Nov 16 14:37:52 2019 from 192.168.1.113
pi@raspberrypi:~ $ curl https://davidhallows.duckdns.org/
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
pi@raspberrypi:~ $ curl http://davidhallows.duckdns.org:443/

    <head>

            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0" >

            <link rel="profile" href="https://gmpg.org/xfn/11">

            <title>www.davidhallows.com &#8211; Just another WordPress site</title>
img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } .color-accent,.color-accent-hover:hover,.color-accent-hover:focus,:root .has-accent-color,.has-drop-cap:not(:focus):first-letter,.wp-block-button.is-style-outline,a { color: #cd2653; }blockquote,.border-color-accent,.border-color-accent-hover:hover,.border-color-accent-hover:focus { border-color: #cd2653; }button:not(.toggle),.button,.faux-button,.wp-block-button__link,.wp-block-file .wp-block-file__button,input[type="button"],input[type="reset"],input[type="submit"],.bg-accent,.bg-accent-hover:hover,.bg-accent-hover:focus,:root .has-accent-background-color,.comment-reply-link { background-color: #cd2653; }.fill-children-accent,.fill-children-accent * { fill: #cd2653; }body,.entry-title a,:root .has-primary-color { color: #000000; }:root .has-primary-background-color { background-color: #000000; }cite,figcaption,.wp-caption-text,.post-meta,.entry-content .wp-block-archives li,.entry-content .wp-block-categories li,.entry-content .wp-block-latest-posts li,.wp-block-latest-comments__comment-date,.wp-block-latest-posts__post-date,.wp-block-embed figcaption,.wp-block-image figcaption,.wp-block-pullquote cite,.comment-metadata,.comment-respond .comment-notes,.comment-respond .logged-in-as,.pagination .dots,.entry-content hr:not(.has-background),hr.styled-separator,:root .has-secondary-color { color: #6d6d6d; }:root .has-secondary-background-color { background-color: #6d6d6d; }pre,fieldset,input,textarea,table,table *,hr { border-color: #dcd7ca; }caption,code,code,kbd,samp,.wp-block-table.is-style-stripes tbody tr:nth-child(odd),:root .has-subtle-background-background-color { background-color: #dcd7ca; }.wp-block-table.is-style-stripes { border-bottom-color: #dcd7ca; }.wp-block-latest-posts.is-grid li { border-top-color: #dcd7ca; }:root .has-subtle-background-color { color: #dcd7ca; }body:not(.overlay-header) .primary-menu > li > a,body:not(.overlay-header) .primary-menu > li > .icon,.modal-menu a,.footer-menu a, .footer-widgets a,#site-footer .wp-block-button.is-style-outline,.wp-block-pullquote:before,.singular:not(.overlay-header) .entry-header a,.archive-header a,.header-footer-group .color-accent,.header-footer-group .color-accent-hover:hover { color: #cd2653; }.social-icons a,#site-footer button:not(.toggle),#site-footer .button,#site-footer .faux-button,#site-footer .wp-block-button__link,#site-footer .wp-block-file__button,#site-footer input[type="button"],#site-footer input[type="reset"],#site-footer input[type="submit"] { background-color: #cd2653; }.header-footer-group,body:not(.overlay-header) #site-header .toggle,.menu-modal .toggle { color: #000000; }body:not(.overlay-header) .primary-menu ul { background-color: #000000; }body:not(.overlay-header) .primary-menu > li > ul:after { border-bottom-color: #000000; }body:not(.overlay-header) .primary-menu ul ul:after { border-left-color: #000000; }.site-description,body:not(.overlay-header) .toggle-inner .toggle-text,.widget .post-date,.widget .rss-date,.widget_archive li,.widget_categories li,.widget cite,.widget_pages li,.widget_meta li,.widget_nav_menu li,.powered-by-wordpress,.to-the-top,.singular .entry-header .post-meta,.singular:not(.overlay-header) .entry-header .post-meta a { color: #6d6d6d; }.header-footer-group pre,.header-footer-group fieldset,.header-footer-group input,.header-footer-group textarea,.header-footer-group table,.header-footer-group table *,.footer-nav-widgets-wrapper,#site-footer,.menu-modal nav *,.footer-widgets-outer-wrapper,.footer-top { border-color: #dcd7ca; }.header-footer-group table caption,body:not(.overlay-header) .header-inner .toggle-wrapper::before { background-color: #dcd7ca; } .recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}
    <body class="home page-template-default page page-id-5 singular enable-search-modal missing-post-thumbnail has-no-pagination not-showing-comments show-avatars footer-top-visible">

            <a class="skip-link screen-reader-text" href="#site-content">Skip to the content</a>
            <header id="site-header" class="header-footer-group" role="banner">

                    <div class="header-inner section-inner">

                            <div class="header-titles-wrapper">


                                            <button class="toggle search-toggle mobile-search-toggle" data-toggle-target=".search-modal" data-toggle-body-class="showing-search-modal" data-set-focus=".search-modal .search-field" aria-expanded="false">
                                                    <span class="toggle-inner">
                                                            <span class="toggle-icon">
                                                                    <svg class="svg-icon" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 23 23"><path d="M38.710696,48.0601792 L43,52.3494831 L41.3494831,54 L37.0601792,49.710696 C35.2632422,51.1481185 32.9839107,52.0076499 30.5038249,52.0076499 C24.7027226,52.0076499 20,47.3049272 20,41.5038249 C20,35.7027226 24.7027226,31 30.5038249,31 C36.3049272,31 41.0076499,35.7027226 41.0076499,41.5038249 C41.0076499,43.9839107 40.1481185,46.2632422 38.710696,48.0601792 Z M36.3875844,47.1716785 C37.8030221,45.7026647 38.6734666,43.7048964 38.6734666,41.5038249 C38.6734666,36.9918565 35.0157934,33.3341833 30.5038249,33.3341833 C25.9918565,33.3341833 22.3341833,36.9918565 22.3341833,41.5038249 C22.3341833,46.0157934 25.9918565,49.6734666 30.5038249,49.6734666 C32.7048964,49.6734666 34.7026647,48.8030221 36.1716785,47.3875844 C36.2023931,47.347638 36.2360451,47.3092237 36.2726343,47.2726343 C36.3092237,47.2360451 36.347638,47.2023931 36.3875844,47.1716785 Z" transform="translate(-20 -31)" /></svg>                                                             </span>
                                                            <span class="toggle-text">Search</span>
                                                    </span>
                                            </button><!-- .search-toggle -->


                                    <div class="header-titles">

                                            <div class="site-title faux-heading"><a href="https://www.davidhallows.com/">www.davidhallows.com</a></div><div class="site-description">Just another WordPress site</div><!-- .site-description -->
                                    </div><!-- .header-titles -->

                                    <button class="toggle nav-toggle mobile-nav-toggle" data-toggle-target=".menu-modal"  data-toggle-body-class="showing-menu-modal" aria-expanded="false" data-set-focus=".close-nav-toggle">
                                            <span class="toggle-inner">
                                                    <span class="toggle-icon">
                                                            <svg class="svg-icon" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" width="26" height="7" viewBox="0 0 26 7"><path fill-rule="evenodd" d="M332.5,45 C330.567003,45 329,43.4329966 329,41.5 C329,39.5670034 330.567003,38 332.5,38 C334.432997,38 336,39.5670034 336,41.5 C336,43.4329966 334.432997,45 332.5,45 Z M342,45 C340.067003,45 338.5,43.4329966 338.5,41.5 C338.5,39.5670034 340.067003,38 342,38 C343.932997,38 345.5,39.5670034 345.5,41.5 C345.5,43.4329966 343.932997,45 342,45 Z M351.5,45 C349.567003,45 348,43.4329966 348,41.5 C348,39.5670034 349.567003,38 351.5,38 C353.432997,38 355,39.5670034 355,41.5 C355,43.4329966 353.432997,45 351.5,45 Z" transform="translate(-329 -38)" /></svg>         </span>
                                                    <span class="toggle-text">Menu</span>
                                            </span>
                                    </button><!-- .nav-toggle -->

                            </div><!-- .header-titles-wrapper -->

                            <div class="header-navigation-wrapper">


                                                    <nav class="primary-menu-wrapper" aria-label="Horizontal" role="navigation">

                                                            <ul class="primary-menu reset-list-style">

                                                            <li class="page_item page-item-5 current_page_item current-menu-item"><a href="https://www.davidhallows.com/" aria-current="page">Homepage</a></li>
  • Sample Page
  •                                                             </ul>
    
                                                        </nav><!-- .primary-menu-wrapper -->
    
    
                                                <div class="header-toggles hide-no-js">
    
    
                                                        <div class="toggle-wrapper search-toggle-wrapper">
    
                                                                <button class="toggle search-toggle desktop-search-toggle" data-toggle-target=".search-modal" data-toggle-body-class="showing-search-modal" data-set-focus=".search-modal .search-field" aria-expanded="false">
                                                                        <span class="toggle-inner">
                                                                               <svg class="svg-icon" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 23 23"><path d="M38.710696,48.0601792 L43,52.3494831 L41.3494831,54 L37.0601792,49.710696 C35.2632422,51.1481185 32.9839107,52.0076499 30.5038249,52.0076499 C24.7027226,52.0076499 20,47.3049272 20,41.5038249 C20,35.7027226 24.7027226,31 30.5038249,31 C36.3049272,31 41.0076499,35.7027226 41.0076499,41.5038249 C41.0076499,43.9839107 40.1481185,46.2632422 38.710696,48.0601792 Z M36.3875844,47.1716785 C37.8030221,45.7026647 38.6734666,43.7048964 38.6734666,41.5038249 C38.6734666,36.9918565 35.0157934,33.3341833 30.5038249,33.3341833 C25.9918565,33.3341833 22.3341833,36.9918565 22.3341833,41.5038249 C22.3341833,46.0157934 25.9918565,49.6734666 30.5038249,49.6734666 C32.7048964,49.6734666 34.7026647,48.8030221 36.1716785,47.3875844 C36.2023931,47.347638 36.2360451,47.3092237 36.2726343,47.2726343 C36.3092237,47.2360451 36.347638,47.2023931 36.3875844,47.1716785 Z" transform="translate(-20 -31)" /></svg>                                                                     <span class="toggle-text">Search</span>
                                                                        </span>
                                                                </button><!-- .search-toggle -->
    
                                                        </div>
    
    
                                                </div><!-- .header-toggles -->
    
                                </div><!-- .header-navigation-wrapper -->
    
                        </div><!-- .header-inner -->
    
                        <div class="search-modal cover-modal header-footer-group" data-modal-target-string=".search-modal">
    
        <div class="search-modal-inner modal-inner">
    
                <div class="section-inner">
    
                        <form role="search" aria-label="Search for:" method="get" class="search-form" action="https://www.davidhallows.com/">
        <label for="search-form-1">
                <span class="screen-reader-text">Search for:</span>
                <input type="search" id="search-form-1" class="search-field" placeholder="Search &hellip;" value="" name="s" />
        </label>
        <input type="submit" class="search-submit" value="Search" />
    
                        <button class="toggle search-untoggle close-search-toggle fill-children-current-color" data-toggle-target=".search-modal" data-toggle-body-class="showing-search-modal" data-set-focus=".search-modal .search-field" aria-expanded="false">
                                <span class="screen-reader-text">Close search</span>
                                <svg class="svg-icon" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polygon fill="" fill-rule="evenodd" points="6.852 7.649 .399 1.195 1.445 .149 7.899 6.602 14.352 .149 15.399 1.195 8.945 7.649 15.399 14.102 14.352 15.149 7.899 8.695 1.445 15.149 .399 14.102" /></svg>                 </button><!-- .search-toggle -->
    
                </div><!-- .section-inner -->
    
        </div><!-- .search-modal-inner -->
    
                </header><!-- #site-header -->
    
        <div class="menu-modal-inner modal-inner">
    
                <div class="menu-wrapper section-inner">
    
                        <div class="menu-top">
    
                                <button class="toggle close-nav-toggle fill-children-current-color" data-toggle-target=".menu-modal" data-toggle-body-class="showing-menu-modal" aria-expanded="false" data-set-focus=".menu-modal">
                                        <span class="toggle-text">Close Menu</span>
                                        <svg class="svg-icon" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polygon fill="" fill-rule="evenodd" points="6.852 7.649 .399 1.195 1.445 .149 7.899 6.602 14.352 .149 15.399 1.195 8.945 7.649 15.399 14.102 14.352 15.149 7.899 8.695 1.445 15.149 .399 14.102" /></svg>         </button><!-- .nav-toggle -->
    
    
                                        <nav class="mobile-menu" aria-label="Mobile" role="navigation">
    
                                                <ul class="modal-menu reset-list-style">
    
                                                <li class="page_item page-item-5 current_page_item current-menu-item"><div class="ancestor-wrapper"><a href="https://www.davidhallows.com/" aria-current="page">Homepage</a></div><!-- .ancestor-wrapper --></li>
    
  •                                             </ul>
    
                                        </nav>
    
    
                        </div><!-- .menu-top -->
    
                        <div class="menu-bottom">
    
    
                        </div><!-- .menu-bottom -->
    
                </div><!-- .menu-wrapper -->
    
        </div><!-- .menu-modal-inner -->
    
        <div class="entry-header-inner section-inner medium">
    
                <h1 class="entry-title">Homepage</h1>
        </div><!-- .entry-header-inner -->
    
        <div class="post-inner thin ">
    
                <div class="entry-content">
    

    Hopefully this works…………

                </div><!-- .entry-content -->
    
        </div><!-- .post-inner -->
    
        <div class="section-inner">
    
        </div><!-- .section-inner -->
    
        <div class="footer-nav-widgets-wrapper header-footer-group">
    
                <div class="footer-inner section-inner">
    
    
    
                                <aside class="footer-widgets-outer-wrapper" role="complementary">
    
                                        <div class="footer-widgets-wrapper">
    
    
                                                        <div class="footer-widgets column-one grid-item">
                                                                <div class="widget widget_search"><div class="widget-content"><form role="search"  method="get" class="search-form" action="https://www.davidhallows.com/">
        <label for="search-form-2">
                <span class="screen-reader-text">Search for:</span>
                <input type="search" id="search-form-2" class="search-field" placeholder="Search &hellip;" value="" name="s" />
        </label>
        <input type="submit" class="search-submit" value="Search" />
    

    Recent Posts

                                                        <div class="footer-widgets column-two grid-item">
                                                                <div class="widget widget_archive"><div class="widget-content"><h2 class="widget-title subheading heading-size-3">Archives</h2>         <ul>
                                <li><a href='https://www.davidhallows.com/2019/11/'>November 2019</a></li>
                </ul>
                        </div></div><div class="widget widget_categories"><div class="widget-content"><h2 class="widget-title subheading heading-size-3">Categories</h2>                <ul>
                                <li class="cat-item cat-item-1"><a href="https://www.davidhallows.com/category/uncategorised/">Uncategorised</a>
    
                                        </div><!-- .footer-widgets-wrapper -->
    
                                </aside><!-- .footer-widgets-outer-wrapper -->
    
    
                </div><!-- .footer-inner -->
    
        </div><!-- .footer-nav-widgets-wrapper -->
    
    
                        <footer id="site-footer" role="contentinfo" class="header-footer-group">
    
                                <div class="section-inner">
    
                                        <div class="footer-credits">
    
                                                <p class="footer-copyright">&copy;
                                                        2019                   <a href="https://www.davidhallows.com/">www.davidhallows.com</a>
                                                </p><!-- .footer-copyright -->
    
                                                <p class="powered-by-wordpress">
                                                        <a href="https://en-gb.wordpress.org/">
                                                                Powered by WordPress                                                    </a>
                                                </p><!-- .powered-by-wordpress -->
    
                                        </div><!-- .footer-credits -->
    
                                        <a class="to-the-top" href="#site-header">
                                                <span class="to-the-top-long">
                                                        To the top <span class="arrow" aria-hidden="true">&uarr;</span>                                        </span><!-- .to-the-top-long -->
                                                <span class="to-the-top-short">
                                                        Up <span class="arrow" aria-hidden="true">&uarr;</span>                                         </span><!-- .to-the-top-short -->
                                        </a><!-- .to-the-top -->
    
                                </div><!-- .section-inner -->
    
                        </footer><!-- #site-footer -->
    
                <script src='https://www.davidhallows.com/wp-includes/js/wp-embed.min.js?ver=5.3'></script>
        <script>
        /(trident|msie)/i.test(navigator.userAgent)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",function(){var t,e=location.hash.substring(1);/^[A-z0-9_-]+$/.test(e)&&(t=document.getElementById(e))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())},!1);
        </script>
    
        </body>
    
    pi@raspberrypi:~ $ apachectl -S 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 VirtualHost configuration: *:80 127.0.1.1 (/etc/apache2/sites-enabled/000-default.conf:1) ServerRoot: "/etc/apache2" Main DocumentRoot: "/var/www/html" Main ErrorLog: "/var/log/apache2/error.log" Mutex ssl-cache: using_defaults Mutex default: dir="/var/run/apache2/" mechanism=default Mutex mpm-accept: using_defaults Mutex watchdog-callback: using_defaults Mutex rewrite-map: using_defaults Mutex ssl-stapling-refresh: using_defaults Mutex ssl-stapling: using_defaults PidFile: "/var/run/apache2/apache2.pid" Define: DUMP_VHOSTS Define: DUMP_RUN_CFG User: name="www-data" id=33 not_used Group: name="www-data" id=33 not_used pi@raspberrypi:~ $

    Apologies in advance :confused:
    Dave

    So you have internal the same problem, http over port 443. That's all, the complete output isn't required.

    There is no port 443 defined. So you can't connect port 443.

    On which machine did you run these commands?

    Looks like http://davidhallows.duckdns.org:443/ is another machine, not that raspberrypi.

    Thanks Juergen

    I ran the commands on my pi. So, how would I define the port 443? I’ve opened them up to tally with my pi’s internal ip…

    Sorry, I should say I ran the commands over putty from my Surface Pro…

    Your webserver doesn't have a port 443 - apachectl -S must show port 443, there is nothing.

    But

    http://davidhallows.duckdns.org:443/
    

    answers, so it looks that this answer isn't the machine you have executed

    apachectl -S
    

    Or it's another wrong port forwarding: External port 443 -> internal port 80. But then it shouldn't work internal.

    Hi Jeurgen

    Excuse my ignorance, should I therefore open up port 443 on my raspberry pi? Is that the usual protocol as well as doing it on my router?

    The screenshot of the router ports being forwarded looks good.
    [presuming your Pi is at 192.168.1.106]

    The issue now is within the Pi config.
    The web server needs to listen on 80 and 443.
    And apply TLS(SSL) to the connections on 443.
    You should review your config and make the necessary changes.

    As it stands, it seems to be listening on both ports but is NOT applying encryption (TLS/SSL) to the connections on port 443.;
    [so you’re half way there]

    A good way to test your progress:
    http://davidhallows.duckdns.org:443/
    https://davidhallows.duckdns.org:443/

    The first should fail but returns HTTP web content.
    The second should work (and be encrypted) but it fails.

    Thanks rg305

    Yes, the tests did produce the results you mentioned. Unfortunately my knowledge of reviewing the config is limited. Do you know how to proceed?

    Sure, just show the vhost config that should be doing the encryption.

    Ok, apologies again. I presume it’s in the Let’sEncrypt folder?

    No, it should be a file linked through:
    /etc/apache2/sites-enabled/<something>

    Weirdly, the sites-enabled folder has another folder inside that I cannot access, even though it has 777 permissions, 000-default.conf folder. Here’s my screen grab -

    000-default.conf should be a file (not a folder)

    Your picture shows the apache folder.
    Please show the sites-enabled folder.

    Here it is. Apart from that folder I mentioned, there’s nothing else in there…


    So it seems it is a broken symlink - victim of an rm command.
    Try deleting it.
    Or:
    unlink /etc/apache2/site-enabled/000-default.conf