- get Domain
- get VPS
- get mail hosting (using netcup here)
- go Cloudflare
- add domain
- choose NS setup
- change domain registrar to Custom NS
- enter CF NS
- continue CF settings
- for migration enter OLD HOST data first and change later
- A @ VPS-IP proxy
- A www VPS-IP proxy
- A staging VPS-IP proxy
- A www.staging VPS-IP proxy
- AAAA @ VPS-IP proxy
- AAAA www VPS-IP proxy
- AAAA staging VPS-IP proxy
- AAAA www.staging VPS-IP proxy
- A webmail NC-IP proxy
- A mail NC-IP noproxy
- MX domain.tld mail.domain.tld priority:10
- TXT @ v=spf1 mx a include:_spf.webhosting.systems ~all
- CF -> DNS -> DNSSEC
- activate DNSSEC
- go to registrar and make DNSSEC entry
- confirm on cloudflare
- check back 1h later to see it confirmed
- add subscription and choose mail only package
- add domain
- disable webhosting
- go to SSL/TLS-certificates
- click Add certificate
- get CF cert
- CF -> SSL/TLS -> Origin server
- create certificate
- add mail.domain.tld and webmail.domain.tld
- RSA(2048) - CF signed - 15 years (max available) - click create
- copy Private Key and certificate to Plesk
- click Upload on Plesk
- click OK on CF
- assign to mail and webmail on plesk
- create [email protected] account for transactional mail
- create [email protected] account for support, admin and catchall
- admin account used for DMARK reports and WP admin
- all the above points and DNSSEC, nothing else
- SSL Mode: full (not strict)
- -> Edge certificates
- always HTTPS: on
- HSTS: off
- minimum TLS: 1.1
- opportunistic encryption: on
- TLS 1.3: on
- automatic HTTPS rewrites: on
- certificate transparency: off
- -> Bots -> Bot Fight Mode off
- -> Settings
- Security: medium
- time window: 30 min
- integrity check: on
- privacy pass: on
- -> Optimisation
- Auto minify: CSS JS HTML - all on
- Brotli: on
- Early hints: on
- Rocket Loader: off
- AMP Url: off (for now. check back later when and if AMP is used)
- Mobile redirect: off
- -> Tiered Cache -> Argo Tiered Cache: on
- -> Configuration
- Caching level: standard
- Browser Cache TTL: 1 day
- Crawler notify: on (check back later if error)
- always online: off
- HTTP/2: on
- HTTP/3: on
- 0-RTT: on
- IPv6: on
- gRPC: off
- websockets: on
- onion routing: on
- pseudo IPv4: off
- IP geolocation: on
- email protect: on
- serverside excludes: on
- hotlink protect: off
- -> Rules -> Page Rules
- Create page rule
- URL: domain.tld/wp-login*
- Security Level: High
- Position: First
- -> Rules -> Page Rules
- Create page rule
- URL: domain.tld/wp-admin*
- Security Level: High
- Position: Last (second overall)
- activate cloudflare developer mode
- open VSCode bash terminal
- insert server IP, pw, Domain into key-vars
- edit key-vars settings if applicable
- insert cloudflare api key into key-vars
- cd into directory of install-slickstack.sh
- bash install-slickstack.sh