[原创] debian 9.3 搭建seafile企业私有网盘python
需求是这样的, 我的疲惫于 "成为大伙的文件中转站" ,公司无论大大小小的文件,都要打电话过来“转个xx文件”、“帮我找找xx文件”,一两次还好, 可是逐渐愈来愈多的人依赖于中间转发文件, 不胜其烦。 因而乎,想到了如下2个方案:1是共享文件夹,2是ftp服务器。 因为咱们没有在域环境中, 因此“共享文件夹”的好处是简单、方便,可是其恶心的地方是权限控制手段单一,一般以某个帐户登陆后,除了使用cmd下的net use /user:user 命令, 很难短期内切换不一样的帐户,这样不便于文件的分级别、分权限管理文件。而后考虑第二种,使用ftp的方式(filezilla server + filezilla客户端), 可是这样除了要安装filezilla客户端或者使用browser来浏览文件外,最大的问题在于ftp的路径映射操做相对麻烦,并且缺乏移动端的支持。(主要是咱们基层员工的IT技能水平实在堪忧, 稍微复杂一点的都不会, 也没有意愿去学习……)mysql
最后,想到了大伙还常常用百度网盘, 因此搭“企业私有云盘”的想法孕育而生, 铛铛铛~~~ 通过筛选,我选择seafile,主要是nextcloud这个产品须要nginx、redis等等东西,可是服务器上的nginx已经跑了别的应用了。seafile基于python运行, 相对来说还好处理一些, 最主要的是有1000+版本, 了解的应该都明白啥意思nginx
接下来, 开始安装。redis
1、安装python运行环境。我使用的debian 9.3.sql
直接使用一下命令完成python安装:数据库
apt-get install python2.7 python-setuptools python-imaging python-ldap python-mysqldb python-memcache python-urllib3
mysql的部门我没有安装, 由于这台机器以前是装过mysql的.服务器
2、下载seafile的安装文件, seafile-pro-server_6.2.13_x86-64_Ubuntu-1000.tar,而且经过sumba传送到debian的共享文件夹中。虽有经过如下命令, 解压并运行seafile的安装文件,按操做提示便可。python2.7
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
接下来就会进入启动安装的过程, 一路按照提示来操做便可.ide
值得说明登陆是seafile会安装3个数据库, 分别为ccnet_db、seafile_db、seahub_db三个数据库, 用户名都是同样的, 为了方便备份, 咱们须要修改一下mysql的权限.学习
而且seahub使用8000端口, seafile使用8080端口, 日常状况下使用seahub的8000端口就能完成各类文件的使用工做。
3、设置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;
4、数据库备份完毕后,还须要作一个可选的操做, 即:将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 来启动私有网盘了.
==========================老规矩, 下面是网上找的一些图片, 我就不截图了=====================