Uso el servidor Ubuntu 16.04.2 con Apache2, en el que almaceno mis sitios web personales.
Para habilitar todos mis archivos conf en /etc/apache2/sites-available(además de 000-default.confy ssl-default.conf), fui /var/www/htmly ejecuté a2ensite.
Entonces me dijeron:
Your choices are:
000-default default-ssl domain.tld1 domain.tld2 domain.tld3 domain.tld4
Which site(s) do you want to enable (wildcards ok)?
Luego hice Ctrl+ con el Cobjetivo de ejecutar otra cosa.
Estoy buscando una manera de habilitar automáticamente todas las confs del sitio, sin mencionar una específica --- Solo quiero ejecutar un comando que habilitará todas las confs del sitio que yo mismo agregué.

*.confextensión. O bien, a2ensite se quejaría de que el sitio no existeNecesita navegar
/etc/apache2/sites-availabley luego ejecutar el comando:Permitirá todos los sitios en el directorio. (los archivos deberían ser algo así como xxx.conf)
Y luego vuelva a cargar apache usando
sudo service apache2 reload.Entonces su secuencia de comando debería ser así:
fuente
default-ssl.conf... Esto está claro en la salidaEnabling site default-ssl.dpkg -Spara ver si el archivo de configuración es de un paquete.No importa cuál sea nuestra ubicación actual, el comando
sudo a2ensite "*.conf"intentará habilitar todos los archivos de configuración ubicados en/etc/apache2/sites-available/.A continuación, podemos usar
a2dissite 000-default.conf default-ssl.confpara deshabilitar las configuraciones predeterminadas de Apache y luego podemos usarsystemctl restart apache2.servicepara reiniciarlo.Podemos ejecutar todo esto como un solo comando:
Algo más, podemos crear un comando personalizado a través de una función en bash:
Ahora tenemos el comando , diseñado para hacer este trabajo. Para hacer que este comando sea permanente, debemos colocar las líneas anteriores en la parte inferior del archivo y luego . El siguiente script simple realizará esta tarea:
a2ensites~/.bashrcsourcefuente
*comodín se está expandiendo antes de pasar ala2ensitecomando en mi caso. Sin embargo, esto funcionasudo a2ensite "*.conf".a2ensite '*.conf'funciona correctamente en su sistema?La ejecución
a2ensite /var/www/html/*/hará que Apache habilite cada conf de sitio que tenga el mismo nombre que el directorio del sitio.Como efecto secundario, también intentará hacer coincidir los directorios del sitio que no coinciden con los archivos conf del sitio, como se predice en el siguiente resultado, pero creo que esto puede ignorarse de manera segura:
Es probable que deba reiniciar Apache después de habilitar los archivos conf:
fuente
/etc/apache2/sites-availablecarpeta para configuraciones para sus sitios. Una vez que los habilita a través de a2ensite, se vinculan automáticamente/etc/apache2/sites-enabled. Lo que está haciendo en este momento es bastante extraño y todos los que tienen acceso a su servidor web pueden ver sus configuraciones./var/www/htmlya que ese es el DocumentRoot del sitiodefault.html. Entonces, en tu caso, parece que estás ejecutando las configuraciones allí ... Es como comer con la boca abierta, no hagas eso ;-)./var/www/htmlcomo tu carpeta de configuración. NVM entonces. Lo que realmente necesitas es solo unfind ./ -type f -and -not -name "*default*" -exec a2ensite {} \;copia y pega las siguientes líneas en el nombre del archivo
apache_enable.shy dar el comando read + execute a
apache_enable.shy ejecutar el script usando el usuario rootfuente
Mueva las configuraciones predeterminadas a otra carpeta y luego * debería funcionar para usted como lo desee.
Vaya a la carpeta "sitios disponibles" ya que solo funciona en esta carpeta.
fuente