Después de construirservidor http apache2de la fuente (2.4.23) No tengo los comandos a2dissite
y a2ensite
.
Configurar fue:
./configure --with-included-apr --prefix=/usr/local/apache2
Cuando corro:
whereis apache2
Yo obtengo:
apache2: /etc/apache2 /usr/local/apache2
Pero which apache2
no muestra nada, ¿tal vez sea necesario algún enlace simbólico /usr/bin
? http://localhost
está funcionando bien.
Información de versión de la fuente:
/usr/local/apache2/bin/apachectl -v Server version: Apache/2.4.23 (Unix) Server built: Nov 1 2016 22:52:26
Versión de Linux:
linux mint 17
3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64
Respuesta1
Supongo que lo construyó a partir de la fuente disponible en Apache Software Foundation. Los a2en...
scripts (y la configuración de soporte) son específicos de Debian; Encontrarás el código fuente en el correspondiente.repositorio debian.
Su mejor opción para construir el httpd
servidor desde el código fuente y aún poder usarlo a2ensite
, etc. es usar el paquete fuente de 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
Los dos primeros comandos instalan los paquetes necesarios para compilar apache2
; luego dget
descarga y extrae el paquete fuente, dpkg-buildpackage
lo compila y produce una serie de .deb
paquetes que puede instalar manualmente dpkg
como de costumbre.
Si la build-dep
línea no funciona, lo siguiente es equivalente a 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
Respuesta2
No enlace simbólicamente cosas a /usr/bin
. Esa es una muy mala idea y no deberías hacerlo.
¿Por qué? Porque la mayor parte de /usr
, incluido /usr/bin
, está reservado para el administrador de paquetes. Cualquier cosa que no sea un administrador de paquetes, incluido usted, no debería tocar cosas allí.
/usr/local
existe para proporcionar un lugar para instalar software compilado localmente. Normalmente, lo proporcionarías /usr/local
como prefijo, en lugar de /usr/local/apache2
. (Un prefijo, por cierto, es el prefijo de la ruta del contenedor, la ruta de la biblioteca, etc. Entonces, por ejemplo, las herramientas de línea de comandos de Apache entrarían $PREFIX/bin
, sus bibliotecas entrarían $PREFIX/lib/apache2
, etc.)
La solución a su problema es agregarlo /usr/local/apache2/bin
a la lista de rutas que usa su shell para encontrar archivos binarios. Esto generalmente se conoce como $PATH
"tu ruta" o simplemente "tu ruta" y se puede cambiar con un comando como:
export PATH="/usr/local/apache2/bin:$PATH"
Puedes ponerlo en uno de los archivos de inicio de tu shell para hacerlo permanente.
Dicho todo esto, sospecho que todavía no encontrarás a2ensite
o a2dissite
. Si mal no recuerdo, ambos comandos fueron agregados por los desarrolladores de Debian y luego heredados desde allí por Mint. Por lo tanto, no están incluidos en el código fuente de Apache. Stephen Kittexcelente respuestale dirá cómo obtener estos comandos.