Respuestas:
El httpd.conf está diseñado para configuraciones de usuario. Realmente no debe editar el apache2.conf, ya que puede actualizarse en futuras actualizaciones.
Una opción adicional es simplemente poner su configuración personalizada en /etc/apache2/conf.d, todos los archivos en este directorio también están incluidos.
Estas no son tus únicas opciones. En Ubuntu / Debian, Apache también procesa todos los archivos /etc/apache2/sites-enabled/
(que deberían ser enlaces simbólicos a los archivos en el sites-available/
directorio, administrados por a2ensite
y los a2dissite
programas)
Está destinado a utilizar estos directorios para VirtualHost
s.
apache2.conf incluye httpd.conf:
a@test$:/etc/apache2$ cat apache2.conf | grep httpd.conf
Include /etc/apache2/httpd.conf
Creo que httpd.conf está en desuso, pero solo se dejó allí para las personas conservadoras para que encuentren su camino ... :)
EDITAR:
Después de leer la respuesta de Rob, hice una mejor prueba:
a@test:/etc/apache2$ grep -C 1 httpd.conf apache2.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
Configuraciones de usuario es ...
Apache Software Foundation publica muchos bits de software, uno de los cuales es un servidor web llamado httpd
. Las fuentes del proyecto httpd incluyen, entre otras cosas, un httpd.conf
archivo de configuración de muestra, que se instala por defecto en /usr/local/etc/httpd
o /etc/httpd
. Encontrará httpd nombrado como tal en la mayoría de los sistemas.
Sin embargo, hace mucho tiempo y lejos, alguien en la distribución Debian GNU / Linux decidió cambiar el nombre del software dentro de esa distribución de httpd
a apache2
. Por lo tanto, en un sistema Debian encontrará un archivo de configuración llamado apache2.conf
en un directorio llamado /etc/apache2
. No sé quién hizo esto o por qué, pero es una fuente constante de confusión a la par que llamar a Windows "Microsoft" o ESXi "VMware". Las distribuciones basadas en Debian, como Ubuntu, heredan esta extrañeza. Aún más extraño, luego incluyen un archivo /etc/apache2/httpd.conf
que se Include
d apache2.conf
en el que los usuarios pueden colocar la configuración personalizada.
Entonces la respuesta es, si está en un sistema basado en Debian, dobla su cerebro para hacer las cosas de la manera en que Debian quiere que lo haga. De lo contrario, generalmente hace las cosas de la manera normal como lo hace el proyecto httpd ascendente.
Apache 2.4
Utilizar:
Coloque cualquier configuración personalizada en /etc/apache2/conf-available/{name}.conf
Habilita / deshabilita tu configuración usando sudo a2enconf {name}
o sudo a2disconf {name}
.
(Luego reinicie el servicio apache2).
No utilizar:
httpd.conf
está en desuso y ya NO debería verlo; si lo hace, déjelo vacío como está instalado.
apache2.conf
todavía está instalado, pero déjelo solo si desea actualizar Apache limpia / fácilmente.
-
Todo lo que pueda ver en una configuración de Apache 'global' puede agregarse / anularse en su configuración personalizada como se indicó anteriormente.
Si apache2.conf
no está vacío y httpd.conf
está vacío, probablemente debería usar apache2.conf
;-)
Pero supongo que uno incluye el otro (y que uno de ellos se mantiene únicamente por razones de compatibilidad con versiones anteriores) , por lo que no debería cambiar mucho.
Aún así, si desea agregar algo, como un nuevo VirtualHost
: ¿no hay otro subdirectorio en el que pueda colocar su archivo e incluirlo?
Probablemente sería una mejor solución: no modificaría el archivo predeterminado, lo que simplificaría las actualizaciones.
simplemente abra apache2.conf y mire el contenido:
Include /etc/apache2/mod-enabled/*.conf
Include /etc/apache2/httpd.conf
Entonces, si desea incluir su propia configuración, agréguela a httpd.conf y apache2.conf la obtendrá automáticamente.
Como otros dicen, apache2.conf puede generarse a máquina y es mejor no tocarlo.
Para obtener más información, generalmente Ubuntu usa apache2.conf y Centos usa httpd.conf. Entonces, todos estos archivos dependen del sistema operativo que tenga.
Para encontrar el nombre y la ubicación del archivo de configuración, deberá:
1) Busque como se llama el proceso, en este caso trabajando con el usuario de apache:
ps -ef | grep apache
(en este ejemplo, devuelve: httpd
)
2) Mostrar las variables utilizadas por el binario:
httpd -V | grep 'HTTPD_ROOT' && httpd -V | grep 'SERVER_CONFIG_FILE'
Extraído y capturas de pantalla en: http://www.sysadmit.com/2016/12/linux-apache-donde-esta-httpdconf-apache2conf.html