one-lease-per-client on; cuando esta opción está en "on" y un cliente solicita una asignación, el servidor libera automáticamente cualquier otra asignación que tenga ese cliente. Se supone que si el cliente hace una solicitud es porque ha olvidado que tuviera alguna, es decir tiene un solo interfaz de red. Si no se da esta situación en los clientes hay que usar este parámetro con precaución.
server-identifier 192.168.1.10; este parámetro identifica el nodo que alberga el servicio DHCP. Sólo se deber usar cuando el nodo tenga más de una dirección IP asignada al interfaz.
default-lease-time 604800; indica el tiempo de asignación en segundos.
max-lease-time 604800; indica el tiempo máximo de asignación en segundos.
ddns-updates on; activa la actualización DNS con los valores asignados mediante DHCP.
ddns-domainname "atenea.dom"; indica el dominio en el que se actualizan los DNS
ddns-update-style interim; esta línea indica el método de actualización DNS automática con los valores de la IP asignados por DHCP. Más adelante veremos como hay que modificar las zonas en el fichero /etc/named.conf para permtir la actualización.
option subnet-mask 255.255.255.0; definimos la máscara general de red que vamos a utilizar.
option broadcast-address 192.168.1.255; definimos la dirección de difusión de la red.
option routers 192.168.1.10; definimos el gatewaye de la red.
option domain-name-servers 192.168.1.10; definimos la dirección del servidor DNS de la red.
option domain-name "atenea.dom"; definimos el nombre del dominio DNS que se añade a los nombres de host.
option netbios-name-servers 192.168.1.10; definimos ls dirección del servidor WINS para NetBios.
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.7 192.168.1.9; range 192.168.1.90 192.168.1.150; } |
y por último definimos la red en la que queremos hacer asignaciones y los rangos de direcciones que puede asignar el servidor DHCP.
Una vez vista la descripcíón preliminar de la configuración DHCP vamos a entrar en más detalles.
Podíamos haber definido una descripción de subred más simple si sólo tuviéramos un rango de asignaciones:
subnet 192.168.1.0 netmask 255.255.0.0 range 192.168.1.100 192.168.1.200; |
Nota: En cualquier red serán necesarios distintos host con dirección IP fija, por ejemplo los servidores DNS o gateways. Habrá que tener cuidado con la asignación de estas direcciones y definir los rangos correctamente para no llevarnos sorpresas. También se pueden configurar equipos concretos mediante el parámetro host.
Vemos otras opciones disponibles
fixed-address lista_direcciones_ip; define direcciones estáticas para asignar a un host
group comienza una declaración de grupo.
hardware tipo_hardware dirección; se utiliza para indicar el tipo de hardware, Ethernet o token ring. por ejemplo: hardware ethernet 00:50:b3:c5:60:05;
host comienza una declaración de host. Por ejemplo:
host cli004 {
hardware ethernet 00:50:b3:c5:60:23;
fixed-address 192.168.1.122;
}
fixed-address direccion-ip; dirección fija para asignar a un host, como vemos en el ejemplo anterior.
host-name nombre; nombre para asignar al host solicitado.
max-lease-time segundos; Máximo tiempo de asignación de la asignación. Esta parámetro lo podemos utilizar para evitar que los clientes tomen una dirección IP por tiempo indefinido.
netbios-name-servers lista_IP; Lista de IP de servidores WINS.
range ip-menot ip-mayor; el rango de diecciones que se asignarán en la correspondiente subred.
routers lista_IP; Lista de IP de gateways.
subnet comienza un declaración de subred.
subnet-mask máscara; mascara de red
shared-network define unadeclaración de subred compartida.
Alguna veces es necesario especificar opciones para cierto número de máquinas de la red sin tener que tratarlas como una subred separada. Por ejemplo, se puede definir una subred para un grupo de equipos y entonces aplicarle unas opciones específicas a esa subred. Esto significa que tendremos que especificarle todas las opciones de configuración necesarias.
Por ejemplo:
shared-network 192.168.2.253 { subnet 192.168.2.0 netmask 255.255.255.0 { option routers 192.168.2.253; option subnet-mask 255.255.255.0; option broadcast-address 192.168.2.255; option domain-name-servers ns.atenea.dom, ns2.atenea.dom; pool { default-lease-time 400; max-lease-time 400; range 192.168.2.100 192.168.2.200; ddns-domainname "atenea.dom"; ddns-rev-domainname "in-addr.arpa"; } } } shared-network 192.168.3.253 { subnet 192.168.3.0 netmask 255.255.255.0 { option routers 192.168.3.253; option subnet-mask 255.255.255.0; option broadcast-address 192.168.3.255; option domain-name-servers ns.atenea.dom, ns2.atenea.dom; pool { default-lease-time 400; max-lease-time 400; range 192.168.3.100 192.168.3.200; ddns-domainname "atenea.dom"; ddns-rev-domainname "in-addr.arpa"; } } |
}
Servidor de Impresión CUPS
CUPS (Common UNIX Printing System) (http://www.cups.org) provee una opcion de impresión para impresoras que soporten Postscript (http://es.wikipedia.org/wiki/PostScript). En este pequeño "como" trataremos de enseñarles como configurar para imprimir localmente y en red teniendo la impresora compartida.
Primeramente debemos verificar que tengamos instalado CUPS, lo hacemos con el comando find de esta forma:
$ find /var/log/packages/ -name cups*
tiene que mostrarnos algo así
/var/log/packages/cups-1.1.23-i486-1
Para poder continuar, es importante que tengamos instalado y configurado Samba, ya que será necesario para compartir la impresora en red, si no lo tienen pueden ir al "como" de Samba en http://wiki.linuxbaja.org/doku.php?id=comosamba.
Ya teniendo listo Samba tenemos que hacerle una pequeña modificación a su archivo de configuración /etc/samba/smb.conf y en la linea printing agregar:
printing = cups
INSTALACIÓN DE CUPS
Instalamos CUPS y lo haremos con Swaret:
# swaret –install cups
Si quieres que se arranque desde el inico del sistema, que es lo recomendable, tienes que hacer esto:
# chmod +x /etc/rc.d/rc.cupsd
de esta forma podras usarlo:
#/etc/rc.d/rc.cups start | stop | restart | status
Para verificar que este corriendo checamos nuestros servicios:
#ps aux | grep cups
y nos tiene que dar algo así:
root 3990 0.0 0.4 5180 2464 ? Ss Aug06 0:00 /usr/sbin/cupsd
INSTALACIÓN Y CONFIGURACIÓN DE IMPRESORA LOCAL
Tenemos dos formas de hacerlo, una por medio de comandos a travez de consola y otra usando una interfase web.
En modo consola vamos a hacer uso del comando lpadmin con la opción -p ($man lpadmin para conocer las opciones). Esta es la sintaxis que tenemos que llevar:
#/usr/bin/lpadmin -p impresora -E -v dispositivo -m driver.ppd
En mi caso yo tengo una HP Deskjet 3550, entonces seria de esta forma si usamos el puerto paralelo:
#/usr/bin/lpadmin -p Deskjet3550 -E -v parallel:/dev/lp1 -m HP3550.ppd
De forma similar si estamos usando una interface de red (JetDirect) podemos hacer esto, suponiendo que la impresora tiene el IP 192.168.0.157:
#/usr/bin/lpadmin -p LaserJet -E -v socket://192.168.0.157 -m laserjet.pdd
Si preferimos la interface web, que seria la forma más sencilla, accesamos en nuestro navegador lo siguiente:
http://localhost:631/admin
Ahí seleccionamos Do Administration Tasks, donde pedirá un usuario y un password, usamos el de root:
user = root
password = tu password de root
Estando en la pantalla de administración agregamos la impresora con el botón add printer, nos va a pedir los datos de la impresora:
name -> ejemplo: HP3550
location ->ejemplo: casa
description -> ejemplo: HP Deskjet 3550
Damos continuar y seleccionamos la conexion que vamos a usar, en mi caso utilizare el puerto USB:
USB printer #1
Nota: En caso de que la impresora este compartida en Windows y este trabajando en un dominio esta sería la configuración, usar la opción Windows Printer via Samba: smb://usuario:password@dominio/host/compartido, en mi caso: smb://alex:mipassword@cecutit/alex/epsonsty
Presionamos continuar y escogemos la marca de la impresora, recuerden que tiene que soportar Postscript, algunas epson no lo tienen, en http://www.cups.org/doc-1.1/sam.html#PRINTER_DRIVERS nos da una lista.
Damos continuar seleccionando el modelo, (si nuestra impresora no se encuentra en la lista podemos ir a http://linuxprinting.org y buscar los drivers, que se tienen que copiar a /usr/share/cups/model) y listo, impresora agregada.
Ahora, si nos vamos a Administration y luego a Manage Printers podemos hacer la prueba de impresión en el botón Print Test Page
Si no hay ningún problema ya esta listo para imprimir localmente.
CONFIGURAR IMPRESORA COMPARTIDA
Seguira compartir la impresora con maquinas que usen el sistema de las ventanas (clientes) y lo haremos tocando los archivos de configuracion de Samba.
En /etc/samba/smb.conf tenemos que verificar que en la sección de [global] esten habilitadas estas opciones:
load printers = yes
printing = cups
printcap name = cups
y en [printers]
comment = All Printers
path = /var/spool/samba
printer admin = root
create mode = 0700
browseable = no
public = yes
guest ok = yes
writable = no
printable = yes
use client driver = yes
En /etc/samba/mime.convs descomentar la siguiente linea:
application/octet-stream application/vnd.cups-raw 0 –
y en /etc/samba/mime.types descomentar
application/octet-stream
(Puedes verificar los datos de las impresoras en /etc/cups/printers.conf )
Con estas configuraciones ya está listo para imprimir desde windows, donde tienes que configurar la impresora que eso ya debes saber como hacerlo, si no lo sabes puedes marcar a Microsoft por ayuda o puedes buscar algún pringao o mejor aún, si deseas puedes contactarme y hablamos $$$.
Lenguaje de Programación PHP
PHP es un lenguaje de programación interpretado usado normalmente para la creación de páginas web dinámicas. PHP es un acrónimo recursivo que significa "PHP Hypertext Pre-processor" (inicialmente PHP Tools, o, Personal Home Page Tools). Actualmente también se puede utilizar para la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.
Visión general
El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada, como C y Perl, permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones.
Aunque todo en su diseño está orientado a facilitar la creación de página web, es posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando la extensión PHP-Qt o PHP-GTK. También puede ser usado desde la línea de órdenes, de la misma manera como Perl o Python pueden hacerlo, a esta versión de PHP se la llama PHP CLI (Command Line Interface).
Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo información de una base de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía al cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash, así como imágenes en diferentes formatos.
Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite.
PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos, tales como UNIX (y de ese tipo, como Linux o Mac OS X) y Windows, y puede interactuar con los servidores de web más populares ya que existe en versión CGI, módulo para Apache, e ISAPI.
PHP es una alternativa a las tecnologías de Microsoft ASP y ASP.NET (que utiliza C#/VB.NET como lenguajes), a ColdFusion de la compañía Adobe (antes Macromedia), a JSP/Java de Sun Microsystems, y a CGI/Perl. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres, bajo la licencia GNU, existe además un IDE (entorno de desarrollo integrado) comercial llamado Zend Studio. Recientemente, CodeGear (la división de lenguajes de programación de Borland) ha sacado al mercado un entorno integrado de desarrollo para PHP, denominado Delphi for PHP, Existe un módulo para Eclipse uno de los IDE más populares.
- http://es.wikipedia.org/wiki/.php
- http://dns.bdat.net/dhcp/x84.html
- http://fferrer.dsic.upv.es/cursos/Linux/Avanzado/HTML/ch06s04.html
- http://www.linuxparatodos.net/portal/staticpages/index.php?page=12-como-nfs
- http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-nfs.html
- http://moranar.com.ar/lin/linstd2.html
- http://www.whoishostingthis.com/resources/mandriva/
- http://es.wikipedia.org/wiki/Mandriva
- http://wiki.mandriva.com/es/Portada
- http://wiki.mandriva.com/es/Un_paseo_por_Mandriva_Linux_2008
- http://es.wikipedia.org/wiki/MySQL
- http://es.wikipedia.org/wiki/Apache
- http://www.apache.org/
- http://httpd.apache.org/docs/2.2/
- http://es.wikipedia.org/wiki/Samba_(programa)
- http://www.linuxparatodos.net/portal/staticpages/index.php?page=13-como-samba
- http://es.wikipedia.org/wiki/File_Transfer_Protocol
- http://www.servitux.org/view.php/page/postfix
- http://blogdrake.net/node/5056 – Postfix
- http://blogdrake.net/node/3091 – Postfix
- http://platea.pntic.mec.es/curso20/48_edicionhtml-profundizacion/html2/correo/postfix.html
Wily Costa
Caaguazu-Paraguay
Página anterior | Volver al principio del trabajo | Página siguiente |