Montar paso a paso Debian con los servicios de: Proxy, web, Bases de Datos, PHP


Vamos a montar desde cero, una Debian Potato, que actualizaremos a Woody, al que añadiremos diversos servicios para que desde otro ordenador se pueda acceder a ellos.
Actualización: Especial ONO. Redireccionar puertos: WWW, FTP, TELNET

  • Primeros Pasos
  • Actualización de Potato a Woody mediante el comando APT
  • Configuración de la red
  • Instalación de paquetes con APT-GET
  • Configuración de /etc/apache/httpd.conf
  • Comprobación final
  • Configuración para usar APT-MOVE
  • Especial ONO. Redireccionar puertos: WWW, FTP, TELNET

    Primeros Pasos

    Supondremos que tenemos mas de un equipo, en mi caso un P90 (el servidor) y un K6-350 (el cliente que accede al servidor)

    Para empezar debemos tener el primer CD de la Debian Potato:
    Debian GNU/Linux 2.2 r3 _Potato_ – Official i386 Binary-1

    Arrancaremos desde el CD para iniciar la instalación, y elegiremos el teclado en Español.

    Tras esto, crearemos las particiones, como minimo dos: una de Linux (ext2), y la otra de Swap

    Como hemos dicho, tendremos red, con lo que hay que cargar los modulos de red de las tarjetas de red que tengamos en el equipo.
    En mi caso tengo 2 tarjetas en el servidor, una en la que viene la linia principal del CableModem de Ono, o del ADSL, y la otra que va a un Hub o o otro PC, como es en mi caso.
    En mi caso, uso la Realtek y Tarjeta ISA, en el servidor, y la 3COM en el otro PC.

    Os explicare como cargar los modulos de 3 tarjetas muy comunes:

  • 3COM: usa el modulo= 3C59X
  • Realtek: usa el modulo= RTL8139
  • Tarjeta ISA compatible 2000: usa el modulo= NE

    Esta ultima tarjeta hay que indicarle ademas el puerto y el IRQ que tiene. En mi caso hay que poner tal cual:
    io=0x280 irq=5

    A continuación te pide un nombre para el equipo, en este caso: p90

    Ahora te pide que asignes la entrada eth0 con el DHCP o BOOTP, para que te pille la IP dinamicamente de tu servidor de Internet.

    Ahora te pide la forma de arranque, yo le he dicho que a traves de MBR

    Te pedira si quieres MD5 y SHADOW, le dices que ‘SI’

    Ahora damos de alta a los usuarios y ponemos la contraseña a ROOT

    Te dira que quita el modulo de PCMCIA y le indicas que no queremos PPP

    Como solo usaremos un CD, le indicas que no vas a meter ninguno mas, y que la instalación lo haras SIMPLE. No pilles la otra que es un follon.

    A continuación aparece una pantalla donde permite elegir los paquetes que queremos instalar. Aqui le diremos que no pille ninguno y le daremos a continuar. Esto lo haremos para no tener que instalar los paquetes dos veces, una con la Potato, que vienen con el CD, y la otra con la Woody, que pillaremos de Internet.

    A partir de aqui, empezara a instalar paquetes, y a las perguntas le contestas con lo que tenga por defecto, hasta llegar al programa exim, que le indicaremos con la opción (5), que lo configuraremos mas tarde, aunque yo no os dire como ;-))

    Cuando termine, podremos entrar con los usuarios que hayamos creado, aunque ahora entraremos como ROOT
    Configuración de los clientes

    Cuando tengamos configurado el servidor, instalaremos los clientes. Se hace exactamente igual que los pasos anteriores, pero cuando nos pregunte:

  • Quieres DHCP o BOOTP, le diremos que NO
  • Ahora le indicaremos el nombre del cliente en mi caso: k350
  • Le indicamos que IP queremos: 192.168.0.2
  • Te preguntara que mascara de red quieres: 255.255.255.0
  • Por ultimo te pedira cual es la IP del servidor: 192.168.0.1

    Volver

    Actualización de Potato a Woody mediante el comando APT

    Todo el tema del APT, hay una buena introducción en:
    http://bulma.lug.net/body.phtml?nIdNoticia=580

    Ahora vamos a actualizarnos de Potato a Woody
    p90:# apt-setup

    Elegimos el servidor de FTP de Sweden: ftp.sunet.se, que a mi me va bastante bien….
    Suele ir mas rapido y mejor el FTP que el HTTP

    A continuación de que se actualicen los paquetes nos preguntara Add another apt source? –> respuesta: NO

    Nos vamos a:

    p90:# cd /etc/apt/
    Editamos el sources.list

    y sustituimos todo lo que ponga stable por woody, y comentamos el CD, tal que quede asi:

    # Configuration /etc/apt/sources.list
    # See sources.list(5) for more information, especialy
    # Remember that you can only use http, ftp or file URIs
    # CDROMs are managed through the apt-cdrom tool.
    # deb cdrom:[Debian GNU/Linux 2.2 r3 _Potato_ – Official i386 Binary-1 (20010427)]/ unstable contrib main non-US/contrib non-US/main

    deb ftp://ftp.sunet.se/pub/os/Linux/distributions/debian/ woody main non-free contrib
    deb-src ftp://ftp.sunet.se/pub/os/Linux/distributions/debian/ woody main non-free contrib
    deb http://non-us.debian.org/debian-non-US woody/non-US main contrib non-free
    deb-src http://non-us.debian.org/debian-non-US woody/non-US main contrib non-free
    # End Configuration

    A continuación ponemos:
    p90:# apt-get update
    p90:# apt-get dist-upgrade

    El primero actualiza la lista de paquetes que tiene nuestro equipo
    El segundo actualiza los programas que tenemos instalados

    Ahora para buscar algun paquete solo tenemos que hacer:
    p90:# apt-cache search kernel

    Nos saldra un listado de todo lo relacionado con kernel, aunque suelo usar sort y more para que me los de ordenados:
    p90:# apt-cache search kernel|sort|more

    Y para instalar un paquete por ejemplo: ‘mc’ Midnight Commander de esta manera:
    p90:# apt-get install mc

    Para reconfigurar un paquete:
    p90:# dpkg-reconfigure nombre_del_paquete

    Para simular la instalación de un programa:
    p90:# apt-get install -s nombre_del_paquete

    Para listar todos los programas que tienes instalados en el equipo:
    p90:# dpkg -l

    Mas información en:

  • http://www.debian.org/international/spanish/contrib/paqifaz.html
  • http://www.debian.org/international/spanish/contrib/tabla-historia.txt
  • http://www.debian.org/international/spanish/contrib/paquetes.html

    Volver

    Configuración de la red en el servidor

    Activamos el eth1, de esta forma desde cualquier maquina podremos acceder al servidor mediante el comando:
    p90:# ifconfig eth1 192.168.0.1 netmask 255.255.255.0 up

    Para guardar la configuración de red que tenemos:

    Creamos el fichero compartir:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    /sbin/ipchains -P forward DENY
    /sbin/ipchains -A forward -j MASQ -s 192.168.0.0/16

    Y le damos permiso de ejecución:
    p90:# chmod 755 compartir

    Y lo ejecutamos:
    p90:# ./compartir
    Ahora si quieres lo puedes borrar, ya que no lo usaremos mas

    Para comprobar que todo ha ido bien, miramos si sale algo parecido a esto:

    p90:# ifconfig
    eth0 Link encap:Ethernet HWaddr 00:E0:7D:7D:0F:4A
    inet addr:62.42.201.193 Bcast:255.255.255.255 Mask:255.255.254.0
    UP BROADCAST RUNNING MTU:1500 Metric:1
    RX packets:1617 errors:0 dropped:0 overruns:0 frame:0
    TX packets:1006 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    Interrupt:11 Base address:0x6000

    eth1 Link encap:Ethernet HWaddr 00:40:95:1A:9F:E5
    inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:1417 errors:0 dropped:0 overruns:0 frame:0
    TX packets:1074 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    Interrupt:5 Base address:0x280

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    UP LOOPBACK RUNNING MTU:3924 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0

    Ahora lo que hay que hacer es guardar la configuración del eth1, ya que sino no queda grabado.Para hacer esto basta ir al fichero /etc/network/interfaces y en donde aparecera si todo va bien lo y eth0, y añadimos eth1 quedando el fichero asi:
    # /etc/network/interfaces
    auto lo
    iface lo inet loopback
    # Accede dinamicamente al DHCP
    auto eth0
    iface eth0 inet dhcp
    # Accede a la red privada por 192.168.0.1
    auto eth1
    iface eth1 inet static
    address 192.168.0.1
    netmask 255.255.255.0
    # fin del fichero

    A continuación, editamos el fichero ipchains y lo habilitamos de esta forma:
    p90:# vi /etc/default/ipchains
    ENABLED=”yes”

    Seguidamente grabamos los cambios segun la configuración correcta que tenemos y ya esta todo configurado, de esta forma:
    p90:# ipchains-save
    :input ACCEPT
    :forward DENY
    :output ACCEPT
    Saving `forward’.
    -A forward -s 192.168.0.0/255.255.0.0 -d 0.0.0.0/0.0.0.0 -j MASQ

    Y para el tema de ip_forward editamos el fichero options y ponemos yes al ip_forward:
    vi /etc/network/options:
    ip_forward=yes
    spoofprotect=yes
    syncookies=no

    Y con esto configuro mi super servidor, para que el resto de la red pueda navegar :-)))))))
    Configuración de la red en el cliente
    Una vez tenemos el servidor, tenemos que configurar el cliente. Practicamente como hemos hecho en la instalación ya le hemos indicado practicamente todo lo necesario.
    Tenemos que asegurarnos de la informacion del fichero /etc/resolv.conf, que tendra que aparecer las linias que aparezcan en el fichero /etc/resolv.conf del servidor, basta las linias NameServer.
    Como ejemplo, el mio ;-)). Pongo las linias que hay que poner en el Servidor y las que hay que poner en el Cliente del fichero /etc/resolv.conf, para que funcione

    Servidor
    Cliente

    search mc.onolab.com onolab.com
    nameserver 62.42.230.135
    nameserver 62.42.230.136
    nameserver 10.47.195.5

    nameserver 62.42.230.135
    nameserver 62.42.230.136
    nameserver 10.47.195.5

    Ahora lo que hay que hacer es casi lo mismo que con el servidor en el fichero /etc/network/interfaces y en donde aparecera si todo va bien lo y eth0, quedando el fichero asi:
    # /etc/network/interfaces
    auto lo
    iface lo inet loopback
    # Accede a la red privada por 192.168.0.2
    auto eth0
    iface eth0 inet static
    address 192.168.0.2
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.1
    # fin del fichero

    Volver

    Instalación de paquetes con APT-GET

    Ahora falta montar los distintos servicios y lo que vamos a hacer es instalar estos programas (en las que la mayoria ya estan comentados en algun articulo de Bulma), por este orden:

    p90:# apt-get install apt-utils –> utilidades del APT
    p90:# apt-get install console-tools |___
    p90:# apt-get install console-data |
    –> Sirve para configurar el teclado en español, necesitas seleccionar el teclado QWERTY
    p90:# apt-get install mc –> comentado anteriormente
    p90:# apt-get install telnetd –> servidor de telnet
    p90:# apt-get install lsh-server –> servidor seguro de telnet
    p90:# apt-get install lynx –> navegador web en modo texto
    p90:# apt-get install proftpd –> servidor de FTP
    p90:# apt-get install wget –> para bajar ficheros, al estilo del GetRight
    p90:# apt-get install ntpdate –> para sincronizar el reloj a traves de Internet (
    ver)
    p90:# apt-get install ddclient –> para tener un dominio a traves de una IP dinamica (ver)
    p90:# apt-get install apt-move –> para hacer un mirror local de debian (ver)

    p90:# apt-get install apache –> servidor web (ver, ver2 y ver3)
    p90:# apt-get install php4 –> usado para paginas web dinamicas
    p90:# apt-get install phplib –> librerias de PHP
    p90:# apt-get install php4-gd –> libreria para crear graficos en webs dinamicas (ver)
    p90:# apt-get install mysql-client –> cliente de Mysql
    p90:# apt-get install mysql-server –> servidor de Mysql
    p90:# apt-get install php4-mysql –> modulo para que funcione Mysql con PHP

    Volver

    Configuración de /etc/apache/httpd.conf

    Una vez instalados estos paquetes, una cosa a destacar es el fichero de configuración del Apache (/etc/apache/httpd.conf), en la que Debian y Red Hat usan otro usuario por defecto para MySql.
    En Debian ponen ‘www-data’, y en Red Hat ponen ‘nobody’.
    En mi caso, y para instalar Bulma usaremos ‘nobody’.

    Ademas hay que comprobar que se ha creado el usuario y el grupo ‘nobody’, y si no es asi crearlo con:
    p90:# adduser nobody
    p90:# addgroup nobody

    En el fichero /etc/apache/httpd.conf añadir donde corresponda (hay mas articulos en Bulma indicado paso a paso):

    ————/etc/apache/httpd.conf————-
    LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
    AddModule mod_php4.c

    #User www-data
    #Group www-data
    User nobody
    Group nobody

    ServerName 192.168.0.1

    <IfModule mod_dir.c>
    #DirectoryIndex index.html index.htm index.shtml index.cgi
    DirectoryIndex index.php index.html index.htm index.shtml index.phtml index.cgi
    </IfModule>

    AddType application/x-httpd-php .php .phtml .php4 .php3
    AddType application/x-httpd-php-source .phps

    —–fin /etc/apache/httpd.conf—————

    Volver

    Comprobación final

    Reiniciamos el equipo, para no liar a la gente, aunque con un:
    p90:# apache restart
    Creo que deberia ser suficiente…

    Ahora podemos probar si funciona Apache con PHP creando el fichero en /var/www/info.php poniendo:

    <html>
    <body>
    <?php
    phpinfo();
    ?>
    </body>
    </html>

    Y vemos en la dirección: http://192.168.0.1/info.php
    si sale un cuadro sobre PHP, ya lo tenemos instalado, sino sale nada, tendras que revisar los pasos

    Volver

    Configuración del servidor para usar APT-MOVE

    Para que sirve el APT-MOVE. En el caso que pensemos instalar Debian en distintas maquinas de la red, nos ahorra tener que bajar los paquetes por cada PC de la red, bastando que en uno solo de los PCs se los baje, y a partir de alli los otros PCs se bajarian los paquetes. Como resultado, ahorramos mucho ancho de banda.

    # Configuration file for the apt-move script.
    APTSITES=”non-us.debian.org ftp.sunet.se”
    ARCHS=”i386″
    LOCALDIR=/var/www/mirrors/debian
    DIST=woody
    PKGTYPE=binary
    FILECACHE=/var/cache/apt/archives
    LISTSTATE=/var/lib/apt/lists
    DELETE=no
    MAXDELETE=20
    STRICTMOVE=no
    # End Configuration

    Configuración del cliente para usar el APT-MOVE con el fichero /etc/apt/sources.list

    # Configuration /etc/apt/sources.list
    # See sources.list(5) for more information, especialy
    # Remember that you can only use http, ftp or file URIs
    # CDROMs are managed through the apt-cdrom tool.
    # deb cdrom:[Debian GNU/Linux 2.2 r3 _Potato_ – Official i386 Binary-1 (20010427)]/ unstable contrib main non-US/contrib non-US/main

    deb http://192.168.0.1/mirrors/debian/ woody main non-free contrib
    deb http://192.168.0.1/mirrors/debian/ woody/non-US main non-free contrib

    deb ftp://ftp.sunet.se/pub/os/Linux/distributions/debian/ woody main non-free contrib
    deb-src ftp://ftp.sunet.se/pub/os/Linux/distributions/debian/ woody main non-free contrib
    deb http://non-us.debian.org/debian-non-US woody/non-US main contrib non-free
    deb-src http://non-us.debian.org/debian-non-US woody/non-US main contrib non-free
    # End Configuration

    Volver

    Especial ONO. Redireccionar puertos: WWW, FTP, TELNET

    Si teneis ONO, sabreis por experiencia que no se puede acceder desde el exterior a nuestro servidor, porque ONO ha filtrado los puertos por debajo del 1024, y eso afecta a tres puertos muy especiales:

  • WWW: puerto 80
  • Telnet: puerto 23
  • TFP: puerto 21

    Para arreglar esto, solo hay que redireccionar los puertos de la siguiente manera:

  • WWW: del puerto 80 al 3000
  • Telnet: del puerto 23 al 2300
  • FTP: del puerto 21 al 2100

    Naturalmente podras cambiarlos a tu gusto ;-))
    Puerto de WWW

    Basta añadir una linia al fichero de configuración del apache /etc/apache/httpd.conf

    # Listen: Allows you to bind Apache to specific IP addresses and/or
    # ports, in addition to the default. See also the VirtualHost
    # directive.
    Listen 3000
    Puerto de Telnet

    Crearemos mytelnet, que sera basicamente lo mismo que el servicio original del telnet, pero para entrar por otro puerto
    Hay que tocar dos ficheros:

  • /etc/services
  • /etc/inetd.conf

    En /etc/services basta añadir la linia:
    mytelnet 2300/tcp

    En /etc/inetd.conf basta añadir la linia:
    mytelnet stream tcp nowait telnetd.telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd
    Puerto de FTP

    Como hemos visto, hemos usado el programa ProFTPD. Para configurar otro puerto, tendremos que ir a su fichero de configuracion:

  • /etc/proftpd.conf

    Ahora solo tendremos que añadir estas linias, en las que deberemos indicar hacia que dominio o IP esta nuestro servidor. En mi caso, me he dado de alta en dyndns.org, para tener un dominio, que se redirige a mi IP, que cambia segun le da la gana a ONO, ya que no te dan IP fija.

    <VirtualHost gigi.dyndns.org>
    Port 2100
    </VirtualHost>

    Es lo mismo, salvo que te cambien la IP, que poner:

    <VirtualHost 62.42.201.193>
    Port 2100
    </VirtualHost>

    Volver

    En el margen derecho, teneis los articulos relacionados que creo complementan este articulo.

    Espero que os haya gustado. Ire mejorando el articulo a medida que vaya recibiendo ideas…

  • Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=836 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.