ocsigenserver: вам не разрешено использовать порт 80
Когда я бегу make run.byte
Я получаю эту ошибку ocsigenserver: ocsigen:main: Fatal - You are not allowed to use port 80.
, я пробовал sudo make run.byte
но Судо не знает об операторе или ocsigenserver. Я пытался играть с wwwuser
в Makefile.options, но я не могу заставить его работать. README, созданный винокурней, не дает много информации, и я не могу найти что-либо в Интернете.
make test.byte
работает просто отлично.
Любая идея, пожалуйста?
редактировать: похоже, это не имеет никакого отношения к eliom / ocaml, пользователи без прав root просто не могут запускать что-либо на портах ниже 1024 в Ubuntu. Но я до сих пор не понимаю, почему винокурня предлагает, чтобы я мог это сделать, если мой wwwuser - это я, я не думаю, что это когда-нибудь сработает. Я также не понимаю, как я должен бежать sudo make run.byte
, opam установлен в моем каталоге ~, sudo не может найти ocsigenserver
, Я мог бы заставить его работать, запустив все как root, но в любое время я запускаю opam
Команда от имени root я получаю you shouldn't use opam as root
предупреждение. Я не думаю, что это способ, которым я должен управлять этим. Что-то не в порядке.
1 ответ
В предыдущем выпуске eliom (eliom.5.0.0) - я еще не использовал свежий выпуск 6.0.0 - сначала необходимо установить приложение eliom:
sudo make install
Затем вы должны убить процесс прослушивания порта 80/tcp (например: sudo netstat -tulpn 80 | grep :80
поможет определить процесс прослушивания этого порта - скорее всего apache2 или lighthttpd).
Затем вы запускаете свой исполняемый файл:
sudo PATH = $ PATH OCAMLPATH = $ OCAMLPATH LD_LIBRARY_PATH = $ LD_LIBRARY_PATH make run.byte
Это то, что написано в README, созданном с помощью eliom-винокурни, но прежде чем устанавливать переменные env, позаботьтесь о том, чтобы:
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)