[原创] debian 9.3 搭建 seafile 企业私有网盘
需求是这样的, 个人疲惫于 "成为大伙的文件中转站" , 公司不管大大小小的文件, 都要打电话过来 "转个 xx 文件","帮我找找 xx 文件", 一两次还好, 但是逐渐越来越多的人依赖于中间转发文件, 不胜其烦. 于是乎, 想到了以下 2 个方案: 1 是共享文件夹, 2 是 ftp 服务器. 由于我们没有在域环境中, 所以 "共享文件夹" 的好处是简单, 方便, 但是其恶心的地方是权限控制手段单一, 通常以某个账户登录后, 除了使用 cmd 下的 net use /user:user 命令, 很难短时间内切换不同的账户, 这样不便于文件的分级别, 分权限管理文件. 然后考虑第二种, 使用 ftp 的方式 (filezilla server + filezilla 客户端), 但是这样除了要安装 filezilla 客户端或者使用 browser 来浏览文件外, 最大的问题在于 ftp 的路径映射操作相对麻烦, 而且缺少移动端的支持.(主要是我们基层员工的 IT 技能水平实在堪忧, 稍微复杂一点的都不会, 也没有意愿去学习......)
最后, 想到了大伙还经常用百度网盘, 所以搭 "企业私有云盘" 的想法孕育而生, 铛铛铛~~~ 经过筛选, 我选择 seafile, 主要是 nextcloud 这个产品需要 nginx,redis 等等东西, 但是服务器上的 nginx 已经跑了别的应用了. seafile 基于 python 运行, 相对来讲还好处理一些, 最主要的是有 1000 + 版本, 了解的应该都明白啥意思
接下来, 开始安装.
一, 安装 python 运行环境. 我使用的 debian 9.3.
直接使用一下命令完成 python 安装:
apt-get install python2.7 python-setuptools python-imaging python-ldap python-mysqldb python-memcache python-urllib3
mysql 的部门我没有安装, 因为这台机器之前是装过 mysql 的.
二, 下载 seafile 的安装文件, seafile-pro-server_6.2.13_x86-64_Ubuntu-1000.tar, 并且通过 sumba 传送到 debian 的共享文件夹中. 虽有通过以下命令, 解压并运行 seafile 的安装文件, 按操作提示即可.
- cp /home/share/seafile-pro-server_6.2.13_x86-64_Ubuntu-1000.tar /opt/seafile
- tar -xzf /opt/seafile/seafile-pro-server_6.2.13_x86-64_Ubuntu-1000.tar
- cd /opt/seafile
- ./setup-seafile-mysql.sh
接下来就会进入启动安装的过程, 一路按照提示来操作即可.
值得说明登录是 seafile 会安装 3 个数据库, 分别为 ccnet_db,seafile_db,seahub_db 三个数据库, 用户名都是一样的, 为了方便备份, 我们需要修改一下 mysql 的权限.
并且 seahub 使用 8000 端口, seafile 使用 8080 端口, 平常情况下使用 seahub 的 8000 端口就能完成各种文件的使用工作.
三, 设置 mysql 的权限, 方便对这几个数据库进行备份. 通过一下命令设置 mysql 的访问权限.
- mysql -u root -p
- grant all privileges on ccnet_db.* to 'seafile'@'%' identified by 'XXXXX' with grant option;
- grant all privileges on ccnet_db.* to 'seafile'@'localhost' identified by 'XXXXX' with grant option;
- grant all privileges on seafile_db.* to 'seafile'@'%' identified by 'XXXXX' with grant option;
- grant all privileges on seafile_db.* to 'seafile'@'localhost' identified by 'XXXXX' with grant option;
- grant all privileges on seahub_db.* to 'seafile'@'%' identified by 'XXXXX' with grant option;
- grant all privileges on seahub_db.* to 'seafile'@'localhost' identified by 'XXXXX' with grant option;
- flush privileges;
- exit;
四, 数据库备份完毕后, 还需要做一个可选的操作, 即: 将 seafile 的启动项 seafile.sh 和 seahub.sh 添加到 / etc/init.d / 中, 便于统一管理.
将 seafile 安装目录下的 seafile.sh 和 seahub.sh 文件复制到 / etc/init.d 目录中, 并将原 seafile 目录中的 seafile.sh 和 seahub.sh 改名为 seafile.sh.bak 和 seahub.sh.bak.
之后分别打开 / etc/init.d/seafile.sh 和 /etc/init.d/seahub.sh 两个文件, 分别将 SCRIPT 的内容改为脚本的真实目录, 例如:
- # 注释掉原先的 SCRIPT 内容
- # SCRIPT=$(readlink -f "$0")
- # 修改为
- SCRIPT="/opt/seafile/seafile-server/seahub.sh"
- # 另外一个文件也类似的改为
- SCRIPT="/opt/seafile/seafile-server/seafile.sh"
这样, 就可以在机器重启过后, 通过 / etc/init.d/seafile.sh start 和 /etc/init.d/seahub.sh 来启动私有网盘了.
========================== 老规矩, 下面是网上找的一些图片, 我就不截图了 =====================
[原创] debian 9.3 搭建 seafile 企业私有网盘
来源: http://www.bubuko.com/infodetail-2689572.html