7.0 开始 Markdown, .txt, ppt, pptx, doc, docx, xls, xlsx 类型的文件历史会记录到数据库中,以便能快速的加载。如果你需要关闭这个功能或者修改文件列表,你可以在 seafevents.conf
配置文件中增加以下的配置信息:
[FILE HISTORY]
enabled = true
suffix = md,txt,...
该功能启动后 markdown, doc, docx 等格式文件的旧历史不会再列出来。只有新的记录到数据库的历史会被列出来。如果需要访问访问旧版的历史,可以在资料库历史镜像中找到。
文件活动记录的功能已经重新设计。旧的历史记录不会被列出来。
在 6.3 版本中, 维基功能默认是关闭的。开启后,用户可以创建私有的和公开的维基。7.0 版本中,私有维基功能被分栏查看模式取代。每一个资料库都有分栏查看模式。用户不需要再创建私有维基。
公开维基现在叫做公开资料库。
现在有两个角色权限来控制一个角色能否创建公开资料库。一个是外链权限,一个是发布资料库的权限。只有两个权限都开启的情况下,一个角色才能创建公开资料库。
加密资料库现在支持重置密码了。需要用选项打开 (seahub_settings.py):
ENABLE_RESET_ENCRYPTED_REPO_PASSWORD = True
此功能开启后,只对用户输入过密码的加密资料库有效。
专业版 7.0 中 Elasticsearch 更新到了 5.6 版。Elasticsearch 5.6 需要 Java 8 环境,并且不能以 root 用户运行,你需要更改启动 Seafile 的用户,并且更新 Java 版本。
从 6.3.x 升级到 7.0.x,您可能还需要升级 JDK 版本。
运行以下命令,查看当前 Java 版本信息:
java -version
如果当前 JDK 版本是 1.7.0,那么您需要升级到 1.8.0。升级到 openjdk-1.8.0 可以参考如下命令:
# For CentOS
yum install java-1.8.0-openjdk
# For Ubuntu
apt-get install openjdk-8-jre
并且,如果您之前是用 root 用户身份在运行 Seafile,那么您还需要切换到一个非 root 用户来运行,以便于升级到 Seafile 7.0.x 之后可以正常使用搜索功能。如果您之前已经使用非 root 用户在运行 Seafile,那么您就可以直接执行 Seafile 的升级过程了。
建议您使用 seafile
用户来运行 Seafile。具体操作可参考以下流程:
假设 Seafile 安装目录为: /opt/seafile
假设 Seafile data 目录为: /opt/seafile/seafile-data
首先,您需要停止当前正在运行的 Seafile 服务。
cd /opt/seafile/seafile-server-latest
./seafile.sh stop
./seahub.sh stop
创建一个系统用户用来运行Seafile服务。建议该用户的用户名为 seafile:
useradd --system --comment "seafile" seafile --create-home --home-dir /home/seafile
修改 Seafile 安装目录和 Seafile data 目录的属主和属组为 seafile:
chown -R seafile.seafile /opt/seafile
chown -R seafile.seafile /opt/seafile/seafile-data
chown -R seafile.seafile /tmp/seafile-office-output
su - seafile
cd /opt/seafile/seafile-server-latest
./seafile.sh start
./seahub.sh start
如果您之前是使用 systemd 管理器实现开机启动:
/etc/systemd/system/seafile.service
:[Unit]
Description=Seafile Server
After=network.target mariadb.service
[Service]
ExecStart=/opt/seafile/seafile-server-latest/seafile.sh start
ExecStop=/opt/seafile/seafile-server-latest/seafile.sh stop
User=seafile
Group=seafile
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
/etc/systemd/system/seahub.service
:[Unit]
Description=Seafile Seahub
After=network.target seafile.service
[Service]
ExecStart=/opt/seafile/seafile-server-latest/seahub.sh start
ExecStop=/opt/seafile/seafile-server-latest/seahub.sh stop
User=seafile
Group=seafile
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
如果您之前是使用 init 脚本实现开机启动:
您需要修改 /etc/init.d/seafile-server
:
#!/bin/bash
### BEGIN INIT INFO
# Provides: seafile-server
# Required-Start: $remote_fs $syslog mysql
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Seafile server
# Description: Start Seafile server
### END INIT INFO
# Author: Alexander Jackson <alexander.jackson@seafile.com.de>
# Change the value of "seafile_dir" to your path of seafile installation
user=seafile
seafile_dir=/opt/seafile
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
case "$1" in
start)
sudo -u ${user} ${script_path}/seafile.sh $1 >> ${seafile_init_log}
sudo -u ${user} ${script_path}/seahub.sh $1 >> ${seahub_init_log}
;;
restart)
sudo -u ${user} ${script_path}/seafile.sh $1 >> ${seafile_init_log}
sudo -u ${user} ${script_path}/seahub.sh $1 >> ${seahub_init_log}
;;
stop)
sudo -u ${user} ${script_path}/seafile.sh $1 >> ${seafile_init_log}
sudo -u ${user} ${script_path}/seahub.sh $1 >> ${seahub_init_log}
;;
*)
echo "Usage: /etc/init.d/seafile-server {start|stop|restart}"
exit 1
;;
esac
停止当前正在运行的 Seafile 服务:
su - seafile
cd /opt/seafile/seafile-server-latest
./seafile.sh stop
./seahub.sh stop
下载 Seafile 7.0.x 安装包并解压到 Seafile 安装目录 /opt/seafile
下;然后执行升级脚本:
cd /opt/seafile/seafile-pro-server-7.0.x/upgrade/
./upgrade_6.3_7.0.sh
升级脚本执行成功后,重启 Seafile 服务:
cd /opt/seafile/seafile-server-latest
./seafile.sh start
./seahub.sh start
升级到 7.0 之后,如果无法正常打开 Markdown 文件并且在 seahub.log 日志中发现如下报错信息。这可能是由于升级到 6.3 时忘了迁移文件注释引起的。
你可以删除 base_filecomment 表,并重建这个表。
CREATE TABLE `base_filecomment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`author` varchar(255) NOT NULL,
`comment` longtext NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
`uuid_id` char(32) NOT NULL,
`detail` longtext NOT NULL,
`resolved` tinyint(1) NOT NULL,
PRIMARY KEY (`id`),
KEY `base_filecomment_uuid_id_4f9a2ca2_fk_tags_fileuuidmap_uuid` (`uuid_id`),
KEY `base_filecomment_author_8a4d7e91` (`author`),
KEY `base_filecomment_resolved_e0717eca` (`resolved`),
CONSTRAINT `base_filecomment_uuid_id_4f9a2ca2_fk_tags_fileuuidmap_uuid` FOREIGN KEY (`uuid_id`) REFERENCES `tags_fileuuidmap` (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Last modified by 2a3f608ae1614278a87369827c45fe22, 2020-01-08