Montar un Servidor con Debian GNU/Linux

Carlos Lamparero

Este trabajo se distribuye bajo la licencia Creative Commons Attribution-ShareAlike 1.0.

Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/1.0/

o mande una carta a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Objetivos

Montar un servidor para una red interna donde:

Material

El CD Intranet educativa II contiene:

Knoppix 3.3 ES, versión en español de una distribución Linux basada en Debian para ordenadores de escritorio, se arranca desde el CD y autodetecta hardware

7 CD’s con el sistema operativo Debian GNU/Linux Woody v 3.0r2 para i386

Página http://pedroreina.net/intedu

Requisitos de Hardware

Mínimo imprescindible: Pentium 200, 64 Mb RAM, tarjeta de red 100 Mbps PCI, 1 GB de disco duro, lector de CD-ROM, BIOS con arranque desde CD

Mínimo recomendado: Pentium II 350, 128 Mb RAM, tarjeta de red 100 Mbps PCI, 4 GB de disco duro, lector de CD-ROM, fuente de alimentación, ventilación, BIOS con arranque desde CD

Tareas previas en la BIOS

Instalación de Debian

  1. Arrancar desde CD-ROM, para ello introducir el CD-1 de la distribución Debian Woody 3.0 (estable) y arrancar el ordenador. (En estos momentos 15-05-2004 existe una versión inestable llamada Sarge y otra versión de prueba llamada Sid).

  2. Pulsar F3 para ver los Boot Methods.

  3. Elegimos el método bf24 (instalación con el kernel 2.4).

  4. Chose the language: es (español).

  5. Configurar el teclado: qwerty/es (español).

  6. Comprobación: Ctrl+Alt+F2 y pulsamos las teclas ñ, á, AltGr+2 (@); Volvemos con Ctrl+Alt+F1.

  7. Para particionar un disco duro utilizaremos la herramienta cfdisk de fdisk primero elegimos de entre los discos duros existentes:

  1. La siguiente información es solo para BIOS antiguas y el sistema de ficheros Reiser es útil para servidores de correo y similares que tienen mucho movimiento de ficheros cortos.

  2. Hacemos las siguientes particiones:

Nota: Se pueden hacer hasta cuatro particiones primarias en cada disco duro, la siguiente tendría que ser una partición lógica o extendida.

Nota: Hacer Bootable la primera partición permite que el gestor de arranque LILO u otro de MS Windows pueda arrancar el sistema.

  1. Write: Yes Quit

  2. Dar formato y activar una partición de intercambio

Nota: Si no es un disco muy viejo no es necesario buscar bloques defectuosos.

  1. Iniciar una partición de Linux (Esta operación hay que hacerla dos veces, una por cada partición que no sea la de intercambio)

  1. Montar una partición ya iniciada (montamos las dos particiones que teníamos y la segunda hay que montarla en /home) (esta tarea ya la hemos realizado al iniciar las particiones, nos dirá que no encuentra ninguna partición no montada)

  2. Instalar el núcleo y los módulos en el /

  3. Configurar los controladores de dispositivos que no estén incluidos en el núcleo. De momento solo configuramos la tarjeta de red Kernel/drivers/net, entramos pero salimos sin elegir nada, suponemos que nuestra tarjeta está ya en el núcleo, pero así nos pregunta sobre la configuración de la red.

  4. Podemos ver cual es nuestra tarjeta de red escribiendo cat /proc/pci en la consola Ctrl+Alt+F2

  5. Configurar la red

  6. Nombre de su sistema: servidor

  7. Desea usar DHCP o BOOTP para configurar automáticamente este interfaz?: NO, lo haremos manualmente

  8. IP del servidor(mi máquina): 192.168.0.105

  9. Máscara de red: 255.255.255.0

  10. Pasarela, Gateway o puerta de enlace al exterior(IP del router): 192.168.0.20

  11. Dominio: de momento no tenemos

  12. DNS: 62.81.0.1 (ejemplo el de AUNA)

  13. Comprobar la red en Ctrl+Alt+F2 hacemos “ifconfig” y “ping” Ctrl+C para abortar:

  1. Instalar el sistema base

  2. Hacer el sistema arrancable, instalamos LILO en el MBR del hda para elegir desde donde arrancar, incluimos todo en el menú para tener todas las posibilidades.

  3. No creamos un disco de arranque, sacamos el CD-1 y reiniciamos el sistema, momento que podemos aprovechar para entrar en la BIOS y poner que solo arranque desde el disco duro.

  4. Configuración

  5. Is the hardware clock set to GMT? Yes

  6. What area do you live in? Europe Madrid

  7. Shall I enable md5 passwords? Yes

  8. Shall I enable shadow passwords? Yes

  9. Password for root: root

  10. Shall I create a normal user account now? Yes

  11. admin : admin

  12. Para cambiar contraseñas se utiliza el comando “passwd usuario”

  13. Shall I remove the pcmcia packages? Yes

  14. Do you want to use a PPP (point to point protocol) connection to install the system? (usar una conexión con modem para conseguir los paquetes de instalación por internet): No

  15. CD-ROM (aunque también podríamos hacerlo por http o ftp)

  16. Enter CD ROM device file: /dev/cdrom

  17. Meter todos los CD’s

  18. Comprobación de que hemos metido los 7 CD’s: En la consola Ctrl+Alt+F2 escribimos cat /etc/apt/sources.list

  19. Add another apt sources? No

  20. Use security updates from security.debian.org? No

  21. Run tasksel? No

  22. Run dselect? No

  23. Do you want to continue? Yes

  24. Do you want to erase any previously downloaded .deb files? Yes

  25. Configuración del correo local: opción (4) correo solo en la máquina de un usuario a otro de esa misma máquina

  26. Which user account should system administrador mail go to?: admin

  27. Is this Ok? Yes

  28. La orden “df” nos muestra la ocupación del disco (Disk Free) ahora mismo serían unos 120 MB

