怎么获得云盘的权限(轻松搭建个人专属网盘)
今天为大家介绍一款企业级的开源私有云盘,可以完美替代某度网盘。大家千万不要被企业级吓到,要知道开源软件,只要不用于商业用途一般都是可以自由使用的。
今天介绍的这款开源云盘叫做Seafile。Seafile 起源于清华实验室,目前已发展成为一个国际化的开源项目。
Seafile 解决方案得到了全球过百万用户、数千计公司机构、数家全球顶级学府的信任。在清华大学倍受广大师生喜爱的清华云盘就是使用Seafile 搭建的。
Seafile 是使用C/C 打造开源网盘,执行性能很高,家里淘汰的电脑也可稳定运行。
Seafile 几乎提供了主流云盘产品所具有的所有功能,包括文件同步、文件共享等。在此基础上,Seafile 还提供了高级的安全保护功能以及群组协作功能。
下面我们开始Seafile 云盘服务器的安装。
一、操作系统准备
Seafile 云盘服务器可以部署在Windows系统也可以部署在Linux系统,为了最大化发挥咱们老电脑的性能,建议大家使用Linux系统,我这里使用的是开源的Centos 7系统。
安装操作系统时要注意设置用于Seafile 存储的分区,该分区的空间一定要能满足自己存储数据的需要。
我是单独使用一块硬盘挂载到/data/seafile目录来存储数据的。
单独的硬盘可在系统安装完后再进行挂载。
#查看当前磁盘信息,第一块磁盘是sda,第二块为sdb,依次递推
fdisk -l
#分区
fdisk /dev/sdb
#输入m查看帮助
Command action
d delete a partition #删除分区
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition #新增分区
o create a new empty DOS partition table
q quit without saving changes
s create a new empty Sun disklabel
w write table to disk and exit #保存分区表
#1、输入d删除分区
#2、输入n创建新分区,一路回车选择默认即可
#3、输入w保存分区表
#格式化分区为XFS
mkfs.xfs -f /dev/sdb1
挂载分区
mount -t xfs /dev/sdb1 /data/seafile
vi /etc/fatab
#在最后一行添加
/dev/sdb1 /data/seafile xfs defaults 0 0
二、Docker环境安装
为了方便部署和维护,建议大家使用Docker方式进行部署。大家没用过Docker也没问题,直接按照阿里巴巴开源镜像站给出文档安装即可,复制粘贴几条命令就可以顺利完成安装。装上之后再熟悉也不迟嘛。
# step 1: 安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/Centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
yum makecache fast
yum -y install docker-ce
# Step 4: 开启Docker服务
systemctl start docker
# Step 5: 设置Docker开机自动启动
systemctl enable docker
如果启动docker服务失败,可尝试
1、停止firewalld服务
systemctl stop firewalld
systemctl disable firewalld
2、关闭selinux
vi /etc/selinux/config
#将SELINUX=enforcing 改为 SELINUX=disabled
接下来重新启动docker应该就没问题了
三、docker-compose安装
docker-composer的安装非常简单,就和Windows上的绿色软件是一样的,下载即可,只是Linux里面需要为docker-composer添加执行权限。
docker-composer 的下载地址就在这儿了: https://github.com/docker/compose/releases
找到最新版的 docker-compose-Linux-x86_64 ,复制链接地址,通过wget下载到Centos服务器即可。
如果从github下载速度太慢或者无法下载的话可以尝试国内的下载地址: https://get.daocloud.io/#install-compose
#下载docker-compose并保存到/usr/local/bin/目录下
curl -L https://get.daocloud.io/docker/compose/releases/download/1.28.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#为docker-compose添加可执行权限
chmod x /usr/local/bin/docker-compose
四、Seafile 服务器部署
前面我们已经准备好了Docker运行环境,接下来我们正式开始Seafile 服务器部署。
我已经为大家编写好了docker-compose文件,把Seafile 所需的服务软件进行了统一配置。这里我同时为大家提供企业版和社区版两个配置文件。
大家只需要在Centos服务器创建docker-compose.yaml 文件,复制下面的社区版和企业版内容到刚刚创建的文件,并更改密码和存储路径后保存。
mkdir seafile
cd seafile
vi docker-compose.yaml
docker-compose up -d #该命令会自动拉取镜像并创建容器,容器创建后会在后台启动
docker ps -a #查看容器状态
社区版
version: '2.0'
services:
db:
image: mariadb:10.1
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=12345678 # 必须,数据库密码,需要更改成自己的密码,不改也没事,只要不允许外部访问就行.
- MYSQL_LOG_CONSOLE=true
command: --default-authentication-plugin=mysql_native_password
volumes:
- /data/seafile/seafile-mysql/db:/var/lib/mysql # 必须,mysql数据库文件持久化存储路径,数据库文件一定要存储在本地服务器,避免容器更改造成数据丢失.
ports:
- "3306:3306"
networks:
- seafile-net
restart: always
memcached:
image: memcached:1.5.6
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
restart: always
seafile:
image: seafileltd/seafile-mc:latest
container_name: seafile
ports:
- "9080:80"
# - "443:443" # If https is enabled, cancel the comment.
volumes:
- /data/seafile/seafile-data:/shared # 必须, Seafile持久化存储路径.
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=12345678 # 必须, 填写上面的数据库密码.
- TIME_ZONE=Asia/Shanghai # Optional, default is UTC. Should be uncomment and set to your local time zone.
- SEAFILE_ADMIN_EMAIL=admin@qq.com # Seafile超级管理员用户, default is 'me@example.com'.
- SEAFILE_ADMIN_PASSWORD=123456 # 超级管理员用户的密码.
- SEAFILE_SERVER_LETSENCRYPT=false # Whether use letsencrypt to generate cert.
- SEAFILE_SERVER_HOSTNAME=seafile.example.com # 域名,如果使用非80端口,同时填上端口号如,seafile.example.com:9080.
depends_on:
- db
- memcached
networks:
- seafile-net
restart: always
networks:
seafile-net:
企业版
version: '2.0'
services:
db:
image: mariadb:10.1
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=12345678 # 必须,数据库密码,需要更改成自己的密码,不改也没事,只要不允许外部访问就行.
- MYSQL_LOG_CONSOLE=true
command: --default-authentication-plugin=mysql_native_password
volumes:
- /data/seafile/seafile-mysql/db:/var/lib/mysql # 必须,mysql数据库文件持久化存储路径,数据库文件一定要存储在本地服务器,避免容器更改造成数据丢失.
networks:
- seafile-net
memcached:
image: memcached:1.5.6
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
elasticsearch:
image: seafileltd/elasticsearch-with-ik:5.6.16
container_name: seafile-elasticsearch
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 2g
volumes:
- /data/seafile/seafile-elasticsearch/data:/usr/share/elasticsearch/data # 必须, elasticsearch持久化存储路径.
networks:
- seafile-net
seafile:
image: docker.seafile.top/seafileltd/seafile-pro-mc:latest
container_name: seafile
ports:
- "9080:80"
# - "443:443" # If https is enabled, cancel the comment.
volumes:
- /data/seafile/seafile-data:/shared # 必须, Seafile持久化存储路径.
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=12345678 # 必须, 填写上面的数据库密码.
# - TIME_ZONE=Asia/Shanghai # Optional, default is UTC. Should be uncomment and set to your local time zone.
- SEAFILE_ADMIN_EMAIL=admin@qq.com # Seafile超级管理员用户, default is 'me@example.com'.
- SEAFILE_ADMIN_PASSWORD=123456 # 超级管理员用户的密码.
- SEAFILE_SERVER_LETSENCRYPT=false # Whether to use https or not
- SEAFILE_SERVER_HOSTNAME=seafile.example.com # 域名,如果使用非80端口,同时填上端口号如,seafile.example.com:9080.
depends_on:
- db
- memcached
- elasticsearch
networks:
- seafile-net
restart: always
networks:
seafile-net:
五、云盘的使用
Seafile云盘分企业版和社区版两种,社区版对个人用户完全免费,企业版可供三个用户免费使用。社区版可满足大家的对于文件同步和分享的基本需求。企业版对硬件配置要求更高一些,毕竟多运行了elasticsearch容器嘛。elasticsearch主要用于大数据搜索,对于个人用户完全没必要,而且elasticsearch要是真飙起来咱这老旧机器可撑不住。所以我最终还是选择了企业版在老机子上使用,经过半年多的使用,无论是性能还是稳定性都完全没问题。
seafile企业版和开源版功能对照表
具体使用效果请大家关注我,观看我发布的同期视频。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com