Servidor web en casa (parte I)
Para montar una página personal, e incluso páginas grandes o portales, tenemos un servidor, el mejor que es Apache, si este lo combinamos una base de datos potente como es MySQL y PHPMyAdmin para gestionar de forma más amigable las BD que vayamos creando, tenemos un potente servidor web montado. Además de esto, y ya que íba a usar bases de datos, decidí instalar PHP5. Con esto tenemos todo lo necesario para crear un blog, o cualquier página dinámica. Si queremos ponerle la guinda al pastel, lo que yo hice fue instalar un gran gestor de estadísticas, como es awstats.
Antes de nada hay que instalar todos los paquetes, por lo que:# urpmi apache
# urpmi php
# urpmi mysql
# urpmi phpmyadmin
# urpmi awstats
Una vez instalado todo lo primero que tenemos que hacer es asegurarnos que los puertos están abiertos, el 80 para el servidor web (Apache). Además yo tendría instalado SSH y abierto el puerto 22 por si acaso en algún momento tenemos que hacer algún retoque.
Por defecto, la configuración de apache viene ya bien hecha, por lo que en caso de querer cambiar algún parámetro ya corre por nuestra cuenta. De todas formas si que es conveniente darle un repaso a las diferentes opciones que tiene. Yo sí que voy a realizar algunos cambios en la configuración de Apache. Buscamos y reemplazamos por la siguiente linea:ServerName mandriva.francescmm.com
En caso de tener un dominio, donde pone mandriva.francescmm.com pondríamos el dominio.
Otra información que puede resultarnos útil es:
Tipo de mensajes que se guardarán en los logs de error (de menos a más gravedad: debug, info, notice, warn, error, crit, alert y emerg):LogLevel warn
Con la directiva Directory definimos opciones que se aplican al directorio indicado y sus subdirectorios. Lo habitual es configurar unos permisos por defecto muy restrictivos:
Options SymLinksIfOwnerMatch
AllowOverride None
y posteriormente habilitar el acceso y permisos más amplios en directorios específicos. Por ejemplo, para la raíz del árbol de documentos y sus subdirectorios:
Options -Indexes -Includes -FollowSymLinks Multiviews
AllowOverride None
Order allow, deny
Allow from all
La opción SymLinksIfOwnerMatch sólo permite que puedan seguirse los enlaces simbólicos si el propietario del link y el del archivo apuntado es el mismo.
La opción FollowSymLinks permite que puedan seguirse los enlaces simbólicos. Por seguridad, esta opción la desactivamos.
Con la opción Indexes, si se solicita un directorio y no existe la página especificada con DirectoryIndex (index.html, index.htm, etc.), Apache mostrará el contenido del directorio.
Es preferible desactivar esta opción con -Indexes para no arriesgarnos a que el usuario pueda acceder a archivos del directorio, Apache mostrará el error Forbidden - You don’t have permission.
Para mostrar el minimo de informacion acerca del sistema y del servidor:ServerTokens Prod
ServerSignature Off
Podemos indicar que página se mostrará cuando ocurra un error (por ejemplo: 404 Not Found) conErrorDocument 404 /mispaginas/missing.html
Seria bueno engañar al intruso mostrando el mismo error cuando quiera ingresar a un directorio que sí existe pero no tiene acceso al mismo entonces:ErrorDocument 403 /mispaginas/missing.html
Siempre para aplicar los cambios hechos en un archivo de configuración, tenemos que reiniciar el servicio que toque. En este caso Apache, que en Mandriva es httpd:# service httpd restart
Nota final: Una de las cosas que me sorprendió de Apache, es que por defecto crea un archivo robots.txt, que ya lo explicaré mas calmadamente en otro momento, pero que es lo primero que consultan los robots de los buscadores en las webs.
Categoria: Servidor Web |
