按照服务器手册用docker部署Seafile v7.x.x到Ubuntu服务器后,浏览器用IP地址登录,上传MD文件,但是在浏览器中打不开MD文件,一直有个黄色的圈在页面中间,别的文件(TXT等)正常。这怎么搞?
先看 seahub.log 有什么错误。如果日志中包含 no such column base_filecomment.uuid_id 错误,这是因为之前升级到 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;
TextHTMLCSSJavascriptCC++C#JavaPythonSqlSwiftJSON
如果你使用的是 SQLite (可以用 SQLite 数据库编辑器编辑):
CREATE TABLE "base_filecomment" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "author" varchar(255) NOT NULL, "comment" text NOT NULL, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "uuid_id" char(32) NOT NULL REFERENCES "tags_fileuuidmap" ("uuid"), "detail" text NOT NULL, "resolved" bool NOT NULL);
TextHTMLCSSJavascriptCC++C#JavaPythonSqlSwiftJSON
可是我是直接用docker新部署的7.x.x的,并没有经过6.3的升级
你在浏览器端打开 markdown 文件时,浏览器控制台有错误吗?如果有错误或者日志,可以贴一下。你使用的什么浏览器?
找到原因了,因为我没有修改SEAFILE_SERVER_HOSTNAME,还是默认值seafile.example.com,但是我又是使用IP地址访问的,在点击MD文件后,浏览器跳转到了seafile.example.com开头的网址,导致访问出错。只是奇怪的是点击TXT文件后,能正确跳转到IP地址开头的网址,所以可以正确访问,这种不同的表现似乎是个BUG