|
connect root-server to net (depends on provider) (you will need ssh)<br /> |
|
* order vserver at provider of your choice<br /> |
|
|
|
assign FQDN to the machine<br /> |
|
* setup DNS properly<br /> |
|
|
|
get and deploy https certificate<br /> |
|
* ssh into the machine<br /> |
|
* deploy two certificates with letsencrypt/certbot (domain-cert and wildcard-cert)<br /> |
|
(you will need to edit a DNS-text-record depending on the challenge) |
|
|
|
apache config<br /> |
|
* enable modules (ssl.conf, ssl.load, proxy.conf, proxy.load, proxy_html.conf, proxy_html.load, proxy_http.conf, proxy_http.load, rewrite.load, socache_shmcb.load) |
|
* edit 000-default.conf |
|
* edit default-ssl.conf |
|
|
|
install nodejs and npm<br /> |
|
* https://crycode.de/installation-von-node-js<br /> |
|
|
|
install solid server<br /> |
|
* `$ npm install -g solid-server`<br /> |
|
|
|
init solid server (config)<br /> |
|
* ? Path to the folder you want to serve. Default is (./data) /var/www/your.host.example.org/data<br /> |
|
? SSL port to run on. Default is (8443) 8443<br /> |
|
? Solid server uri (with protocol, hostname and port) https://your.host.example.org<br /> |
|
? Enable WebID authentication Yes<br /> |
|
? Serve Solid on URL path /<br /> |
|
? Path to the config directory (for example: /etc/solid-server) (./config) /var/www/your.host.example.org/config<br /> |
|
? Path to the config file (for example: ./config.json) (./config.json) /var/www/your.host.example.org/config.json<br /> |
|
? Path to the server metadata db directory (for users/apps etc) (./.db) /var/www/your.host.example.org/.db<br /> |
|
? Path to the SSL private key in PEM format /etc/letsencrypt/live/your.host.example.org/privkey.pem<br /> |
|
? Path to the SSL certificate key in PEM format /etc/letsencrypt/live/your.host.example.org/fullchain.pem<br /> |
|
? Enable multi-user mode Yes<br /> |
|
? Do you want to set up an email service (y/N) N<br /> |
|
? A name for your server (not required) your.host.example.org<br /> |
|
? A description of your server (not requred) undefined<br /> |
|
? A logo (not required) undefined<br /> |
|
? Do you want to enforce Terms & Conditions for your service (y/N) N<br /> |
|
? Do you want to disable password strength checking (y/N) N<br /> |
|
? The support email you provide for your users (not required) undefined<br /> |
|
config created on /root/config.json<br /> |
|
|
|
Then, you need to create the paths that you entered. You would also need to copy the config.json file to where you indicated it should be.<br /> |
|
|
|
add user solid<br /> |
|
* `$ adduser –system –ingroup www-data –no-create-home solid`<br /> |
|
|
|
create /lib/systemd/system/solid.service<br /> |
|
* `[Unit]`<br /> |
|
`Description=solid – Social Linked Data`<br /> |
|
`Documentation=https://solid.inrupt.com/docs/`<br /> |
|
`After=network.target`<br /> |
|
|
|
`[Service]`<br /> |
|
`Type=simple`<br /> |
|
`User=solid`<br /> |
|
`WorkingDirectory=/var/www/your.host.example.org`<br /> |
|
`ExecStart=/usr/bin/solid start`<br /> |
|
`Restart=on-failure`<br /> |
|
|
|
`[Install]`<br /> |
|
`WantedBy=multi-user.target`<br /> |
|
|
|
create symlink<br /> |
|
* `$ ln -s /lib/systemd/system/solid.service /etc/systemd/system/multi-user.target.wants/`<br /> |
|
|
|
chown solid config directories<br /> |
|
* `$ cd /var/www/your.host.example.org/`<br /> |
|
`$ chown solid:www-data config/ data/ .db/`<br /> |
|
|
|
start service |
|
* `$ systemctl start solid.service` |