玩转树莓派(六) 部署Seafile搭建私有云
1 相关链接1.1 官方文档1.2 树莓派服务端下载地址2 安装2.1 安装依赖2.1 安装seafile2.2 配置Nginx反向代理3 映射到公网ip3.1 添加主机名映射3.2 增加域名解析3.3 增加frp映射4 配置Seafile1 相关链接
1.1 官方文档
Linux 下部署 Seafile 服务器
1.2 树莓派服务端下载地址
seafile-rpi/releases
选择的版本:
seafile-server-8.0.3-buster-arm64v8.tar.gz
2 安装
2.1 安装依赖
cloud@server:~ $ sudo apt-get updatecloud@server:~ $ sudo apt-get install python3 python3-setuptools python3-pip python3-ldap -ycloud@server:~ $ sudo pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy psd-tools pymysql django-pylibmc django-simple-captcha -i /pypi/simple
2.1 安装seafile
解压
cloud@server:~ $ mkdir -p /opt/module/seafile/installedcloud@server:~ $ cd /opt/module/seafile/installed/# 将压缩包上传到该目录cloud@server:/opt/module/seafile/installed $ tar -zxvf seafile-server-8.0.3-buster-arm64v8.tar.gz -C /opt/module/seafilecloud@server:/opt/module/seafile/installed $ cd /opt/module/seafilecloud@server:/opt/module/seafile $ lltotal 8drwxr-xr-x 2 cloud cloud 4096 Mar 14 17:53 installeddrwxr-xr-x 7 cloud cloud 4096 Feb 22 04:59 seafile-server-8.0.3
安装
cloud@server:/opt/module/seafile $ cd seafile-server-8.0.3/# 运行安装脚本并回答预设问题cloud@server:/opt/module/seafile/seafile-server-8.0.3 $ ./setup-seafile-mysql.sh-------------------------------------------------------Please choose a way to initialize seafile databases:-------------------------------------------------------# 选择1, 提供root密码. 脚本程序会创建数据库和用户。[1] Create new ccnet/seafile/seahub databases[2] Use existing ccnet/seafile/seahub databases
启动
cloud@server:/opt/module/seafile/seafile-server-8.0.3 $ cd ../seafile-server-latest/cloud@server:/opt/module/seafile/seafile-server-latest $ ./seafile.sh startcloud@server:/opt/module/seafile/seafile-server-latest $ ./seahub.sh start
开机自启
cloud@server:/opt/module/seafile/seafile-server-latest $ su -root@server:~# vim /etc/rc.local # 在exit 0上面添加nohup /opt/module/frp/frpc -c /opt/module/frp/frpc.ini >> /opt/module/frp/frpc.log 2>&1 &nohup /opt/module/seafile/seafile-server-8.0.3/seafile.sh start 1>/dev/null 2>&1 &nohup /opt/module/seafile/seafile-server-8.0.3/seahub.sh start 1>/dev/null 2>&1 &
2.2 配置Nginx反向代理
cloud@server:/opt/module/seafile/seafile-server-latest $ cd /etc/nginx/sites-available/cloud@server:/etc/nginx/sites-available $ sudo vim seafile
创建文件
server {listen 55106;server_name ;proxy_set_header X-Forwarded-For $remote_addr;location / {proxy_pass http://127.0.0.1:8000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Host $server_name;proxy_read_timeout 1200s;# used for view/edit office file via Office Online Serverclient_max_body_size 0;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_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 36000s;proxy_read_timeout 36000s;proxy_send_timeout 36000s;send_timeout 36000s;proxy_request_buffering off;}location /media {root /opt/module/seafile/seafile-server-latest/seahub;}}
创建符号链接
cloud@server:/etc/nginx/sites-available $ sudo ln -s /etc/nginx/sites-available/seafile /etc/nginx/sites-enabled/seafile
重启Nginx服务
cloud@server:/etc/nginx/sites-available $ sudo service nginx restart
此时可以在 http://${树莓派ip}:55106 访问seafile服务
3 映射到公网ip
3.1 添加主机名映射
在阿里云主机上
cloud@aliyun:~$ sudo vim /etc/hosts
增加一行
127.0.0.1
3.2 增加域名解析
在阿里云控制台上增加对子域名cloud的解析
https://swas./
3.3 增加frp映射
cloud@server:/etc/nginx/sites-available $ cd /opt/module/frp/cloud@server:/opt/module/frp $ vim frpc.ini
增加一行
[web-cloud]type = httplocal_ip = 127.0.0.1local_port = 55106custom_domains =
重启frpc服务
cloud@server:/opt/module/frp $ ps -ef|grep frpccloud@server:/opt/module/frp $ sudo kill -9 xxxxxcloud@server:/opt/module/frp $ sudo nohup /opt/module/frp/frpc -c /opt/module/frp/frpc.ini >> /opt/module/frp/frpc.log 2>&1 &
此时可以在 访问seafile服务
4 配置Seafile
登陆web页面后,在右上角点击系统管理 → 设置
更改
SERVICE_URL为 /
FILE_SERVER_ROOT为 /seafhttp
即可正常上传下载文件