部署Seafile服务
介绍
- 官网:https://www.seafile.com
- 客户端/服务端下载:https://www.seafile.com/download/
- 中文安装教程(MySQL版):http://manual-cn.seafile.com/deploy/using_mysql.html
安装脚本
sudo apt-get install mysql-server #安装mysql并按照提示设置管理用户,记住管理密码
sudo apt-get python2.7 python-setuptools python-imaging python-ldap python-mysqldb python-memcache
mkdir haiwen && cd haiwen
wget http://download-cn.seafile.com/seafile-server_5.0.4_i386.tar.gz && tar zxf seafile-server*.tar.gz
mkdir installed && mv seafile-server_* installed
cd seafile-server-*
./setup-seafile-mysql.sh #运行安装脚本并回答预设问题,会自动创建数据库
运行
#在 seafile-server-1.8.2 目录下,运行如下命令:
./seafile.sh start
./seahub start
排错
大多数情况下 seafile.sh seahub.sh 脚本可以正常工作。如果遇到问题:
使用pgrep命令检查 seafile/seahub 进程是否还在运行中
pgrep -f seafile-controller # 查看 Seafile 进程
pgrep -f "manage.py run_gunicorn" # 查看 Seahub 进程
配置Nginx
参考文档:http://manual-cn.seafile.com/deploy/deploy_with_nginx.html
- 修改 SERVICE_URL 和 FILE_SERVER_ROOT
- 修改 ccnet.conf
- 修改 seahub_settings.py
通过Nginx进行代理
#更改haiwen/conf/ccnet.conf文件中SERVICE_URL 的值
SERVICE_URL = http://your.domain.com
./seafile.sh restart
./seahub.sh restart-fastcgi
Nginx配置:
server {
listen 80;
server_name www.myseafile.com; #更改域名
proxy_set_header X-Forwarded-For $remote_addr;
location / {
fastcgi_pass 127.0.0.1:8000; #默认端口
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REMOTE_ADDR $remote_addr;
access_log /var/log/nginx/seahub.access.log;
error_log /var/log/nginx/seahub.error.log;
}
location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082;
client_max_body_size 0;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
}
location /media {
root /home/user/haiwen/seafile-server-latest/seahub; #更改media静态文件路径
}
}
重启Nginx(我使用supervisor管理):
supervisorctl reload
注意事项:
media静态文件文件夹要给予必要的访问权限,否则会出现403错误。nginx默认用户为www-data,默认用户组为www-data,所以要把media文件夹以及上层路径更改用户和用户组,或者更改八进制的访问权限。
chmod -R www-data:www-data media