Making a website

Making a website is both easier and harder than it seems.

What I mean by this is that if you have very specific behaviour you’d like your website to follow, then you will probably have to follow one of three routes:

  1. Learn programming and do it yourself
  2. Pay someone to build your website for you
  3. Subscribe to a website builder that can do it

However if you want to make something simple, say a online CV or portfolio, it does not have to be that hard, although it may be tedious depending on the specific site.

Basically, you build a WordPress site, export it, and then host it on Cloudflare as a “page”.

The cost for this is the price of a domain or free if you don’t mind a link that looks like ” xxxxxxxx.pages.dev “

So how do you actually do this?

  • Download LocalWP
  • Start it up
  • Go into

If you want to make your own theme, here are some useful YouTube tutorials.

  1. Create your own WordPress theme (Visual editor) (My choice)
  2. WordPress theme development tutorial (includes a little coding)

Other guides if you really want to understand how to host your own website.

Here’s the full walkthrough as clean, actionable steps you could follow start to finish:

1. Set the WordPress domain during install

  • When TurnKey asks: Enter domain to serve WordPress...
  • If you have a real domain pointed at the server → type it plain, no http://
  • If it’s local/internal (like this setup) → enter the container’s IP address instead

2. Find your container’s IP (if needed)

pct exec <CTID> -- ip a

Look for the inet line under eth0. (Or check Proxmox UI → container → Summary tab.)

3. Remove the “Powered by TurnKey Linux” footer

a2dismod substitute
service apache2 restart

4. Fix slugs that don’t match page titles

  1. Open the page/post in wp-admin
  2. Find the Permalink field (Block editor: sidebar → Page/Post tab; Classic editor: under the title)
  3. Edit the slug manually to match the title
  4. Update/save
  5. (Optional but recommended if the site is live) Install a redirect plugin like Redirection so old URLs 301 to the new ones

5. Set up a real WP-Cron trigger for Simply Static

  1. Test the endpoint first:
curl -vk https://192.168.3.127/wp-cron.php
  1. Open the crontab:
crontab -e
  1. Press i if in vi/vim to enter insert mode
  2. Add this line:
*/5 * * * * curl -sk https://192.168.3.127/wp-cron.php >/dev/null 2>&1
  1. Save:
    • nano: Ctrl+OEnterCtrl+X
    • vi/vim: Esc:wqEnter
  2. Confirm it saved:
crontab -l
  1. Wait a few minutes, then re-check Simply Static — the WP-Cron warning should clear

6. Stop “Forbidden” errors on fast page refresh

  1. Confirm the cause:
apache2ctl -M | grep evasive
  1. Either loosen the limits:
nano /etc/apache2/mods-available/evasive.conf

Raise DOSPageCount, DOSSiteCount; lower DOSBlockingPeriod

or disable it entirely (fine for an internal-only LAN site):

a2dismod evasive
  1. Restart Apache either way:
service apache2 restart

That’s the full sequence from initial install through to a clean, exportable, cron-reliable WordPress setup. Let me know if you want this saved as a text file you can keep for reference.