无法通过网络打开化石回购
can't open fossil repo over web
我已经为这个问题苦苦挣扎了几天,但似乎无法解决它,我想我快到了......但是......不完全是:(
这就是我所在的位置。
我在一个无头的 debian 服务器上,运行ning virtualmin / webmin 用于创建我的域/用户等。我不知道这是否会把事情搞砸,但我很乐意修改手动配置文件(通过 webmin 或通过 ssh/vim)。
我正在尝试 运行 fossil 作为 apache 上的 cgi 服务。
它是一个内部站点,名为 homeserver.net 我可以很好地访问默认页面,并根据需要添加和创建 links 等。
请注意我的问题的解决方案在问题的最后。
所以文件位于磁盘上,与我的 apache 文档根目录相符
/home/homeserver/www
我想 运行 fossil 既有内部站点,又有我在单独文件中练习的开发工作。所以我为这些存储库创建了一个新目录。
/home/homeserver/repos/web/site.fossil
/home/homeserver/repos/dev/ [no repository yet!]
阅读 fossil page 上的说明,我插入了一个名为 'fos_repo.cgi' 的简短 cgi 文件,内容为。
#!/usr/bin/fossil
directory: /home/homeserver/repos
notfound: http://www.homeserver.net/site404.htm
当我打开 link 到
www.homeserver.net/cgi-bin/fos_repo.cgi
我被重定向到我写的 404 页面。所以脚本显然正在被阅读和工作。
通过阅读化石页面,我了解到我应该能够使用以下 link 到 open/access 存储库。
www.homeserver.net/cgi-bin/repos/web/site
我不确定为什么这不起作用...
到目前为止我已经尝试了以下方法。
我从 cli 打开了存储库,并在后台设置了服务器 运行
化石服务器 site.fossil &
我虽然也许文件应该在主 repo 目录中,而不是在子目录中,所以我移动了它...它现在位于
/home/homeserver/repos/site.fossil
我尝试在 apache 中为文件创建一个别名
Alias /home/homeserver/repos/web/site.fossil /home/homeserver/www/repos
当我浏览到
www.homeserver.net/repos/site
我一无所获,但要去
www.homeserver.net/repos/site.fossil
将尝试下载文件(二进制文件)
所以我想我有所收获,但我不确定我错过了什么。
我以前用过 fossil,但我 运行 它作为本地服务器,并在需要时启动它。
我正在 运行 像这样设置它,这样我最终可以将网站推出 VPS(甚至可能在 VPS 上完成托管化石网站)。
ps 我以前使用 fossil 时非常喜欢它,并且喜欢整个集成的 wiki 和错误跟踪器,而且我可以简单地将文件复制到我的外部驱动器进行备份。个人真的不想换成别的东西,但如果我不得不....
提前致谢。
大卫
编辑:尝试其他选项。
所以我想我会尝试 fossil 页面上显示的单一存储库方法,因此相应地调整了我的 cgi 脚本。
现在,当我导航到:www.homeserver.net/cgi-bin/fos_repo.cgi 时,我收到以下消息返回
SQLITE_CANTOPEN: cannot open file at line 30276 of [f5b5a13f73]
SQLITE_CANTOPEN: os_unix.c:30276: (21) open(/home/homeserver/repos)
但是,如果我通过 ssh 连接到服务器并使用
手动启动它
fossil server site.fossil
我可以通过 www.homeserver.net:8081
访问服务器
所以我要么在 apache 中使用 SQLite 有问题,要么是其他问题。请帮忙
解决方案
因此,为了简单起见,我决定为每个 repo 使用一个 cgi 文件。
我的初始目录结构如下:
/home/homeserver/www
/home/homeserver/www/repos
/home/homeserver/www/repos/web # for web site development
/home/homeserver/www/repos/dev # for other development
我认为我的部分问题是我希望 目录 : pont 到我的 repos/ location fossil 会找到site.fossil 文件(位于 repos/web)和 dev.fossil 文件(位于 repos/deb)。
显然这没有用。
我希望它看起来像这样的原因是为了分离我系统上的信息。
出于某种原因,我决定将 fossil 指向 repos/ 会自动给我一个漂亮的 fossil 风格首页和 links 到我的存储库。但是在使用 directory: 版本并收到以下错误消息后
Unable to find or open the project repository
我意识到我仍然需要将我的首页写入存储库,而且我的期望有点过高。
所以我决定 运行 使用一个指向我需要制作的每个 repo 的单个 cgi 文件。
而不是
www.homeserver.net/cgi-bin/repos/web/site
尝试
www.homeserver.net/cgi-bin/repos.cgi/index
再次阅读您的(很长的)问题,我建议尝试
www.homeserver.net/cgi-bin/fos_repos.cgi/index
我已经为这个问题苦苦挣扎了几天,但似乎无法解决它,我想我快到了......但是......不完全是:(
这就是我所在的位置。
我在一个无头的 debian 服务器上,运行ning virtualmin / webmin 用于创建我的域/用户等。我不知道这是否会把事情搞砸,但我很乐意修改手动配置文件(通过 webmin 或通过 ssh/vim)。
我正在尝试 运行 fossil 作为 apache 上的 cgi 服务。
它是一个内部站点,名为 homeserver.net 我可以很好地访问默认页面,并根据需要添加和创建 links 等。
请注意我的问题的解决方案在问题的最后。
所以文件位于磁盘上,与我的 apache 文档根目录相符
/home/homeserver/www
我想 运行 fossil 既有内部站点,又有我在单独文件中练习的开发工作。所以我为这些存储库创建了一个新目录。
/home/homeserver/repos/web/site.fossil
/home/homeserver/repos/dev/ [no repository yet!]
阅读 fossil page 上的说明,我插入了一个名为 'fos_repo.cgi' 的简短 cgi 文件,内容为。
#!/usr/bin/fossil
directory: /home/homeserver/repos
notfound: http://www.homeserver.net/site404.htm
当我打开 link 到
www.homeserver.net/cgi-bin/fos_repo.cgi
我被重定向到我写的 404 页面。所以脚本显然正在被阅读和工作。
通过阅读化石页面,我了解到我应该能够使用以下 link 到 open/access 存储库。
www.homeserver.net/cgi-bin/repos/web/site
我不确定为什么这不起作用...
到目前为止我已经尝试了以下方法。
我从 cli 打开了存储库,并在后台设置了服务器 运行
化石服务器 site.fossil &
我虽然也许文件应该在主 repo 目录中,而不是在子目录中,所以我移动了它...它现在位于
/home/homeserver/repos/site.fossil
我尝试在 apache 中为文件创建一个别名
Alias /home/homeserver/repos/web/site.fossil /home/homeserver/www/repos
当我浏览到
www.homeserver.net/repos/site
我一无所获,但要去
www.homeserver.net/repos/site.fossil
将尝试下载文件(二进制文件)
所以我想我有所收获,但我不确定我错过了什么。
我以前用过 fossil,但我 运行 它作为本地服务器,并在需要时启动它。 我正在 运行 像这样设置它,这样我最终可以将网站推出 VPS(甚至可能在 VPS 上完成托管化石网站)。
ps 我以前使用 fossil 时非常喜欢它,并且喜欢整个集成的 wiki 和错误跟踪器,而且我可以简单地将文件复制到我的外部驱动器进行备份。个人真的不想换成别的东西,但如果我不得不....
提前致谢。
大卫
编辑:尝试其他选项。
所以我想我会尝试 fossil 页面上显示的单一存储库方法,因此相应地调整了我的 cgi 脚本。
现在,当我导航到:www.homeserver.net/cgi-bin/fos_repo.cgi 时,我收到以下消息返回
SQLITE_CANTOPEN: cannot open file at line 30276 of [f5b5a13f73]
SQLITE_CANTOPEN: os_unix.c:30276: (21) open(/home/homeserver/repos)
但是,如果我通过 ssh 连接到服务器并使用
手动启动它fossil server site.fossil
我可以通过 www.homeserver.net:8081
访问服务器所以我要么在 apache 中使用 SQLite 有问题,要么是其他问题。请帮忙
解决方案
因此,为了简单起见,我决定为每个 repo 使用一个 cgi 文件。
我的初始目录结构如下:
/home/homeserver/www
/home/homeserver/www/repos
/home/homeserver/www/repos/web # for web site development
/home/homeserver/www/repos/dev # for other development
我认为我的部分问题是我希望 目录 : pont 到我的 repos/ location fossil 会找到site.fossil 文件(位于 repos/web)和 dev.fossil 文件(位于 repos/deb)。
显然这没有用。
我希望它看起来像这样的原因是为了分离我系统上的信息。
出于某种原因,我决定将 fossil 指向 repos/ 会自动给我一个漂亮的 fossil 风格首页和 links 到我的存储库。但是在使用 directory: 版本并收到以下错误消息后
Unable to find or open the project repository
我意识到我仍然需要将我的首页写入存储库,而且我的期望有点过高。
所以我决定 运行 使用一个指向我需要制作的每个 repo 的单个 cgi 文件。
而不是
www.homeserver.net/cgi-bin/repos/web/site
尝试
www.homeserver.net/cgi-bin/repos.cgi/index
再次阅读您的(很长的)问题,我建议尝试
www.homeserver.net/cgi-bin/fos_repos.cgi/index