seafile316局域网网盘安装.docx
《seafile316局域网网盘安装.docx》由会员分享,可在线阅读,更多相关《seafile316局域网网盘安装.docx(16页珍藏版)》请在冰点文库上搜索。
seafile316局域网网盘安装
Seafile服务器安装1
设置Seafile开机启动。
4
备份恢复seafile系统8
关闭/重启Seafile和Seahub10
Seahub配置10
seafile.conf配置13
ccnet.conf配置14
升级指南15
本教程还适用于linuxseafile-server_3.1.7版
Seafile服务器安装
centos6.5x64最小化安装,之后安装LNMP1.1
wget-c&&tarzxflnmp1.1-full.tar.gz&&cdlnmp1.1-full&&./centos.sh
输入mysql登录密码回车然后选择是否用InnoDB引擎(注seafile软件要选y)
下载seafile-server_3.1.6_x86-64.tar.gz到/home
赋予root用户本地所有权限
mysql-uroot-p
Enterpassword:
<输入密码>
mysql>grantallprivilegeson*.*toroot@localhostidentifiedby'a1537';
mysql>flushprivileges;
mysql>quit
reboot
visea
#!
/bin/bash
#安装seafile环境
yuminstallpython2.7python-setuptoolspython-simplejsonpython-imagingMySQL-pythonmysql-server-y
#按seafile网站推荐办法安装
cd/home
mkdir/home/haiwenmvseafile-server_*/home/haiwencd/home/haiwen#将seafile-server_*移动到haiwen目录下后tar-xzfseafile-server_*mkdir/home/haiwen/installedmvseafile-server_*/home/haiwen/installed
cd/home/haiwen/seafile-server-*
./setup-seafile-mysql.sh
:
wq#保存退出
#使脚本文件sea变为可执行文件
chmod+xsea
#执行脚本文件sea
./sea
看到如下提示就表示成功在服务器上成功安装了Seafile。
Seafile服务器启动与配置
1、执行以下命令修改Linux文件最大打开数:
ulimit-n30000
#启动Seafile服务:
cd/home/haiwen/seafile-server-*
./seafile.shstart
#启动Seahub服务:
./seahub.shstart
2、第一次启动Seahub服务时会提示让你先创建一个管理员账号。
如果忘记管理员账号或密码如何处理?
你可以进入 seafile-server 目录,运行 reset-admin.sh 脚本。
这个脚本可以帮助你重置管理员账号和密码。
3、创建完成后,你就可以打开:
http:
//IP或者域名:
8000,访问到你的Seafile页面了。
4、Seafile默认的是以8000商品进行访问的,如果你不想使用这个端口,例如改成Web默认的80端口,可以先关闭进程:
./seahub.shstop和./seafile.shstop。
5、然后编辑/home/haiwen/ccnet/ccnet.conf这个文件,在SERVICE_URL后面修改端口即可。
再次启动Seafile和Seahub服务,就可以使用自己定义的端口开始访问了。
设置Seafile开机启动。
RHEL/CentOS下
RHEL/CentOS下,/etc/rc.local脚本会随系统开机自动执行,所以我们在这个脚本中设置启动Seafile/Seahub.
定位python(python2.6or2.7)
whichpython2.6#or"whichpython2.7"
在/etc/rc.local脚本中,将python2.6(2.7)路径加入到PATH字段中,并增加Seafile/Seahub启动命令
vim/etc/rc.local#假设python2.6(2.7)可执行文件在/usr/local/bin目录下PATH=$PATH:
/usr/local/bin/#请将user改为你的Linux用户名user=root#请将script_path改为你的Seafile文件安装路径seafile_dir=/home/haiwenscript_path=${seafile_dir}/seafile-server-latestsudo-u${user}${script_path}/seafile.shstart>/tmp/seafile.init.log2>&1sudo-u${user}${script_path}/seahub.shstart>/tmp/seahub.init.log2>&1
注意:
如果你想在fastcgi下启动Seahub,只需将上文中最后一行"seahub.shstart"改为"seahub.shstart-fastcgi"
完成.在升级Seafile服务器后请记得更新 script\_pat 的值.
只使用RHEL/CentOS为服务程序(service)下
RHEL/CentOS下,我们通过/etc/init.d/脚本将Seafile/Seahub作为服务程序随开机启动.
创建/etc/sysconfig/seafile文件
vim/etc/sysconfig/seafile
#请将user改为你的Linux用户名
user=root
#请将script_path改为你的Seafile文件安装路径
seafile_dir=/home/haiwen
script_path=${seafile_dir}/seafile-server-latest
seafile_init_log=${seafile_dir}/logs/seafile.init.log
seahub_init_log=${seafile_dir}/logs/seahub.init.log
#若使用fastcgi,请将其设置为True
fastcgi=false
#fastcgi端口,默认为8000
fastcgi_port=8000
创建/etc/init.d/seafile文件
vim/etc/init.d/seafile
#!
/bin/bash
#
#seafile
#
#chkconfig:
-6832
#description:
seafile
#Sourcefunctionlibrary.
./etc/init.d/functions
#Sourcenetworkingconfiguration.
./etc/sysconfig/network
if[-f/etc/sysconfig/seafile];then
./etc/sysconfig/seafile
else
echo"Configfile/etc/sysconfig/seafilenotfound!
Bye."
exit200
fi
RETVAL=0
start(){
#Startdaemons.
echo-n$"Startingseafile:
"
ulimit-n30000
su-${user}-c"${script_path}/seafile.shstart>>${seafile_init_log}2>&1"
RETVAL=$?
echo
[$RETVAL-eq0]&&touch/var/lock/subsys/seafile
return$RETVAL
}
stop(){
echo-n$"Shuttingdownseafile:
"
su-${user}-c"${script_path}/seafile.shstop>>${seafile_init_log}2>&1"
RETVAL=$?
echo
[$RETVAL-eq0]&&rm-f/var/lock/subsys/seafile
return$RETVAL
}
#Seehowwewerecalled.
case"$1"in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
*)
echo$"Usage:
$0{start|stop|restart}"
RETVAL=3
esac
exit$RETVAL
创建/etc/init.d/seahub脚本
vim/etc/init.d/seahub
#!
/bin/bash
#
#seahub
#
#chkconfig:
-6931
#description:
seahub
#Sourcefunctionlibrary.
./etc/init.d/functions
#Sourcenetworkingconfiguration.
./etc/sysconfig/network
if[-f/etc/sysconfig/seafile];then
./etc/sysconfig/seafile
else
echo"Configfile/etc/sysconfig/seafilenotfound!
Bye."
exit200
fi
RETVAL=0
start(){
#Startdaemons.
echo-n$"Startingseahub:
"
ulimit-n30000
if[$fastcgi=true];
then
su-${user}-c"${script_path}/seahub.shstart-fastcgi${fastcgi_port}>>${seahub_init_log}2>&1"
else
su-${user}-c"${script_path}/seahub.shstart>>${seahub_init_log}2>&1"
fi
RETVAL=$?
echo
[$RETVAL-eq0]&&touch/var/lock/subsys/seahub
return$RETVAL
}
stop(){
echo-n$"Shuttingdownseafile:
"
su-${user}-c"${script_path}/seahub.shstop>>${seahub_init_log}2>&1"
RETVAL=$?
echo
[$RETVAL-eq0]&&rm-f/var/lock/subsys/seahub
return$RETVAL
}
#Seehowwewerecalled.
case"$1"in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
*)
echo$"Usage:
$0{start|stop|restart}"
RETVAL=3
esac
exit$RETVAL
接下来启动服务程序:
chmod550/etc/init.d/seafilechmod550/etc/init.d/seahubchkconfig--addseafilechkconfig--addseahubchkconfigseahubonchkconfigseafileon
执行:
serviceseafilestartserviceseahubstart
完成
备份恢复seafile系统
假设你的数据库名分别为 ccnet-db, seafile-db 和 seahub-db。
mysqldump 会自动锁住表,所以在你备份MySql数据库的时候,不需要停掉Seafile服务器。
通常因为数据库表非常小,所以执行以下命令备份不会花太长时间。
备份数据库
mkdir/home/backup/databases
mysqldump-uroot-pa1537--optccnet-db>/home/backup/databases/ccnet-db.sql.`date+"%Y-%m-%d-%H-%M-%S"`
mysqldump-uroot-pa1537--optseafile-db>/home/backup/databases/seafile-db.sql.`date+"%Y-%m-%d-%H-%M-%S"`
mysqldump-uroot-pa1537--optseahub-db>/home/backup/databases/seahub-db.sql.`date+"%Y-%m-%d-%H-%M-%S"`
备份Seafile资料库数据
mkdir/home/backup
直接拷贝整个数据目录:
cp-R/home/haiwen/home/backup/haiwen-`date+"%Y-%m-%d-%H-%M-%S"`
或,如果你有很多数据,拷贝整个数据目录会花很多时间,这时你可以用rsync做增量备份。
yuminstall-yrsync
rsync-avz--delete/home/haiwen/home/backup
rsync-avz--delete/home/wwwroot/home/backup
恢复备份
如果你当前的Seafile服务器已经坏掉,将使用另一台机器来提供服务,需要恢复数据:
1.假设在新机器中,Seafile也被部署在了/home/haiwen目录中,拷贝/home/backup/haiwen 到新机器中即可。
2.恢复数据库。
cd/home/backup/databases
mysql-uroot-pa1537ccnet-db
#下面修改是修复3.1.6版一处bug,不影响安装
cd/home/haiwen/seafile-server-*
修改安装目录中setup-seafile-mysql.py文件内容:
vimsetup-seafile-mysql.py
Utils.error('Failedtoinitseahubdatabase:
'%e.args[1])
改成
Utils.error('Failedtoinitseahubdatabase:
%s'%e.args[1])
关闭/重启Seafile和Seahub
关闭
./seahub.shstop#停止Seahub./seafile.shstop#停止Seafile进程
重启
./seafile.shrestart#停止当前的Seafile进程,然后重启Seafile./seahub.shrestart#停止当前的Seahub进程,并在8000端口重新启动Seahub
如果停止/重启的脚本运行失败
大多数情况下seafile.shseahub.sh脚本可以正常工作。
如果遇到问题:
使用pgrep命令检查seafile/seahub进程是否还在运行中
pgrep-fseafile-controller#查看Seafile进程pgrep-f"manage.pyrun_gunicorn"#查看Seahub进程
使用pkill命令杀掉相关进程
pkill-fseafile-controller#结束Seafile进程pkill-f"manage.pyrun_gunicorn"#结束Seafile进程
Seahub配置
vim/home/haiwen/seahub_settings.py
Seahub下发送邮件提醒(没搞定)
邮件提醒会使某些功能有更好的用户体验,比如发送邮件提醒用户新消息到达.请在seahub_settings.py中加入以下语句以安装邮件提醒功能(同时需要对你的邮箱进行设置).
EMAIL_USE_TLS=False
EMAIL_HOST=''
#smpt服务器
EMAIL_HOST_USER='szfhx1'
#用户名和域名
EMAIL_HOST_PASSWORD='passwd'
#密码
EMAIL_PORT='25'
DEFAULT_FROM_EMAIL=EMAIL_HOST_USER
SERVER_EMAIL=EMAIL_HOST_USER
Gmail用户请加入以下语句:
EMAIL_USE_TLS=True
EMAIL_HOST=''
EMAIL_HOST_USER='szfhx6@'
EMAIL_HOST_PASSWORD='passwd'
EMAIL_PORT=587
DEFAULT_FROM_EMAIL=EMAIL_HOST_USER
SERVER_EMAIL=EMAIL_HOST_USER
注意1:
如果邮件功能不能正常使用,请在logs/seahub.log日志文件中查看问题原因.更多信息请见 Emailnotificationlist.
注意2:
如果你想在非用户验证情况下使用邮件服务,请将EMAIL_HOST_USER和EMAIL_HOST_PASSWORD 置为blank ('').(但是注意一点,这种情况下,邮件将不会记录发件人From:
信息.)
缓存
Seahub在默认文件系统(/tmp/seahub_cache/)中缓存文件(avatars,profiles,etc).你可以通过Memcached进行缓存操作(前提是你已经安装了python-memcache模块).
CACHES={'default':
{'BACKEND':
'django.core.cache.backends.memcached.MemcachedCache','LOCATION':
'127.0.0.1:
11211',}}
Seahub设置
通过修改seahub_settings.py文件,可以对Seahub网站进行更改.
vim/home/haiwen/seahub_settings.py
#时区设置,更多请见:
#http:
//en.wikipedia.org/wiki/List_of_tz_zones_by_name#部分操作系统下有效.#如果是Windows用户,请设置为你的系统时区.TIME_ZONE='Asia/Shanghai'#Seahub网站URL.邮件提醒中会包含此地址#SITE_BASE='
SITE_BASE='http:
//58.210.143.106:
8000/'#网站名称.邮件提醒中会包含此名称.不能用汉字SITE_NAME='dongyuanyun'#网站标题不能用汉字SITE_TITLE='dongyuanyun'#若果不想再根路径上运行Seahub网站,请更改此设置.#e.g.settingitto'/seahub/'wouldrunseahubon='/'#是否使用pdf.js在线查看pdf文件.默认为`True`.#NOTE:
1.4版本后可用.USE_PDFJS=True#是否在网站页面显示注册按钮,默认为`False`.#NOTE:
1.4版本后可用.ENABLE_SIGNUP=False#用户注册后是否立刻激活,默认为`True`.#如设置为`False`,需管理员手动激活.#NOTE:
1.8版本后可用ACTIVATE_AFTER_REGISTRATION=False#管理员新增用户后是否给用户发送邮件.默认为`True`.#NOTE:
1.4版本后可用.SEND_EMAIL_ON_ADDING_SYSTEM_MEMBER=True#管理员重置用户密码后是否给用户发送邮件.默认为`True`.#NOTE:
1.4版本后可用.SEND_EMAIL_ON_RESETTING_USER_PASSWD=True#隐藏`Organization`标签.#如果你希望你的私人Seafile像一样运行,请设置.CLOUD_MODE=True#在线查看文件大小限制,默认为30M.FILE_PREVIEW_MAX_SIZE=30*1024*1024#cookie的保存时限,(默认为2周).SESSION_COOKIE_AGE=60*60*24*7*2#是否存储每次请求的会话数据.SESSION_SAVE_EVERY_REQUEST=False#浏览器关闭后,是否清空用户会话cookieSESSION_EXPIRE_AT_BROWSER_CLOSE=False#使用服务器端的crypto,或者用户自行选择crypto方法.FORCE_SERVER_CRYPTO=True
注意:
请重启Seahub以使更改生效.
如果更改没有生效,请删除seahub_setting.pyc缓存文件.
cd/home/haiwen/seafile-server-*
./seahub.shrestart
seafile.conf配置
存储空间容量设置(seafile.conf)
如果你想向所有用户分配存储空间(e.g.2GB)时.你可