Rat's

一个去中心化的图片分享平台:ipfs.pics搭建教程
说明:N月前博主就分享过一个基于IPFS的去中心视频分享平台,查看:ipfstube安装教程,今天再分享个图片分享...
扫描右侧二维码阅读全文
14
2018/11

一个去中心化的图片分享平台:ipfs.pics搭建教程

说明:N月前博主就分享过一个基于IPFS的去中心视频分享平台,查看:ipfstube安装教程,今天再分享个图片分享平台ipfspics,大概原理这里再说下,就是是你上传图片后,并不会存储到自己的服务器,而是会上传到IPFS,再转化成一个哈希值,你可以根据这个哈希进行下载,任何人都无法删除,包括你自己,就算你上传的那个平台倒闭,该图片也会存在。对这个有兴趣的也可以拿来做个图床什么的。

截图

请输入图片描述
请输入图片描述

安装

Github地址:https://github.com/ipfspics/ipfspics-server

1、安装Docker

#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on

#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

2、安装Docker Compose

curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#验证是否安装成功
docker-compose --version
#返回以下类似信息即安装成功
docker-compose version 1.x

3、下载源码

git clone https://github.com/ipfspics/ipfspics-server.git
cd ipfspics-server
#安装镜像
docker-compose up -d

然后就可以通过ip:5000访问。

CentOS系统可能还需要开齐心ia端口,使用命令:

#CentOS 6
iptables -I INPUT -p tcp --dport 5000 -j ACCEPT
service iptables save
service iptables restart

#CentOS 7
firewall-cmd --zone=public --add-port=5000/tcp --permanent
firewall-cmd --reload

域名访问

反代可以用NginxCaddy,这里只说宝塔和Caddy。如果你网站有宝塔,就可以使用宝塔进行反代,如果没有,建议使用第2种的Caddy反代,配置很快。

1、宝塔反代
先进入宝塔面板,然后点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL填入http://127.0.0.1:5000,再启用反向代理即可。至于启用SSL就不说了,直接在站点配置就可以启用。

2、Caddy反代
安装Caddy

wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

配置Caddy

#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!

#http访问,该配置不会自动签发SSL
echo "xx.com {
 gzip
 proxy / 127.0.0.1:5000
}" > /usr/local/caddy/Caddyfile

#https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器
echo "xx.com {
 gzip
 tls admin@moerats.com
 proxy / 127.0.0.1:5000
}" > /usr/local/caddy/Caddyfile

tls参数会自动帮你签发ssl证书,如果你要使用自己的ssl,改为tls /root/xx.crt /root/xx.key即可。后面为ssl证书路径。

启动Caddy

/etc/init.d/caddy start

就可以打开域名进行访问了。

3、Nginx配置
如果你使用其它的,这里就大概发个Nginx反代配置,直接添加到配置文件即可。

#在配置文件里添加
location / {
     proxy_pass http://127.0.0.1:5000;
     proxy_redirect off;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

总结

博主发现这里有点坑的是,目录分类里,除了上传是正常的,其它貌似会报500错误,不过这个系统也只有上传有用,还可以拿来将就。而且上传完成后展示的地址来源直接是官方的,这对很多人来说估计很不适应,其实我们自己搭建的地址也可以做来源。

不过博主看了下源码,其实都可以解决掉,但需要我们修改下界面源码,这里就大概的说下修改方法。

#该源码根目录在/root/ipfspics-server/app,如果我们修改主界面布局,或者想要去掉无效的分类,编辑index.php即可。
#上传后的界面显示源码在/root/ipfspics-server/app/pages,如果修改上半部分的显示,编辑preview.php文件;下半部分编辑browse.php文件。

不是很擅长的,我们直接删掉无效的分类代码,把上传成功的展示地址和图标链接改一下就好了,最后自己慢慢研究吧。

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2018 年 11 月 14 日 01 : 33 PM

发表评论 取消回复

8 条评论

  1. LYM

  2. IPevolution

    博主,请问基于ipfs的去中心化的平台搭建是不是必须在linux系统下操作,或者是在windows环境下实现比较复杂?

    1. Rat's
      @IPevolution

      一般只建议在linux下操作

  3. 缙哥哥

    我之前发了一个去中心化的博客,直接电话打给我让我删了……

    1. chancat
      @缙哥哥

      怎么搭建的?能发一下链接吗 谢谢。

  4. Cloud

    为啥去中心化这么不收欢迎啊?都没人发表意见了

    1. Rat's
      @Cloud

      是的,我发的去中心评论都很少

    2. Rat's
      @Cloud

      是的,我发的去中心评论都很少