Depois de construirservidor http apache2da fonte (2.4.23) Não tenho os comandos a2dissite
e a2ensite
.
Configurar foi:
./configure --with-included-apr --prefix=/usr/local/apache2
Quando corro:
whereis apache2
Eu recebo:
apache2: /etc/apache2 /usr/local/apache2
Mas which apache2
não mostra nada, talvez seja necessário algum link simbólico para /usr/bin
? http://localhost
está funcionando bem.
Informações de versão para fonte:
/usr/local/apache2/bin/apachectl -v Server version: Apache/2.4.23 (Unix) Server built: Nov 1 2016 22:52:26
Versão Linux:
linux mint 17
3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64
Responder1
Suponho que você construiu a partir da fonte disponível na Apache Software Foundation. Oa2en...
scripts (e a configuração de suporte) são específicos do Debian; você encontrará o código-fonte no correspondenteRepositório Debian.
Sua melhor aposta para construir o httpd
servidor a partir do código-fonte e ainda poder usar a2ensite
etc. é usar o pacote fonte Debian:
sudo apt-get install devscripts dpkg-dev build-essential
sudo apt-get build-dep apache2
dget http://httpredir.debian.org/debian/pool/main/a/apache2/apache2_2.4.23-5.dsc
cd apache2-2.4.23
dpkg-buildpackage -us -uc
Os dois primeiros comandos instalam os pacotes necessários para compilar apache2
; em seguida dget
, baixa e extrai o pacote fonte, dpkg-buildpackage
constrói-o e produz uma série de .deb
pacotes que você pode instalar manualmente usando dpkg
normalmente.
Se a build-dep
linha não funcionar, o seguinte é equivalente para apache2
:
sudo apt-get install debhelper lsb-release libaprutil1-dev libapr1-dev libpcre3-dev zlib1g-dev libnghttp2-dev libssl-dev perl liblua5.2-dev libxml2-dev autotools-dev gawk dh-systemd
Responder2
Não faça links simbólicos para /usr/bin
. Essa é uma ideia extremamente ruim e você não deve fazê-lo.
Por que? Porque a maior parte /usr
, incluindo /usr/bin
, é reservada para o gerenciador de pacotes. Qualquer coisa que não seja um gerenciador de pacotes, incluindo você, não deveria tocar nas coisas lá.
/usr/local
existe para fornecer um local para instalar software compilado localmente. Normalmente, você forneceria /usr/local
um prefixo, em vez de /usr/local/apache2
. (A propósito, um prefixo é o prefixo do caminho bin, do caminho da biblioteca, etc. Por exemplo, as ferramentas de linha de comando do Apache entrariam $PREFIX/bin
, suas bibliotecas entrariam $PREFIX/lib/apache2
, etc.)
A solução para o seu problema é adicionar /usr/local/apache2/bin
à lista de caminhos que seu shell usa para encontrar binários. Isso geralmente é chamado $PATH
simplesmente de "seu caminho" e pode ser alterado com um comando como:
export PATH="/usr/local/apache2/bin:$PATH"
Você pode colocar isso em um dos arquivos de inicialização do seu shell para torná-lo permanente.
Dito isso, suspeito que você ainda não encontrará a2ensite
oua2dissite
. Se bem me lembro, ambos os comandos foram adicionados por desenvolvedores Debian e depois herdados de lá pelo Mint. Portanto, eles não estão incluídos no código-fonte upstream do Apache. Stephen Kittexcelente respostalhe dirá como obter esses comandos.