Como executar o httpd no macOS sem o Apache [fechado]

0

Estou tentando criar um aplicativo BCHS . Eu tenho um servidor remoto executando o OpenBSD, mas a latência da rede está me matando, então decidi desenvolver no meu MacBook Air e implantar no servidor OpenBSD posteriormente.

Ainda não instalei o Apache (e acho que não vou precisar dele), mas httpdparece ser um utilitário interno do macOS.

~
❯ httpd -v
Server version: Apache/2.4.28 (Unix)
Server built:   Oct  9 2017 19:54:20

Tentei começar httpdcom os seguintes métodos, mas eles não funcionaram:

❯ launchctl enable httpd
Unrecognized target specifier. <service-target> takes a form of <domain-target>/<service-id>.
Please refer to `man launchctl` for explanation of the <domain-target> specifiers.
Usage: launchctl enable <service-target>

~
❯ launchctl start httpd

~
❯ launchctl list | grep httpd

~
❯ httpd
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs

TL; DR

Eu quero iniciar httpdcomo um daemon. Como faço isso?

nalzok
fonte
Minha "resposta" não é uma resposta "centrada na maçã", por isso estou colocando isso como um comentário. O que eu achei mais útil é acender uma VM (o VirtualBox é mais que suficiente) configurá-la com rede em ponte para obter um IP na sua rede e instalar o BSD e o Apache como faria normalmente. Funcionará como seu servidor remoto, com o benefício adicional de que "limpar" está apenas removendo a VM, não desinstalando servidores que não são mais necessários.
Allan
Sinalizado pouco claro! A questão não faz muito sentido à luz de httpd -v Server version: Apache/2.4.28 (Unix). O comando comum para iniciar o httpd é sudo apachectl startpara o httpd vinculado às portas <1024.
klanomath
@klanomath Estou confuso quanto ao que você está confuso. Sua resposta não deveria ser apenas "Executar sudo apachectl start"?
JMY1000

Respostas:

2

Há um serviço LaunchDaemon para Apache em / System / Library / LaunchDaemons, org.apache.httpd.plist. Você pode carregá-lo usando:

sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

Obviamente, você precisará configurar httpd.confadequadamente primeiro.

Ele -wdeve definir a .plistchave Desativada como falsa, para iniciar na inicialização.

NOTA: load é classificado como um subcomando herdado de, launchctlmas ainda funciona em High Sierra. Tentei iniciar o Apache, sudo launchctl enable system/org.apache.httpdmas ele não pareceu fazer nada, possivelmente porque não tenho idéia de como usá-lo enable. : P

NOTA DUPLA: O Apache precisa de privilégios elevados, portanto nada acontece quando você acabou de executar httpd. sudo httpdfuncionará, mas novamente configurá-lo primeiro.

Stuart H
fonte