- deploying CSS on a remote machine means you are a public accessible Pod Provider
- the pure installation of CSS is relatively simple (a couple of npm commands) but there is more needed, e.g. the certificates, the underlying web server (if wanted) or the configuration of the server, the service and the setup of the webroot
- detailed steps can be seen here
https://gist.github.com/ewingson/dbfee4d329c803aed0b0bd87e7a2fa00but this may vary depending on the hosting service provider and the booked virtual server (this must be a root machine, means you need ssh-access as user root) - I’m not really sure, if using the SSL-options of the provider can simplify the process, I doubt that
- I’ll try to get into the details now
- sign the domain name at a hosting service provider
- sign the server package at a hosting service provider (here it is called “virtual server” and you get along with 10 bucks a month) (this may be a different provider as 1., but for simplicity I’ll recommend booking both on the same service)
- OS: Debian 10 (or if possible 11)
- the price of 1. depends on the Top Level Domain, the price of 2. depends on the booked (virtual) hardware (vCores, storage, memory)
- you don’t need to book SSL cause that’s handled by letsencrypt
- configure a root-password for the vServer (accessed by IP or FullyQualifiedDomainName)
- connect the IP of 2. to the domain name, this means setup of DNS (IPv4 and IPv6) and a configuration in the customer GUI of the provider
- ssh into the machine (console:
ssh root@ip, then confirm storing the key on the local machine) - install node and npm (I’ll find out my versions, maybe possible to use nvm to handle different versions, but I chose to go without) ((>= node 12.7 is needed, I use node 12.22.7 and npm 6.14.15 but this is, because I have NSS and CSS running on the same machine, for CSS I’ll recommend @latest of node and npm))
- decide whether using an nginx (web server) with solid or ONLY the solid server (I’ll recommend using nginx because we need a reverse proxy, as which nginx can act)
https://certbot.eff.org/to install certbot (possibly using pip)- run certbot command
- leave the certbot command hanging and open a parallel browser window with the DNS settings of the hosting service provider
- DNS-Challenge works with deploying two DNS-Text-Records in a parallel window, call them both
_acme-challengeI think, detailed instructions how to call the file in the instructions of the terminal of 12. - wait a minute or 2, if want to be sure 5, but that’s a bit paranoid
-
- will tell you where the keys are stored
- delete the text records
- install nginx latest (if I remember right including a thing or option called “express”)
npm install -g @solid/community-server- proceed with
https://gist.github.com/ewingson/dbfee4d329c803aed0b0bd87e7a2fa00 - check and install
https://github.com/solid/community-server-recipesfor mashlib, adjust the service command - I think this gives an impression of the complexity
- be careful with the steps, cause one single mistake can fuck up the whole system