Saltar al contenido principal

Directivas

As directivas son as instrucións que se escriben nos ficheiros de configuración para definir unha configuración que nós queremos.

Directivas simples

Algúns exemplos de directivas son os seguintes:

DocumentRoot /var/www/html
Listen 8080
ErrorDocument 404 "Este ficheiro non existe"
DirectoryIndex index.html inicio.html index.php
Include ports.conf

Nos ficheiros de configuración só se pode poñer unha directiva por liña.

Unha liña nun documento de configuración está formada por:

  • Directiva: palabra clave definida por Apache Server. Por exemplo, DocumentRoot.
  • Argumentos: valores que recibe a directiva. Pode recibir un único argumento ou varios. Por exemplo, /var/www/html.

A directiva sepárase dos argumentos por un espazo en branco. É dicir, o primeiro espazo en branco dunha liña sempre vai separar a directiva do argumento ou argumentos.

Por exemplo, supoñamos que temos a seguinte liña nun ficheiro de configuración:

Listen 8080

Polo que acabamos de ver, a directiva sería Listen e 8080 sería o argumento. Se eliminamos o espazo en branco, todo sería unha directiva e non existirían argumentos, o cal é incorrecto. O seguinte non sería válido:

Listen8080

Os argumentos, entre eles, tamén se separan por un espazo en branco. Se un argumento ten un valor que contén espazos en branco, débese poñer entre comiñas para que se interprete como un único argumento.

Por exemplo, na seguinte liña temos dous argumentos (index.html e inicio.html):

DirectoryIndex index.html inicio.html

Por outro lado, supoñamos a seguinte liña:

DirectoryIndex "ficheiro principal.html"

A liña anterior só ten un argumento: ficheiro principal.html (sen as comiñas). As comiñas só se empregan para indicar que o espazo tamén forma parte do argumento. É dicir, se non poñemos as comiñas, teríamos dous argumentos: ficheiro e principal.html.

Retomemos o exemplo inicial:

DocumentRoot /var/www/html
Listen 8080
ErrorDocument 404 "Este ficheiro non existe"
DirectoryIndex index.html inicio.html index.php
Include ports.conf

A continuación descríbense cada unha das directivas expostas no exemplo inicial deste apartado:

DirectivaArgumentosDescrición
DocumentRoot/var/www/htmlO argumento é un só. Ao non conter espazos en branco non é necesario poñer comiñas.
Listen8080O argumento é un só. Ao non conter espazos en branco non é necesario poñer comiñas.
ErrorDocument404
Este ficheiro non existe
Recibe dous argumentos. Como o segundo contén espazos en branco, é necesario poñer entre comiñas.
DirectoryIndexindex.html
inicio.html
index.php
Recibe tres argumentos. Ningún contén espazos en branco, polo que non se usan comiñas.
Includeports.confO argumento é un só. Ao non conter espazos en branco non é necesario poñer comiñas.

Contenedores

Existe un tipo especial de directiva especial que realiza a función de contenedor. Denomínanse contenedores porque encerran outras directivas. Por exemplo:

<VirtualHost>
DocumentRoot /var/www/html
</VirtualHost>

Este tipo de directivas van encerradas entre símbolos <> ou </>. Un contenedor está formado por dúas etiquetas:

  • Etiqueta de apertura: indica o inicio do contedor. Por exemplo, <VirtualHost>. A continuación dunha etiqueta de apertura, debemos indicar todas as directivas que queremos incluír dentro del.
  • Etiqueta de peche: indica o fin do contedor. Por exemplo, </VirtualHost>.

Todas as directivas que están entre as etiquetas de apertura e peche están condicionadas pola directiva contenedor.

No exemplo anterior, DocumentRoot /var/www/html vese afectada por <VirtualHost></VirtualHost>.

Os contenedores, como o resto de directivas, tamén poden recibir argumentos. Por exemplo:

<VirtualHost *:80>
</VirtualHost>

Nas liñas anteriores, o parámetro é *:80. Ao igual cá nas directivas, debe haber un espazo en branco entre a directiva e o argumento. O seguinte non sería válido:

<VirtualHost*:80>
</VirtualHost>

Comentarios

Nos ficheiros de configuración pódense poñer comentarios para unha mellor comprensión da configuración realizada. Todo comentario comeza por #. Os comentarios só son para os administradores e son ignorados por Apache Server, é dicir, non teñen ningún impacto na configuración do servidor.

# comentario 1
# comentario 2
DocumentRoot /var/www/html # comentario 3
# comentario 4
Error en Apache por comentarios

Nalgúns casos pódese producir un error se poñemos un comentario despois dunha directiva, como mostra o seguinte exemplo:

DocumentRoot /var/www/html # comentario

Se se produce un error, o comentario deberémolo poñer nunha liña nova:

# comentario
DocumentRoot /var/www/html