在阿里云上部署Solid服务器
1、Solid是什么?
Solid(中文文档)是一个令人兴奋的新项目,由万维网发明者 Tim Berners-Lee 爵士在麻省理工学院启动。 该项目旨在从根本上改变 Web 应用程序的中心化趋势, 它将真正地让数据所有权属于用户,并改善隐私问题。
①真正的数据所有权
用户可以自由选择数据存储的地方以及谁可以访问数据,Solid 通过将数据与应用程序分离达到了这一效果。
②模块化设计
由于用户产生的数据与应用程序是分离的,所以用户能够避免互联网服务提供商随意锁定、删除数据,从而在各个应用之间无缝切换而且不会丢失任何数据或社交关系。
③数据重复利用
开发者在创建新应用或改进现有应用时,可以重用现有的数据,其中有些数据可能是由其他程序创建的(但要得到用户的许可才能使用)。
2、在阿里云CentOS Linux上部署Solid服务器
前提必备:阿里云服务器、已备案域名
2.1:安装Certbot
yum install -y epel-release
yum install -y certbot
查看cerbot是否安装成功以及安装版本
certbot --version
certbot 1.11.0
2.2:使用Certbot安装SSL证书
certbot certonly --preferred-challenges dns --manual -d *.cncaq.com --server https://acme-v02.api.letsencrypt.org/directory
参数说明:
- --preferred-challenges dns: 认证方式选择DNS, 泛域名支持DNS
- --manual: 手动模式, 这里为了简单就使用手动认证了, 下面会说自动模式的使用.
- -d *.cncaq.com: 就是你自己申请匹配的泛域名了
- --server https://acme-v02.api.letsencrypt.org/directory: 泛域名证书是新功能, 如果要使用就得加上这个参数
运行会显示【有YES/No选项都输入y】:
-------------------------------------------------------------------------------
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that. Are you OK with your IP being logged?
-------------------------------------------------------------------------------
(Y)es/(N)o: y
直到出现以下界面先暂停在Liunx机上操作:
-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.cncaq.com with the following value: W2Z_PT1RQX8usavprZ1ly43Je2ayst3ShIBxpgicdEA Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
打开阿里云控制台进入【云解析DNS】->【解析设置】->【添加记录】:将记录类型选为TXT类型;将主机记录写为:_acme-challenge【固定的】;将色部位标记的字符串复制填入记录值;点击确定

