Apache se puede configurar en SUSE Linux de dos modos diferentes: con YaST o manualmente. La configuración manual ofrece un nivel superior de detalle, pero carece de la comodidad de la interfaz gráfica de YaST.
![]() | Cambios de configuración |
|---|---|
Los cambios realizados en algunos de los valores de configuración de Apache sólo surten efecto cuando Apache se reinicia. Esto sucede automáticamente al finalizar la configuración empleando YaST con la opción (Habilitado) para el servicio HTTP. El reinicio manual se describe en la Sección 46.3.3, “Activación, inicio y detención de Apache”. La mayoría de los cambios de configuración sólo requieren volver a cargar el programa con rcapache2 reload. | |
Con YaST, puede convertir un host de la red en un servidor Web. Para configurar un servidor de ese tipo, inicie YaST y seleccione +. Al iniciar el módulo por primera vez, se inicia el Asistente de servidor HTTP, que le solicitará que tome algunas decisiones relativas a la administración del servidor.
El Asistente de servidor HTTP consta de cinco pasos o cuadros de diálogo. En el último paso del cuadro de diálogo, podrá introducir el modo de configuración avanzada para realizar ajustes aún más específicos.
Especifique las interfaces y los puertos de red que Apache utilizará para escuchar las peticiones entrantes. Puede seleccionar cualquier combinación de las interfaces de red existentes y sus direcciones IP respectivas. Es posible utilizar productos de los tres rangos (puertos conocidos, puertos registrados y puertos dinámicos o privados) no reservados por otros servicios.
Con la configuración definida por defecto, se escucha en todas las interfaces de red (direcciones IP) en el puerto 80. Cuando se activa el cortafuegos, se puede decidir si se habilitan o no los puertos de Apache en el cortafuegos.
Seleccione (Abrir cortafuegos para los puertos seleccionados) para abrir los puertos en el cortafuegos en el que escucha el servidor Web. Este paso es necesario para que el servidor Web esté disponible en la red, que puede ser una LAN, una WAN o Internet. Mantener el puerto de escucha cerrado es útil para las situaciones de prueba en las que no es necesario el acceso externo al servidor Web. Si está satisfecho con la configuración definida por defecto o ha realizado cambios, haga clic en para continuar con la configuración.
El paquete SUSE Linux Apache incluye una amplia variedad de módulos Apache. Los módulos amplían la funcionalidad de Apache y están disponibles para una amplia gama de tareas. La opción de configuración (Módulos) permite cargar y descargar varios módulos de Apache cuando se inicia el servidor. Para obtener una explicación más detallada de los módulos, consulte la Sección 46.5, “Módulos de Apache”. Haga clic en para continuar.
Esta opción pertenece al servidor Web por defecto. Como se explica en la Sección 46.4, “Hosts virtuales”, Apache puede servir a varios dominios desde una sola máquina. El primer dominio declarado (o VirtualHost) del archivo de configuración se denomina Ordenador predeterminado. Para editar la configuración del host, seleccione la entrada apropiada en la tabla y, a continuación, haga clic en . Para añadir un host nuevo, haga clic en . Para eliminar un host, selecciónelo y haga clic en .
En este paso, puede añadir una opción de SSL (capa de conexión segura) y mejorar la configuración del host. Puede obtener más información al respecto en la Sección 46.3.1.3, “Adición de compatibilidad con SSL”.
A continuación, se ofrece una lista con los ajustes por defecto del servidor:
Como se describe en Sección 46.2.3.4, “Raíz de documentos”, /srv/www/htdocs es la ubicación por defecto desde la que Apache sirve páginas Web.
/srv/www/htdocs es la ubicación de las páginas Web.
Con la ayuda de las directivas Alias, las URL se pueden asignar a ubicaciones físicas de sistemas de archivos. Esto significa que es posible acceder a cualquier vía incluso si se encuentra fuera del Documento raíz del sistema de archivos mediante una URL con el alias de dicha vía.
Los Alias /iconos SUSE Linux por defecto señalan /usr/share/apache2/icons para los iconos de Apache que aparecen en la vista de índice del directorio.
/usr/shareapache2/icons es la ubicación del directorio Alias.
Al igual que la directiva Alias, la directiva ScriptAlias asigna una URL a la ubicación de un sistema de archivos. La diferencia es que ScriptAlias designa el directorio destino como ubicación CGI, lo que significa que los guiones CGI deberían ejecutarse en dicha ubicación.
/srv/www/cgi-bin es la ubicación del directorio ScriptAlias.
/etc/apache2/conf.d/*.conf es el directorio que contiene los archivos de configuración que se incluyen en ciertos paquetes. /etc/apache2/conf.d/apache2-manual?conf es el directorio que contiene los archivos de configuración apache2-manual.
Esta opción hace referencia a la Sección 46.4, “Hosts virtuales”.
(Determinar servidor de peticiones por encabezados HTTP) ofrece una respuesta por parte de VirtualHost a una petición realizada a su nombre de servidor (consulte la Sección 46.4.1, “Hosts virtuales basados en nombres”).
(Determinar servidor de peticiones por dirección IP del servidor) hace que Apache seleccione el host solicitado por la información de encabezados HTTP que envía el cliente. Consulte la Sección 46.4.2, “Hosts virtuales basados en IP” para obtener más información acerca de los hosts virtuales basados en IP.
Éste especifica la URL por defecto que utilizan los clientes para ponerse en contacto con el servidor Web. Utilice un FQDN (consulte Dominio) para llegar al servidor Web en http:// o en su dirección IP.
FQDN
Proporcione la dirección de correo electrónico del administrador del servidor Web en .
Una vez que haya terminado con el paso , haga clic en para continuar con el cuadro de diálogo de configuración.
En este paso, el asistente muestra una lista de los hosts virtuales ya configurados (consulte la Sección 46.4, “Hosts virtuales”). Uno de los hosts se selecciona por defecto (con un asterisco al lado del nombre del servidor). Para definir un ordenador predeterminado, seleccione el servidor y haga clic en .
Para añadir un host, haga clic en y aparecerá un cuadro de diálogo en el que introducir información básica acerca del host. incluye el nombre del servidor, la raíz del contenido del servidor y el correo electrónico del administrador. El texto de ayuda de la trama izquierda de la ventana explica cada uno de estos elementos en detalle. La se utiliza para determinar cómo se identifica un host. Puede especificar si desea determinar un servidor de peticiones a partir de los encabezados HTTP o por dirección IP del servidor mediante la selección de la opción respectiva. La otra posibilidad es determinar el host virtual por la dirección IP utilizada por el cliente al conectarse al servidor. También puede elegir habilitar el soporte de SSL mediante seleccionando dicha opción. También se puede especificar la vía de archivos de certificado. Al hacer clic en , se muestra el directorio por defecto /etc/apache2/ssl.crt. Una vez introducida toda la información, haga clic en para continuar hasta el paso final de la configuración.
Éste es el paso final del asistente. Determine cómo y cuándo se inicia el servidor Apache: al arrancar o de forma manual. El puerto seleccionado anteriormente también se muestra junto con los hosts virtuales y por defecto. Si está satisfecho con la configuración, haga clic en para terminar la configuración.
El módulo del servidor HTTP le permite realizar incluso más ajustes en la configuración. Haga clic en para ver más opciones de configuración. También se pueden realizar los siguientes cambios:
Si selecciona el ajuste y hace clic en , se abrirá una ventana nueva en la que puede añadir, eliminar y editar entradas.
Si selecciona la configuración y hace clic en , puede cambiar el estado de los módulos Apache2 haciendo clic en . Haga clic en para añadir un módulo nuevo.
Si selecciona y hace clic en , podrá editar la configuración del host. También es posible añadir, editar o eliminar opciones.
Al seleccionar y hacer clic en , podrá añadir, eliminar, editar un host o seleccionarlo como por defecto.
En todos los cuadros de diálogo precedentes, es posible hacer clic en para ver el registro de errores y acceder al registro. Haga clic en para completar la configuración y volver al Centro de Control de YaST.
Para añadir una opción de SSL al host, haga clic en desde el paso tres (ordenador predeterminado) del Asistente de servidor HTTP. Si ya se ha configurado el servidor y ya no tiene acceso al asistente, puede configurar una opción SSL seleccionando en el cuadro de diálogo Configuración del servidor HTTP o haciendo clic en y . En los dos casos, aparece una ventana emergente en la que puede desplazarse a una opción y confirmar con . A continuación, se le solicitará que introduzca un valor para la opción seleccionada. Esto puede ser tan sencillo como definir el valor como activo o inactivo, pero puede que el cuadro de diálogo requiera que introduzca un valor apropiado. Si no está seguro, consulte la documentación para ver los parámetros de valores al configurar SSL. Al hacer clic en , la opción y el valor aparecen en la lista de configuración del host. le lleva al siguiente paso en el cuadro de diálogo de configuración.
Si aparece en la lista de configuración del host, haga clic en para abrir el cuadro de diálogo de configuración de SSL. Si no aparece, haga clic en , seleccione y y el cuadro de diálogo se abre de forma automática. Añada, suprima o edite opciones SSL. Haga clic en para volver al Asistente de servidor HTTP.
Configurar Apache manualmente implica editar archivos de configuración de sólo texto como usuario Root.
![]() | ya no hay módulo SuSEconfig para Apache2 |
|---|---|
El módulo SuSEconfig para Apache2 ya no existe en SUSE Linux, pues ya no es necesario para ejecutar | |
/etc/sysconfig/apache2 controla algunos de los ajustes globales de Apache, como los módulos que se van a cargar, los archivos de configuración adicionales que se deben incluir, los indicadores con los que debe iniciarse el servidor y los indicadores que deben añadirse a la línea de comandos. Todas las opciones de configuración de este archivo están ampliamente documentadas, por lo que no se mencionan aquí. /etc/sysconfig/apache2 deberá ser suficiente para cualquier necesidad de configuración en un servidor Web de uso general. En caso de necesitar una configuración específica, consulte la Sección 46.3.2.2, “Directivas de Apache en /etc/apache2/httpd.conf: entorno global
”.
![]() | Archivos creados automáticamente al iniciar el servidor |
|---|---|
No edite estos archivos manualmente. Edite los ajustes correspondientes en | |
Para ajustes de configuración de gran precisión, consulte los archivos en /etc/apache2/*, en concreto en caso de necesitar cambios en la configuración manual de los hosts virtuales, el entorno global o el servidor principal.
SUSE Linux utiliza /etc/apache2/httpd.conf como punto central de referencia para otros archivos de configuración. Edite el archivo sólo para habilitar funciones que no estén disponibles en /etc/sysconfig/apache2. Las directivas de la sección Global Environment (Entorno global) de httpd.conf afectan al funcionamiento general de Apache.
Las secciones siguientes describen algunas de las directivas no disponibles en YaST. Las directivas centrales, como Document Root (Raíz de documentos) (Documento raíz) son fundamentales y necesarias tanto en Global Environment (Entorno global) como en VirtualHost (Host virtual).
Los siguientes parámetros y directivas se ordenan según afiliación lógica y ámbito de configuración. Todos deben definirse en /etc/apache2/httpd.conf.
La directiva LoadModule especifica qué módulo de Apache se debe cargar en tiempo de ejecución. identificador_módulo es el nombre del módulo según su documentación. /vía/a/módulo puede ser una vía absoluta o relativa que apunta al archivo.
Ejemplo 46.1. Directiva LoadModule
LoadModule rewrite_module /usr/lib/apache2-prefork/mod_rewrite.so
En SUSE Linux no es necesario utilizar las declaraciones LoadModule directamente. En lugar de ello, se utiliza APACHE_MODULE en /etc/sysconfig/apache2.
El número máximo de clientes Apache que se pueden gestionar simultáneamente. MaxClients debe ser un número lo suficientemente grande como para poder gestionar cuantas solicitudes simultáneas espere recibir el sitio Web, pero lo suficientemente pequeño como para garantizar que haya suficiente memoria RAM física para abastecer a todos los procesos.
Las directivas de la sección Main Server (Servidor principal) se aplican cuando las solicitudes del cliente no están siendo gestionadas por ningún VirtualHost (Host virtual), por lo que es necesario que las procese un servidor principal o por defecto. Adicionalmente, los parámetros definidos en este contexto son los valores por defecto para todos los hosts virtuales configurados. En consecuencia, todas las directivas de Main Server (Servidor principal) se pueden definir también en el contexto de VirtualHost (Host virtual) sobrescribiendo los valores por defecto.
Defina qué archivos debe buscar Apache para completar una URL cuando no haya especificación de archivo. El ajuste por defecto es index.html. Por ejemplo, si el cliente solicita la URL http://www.ejemplo.com/foo/ y el directorio foo contiene un archivo llamado index.html, Apache mostrará esta página al cliente. Para indicar varios archivos, sepárelos con espacios.
Esta directiva sólo se puede utilizar dentro de una declaración <Directory></Directory>. Consulte Directorio.
AllowOverride especifica qué opciones de visualización puede sobrescribir un archivo .htaccess (u otros archivos especificados por AccessFileName, tal y como se describe en la Sección 46.3.2.3.3, “AccessFileName nombres de archivos
”).
Los valores posibles son:
All
Todas las opciones se sobreescribirán con un archivo .htaccess.
None
Ninguna opción se sobrescribirá con un archivo .htaccess.
AuthConfig
Los directorios pueden ir protegidos por contraseña con la ayuda de un archivo .htaccess.
FileInfo
Permite utilizar directivas que controlen tipos de documentos dentro de un archivo .htaccess. Un ejemplo típico de esto es configurar páginas de error personalizadas con ErrorDocument (consulte http://httpd.apache.org/docs-2.0/mod/core.html#errordocument).
Indexes
En caso de que no se encuentre ningún documento DirectoryIndex, este parámetro permite a Apache controlar la visualización del contenido de los directorios.
Limit
Controla el acceso a un directorio o a ciertos archivos por parte de los clientes. Las directivas Allow, Deny y Order se utilizan dentro de un archivo .htaccess con este propósito. Para ver información sobre el uso de estas directivas, consulte la documentación del módulo de acceso (http://httpd.apache.org/docs-2.0/mod/mod_access.html).
Options
Permite utilizar las directivas Options y XBitHack dentro de un archivo .htaccess. La directiva Options (http://httpd.apache.org/docs-2.0/mod/core.html#options) controla qué funciones del servidor están disponibles dentro de un directorio concreto. La directiva XBitHack (http://httpd.apache.org/docs-2.0/mod/mod_include.html#xbithack) permite definir los archivos con el bit de ejecución para que se analicen como SSI (consulte la Sección 46.5.1.1, “Inclusiones del servidor con mod_include
”).
![]() | Importante |
|---|---|
Estos ajustes se aplican recursivamente en el directorio en uso y en sus subdirectorios. Estas opciones, excepto | |
AccessFileName define el nombre de los archivos que pueden sobrescribir los permisos de acceso global y otros ajustes para directorios (consulte Directorio).
El ajuste por defecto es .htaccess. Para indicar varios archivos, sepárelos con espacios.
Especifica el nombre del archivo en el que Apache debe registrar los mensajes de error. Apache también puede registrar estos mensajes en un comando o en un guión. El ajuste por defecto es /var/log/apache2/error_log.
Define el nivel de detalle de los mensajes que registrar. El orden de detalle, que va descendiendo según la gravedad de los mensajes, nivel, podría ser
emerg
alert
crit
error
warn
notice
info
debug
El ajuste por defecto es warn, recomendado para un funcionamiento normal. info y debug ofrecen información útil en cuanto a cuestiones de depuración.
Para mantener varios dominios o nombres de host en una máquina física es necesario disponer de contenedores VirtualHost. Estos contenedores se declaran en las secciones Virtual Hosts (Hosts virtuales) de la configuración. Para obtener más detalles acerca de la sintaxis empleada en los hosts virtuales, así como su funcionalidad, consulte la Sección 46.4, “Hosts virtuales”.
Para activar el servidor Web Apache en el momento de inicio, utilice el editor de nivel de ejecución de YaST. Para iniciarlo, seleccione + en YaST. A continuación, diríjase a la entrada Elija para que Apache se inicie automáticamente cuando se inicie la máquina. Los usuarios expertos tal vez prefieran utilizar la herramienta chkconfig para hacer lo mismo a través de la línea de comandos: /sbin/chkconfig -a apache2.
Para iniciar o detener Apache, utilice el guión /usr/sbin/rcapache2 como usuario Root. /usr/sbin/rcapache2 toma los siguientes parámetros para iniciar y detener el servidor Web Apache:
start
Inicia el servidor Web Apache.
startssl
Inicia el servidor Web Apache con compatibilidad para SSL. Para obtener información sobre cómo configurar Apache con SSL, consulte la Sección 46.3.1.3, “Adición de compatibilidad con SSL” y la Sección 46.5.2.2, “Nivel de zócalo con seguridad y Apache: mod_ssl”.
stop
Detiene el servidor Web Apache.
configtest
Prueba la configuración de Apache sin detener, iniciar ni reiniciar el servidor Web. Dado que esta prueba se lleva a cabo cada vez que se inicia el servidor, se vuelve a cargar o se reinicia, normalmente no es necesario ejecutarla de forma explícita.
restart
Primero detiene el servidor Web y luego lo vuelve a iniciar.
try-restart
Reinicia el servidor Web si se está ejecutando.
restart-hup
Reinicia el servidor Web Apache enviándole una señal SIGHUP. Normalmente no se utiliza.
graceful y reload
Detiene el servidor Web invitando a todos los procesos de Apache en horquilla a que terminen primero su solicitud antes de cerrar. A medida que se van finalizando los procesos, se van reemplazando por procesos recién iniciados, lo cual resulta en un "reinicio" completo de Apache.
![]() | Sugerencia |
|---|---|
rcapache2 | |
status
Comprueba el estado del tiempo de ejecución del servidor Web Apache.
Ejemplo 46.7. Ejemplo de cuándo iniciar y detener Apache
tux@sun # rcapache2 status Checking for httpd2: unused tux@sun # rcapache2 configtest Syntax OK tux@sun # rcapache2 start Starting httpd2 (prefork) done tux@sun # rcapache2 status Checking for httpd2: running tux@sun # rcapache2 graceful Reload httpd2 (graceful restart) done tux@sun # rcapache2 status Checking for httpd2: running
Un archivo de configuración defectuoso puede hacer que Apache no se inicie correctamente o no se inicie en absoluto. Si no se inicia, es posible que ni siquiera aparezca un mensaje. Compruebe siempre en el registro de errores principal la información de inicio y reinicio.