|
Ver: http://httpd.apache.org/
La configuración se hace mediante un archivo httpd.conf; comentarios comienzan con #, directivas insensitive, comandos sensitive, backslash escape.
El ámbito de una directiva de configuración es todo el servidor, a menos que se indique:
- <Files> .. </Files>: Archivos que contengan
- <FilesMatch> ... </FilesMatch>: Lo mismo, según expresión regular
- <Directory> ... </Directory>: Directorios (reales: /home/usuario/www/seccion1/parte2) que contengan
- <DirectoryMatch> ... </DirectoryMatch>: Lo mismo, según expresión regular
- <Location> ... </Location>: Localizaciones (virtuales: seccion1/parte2/)
- <LocationMatch> ... </LocationMatch>: Según expresión regular
- <VirtualHost> ... </VirtualHost>: Servidores virtuales
Otro archivo de configuración es .htaccess que se pone en los directorios.
ServerTokens (ProductName, Minimal, OS, Full), ServerAdmin (root@server.com), ServerSignature (On,Off,Email): controlan la salida normal.
ServerName (www.example.com), UseCanonicalName (on,off): controlan como Apache construye URLs hacia sí mismo.
CoreDumpDirectory, DocumentRoot (/home/www/html), ServerRoot (/etc/apache): Localización de archivos.
ScoreBoardFile (tablero para intercambiar mensajes entre los servidores), PidFile (process-id)
*Limit, RLimit*: limitan procesador, memoria, número de procesos.
ErrorLog, LogLevel (emerg -ej.: no subió, alert -ej.: no funcionará, crit -ej: un hijo no subió, error, warn, notice, info, debug) LogFormat especificación tipo (crea un formato), CustomLog archivo tipo (lo utiliza)
RewriteLog, ScriptLog: logs especiales, usar sólo para depurar
Alias localización directorio, AliasMatch regexp regexp
ScriptAlias localización directorio, ScriptAliasMatch regexp regexp
Redirect {permanent/temp/seeother/gone} urlorigen urldestino, RedirectMatch
ErrorDocument código mensaje-o-url
Listen IP:Port (además de localhost:80)
NameVirtualHost IP:Port (declara que IP:Port es para virtual hosts)
Típico uso:
- <VirtualHost IP:Port>
- ServerName svr1.domain.com
- DocumenRoot /home/svr1
- </VirtualHost>
Los primeros tienen prioridad. Tip: no dejar nada en el servidor principal si van a usar vhosts.
- Action actionname program: crea un handler
- AddHandler actionname extension: lo agrega a la cadena de responsabilidades
- SetHandler actionname extension
Tabla de negociación explícita (AddHandler type-map .var), o implícita (Mutiviews On, /algo se transforma, en algo.sp.html.gz).
SetEnvIf variable_de_ambiente regexp var1=val1, !var1, var1
SuExec: wrapper para cambiar de identidad.
Un CGI convierte potencialmente una máquina en un sistema en que cualquier usuario de internet es un usuario de la máquina.
.htaccess (Options ...), AllowOverride
AuthType, Require valid-user: y otros mecanismos de autentificación (ej.: por DBI, por cookies, etc.)
¿ Cuánto es necesario ?. Si con un pentium chico, puedo servir 10Mb/s, entonces el problema es la red, no la máquina. El problema más importante es la memoria RAM (sobre todo si se usan CGIs), pues el tiempo de SWAP excede normalmente lo tolerable para cualquier usuario.
HostNameLookups Off
.htaccess apagadas si no se usan
MinSpareServers, MaxSpareServers, StartServers (uno cada segundo, o 2^i cada segundo) KeepAliveTimeout bajo
|