个人网盘Seafile部署

准备工作:

一台大硬盘VPS或独服

开始安装:

首先安装数据库:(这里使用MariaDB)

参考这篇文章:http://blog.arfans.com/?p=83

安装好并设置root密码

回根目录

cd ~

去官方下载对应的安装包:下载地址

参考官方文档,先做目录设计

mkdir haiwen
mv seafile-server_* haiwen
cd haiwen
#将 seafile-server_* 移动到 haiwen 目录下后
tar -xzf seafile-server_*
mkdir installed
mv seafile-server_* installed

然后安装所需支持软件

#Debian系统下
apt-get update apt-get install python2.7 python-setuptools python-imaging python-ldap sqlite3 python-urllib3
# 在 CentOS 7 下
yum install python-setuptools python-imaging python-ldap MySQL-python python-memcached python-urllib3

进入安装目录
cd seafile-server-* 开始安装
./setup-seafile.sh 回答预设问题
参数 作用 说明

seafile server name

seafile 服务器的名字,目前该配置已经不再使用

3 ~ 15 个字符,可以用英文字母,数字,下划线

seafile server ip or domain

seafile 服务器的 IP 地址或者域名

客户端将通过这个 IP 或者地址来访问你的 Seafile 服务

seafile data dir

seafile 数据存放的目录,用上面的例子,默认将是 /data/haiwen/seafile-data

seafile 数据将随着使用而逐渐增加,请把它放在一个有足够大空闲空间的分区上

seafile fileserver port

seafile fileserver 使用的 TCP 端口

一般使用默认的 8082 端口,如果已经被占用,可以设置为其他的端口

如果安装正确完成,会打印成功消息

现在你的目录结构将会是如下:

#tree haiwen -L 2
haiwen
├── conf                # configuration files
│   ├── ccnet.conf
│   └── seafile.conf
│   └── seahub_settings.py
│   └── seafdav.conf
├── ccnet
│   ├── mykey.peer
│   ├── PeerMgr
│   └── seafile.ini
├── installed
│   └── seafile-server_1.4.0_x86-64.tar.gz
├── seafile-data        
├── seafile-server-1.4.0  # active version
│   ├── reset-admin.sh
│   ├── runtime
│   ├── seafile
│   ├── seafile.sh
│   ├── seahub
│   ├── seahub.sh
│   ├── setup-seafile.sh
│   └── upgrade
├── seafile-server-latest  # symbolic link to seafile-server-1.4.0
├── seahub-data
│   └── avatars
├── seahub.db

seafile-server-latest文件夹是当前 Seafile 服务器文件夹的符号链接.将来你升级到新版本后, 升级脚本会自动更新使其始终指向最新的 Seafile 服务器文件夹.

完成后

启动服务
./seafile.sh start # 启动 Seafile 服务
启动 Seahub
./seahub.sh start <port> # 启动 Seahub 网站 (默认运行在8000端口上)

小贴士: 你第一次启动 seahub 时,seahub.sh 脚本会提示你创建一个 seafile 管理员帐号。

服务启动后, 打开浏览器并输入以下地址

http://你的服务器地址或域名:8000

你会被重定向到登陆页面。输入你在之前创建的 Seafile 管理员帐号的用户名/密码即可。+

恭喜! 现在你已经成功的安装了 Seafile 服务器.

 

在另一端口上运行 Seahub

如果你不想在默认的 8000 端口上运行 Seahub, 而是想自定义端口(比如8001)中运行,请按以下步骤操作:
关闭 Seafile 服务器
./seahub.sh stop # 停止 Seafile 进程
./seafile.sh stop # 停止 Seahub
更改haiwen/conf/ccnet.conf文件中SERVICE_URL 的值(假设你的 ip 或者域名时192.168.1.100), 如下 (从 5.0 版本开始,可以直接在管理员界面中设置。注意,如果同时在 Web 界面和配置文件中设置了这个值,以 Web 界面的配置为准。):
SERVICE_URL = http://192.168.1.100:8001
重启 Seafile 服务器
./seafile.sh start # 启动 Seafile 服务
./seahub.sh start 8001 # 启动 Seahub 网站 (运行在8001端口上)
关闭/重启 Seafile 和 Seahub

关闭

./seahub.sh stop # 停止 Seahub
./seafile.sh stop # 停止 Seafile 进程
重启

./seafile.sh restart # 停止当前的 Seafile 进程,然后重启 Seafile
./seahub.sh restart # 停止当前的 Seahub 进程,并在 8000 端口重新启动 Seahub
如果停止/重启的脚本运行失败

大多数情况下 seafile.sh seahub.sh 脚本可以正常工作。如果遇到问题:
使用 pgrep 命令检查 seafile/seahub 进程是否还在运行中+

pgrep -f seafile-controller # 查看 Seafile 进程
pgrep -f “seahub” # 查看 Seahub 进程
使用 pkill 命令杀掉相关进程
pkill -f seafile-controller # 结束 Seafile 进程
pkill -f “seahub” # 结束 Seafile 进程

配置开机启动

新建seafile.service文件

vim /etc/systemd/system/seafile.service
输入以下内容

[Unit]
Description=Seafile Server
After=network.target mysql.service

[Service]
Type=oneshot
ExecStart=/root/getui/seafile-server-latest/seafile.sh start
ExecStart=/root/getui/seafile-server-latest/seahub.sh start
ExecStop=/root/getui/seafile-server-latest/seafile.sh stop
ExecStop=/root/getui/seafile-server-latest/seahub.sh stop
RemainAfterExit=yes
User=root
Group=root

[Install]
WantedBy=multi-user.target
说明:# User 和 Group 如果未建立seafile用户和用户组,则修改为root,否则无法启动。

运行systemctl daemon-reload使配置生效

systemctl daemon-reload
设置seafile开机启动

systemctl enable seafile.service #设置seafile随系统启动
systemctl is-enabled seafile #检查seafile是否已经设置为自启动

发表评论

邮箱地址不会被公开。 必填项已用*标注