3

当我运行make run.byte我得到这个错误ocsigenserver: ocsigen:main: Fatal - You are not allowed to use port 80.。我试过sudo make run.byte了,但 sudo 不知道 opam 或 ocsigenserver。我曾尝试wwwuser在 Makefile.options 中使用,但无法使其正常工作。酒厂生成的 README 并没有提供太多信息,我在网上也找不到任何东西。

make test.byte工作得很好。

请问有什么想法吗?

编辑:看起来它与 eliom/ocaml 无关,非 root 用户无法在 Ubuntu 上低于 1024 的端口上运行任何东西。但是我仍然不明白为什么酿酒厂建议如果我的 wwwuser 是我,我可以做到这一点,我认为这不会有任何作用。我也不明白我应该如何运行sudo make run.byte,opam 安装在我的 ~ 目录中,sudo 找不到ocsigenserver。我可以通过以 root 身份运行所有内容来使其工作,但是每当我以opamroot 身份运行命令时,我都会收到you shouldn't use opam as root警告。我不认为这是我应该运行它的方式。有什么不对劲。

4

1 回答 1

3

使用以前版本的 eliom (eliom.5.0.0) - 我还没有使用新的 6.0.0 版本 - 您必须先安装您的 eliom 应用程序:

须藤使安装

然后,您必须终止侦听 80/tcp 端口的进程(例如:sudo netstat -tulpn 80 | grep :80将有助于识别侦听该端口的进程 - 很可能是 apache2 或 lighthttpd)。

然后,你运行你的可执行文件:

sudo PATH=$PATH OCAMLPATH=$OCAMLPATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH make run.byte

这是使用 eliom-distillery 创建的自述文件中所写的内容 - 但请注意在之前设置您的环境变量:

 OCAMLPATH is the location of ocaml used in your env (in my env :~/.opam/4.02.3/bin). 
 LD_LIBRARY_PATH : .opam/4.02.3/lib/stublibs (otherwise dllssl_threads_stubs is not found)
于 2016-12-27T07:09:31.317 回答