我有一个使用 Bitnami 脚本安装在 Ubuntu 12.04 服务器上的 gitorious 服务器。我可以使用 ssh 很好地克隆存储库,不幸的是,当我尝试使用 https URL 时,它会克隆一个空存储库。在网上搜索后,我发现我需要安装 mod_xsendfile。我使用以下方法安装了它:
wget https://tn123.org/mod_xsendfile/mod_xsendfile-0.12.tar.gz#hash(sha256:9078ec28697d672a7f8aa3a19180109c1ccf73dc6aa335e856d1129344566b7e)
tar -xzf mod_xsendfile-0.12.tar.gz
cd mod_xsendfile-0.12/
sudo /opt/gitorious-2.4.12-1/apache2/bin/apxs -cia mod_xsendfile.c
sudo /opt/gitorious-2.4.12-1/ctlscript.sh restart
根据我能找到的所有文档,这应该就是我所需要的。我确实必须在我的 /etc/hosts 文件中为 IP 添加条目,以便 git.gitorious(我选择“gitorious”作为域名)实际上映射了正确的 IP。我在我的服务器和我想克隆到的 Ubuntu 机器上都这样做了。
不幸的是,http 克隆仍在生成空存储库,并且直接访问 URL 也不起作用。我错过了什么?
更新 编辑 /opt/gitorious-2.4.12-1/apps/gitorious/conf/gitorious.conf 并添加行
XSendFile on
XSendFilePath /opt/gitorious-2.4.12-1/apps/gitorious/tarballs
到目录标签:
<Directory "/opt/gitorious-2.4.12-1/apps/gitorious/htdocs/public">
更改了行为,现在当我转到该 URL 时,我看到了消息而不是空白文件
好的
在此服务器上找不到请求的 URL /dejanney/dejanney.git。
不知道这算不算进步。我已经为 XSendFilePath 尝试了不同的设置,但我似乎不能很好地工作。“/opt/gitorious-2.4.12-1/”不起作用。