设置完以后回到云服务操作界面按下Enter建,成功了就会显示以下界面:
Waiting for verification...
Cleaning up challenges IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/cncaq.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/cncaq.com/privkey.pem
Your cert will expire on 2020-07-16. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
至此SSL证书安装成功。
3、安装运行SoLiD Server
全局下载安装solid-server
npm install -g solid-server
找一个合适的位置创建给Solld初始化的文件夹【位置和文件夹命名随意】,在该文件下运行命令:
solid init
初始化时会要求你提供很多信息,大致入下面这样:
? Path to the folder you want to serve. Default is /var/www/your.host.example.org/data 【文件夹路径不是写死,是根据个人自己创建的文件路径,一般就是当前命令运行路径,所以可以什么都不该直接Enter就行】
? SSL port to run on. Default is 8443 443 【固定:433】
? SoLiD server uri (with protocol, hostname and port) https://your.host.example.org 【https://your.host.example.org格式固定,必须有https://为开头,根据个人网址设定,例如我设置的地址为:www.LCGbuff.com,就写成:https://www.LCGbuff.com】
? Enable WebID authentication Yes 【Yes】
? Serve SoLiD on URL path / 【默认,按Enter】
? Path to the config directory (for example: /etc/solid-server) /var/www/your.host.example.org/config 【默认,按Enter】
? Path to the config file (for example: ./config.json) /var/www/your.host.example.org/config.json 【默认,按Enter】
? Path to the server metadata db directory (for users/apps etc) /var/www/your.host.example.org/.db 【默认,按Enter】
? Path to the SSL private key in PEM format /etc/letsencrypt/live/your.host.example.org/privkey.pem 【输入:/etc/letsencrypt/live/your.host.example.org/privkey.pem 】
? Path to the SSL certificate key in PEM format /etc/letsencrypt/live/your.host.example.org/fullchain.pem 【输入:/etc/letsencrypt/live/your.host.example.org/fullchain.pem】
? Enable multi-user mode No
? Do you want to have a CORS proxy endpoint? Yes
? Serve the CORS proxy on this path /proxy
? Do you want to set up an email service? No
config created on /root/config.json
以上操作完了之后就已经安装完成solid-server,然后就可以正式启动 SoLiD 了:
solid start
之后根据设定好的地址就可以访问个人Solid服务器,进入后可以进行注册登录定制个人信息。
在阿里云上部署Solid服务器的更多相关文章
- 阿里云上部署了zabbix,突然无法收到报警邮件的解决办法
在阿里云上部署了zabbix,一直能正常接收到zbx发来的报警邮件(报警邮箱是163的),不知是什么原因,突然无法接收到报警邮件了. 但在服务器上手动执行echo "hello"| ...
- 如何在阿里云上部署war包到tomcat服务器
一. 准备工作:xshell和xftp 首先我们得确保,xshell能够远程连接阿里云ECS,xftp能够保证windows和linux之间的文件传输(当然也可以选择FileZilla,但xftp感觉 ...
- 云计算之路-阿里云上:Web服务器遭遇奇怪的“黑色30秒”问题
今天下午访问高峰的时候,主站的Web服务器出现奇怪的问题,开始是2台8核8G的云服务器(ECS),后来又加了1台8核8G的云服务器,问题依旧. 而且3台服务器特地使用了不同的配置:1台是禁用了虚拟内存 ...
- 在腾讯云&阿里云上部署JavaWeb项目(Tomcat+MySQL)
之前做项目都是在本地跑,最近遇到需要在在云服务器(阿里云或者腾讯云都可以,差不多)上部署Java Web项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...
- 【Centos】【Python】【Flask】阿里云上部署一个 flask 项目
1. 安装 python3 和 pip3 参考:http://www.cnblogs.com/mqxs/p/8692870.html 2.安装 lnmpa 集成开发环境 参考:http://www.c ...
- 云计算之路-阿里云上:部分服务器未及时续费造成docker swarm集群故障
非常非常抱歉,由于我们的疏忽 —— docker swarm 集群中的 2 台服务器没有及时续费,造成在夜里0点被自动关机,从而引发整个 docker swarm 集群故障,造成今天凌晨 0:30 ~ ...
- 在阿里云上部署 Postfix
Postfix 可以很方便的在一台机器上部署 smtp 服务,在 centos 上来说的话可以使用: sudo yum install postfix sudo systemctl enable po ...
- 阿里云上部署kafka--遇到的坑
阿里云防火墙关闭,并且配置规则.不然会导致访问不到服务. 问题一: Caused by: java.net.UnknownHostException: iZuf68tztea6l5ccdz7wemZ: ...
- 云计算之路-阿里云上:Web服务器请求到达量突降
今天下午遇到了自使用阿里云以来首次遇到的新情况——http.sys的ArrivalRate突降(说明请求到达IIS的请求数量少了),而且SLB中的3台ECS都出现了这个问题. 1. 10.161.24 ...
- 阿里云上部署tomcat启动后,通过http不能访问
原因是因为阿里为了安全设置了安全组策略,必须我们授权的端口,其他计算机才能通过http访问 设置流程: 点击安全组 再点击:配置规则 然后点击:添加安全组规则 开始配置:划红线的必写,授权对象:0.0 ...
随机推荐
- Java(if选择、switch选择、循环)
1.if 选择结构 //语法 if(表达式){ //语句:(表达式为真) }else{ //语句:(表达式为假) } --------------------------------------- 例 ...
- 基于uniapp+vite4+vue3搭建跨端项目|uni-app+uview-plus模板
最近得空学习了下uniapp结合vue3搭建跨端项目.之前也有使用uniapp开发过几款聊天/仿抖音/后台管理等项目,但都是基于vue2开发.随着vite.js破局出圈,越来越多的项目偏向于vue3开 ...
- mysql索引优化-01
1.1索引是什么? mysql官方对于索引的定义:可以帮助mysql高效的获取数据的数据结构. mysql在存储数据之外,数据库系统中还维护着满足特定查找算法的数据结构,这些数据结构给以某种引 ...
- Django容易被遗忘却无比重要的框架默认文件介绍及使用方法
在Python Web开发领域,Django框架的地位犹如璀璨的明星,其全面.高效和安全的特性使其在全球范围内广受欢迎.本文将全面解析Django框架的默认文件,并深入探讨每个文件及其组成的意义和用途 ...
- 【Jenkins】 GitLab Gitee GitHub 部署
Jenkins GitLab Gitee GitHub 部署 环境 Jenkins Git Maven Jenkins 部署可参考文章:https://www.cnblogs.com/cxt618/p ...
- 【Redis】基础命令
声明:本篇文章参考于该作者的# Redis从入门到精通:中级篇,大家有兴趣,去关注一下. 1.字符串(String) String(字符串)是Redis中最简单的一种数据结构,和MemCache数据结 ...
- Object.equals 和 String.equals的区别
一. 源码展示: 1. Object.equals: ①引用类型地址值比较,直接返回结果:true || false public class Object { public boolean equ ...
- Go语言中指针详解
指针在 Go 语言中是一个重要的特性,它允许你引用和操作变量的内存地址.下面是指针的主要作用和相关示例代码: 1. 引用传递 在 Go 中,所有的变量传递都是值传递,即复制变量的值.如果你想在一个函数 ...
- Postgresql: 常用配置
允许远程链接postgresql 要允许 PostgreSQL 数据库允许远程连接,需要进行以下配置步骤: 打开 PostgreSQL 的主配置文件 postgresql.conf.通常,该文件位于以 ...
- peewee模块更改数据-sqlite
更改数据 from playhouse.migrate import *# SQLite example: my_db = SqliteDatabase('my_database.db') migra ...