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:
| Directiva | Argumentos | Descrición |
|---|---|---|
DocumentRoot | /var/www/html | O argumento é un só. Ao non conter espazos en branco non é necesario poñer comiñas. |
Listen | 8080 | O argumento é un só. Ao non conter espazos en branco non é necesario poñer comiñas. |
ErrorDocument | 404Este ficheiro non existe | Recibe dous argumentos. Como o segundo contén espazos en branco, é necesario poñer entre comiñas. |
DirectoryIndex | index.htmlinicio.htmlindex.php | Recibe tres argumentos. Ningún contén espazos en branco, polo que non se usan comiñas. |
Include | ports.conf | O 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
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