Paquetes Básicos

  1. La orden “dselect” sirve para instalar paquetes aunque prácticamente no se usa

  2. [S]elect Request which packages you want on your system

  3. Pulsamos la barra espaciadora para salir de la ayuda y Enter para dejar los paquetes seleccionados por defecto por los desarrolladores de Debian.

  4. [I]nstall Install and upgrade wanted packages

  5. Configuring Less: Add a mime handler for “application/*”? No

  6. Configuring Locales: Select locales to be generated: No seleccionar ninguno en este momento, TAB+OK Leave alone

  7. Configuring Ssh: Allow SSH protocol 2 only? Yes

  8. Do you want /usr/lib/ssh-keysign to be installed SUID root? Yes

  9. Do you want to run the sshd server? Yes

  10. [Q]uit: para salir de dselect

  11. La orden “df” nos muestra la ocupación del disco (Disk Free) ahora mismo serían unos 230 MB

  12. El sistema está preparado y se puede apagar cuando se quiera, para apagar el sistema teclearíamos: “halt” o “shotdown 30” para retardar el apagado 30 minutos, con el módulo APM (Advanced Power Management) una placa ATX se apagaría sola sin pulsar ningún botón.

  13. Tecleando “lsmod” podemos ver un listado de módulos que tiene el kernel, para conseguir que una máquina ATX se apague ella sola es necesario añadir un módulo “insmod apm” y para conseguir que este módulo se carge siempre hay que añadir al archivo /etc/modules la línea “apm” con esto cuando se de la orden halt el ordenador se apagará el solito.

Gestión de paquetes

  1. Para instalar y desinstalar paquetes en Debian tenemos que ser root el resto de usuarios solo pueden consultar la información sobre los paquetes, para las tareas administrativas podemos utilizar:

  1. Una buena forma de obtener información sobre ordenes es:

Locales y toques personales

  1. Vamos a reconfigurar los Locales: dpkg-reconfigure locales > es_ES > TAB+OK (se hace ahora y no al principio porque sino no funcionaría)

  2. Vamos a retocar el archivo de configuración /etc/profile para que sea más amigable trabajar en linux, (en este archivo podemos tocar el pronpt, añadir alias: para modificar los comandos, path: donde irá a buscar los ejecutables etc.)

  1. Vamos a instalar un editor de texto zed que está en el CD-ROM de la intranet educativa para ello:

  1. El mensaje de login de los usuarios se puede modificar cambiando el fichero /etc/motd

  2. En el editor de textos podemos usar:

Reconfiguración de la Red

  1. ifconfig” : para ver la configuración de la red, salen los que están levantados

  2. ifdown eth0” : para echar abajo la red

  3. Modificamos el fichero de configuración /etc/network/interfaces

  1. ifup eth0” : para levantar la red

  2. Resolución de nombres a nivel local: para acceder a una máquina puedo teclear su IP o asociando su IP a un NOMBRE en el fichero /etc/hosts

  3. Para cambiar el nombre de una máquina se cambia en el fichero /etc/localhosts

  4. Podemos crear nuevos usuarios tecleando “adduser nombreusuario”

Configuración de sshd

  1. El servidor ssh permite administrar la máquina remotamente desde cualquier otro ordenador que disponga de un cliente ssh. La comunicación es cifrada lo que permite administrar con confianza

  2. Para conectarnos via ssh a otra máquina tecleamos “ssh usuario@ip_máquina” o simplemente “ssh ip_máquina” para conectarnos como el usuario actual

  3. Para conectarnos via ssh desde windows necesitamos el programa putty que está en el cd intranet educativa en el directorio recursos/putty

  4. Para conectarnos via ssh desde fuera de la intranet, tenemos que usar Traducción de direcciones de red basado en el puerto (napt), para ello tenemos que configurar el router para que los paquetes que lleguen desde fuera al puerto 22 los envíe a otra máquina de dentro que resuelva.

  5. Configuración de sshd editando el fichero /etc/ssh/sshd_config. En este fichero podríamos dar una lista de ip de usuarios a los que permitiéramos entrar y otra lista a los que no permitiéramos entrar. De momento vamos a cambiar la línea 30 “PermitRootLogin NO” para impedir que alguien entre directamente como root, y la línea 56 añadimos “AllowUsers admin” ahora habrá que entrar como admin. y luego cambiar a root.

  6. Para que un servicio (demonio) lea el fichero de configuración es necesario tirarlo abajo y volverlo a levantar:

X Window

  1. X Window (Entorno Gráfico) instalaremos la versión XFree86 4.1.0 aunque tenemos otra versión 3.3.6 (consultar www.xfree86.org)

  2. apt-get install mdetect read-edid (para preguntar por el ratón usado y las frecuencias del monitor)

  3. apt-get install xserver-xfree86 xfonts-base xfonts-75dpi xfonts-scalable xbase-clients

  4. Manage X server wrapper configuration file with debconf? Yes

  5. Manage Xfree86 4.x server configuration file with debconf? Yes

  6. Para averiguar la tarjeta gráfica instalada teclear “cat /proc/pci” o la orden “lspci”

  7. Select the desired X server driver: VESA

  8. Use kernel framebuffer device interface? No

  9. Please select the XKB rule set to use: xfree86

  10. Teclado 104 español sin la tecla win; teclado 105 español con la tecla win

  11. Please select your keyboard layout: es

  12. Please select your keyboard variant: Enter

  13. Please select your keyboard options: Enter

  14. Attempt mouse device autodetection? Yes

  15. Attempt monitor autodetection? Yes

  16. Is your monitor an LCD device? No

  17. Please choose a method for selecting your monitor characteristics: simple o advanced

  18. Enter your monitors horizontal sync range 30-72

  19. Enter your monitors vertical sync range 50-120

  20. Select the video modes you would like the X server to use 800x600

  21. Please select your desired default color depth in bits 24

  22. El fichero /etc/X11/XFree86Config-4 contiene la información de configuración del servidor X de XFree86 v 4.0 que podemos reconfigurar con debconf tecleando “dpkg-reconfigure xserver-xfree86” o manualmente.

  23. Controlador del servidor X: VESA

  24. Identificador: Generic Card

  25. Cantidad de memoria: (nada)

  26. ¿Usar el interfaz de dispositivos “framebuffer” del núcleo? No

  27. Conjunto de reglas de XKB que usará: xfree86

  28. Modelo de teclado: 105

  29. Diseño de su teclado: es

  30. Variante de teclado: Enter

  31. Opciones de su teclado : Enter

  32. Puerto de su ratón: /dev/psaux

  33. Opción que mejor describa a su ratón: ps/2

  34. Emular un ratón de 3 botones: Yes

  35. ¿Activar eventos de desplazamiento con la rueda del ratón? No

  36. Identificador para el monitor: Generic Monitor

  37. ¿Es LCD? NO

  38. Sincronización horizontal: (detectada)

  39. Sincronización vertical: (detectada)

  40. Modos de video: 800x600

  41. Profundidad de color: 24

  42. Lista de módulos qu el servidor X carga, deberían activarse todos excepto xtt

  43. Escribir sección Files por defecto en el fichero de configuración: Yes

  44. Escribir sección DRI predefinida en el fichero de configuración: Yes

  45. Si no se consigue configurar correctamente el servidor X se pueden intentar ordenes como “xf86cfg” y xf86cfg –textmode”

  46. Comprobamos tecleando “X” y para salir ctrl.+Alt+Retroceso

  47. Los errores se pueden encontrar en el fichero /var/log/XFree86.0.log

  48. Podemos ver un listado de los errores escribiendo “X >/temp/fallo 2>&1” así tendremos un listado del proceso en el fichero /temp/fallo

Gestor de ventanas

  1. Gestores de ventanas

Terminales

  1. Terminales dentro de X windows para teclear ordenes

  2. Para que el icono de cosola apunte al mgt editamos el fichero “z /etc/X11/icewm/toolbar” y cambiamos la línea “prog Xterm xterm multi-gnome-terminal” (puede no ser necesario).

Editor de texto gráfico

  1. Entre lo muchos disponibles se elige SciTE “apt-get install scite”

  2. Para traducirlo al castellano copiamos un archivo del CD-ROM de la intranet educativa:

  3. Para que quede configurado de modo más cómodo se edita el archivo /usr/share/scite/SciTEGlobal.properties entrando en la consola ctrl.+Alt+F2 como root y usando el editor zed y se descomentan estas líneas:

Gestor gráfico de login

  1. Cuando se instala X window es conveniente instalar un método para entrar y salir del sistema directamente en modo gráfico, mediante una pantalla gráfica que permita la entrada de los usuarios. “apt-get install gdm”

  2. Este demonio hay que arrancarlo desde “/etc/init.d/gdm start” cuando arranque elegimos la sesión Debian pues las demás no funcionan y entramos como admin.

  3. Para poner un menú donde aparezca la opción de apagar nos vamos a la consola ctrl.+alt+F1 y editamos el fichero “z /etc/X11/gdm/gdm.conf” donde cambiamos la línea 86 por “SystemMenu=true” y restauramos el demonio “etc/init.d/gdm restart”, ahora ya podemos apagar en modo gráfico

  4. Para poner en español el gdm vamos a tocar el archivo que arranca este demonio “z /etc/init.d/gdm” añadiendo la línea 22 “export LANG=”es_ES” y restauramos el servicio “/etc/init.d/gdm restart”

Clientes web gráficos

  1. Instalamos mozilla y galeon

  2. apt-get install mozilla galeon

  3. Quiere usar el soporte FreeType2 de Mozilla: No

  4. Please choose your sound daemon’s dsp wrapper: None

  5. Configuración de mozilla:

Servidor web Apache

  1. apt-get install apache

  2. Apache es un demonio que se arranca cuando se instala

  3. Para disponer de ayuda en línea de apache se instala el paquete apache-doc “apt-get install apache-doc”

  4. Cuando alguien escriba en un navegador la dirección IP pública de mí máquina http://80.25.32.56 esta le servirá el fichero index.html que haya en el directorio /var/www/

  5. Si desde la propia máquina se escribe en una navegador la dirección IP: http://127.0.0.1 o http://localhost se entiende que se quiere la página de la propia máquina y serviría el fichero index.html que haya en el directorio /var/www/

  6. En cualquier máquina cliente de este servidor deberíamos añadir un enlace en el navegador para que vayan directamente al servidor, esto se hace borrando todos los marcadores que vienen por defecto y arrastrando a marcadores la IP interna del servidor en nuestro caso sería http://192.168.0.105

  7. Con el fin de independizar a la persona que mantenga la web de la persona responsable del servidor, se crea el usuario web “adduser web” con password web en principio y que más adelante podremos cambiar con el comando “passwd usuario”

  8. Editamos el archivo de configuración de apache “z /etc/apache/httpd.conf”

  9. Se reinicia Apache con la orden “/etc/init.d/apache restart y se comprueba en local la dirección http://servidor

  10. Ahora la primera página del servidor se debe crear en /home/web/index.html (que es el directorio del usuario web)

  11. Los accesos a Apache se pueden ver en tiempo real con la orden “tail –f /var/log/apache/access.log

Estadísticas de acceso al servidor web

  1. El paquete webalizer es un analizador de logs de apache se instala con “apt-get install webalizer”

  2. Which directory should webalizer put the output in?: /home/web/webalizer

  3. Enter the title of the reports webalizer will generate: Estadisticas del Servidor (servidor)

  4. Sus resultados serán visibles vía web en la dirección http://localhost/webalizer

  5. El problema es que hay que arrancarlo cada vez que queremos que actualice sus datos, para evitarlo vamos a configurar cron para que lo actualice cada hora el solito. (el programa cron ejecuta cada minuto las ordenes del fichero /etc/cron.d/webalizer)

  6. Creamos el fichero “z /etc/cron.d/webalizer” y dentro escribimos la línea: “1 * * * * root /usr/bin/webalizer –Q” (significa que el usuario root ejecutará cada minuto el programa webalizer y la –Q es para que no mande un correo al admin. cada vez que se ejecute)

  7. Vamos a crear un enlace desde la página web a webalizer para lo cual añadimos la siguiente línea a /home/web/index.html “<P><A HREF=“http://localhost/webalizer/”>Estadísticas de conexiones al servidor </A></P>”

Documentación vía web

  1. Instalamos el paquete “apt-get install dpkg-www” que permite acceder a la documentación del sistema vía web desde cualquier ordenador.

  2. Responder a todas las preguntas: Enter

  3. Ubicación del documento raíz del servidor web: /home/web

  4. Ubicación del directorio cgi del servidor web: /usr/lib/cgi-bin

  5. Nombre del usuario que ejecuta el CGI: www-data

  6. Nombre del sistema que aloja el servidor web: servidor

  7. Puerto del servidor web: 80

  8. Do you want to change the apache (-ssl) configuration? NO

  9. Desde cualquier navegador puedo escribir http://servidor/cgi-bin/dpkg y accedería a la lista de paquetes instalados en este servidor, además pulsando sobre cualquier paquete nos da información sobre este paquete.

  10. Vamos a crear un enlace desde la página web a esta documentación para lo cual añadimos la siguiente línea a /home/web/index.html “<P><A HREF=”http://localhosts/cgi-bin/dpkg”>Documentación sobre los paquetes Debian instalados en este servidor</A></P>”

  11. Desde cualquier navegador puedo escribir http://servidor/dwww y vería documentación de Debian.

  12. Vamos a crear un enlace desde la página web a esta documentación para lo cual añadimos la siguiente línea a /home/web/index.html “<P><A HREF=”http://localhosts/dwww”>Documentación On-Line de Debian</A></P>”

  13. Creamos el subdirectorio /home/web/documentación “mkdir documentacion” y dentro creamos vínculos soft a documentación presente en el sistema y luego creamos vínculos en la página web principal a estos vínculos soft

  14. Resulta muy interesante tener en la página principal de nuestro servidor enlaces directos a documentación para ello vamos a crear estos enlaces:

  15. Enlace a la documentación de Apache

  16. Enlace a la documentación de HTML que la vamos a copiar desde el CD-ROM de la intranet educativa

Nota: Para copiar y pegar con el ratón, un doble clic selecciona y copia y un clic en el botón central pega

Zonas privadas en el servidor

  1. Puede ser interesante crear zonas en el servidor que solo sean accesibles desde unas IP determinadas, para ello el usuario web crea un directorio privado en /home/web/privado

  2. Luego root añade estas líneas al archivo de configuración /etc/apache/httpd.conf y reinicia apache

<Directory /home/web/privado>

Order deny, allow

Deny from all

Allow from 192.168.0.101 192.168.0.102

</Directory>

Software de descarga para internet

  1. apt-get install htttrac” (Programa para descargar páginas enteras de internet, con enlaces hasta el nivel que se desee)

  2. apt-get install wget” (Programa para descargar enlaces URL que se maneja desde la línea de comandos)

  3. Para utilizar este último se pulsa con el botón derecho sobre el enlace que queremos descargarnos y elegimos “Copy Link Location” para copiar la URL al portapapeles, luego en cualquier consola escribimos “wget urlcopiada” (la urlcopiada se puede pegar pulsando el botón de en medio del ratón)

  4. Este programa reintenta la descarga hasta 10 veces en caso de que se vaya la conexión en medio de una descarga. Si cortamos la descarga con ctrl+C podemos reanudarla cuando queramos añadiendo el parámetro –c.

Servidor FTP

  1. Permite que cada usuario pueda cargar en él su propio material con un método fiable, desde cualquier ordenador y sistema operativo y ubicarlo en una zona protegida con contraseña. Además podrá disponer de su propia sección de la página web.

  2. apt-get install proftpd” (servidor FTP)

  3. ¿Quiere editar el fichero de configuración /etc/proftpd.conf? Yes

  4. ¿Ejecutar proftpd desde inetd o independientemente? Independiente

  5. ¿Permitir acceso anónimo? NO

  6. Para evitar escaladas en el sisema de archivos editamos el fichero “z /etc/proftpd.conf y escribimos las siguientes líneas

#Impedir escalada en el sistema a los usuarios

DefaultRoot 

  1. Reiniciamos el servicio “/etc/init.d/proftpd restart”

  2. apt-get install gftp” (cliente FTP)

  3. Para un cliente windows podriamos instalarle Filezilla disponible en el CD-ROM intranet.

  4. Para añadir nuevos usuarios “adduser nuevousuario”, y nos pedirá la password, con lo que se crea un directorio /home/nuevousuario que no puede ver nadie excepto este usuario.

  5. Si este usuario crea en su zona un directorio llamado web esté será público y se podrá ver desde cualquier máquina escribiendo en el navegador “http://localhost/~nuevousuario”

  6. Es una buena idea poner un enlace en la página principal del servidor (/home/web/index.html) a cada nuevo usuario para que la gente no tenga que teclear la 

  7. Para borrar un usuario “deluser --remove-home usuario”

  8. Para borrar todos sus ficheros “deluser --remove-all-files usuario”

PHP

  1. Lenguaje de programación orientado a crear dinámicamente páginas web. Se instala el paquete php4 “apt-get install php4”

  2. Do you want me to run the apacheconfig script now? NO (porque no lo hace correctamente, lo haremos manualmente

  3. Editamos “z /etc/apache/httpd.conf” y modificamos las líneas

  4. Reiniciamos apache “/etc/init.d/apache restart”

  5. Comprobamos que funcione creando el archivo “scite /home/web/phpinfo.php” que lleve <? Phpinfo(); ?> (donde <? Y ?> indican el comienzo y final de un fichero de ordenes en php, phpinfo() es la función a la que llamamos y el ; indica el final de una orden)

  6. La idea es crear un archivo index.php que tenga código HTML y código PHP incrustado dentro que genere la página web dinámicamente, a partir de listados de ficheros, ficheros de texto plano, funciones de php, datos que introduzca el usiario, etc.

  7. Instalamos dos paquetes más como complemento, php4-gd para añadir la capacidad de generar imágenes dinámicas desde PHP y php4-ming para generar archivos swf, los que utiliza el plugin de Macromedia Flash.

  8. apt-get install php4-gd php4-ming”

  9. ¿Do you want me to add it now? NO

  10. Editamos “z /etc/php4/apache/php.ini” y añadimos en la sección Dinamic Extensions (línea 463)

  11. Reiniciar apache “/etc/init.d/apache restart”

  12. Hay ejemplos de us0o en el CD-ROM del curso, en el directorio /archivos

  13. Vamos a instalar la documentación de php que viene con la distribución Debian, aunque podríamos ver información actualizada en la dirección www.php.net escribimos “apt-get install phpdoc”

MySQL

  1. Back-end: es un servidor de bases de datos

  2. Front-end: es un cliente de bases de datos

  3. Vamos a instalar MySQL como servidor de BD mediante el paquete mysql-server “apt-get install mysql-server”

  4. Remove all databases after purging the mysql-server package? NO (los datos de las bases de datos se guardan en /var/lib/mysql si usamos “dpkg –purge mysql-server” para desinstalar este paquete, se borrarían los datos y los ficheros de configuración, para que no ocurra esto hemos respondido no a la pregunta anterior)

  5. Should MySQL start on boot? Yes

  6. Se puede descargar documentación desde http://www.mysql.com o copiarla desde el CD-ROM de la intranet

  7. MySQL tiene un sistema de acceso a las bases de datos basado en usuarios, que no coinciden con los usuarios del sistema (aunque se pueden llamar igual), Vamos a cambiar la contraseña por defecto de root en MySQL:

[mysqladmin]

user = root

password = root

  1. Vamos a crear un usuario admin que tenga la posibilidad de modificar cualquier base de datos que haya

  2. Las Bases de Datos se pueden manejar vía web mediante el paquete phpmyadmin que instalamos “apt-get install phpmyadmin”

  3. Which web server would you like reconfigure automatically? Apache

  4. Do you want me to add it now?Yes

  5. Entrando como usuario web desde cualquier navegador y escribiendo http://localhost/phpmyadmin/ accedemos a un cliente de bases de datos que hace preguntas a la base de datos del servidor

  6. Habilitar las cookies si están desabilitadas en el navegador

  7. Nota: para que las contraseñas fuesen encriptadas deberíamos instalar un paquete en apache para que nuestro servidor sea https

  8. Cuando un usuario desee crear y utilizar una base de datos MySQL propia se deben seguir estos pasos:

  9. En la página web principal vamos a crear un vínculo a http://localhosts/phpmyadmin para que nuestros usuarios puedan entrar a MySQL

  10. La conexión entre PHP y MySQL es una combinación muy poderosa, ya que permite realizar aplicaciones basadas en web que acceden a bases de datos y generan páginas web dinámicas, es lo que se conoce como plataforma LAMP (Linux, Apache, MySQL, PHP).

  11. Para comprobar que funciona probaremos el archivo consultamysql.php

Servidor DNS

  1. Resolución directa: preguntar al servidor por la IP de un nombre

  2. Resolución inversa: preguntar al servidor por el nombre de una IP (esta no se suele usar)

  3. Instalamos “apt-get install bind9” el cual resolverá peticiones DNS y permitirá crear un dominio interno para la intranet

  4. Para que el servidor se use a sí mismo como servidor DNS hay que poner en “/etc/resolv.conf” la línea “nameserver 127.0.0.1” y eliminar cualquier otra línea con nameserver

  5. Al resto de máquinas clientes se les pondrá como DNS la IP del servidor. Así cada vez que un cliente realice una petición DNS, llegará al servidor y el programa bind9 se encargará de preguntar a los servidores DNS root de Internet, además guardará la respuesta para no tener que volver a realizar la consulta si recibe más adelante la misma petición, con esto se deja de depender del servicio DNS del ISP.

  6. Para crear un dominio inventado (no registrado) primero hay que comprobar que de verdad sea así, consultando en la página www.nic.es o desde la consola de Linux escribir “whois dominio

  7. Este dominio será para uso interno en la intranet exclusivamente

  8. En /etc/bind/ añadimos una archivo del CD-ROM del curso, si cambiamos de dominio habrá que modificar /etc/bind/tecnologia.es

  9. Vamos a decirle a name que tenga en cuenta este nuevo archivo para ello editamos el archivo “z /etc/bind/named.conf

zone “tecnologia.es” {

notify no;

type master;

file “/etc/bin/tecnologia.es”;

};

  1. Ahora le decimos a bind que recarge las zonas con la orden “rndc reload”

  2. Para combrobar si lo hemos hecho correctamente miramos el final del siguiente archivo, que es donde habrán salido los errores: “tail /var/log/syslog”

  3. Por último vamos a especificar que estamos en un dominio, si en un buscador ponemos un nombre y no se resuelve en “/etc/hosts”, quiere decir que no es un nombre de una máquina conocida, entonces lo iría a buscar al servidor DNS si allí tampoco está definido, buscaría “nombre.tecnologia.es

  4. Añadiríamos un usuario “adduser carlos” con lo que se crea su home en /home/carlos

  5. Allí el nuevo usuario carlos crearía un subdirectorio llamado /home/carlos/web visible desde internet escribiendo http://www.tecnologia.es/~carlos

  6. Si en el fichero /etc/bind/tecnologia.es añadimos tantas líneas como servidores web haya en la red podríamos ir a una dirección tipo “http://carlos.tecnologia.es”

  7. Editamos “z /etc/resolv.conf” y añadimos la línea “domain tecnologia.es

  8. En la configuración TCP/IP de los clientes se añade la configuración del dominio para que sea “tecnologia.es” así, cada vez que un cliente realice una petición DNS que pertenezca al dominio inventado, la resolverá directamente el servidor recién instalado.

  9. Con esto, desde cualquier navegador de una máquina de la intranet, al escribir “www.tecnologia.es” o simplemente “www” iríamos a la página principal del servidor (hasta ahora podíamos ir escribiendo la IP de la máquina servidor http://192.168.0.105/ o el nombre del servidor si lo teníamos definido a nivel local en /etc/hosts)

Servidor de correo

  1. (MTA) Mail Transfer Agent: Programa gestor de correo electrónico que guarda los emails hasta que alguien se los pide.

  2. Vamos a usar exim pues lo tenemos instalado desde el principio, pues viene con la instalación de Debian.

  3. Para utilizar el dominio interno definido en el DNS, tenemos que configurar exim para que admita como suyos los correos con direccion en el dominio para ello editamos el archivo “z /etc/exim/exim.conf”

  4. Modificamos la línea 43 “local_domains = servidor:localhost:tecnologia.es”, así cuando le llegue un correo al servidor con usuario@tecnologia.es lo interpretará como suyo y lo guardará en el buzon del usuario para el que va dirigido

  5. Reiniciamos exim “/etc/init.d/exim restart”

  6. Podemos crear grupos de usuarios editando el fichero “z /etc/aliases” y escribiendo la línea “aula: alumno01, alumno02, alumno03, “

  7. Así un correo que mandemos a aula@tecnologia.es se enviará a todos los ordenadores del aula

Servidor de correo POP

  1. Es el que se encarga de traerse el correo desde el servidor hasta los clientes “apt-get install qpopper”

  2. En cada cliente tenemos que configurar el cliente de correo mozilla pulsando en window > mail > newsgroup > email account

  3. Your Name: es el nombre con el que apareceremos en los encabezados

  4. Email Address: admin@tecnologia.es

  5. Correo entrante POP

  6. Incoming server: IP de la máquina que te da el correo (IP del servidor, nombre del servidor, www.tecnologia.es) pero para ser reales pondremos “pop.tecnologia.es

  7. Servidor de salida: “smtp.tecnologia.es

  8. Nombre de usuario en el servidor POP: es el nombre de usuario en el servidor: admin

  9. Account Name: nombre para identificar la cuenta

Exportar las X

  1. La configuración de Debian por defecto no lo admite por lo que se ha de tocar en tres sitios

  2. Archivo de configuración de gdm “z /etc/X11/gdm/gdm.conf” línea 130 “command =  /usr/bin/X11/X –deferglyphs 16 –nolisten tcp” quitamos “–nolisten tcp”

  3. Reiniciar gdm /etc/init.d/gdm restart

  4. Tocar el archivo de configuración de ssh del cliente y del servidor “z /etc/ssh/ssh_config” línea 20 descomentar y poner ForwardX11 yes

  5. Editar “z /etc/ssh/sshd_config” línea 67 X11Forwarding yes

  6. Reiniciamos ssh

  7. Ahora desde cualquier consola escribimos ssh –X usuario@máquina y podemos entrar en dicha máquina como usuario y ejecutar los programa en aquella máquina remótamente.

  8. Nota con “ps –aux” podemos ver los procesos en curso y con la orden “kill nº de proceso” podemos abortar cualquier proceso.

Correo web

  1. Instalamos el programa squirrelmail que lee los buzones de los usuarioa y se lo muestra al usuario via web

  2. Vamos a poner una versión más avanzada de la que hay en woody por lo que primero hay que instalar una serie de dependencias, no es conveniente instalar paquetes .deb si no se conocen las dependencias

  3. apt-get install uw-imapd php4-pear ispanish”

  4. El paquete .deb está en el cd de la intranet educativa:

  5. En el archivo de configuración de apache hay que incluir (ctrl+Fin) una línea “z /etc/apache/httpd.conf” “Include /etc/squirrelmail/apache.conf”

  6. Reiniciamos apache “/etc/init.d/apache restart”

  7. Ahora tecleando desde cualquier navegador http://servidor/squirrelmail podemos ver que entramos en una página que nos gestiona el correo vía web

  8. Para hacerselo más facil al usuario editamos el fichero “z /etc/squirrelmail/apache.conf”

  9. Utilizamos Alt+r para buscar y reemplazar

  10. Nos irá preguntando cuales cambiar y cuales nó, solo cambiamos la primera y la última(5ª) las demás no las tocamos

  11. Reiniciamos apache “/etc/init.d/apache restart”

  12. Ahora debería funcionar la dirección http://servidor/correoweb

  13. Configuración de squirrelmail “squirrelmail-configure”

  14. 1 (Enter)

  15. 3 Folder Defaults

  16. 7 Message of the day

  17. 8 Plugins

  18. Para enviar ficheros de más de 2 megas cambiamos

  19. Reiniciamos apache “/etc/init.d/apache restart

  20. Añadimos un link en nuestra página principal web al correo web

Servidor de Chat

  1. apt-get install ircd”

  2. z /etc/ircd/ircd.motd” para modificar el mensaje de bienvenida

  3. /etc/init.d/ircd restart”

  4. Como cliente de chat podríamos usar mozilla en sus últimas versiones aunque en este curso instalaremos xchat pues es multiplataforma

  5. apt-get install xchat”

  6. Cuando arrancamos xchat nos dice que el directorio de descargas es /home por lo que es conveniente cambiarlo

  7. Seleccionamos “Ninguna lista de servidores al inicio”

  8. Ordenes /.....

  9. Aplicaciones:

Gestores CMS

  1. CMS: Content Management System

  2. En páginas como www.opensourcecms.com podemos encontrar muchas herramientas que usan php y MySql y que podemos instalar en nuestro servidor, entre ellas existen herramientas:

  3. Vamos a instalar un portal utilizando PhpNuke (es mejor Xoops www.esxoops.com) para ello, descargamos un archivo tar.gz de la página web (en nuestro caso lo tenemos en el cd-rom del curso intrane educativa)

  4. mkdir php-nuke” y nos cambiamos a este directorio “cd php-nuke”

  5. mount /cdrom

  6. cp /cdrom/recursos/phpnuke/PHP-Nuke-7.0.zip

  7. umount /cdrom

  8. unzip PHP-Nuke-7.0.zip

  9. Creamos un vínculo simbólico que apunte a “ln –s php-nuke/html portal”

  10. Creamos una base de datos que se llame nuke “mysqladmin –u root create nuke –p”

  11. Para crear las tablas en esta base de datos utilizamos un script “mysql –u root –p nuke <  /home/web/php-nuke/sql/nuke.sql”

  12. Creamos un usuario mysql que pueda acceder a las tablas de la base de datos nuke “mysql –u root –p”

  13. use mysql;

  14. GRANT ALL PRIVILEGES ON nuke.* TO nuke@localhost IDENTIFIED BY ‘nuke’;

  15. quit

  16. Nos cambiamos al directorio “cd php-nuke/html/”

  17. Editamos el archivo “scite config.php” y cambiamos $dbuname = “nuke” y $dbpass = “nuke”

  18. Creamos una cuenta de administrador del portal, al que llamaremos “nuclear” para ello, desde un navegador http://servidor/portal/admin.php

  19. Cuando escribamos en un navegador http://servidor/portal entraremos en este portal creado con php-nuke y para entrar como administrador tenemos que ir a http://servidor/portal/admin.php

  20. Es conveniente crear en la página principal un enlace a este portal

Servidor Samba

  1. Aplicaciones

  2. Para instalar el servidor Samba “apt-get install samba”

  3. ¿Configurar smb.conf mediante debconf? Yes

  4. Nombre del dominio o del grupo de trabajo: AULA

  5. ¿Utilizar contraseñas cifradas? No (pues lo que quiero es que todos van ese directorio)

  6. ¿Como quiere que samba se ejecute? demonios

  7. ¿Crear el fichero de contraseñas /etc/samba/smbpasswd? No

  8. Entramos como usuario admin en la consola gráfica y creamos el directorio web “mkdir web” el cual será visible desde cualquier navegador escribiendo “http://servidor/admin” y dentro de este creamos otro directorio llamado “mswin” que vamos a compartir con samba.

  9. Editamos el fichero “z /etc/samba/smb.conf”

[nombre_del_recurso]

comment = “Software libre para MS Windows”

writable = no

locking = no (para que entren varios a la vez)

path = /home/admin/web/mswin

public = yes

  1. Reiniciamos samba “/etc/init.d/samba restart”

  2. Tal y como se ha creado este directorio mswin será accesible por FTP para admin, y vía web por todos

Repositorio en Internet

  1. apt-setup”

  2. ¿Cómo quiere que acceda apt al archivo de Debian? ftp

  3. ¿Usar software no exportable desde los Estados Unidos? Yes

  4. ¿Usar software no libre? No

  5. Escoja un país: Germany

  6. Escoja la replica: ftp.es.debian.org

  7. Introduzca datos sobre su proxy http o dejela en blanco si no tiene proxy: Tenemos que poner el filtro de contenidos de la CAM en caso de que lo tengamos así configurado: http://213.4.106.164:8080

  8. ¿Añadir otra fuente de apt? No

  9. ¿usar actualizaciones de seguridad de security.debian.org? Yes

  10. Editamos “z /etc/apt/sources list” y borramos con ctrl+L todas las líneas excepto 3:

  11. apt-get update

  12. apt-get –u upgrade

  13. Esta pareja de ordenes es conveniente ejecutarlas periodicamente para actualizar.