这个程序最早是用node.js写的v2版本,后来用go重写了v3版本,官方提供免费的5G存储,但如果你需要更多容量就要付费了。不过好在这个程序是开源的,任何人都可以部署自己的服务器。
功能你可以理解成和nextcloud差不多,但是性能要比nextcloud好,nextcloud那辣鸡玩意有性能可言嘛(某人语录233)
开始之前你需要做一下准备工作,按照下图的DNS记录解析你的域名:
下面我在CentOS7X64的机器上部署~
安装EPEL源:
yum -y install epel-release
安装ImageMagick,上传的图片缩略图生成依靠这个软件:
yum -y install ImageMagick
因为这个程序强制SSL,所以这里我们安装certbot用于签发SSL证书:
yum -y install certbot
这里我们要申请一个通配符证书:
certbot -d example.com -d *.example.com --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory certonly --agree-tos
因为这个certbot很矫情,很多环境会出现无法正常运行的情况,这时候我们还可以使用acme.sh来生成,首先一条命令安装:
curl https://get.acme.sh | sh
然后使用如下命令:
acme.sh --issue -d example.com -d *.example.com --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please
正常的话会回显给你类似如下图的内容,我们要在DNS解析处添加这样两条TXT记录:
如图所示:
等待解析生效,我使用CloudFlare的DNS生效很快,别的DNS可能要等很久,一定要等生效后,再执行下面的命令:
acme.sh --renew -d example.com -d *.example.com --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please
签发成功如图所示:
当然这里我只是提及一下这个申请方法,我这边还是使用certbot申请的。
接下来安装couchdb数据库,因为这个程序只能使用2.2版本的,所以下面我用这种安装方式进行安装:
yum -y install http://apache.bintray.com/couchdb-rpm/el7/x86_64/couch-js-1.8.5-21.el7.x86_64.rpm yum -y install http://apache.bintray.com/couchdb-rpm/el7/x86_64/couchdb-2.2.0-1.el7.x86_64.rpm
启动以及设置开机自启动:
systemctl start couchdb systemctl enable couchdb
可以查看一下当前的运行状态确保正常:
systemctl status couchdb
创建默认数据库:
curl -X PUT http://127.0.0.1:5984/_users curl -X PUT http://127.0.0.1:5984/_replicator curl -X PUT http://127.0.0.1:5984/_global_changes
如果正常,你应该看到类似这样的回显:
现在就可以下载cozy的主程序了,这是一个二进制的文件:
wget https://github.com/cozy/cozy-stack/releases/download/2018M4S3/cozy-stack-linux-amd64
给执行权限:
chmod +x cozy-stack-linux-amd64
然后移动到/usr/bin目录:
mv cozy-stack-linux-amd64 /usr/bin/cozy-stack
新建一个目录,这个用于cozy的默认存储目录:
mkdir /etc/cozy
生成一个管理员密码:
cozy-stack config passwd /etc/cozy/
创建一个systemd服务文件:
nano /etc/systemd/system/cozy-stack.service
写入:
[Unit] Description=cozy-stack server [Service] User=root ExecStart=/usr/bin/cozy-stack serve --allow-root --host 0.0.0.0 --mail-host smtp.gmail.com --mail-port 587 --mail-username [email protected] --mail-password yourpassword --mail-noreply-address [email protected] --mail-noreply-name lala.im Restart=on-abort [Install] WantedBy=multi-user.target
注:
1.你可以只带参数–allow-root –host 0.0.0.0进行配置,但这样启动的服务,待会我们创建的实例没有邮件相关的功能,比如用户找回密码是需要邮件功能的。
2.这个systemd内我使用的是gmail的smtp服务,默认情况下,这需要在你的账号内把“允许不够安全的应用”这个功能启用,地址:https://myaccount.google.com/lesssecureapps
3.–mail-noreply-address/–mail-noreply-name这两个选项可以自定义。
然后就可以运行服务了:
systemctl start cozy-stack
设置开机启动:
systemctl enable cozy-stack
查看运行状态:
systemctl status cozy-stack
确保是Active状态:
现在我们就可以创建一个实例了:
cozy-stack instances add --host 0.0.0.0 --apps drive,photos,collect,settings --passphrase 设置一个实例密码 "example.com"
这个过程中会让你输入两次密码,这个密码就是之前你自己生成的管理员密码:
完成之后安装Nginx:
yum -y install nginx
新建一个站点配置文件:
vi /etc/nginx/conf.d/cozy.conf
写入:
server { listen 80; listen 443 ssl http2; client_max_body_size 100000m; server_name example.com drive.example.com settings.example.com photos.example.com collect.example.com; ssl_certificate /etc/letsencrypt/live/example.com-0001/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com-0001/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; error_page 497 https://$host$request_uri; location / { proxy_pass http://127.0.0.1:8080; proxy_redirect http:// https://; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
启动Nginx以及设置开机启动:
systemctl start nginx systemctl enable nginx
关闭系统防火墙:
systemctl stop firewalld.service systemctl disable firewalld.service
关闭SELinux:
vi /etc/selinux/config SELINUX=disabled setenforce 0
默认情况下,我们创建的实例容量只有100GB,可以使用下面的命令增加:
cozy-stack instances set-disk-quota example.com 5000GB
如果你不再需要这个实例(确保数据都已备份)可以使用下面的命令删除:
cozy-stack instances rm example.com
现在打开你的域名应该可以看到这个网盘的登录界面了:
用户界面:
同步客户端下载:https://cozy.io/en/download/
最新评论
5211314
能不能教我 一点不会